文档库 最新最全的文档下载
当前位置:文档库 › C#复习资料

C#复习资料

C#复习资料
C#复习资料

一、选择题

1.CLR是一种()

A.程序设计语言 B.运行环境 C.开发环境 D. API编程接口

2.C#语言源代码文件的后缀名为()

A..c# B .cc C. .csp D. .cs

3.构建桌面应用程序需要.NET提供的类库是()

A.https://www.wendangku.net/doc/8019084561.html, B.Windows Form C.XML https://www.wendangku.net/doc/8019084561.html,

4.与C++等语言相比,C#的简单性主要体现在()

A.没有鼓励的全局函数 B.没有指针

C.不能使用未初始化的变量

D.解决了“DLL地狱”

5.C#中导入某一命名空间的关键字是()

A.using https://www.wendangku.net/doc/8019084561.html,e C.import D.include

6.C#中程序的入口方法名是()

A.Main B.main C.Begin https://www.wendangku.net/doc/8019084561.html,ing

二、简答题

1.C#语言的主要优势有哪些?

2.如何看待C#、CLR和.NET之间的关系?

3.VS2010平台如何有效地实现各类应用程序的管理?

4.最常见的C#项目有哪几类?简述创建他们的基本操作步骤?

第二章C#语言基础

一、选择题

1.C#中的值类型包括三种,它们是()

A.整型、浮点型、基本类型 B.数值类型、字符类型、字符串类型

C.简单类型、枚举类型、结构类型

D.数值类型、字符类型、枚举类型、

2.C#的引用类型包括类、接口、数组、委托、object和string。其中object()根类

A.只是引用类型的

B.只是值类型的

C.只是string类型的

D.是所有值类型和引用类型的

3.浮点常量有三种格式,下面()组的浮点常量都属于double类型。

A. 0.618034,0.618034D, 6.18034E-1

B.0.618034,0.618034F, 0.0618034E1

C.0.618034,0.618034f, 0.618034M

D.0.618034F, 0.618034D, 0.618034M

4.下面字符常量表示有错误的一组是()

A.’\\’ , ’\u0027’ , ’\x0027’

B. ‘\n’ , ’\t’ , ’\037’

C.’a’ , ’\u0061’ , (char)97

D.’\x0030’ , ’\0’ , ‘0’

5.下列标识符命名正确的是()

A. _int,Int,@int

https://www.wendangku.net/doc/8019084561.html,ing,_using,@using

C.NO1,NO_1,NO.1

D. A3,_A3,@A3

6.当表达式中混合了几种不同的数据类型时,C#会基于运算的顺序将他们自动转换成同一类型。但下面()类型和decimal类型混合在一个表达式中,不能自动提升为decimal.

A. float

B. int

C.uint

D. byte

7.设有说明语句int x=8;则下列表达式中,值为2的是()

A.X+=x-=x;

B.x%=x-2;

C.x>8?x=0:x++;

D.x/x=x+x;

8.C#数组主要有三种形式,它们是()

A.一维数组、二维数组、三维数组

B.整型数组、浮点型数组、字符型数组

C.一维数组、多维数组、不规则数组

D.一维数组、二维数组、多维数组

9.设有说明语句double[,,]tab=new double [2,3,4];那么下面叙述正确的是()

A. tab是一个三维数组,它的元素一共有24个

B. tab是一个有三个元素的一维数组,它的元素初始值分别是2,3,4

C. tab是一个维数不确定的数组,使用时可以任意调整

D. tab是一个不规则数组,数组元素的个数可以变化

10.C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对()进行初始化,静态构造函数只能对()进行初始化。

A.静态成员

B.非静态成员

C.静态成员或非静态成员

D. 静态成员和非静态成员

11.C#实现了完全意义上的面向对象,所以它没有(),任何数据域和方法都必须封装在类体中。

A.全局变量

B.全局常数

C.全局方法

D.全局变量、全局常量和全局方法

12.方法中的值参数是()的参数。

A.按值传递

B.按引用传递

C.按地址传递

D.不传递任何值

13.下面对方法中的ref和out参数说明错误的是()

A.ref和out参数传递方法相同,都是把实在参数的内存地址传递给方法,实参与形参指

向同一个内存存储区域,但ref要求实参必须在调用之前明确赋过值

B.ref是将实参传入形参,out只能用于从方法中传出值,而不能从方法调用处接收实参数据

C.ref和out参数传递的是实参的地址,所以要求实参和形参的数据类型必须一致

D.ref和out参数要求实参和形参的数据类型或者一致,或者实参能被隐式地转化为形参的类型

14.下列叙述中,正确的是()

A.接口中科院有虚方法

B.一个类科院实现多个接口

C.接口能被实例化

D.接口中科院包含已实现的方法

二、简答题

1.判断下列标识符的合法性。

X.25 4foots exam-1 using main Who_an_I Large&Small _Years val(7) 2xy

2.下列常量是否合法?弱不合法,指出原因;若合法,指出它的数据类型。

32767 35u 1.25e3.4 3L 0.0086e-32 ‘\87’true “a”‘a’‘\96\45’.5 5UL

3.指出下列哪些表示字符?哪些表示字符串?哪些既不表示字符也不表示字符串?

‘0x66’China “中国”“8.42”‘\0x33’56.34 “\n\tox34”‘\r’‘\\’‘8.34’“\0x33”‘\0’“Computer System!\n”“\\\\doc\\share\\my1.doc”@”\\doc\share\my1.doc”@”Joe said””Hello””to me”“Joe said\”Hello\”to me”

4.将下列代数式写成C#的表达式。

(1)ax2+bx+c (2)(x+y)3(3)(a+b)/(a-b)

5.计算下列表达式的值。

(1)x+y%4*(int)(x+z)%3/2 其中,x=3.5,y=13,z=2.5

(2)(int)x%(int)y+(float)(z*w) 其中,x=2.5,y=3.5,z=3,w=4

6.写出下列表达式运算后a的值,设原来的a都是10。

(1)a+=a;(2)a%=(7%2);(3)a*=3+4;

(4)a/=a+a;(5)a-=a;(6)a+=a-=a*=a;

三、填空题

1.C#中可以把任何类型的值赋给object类型变量,当值类型赋给object类型变量时,系统要进行( )操作;而将object类型变量赋给一个值类型变量,系统要进行( )操作,并且必须加上( )类型转换。

2.C#特有的不规则数组是数组的数组,也就是说它的数组元素是( ),并且它的内部每个数组的长度( )。

3.数组在创建时可以根据需要进行初始化,需要注意的是,初始化时,不论数组的维数是多

少,都必须显式地初始化数组的( )元素。

四、程序分析

1.程序运行结果:______________

class Exe1

{

Static void Main(string[] args)

{

int x,y,z;

bool s;

x=y=z=0;

s=x++!=0||++y!=0&&++y!=0;

Console.WriteLine(“x={0},y={1},z={2},s={3}”,x,y,z,s);

Console.Read();

}

}

2.程序运行结果:_________________

class Exe2

{

Static void Main(string[] args)

{

int a,b;

a=b=1;

b+=a/b++;

Console.Write(“a={0},b={1},”,a,b);

b+=--a+(++b);

Console.WriteLine(“a={0},b={1}”,a,b);

Console.Read();

}

}

3.程序运行结果:________________

class Exe3

{

Static void Main(string[] args)

{

int Hb,Lb,x;

x=ox1af034;

Hb=(x>>16)&0xFFFF;

Lb=x&0x00ff;

Console.Write(“Hb is {0}\t”,Hb);

Console.WriteLine(“Lb is {0}”,Lb);

Console.Read();

}

}

4.程序运行结果:_________

class Exe4

{

Static void Main(string[] args)

{

int a=2,b=7,c=5;

switch(a>0)

{

case true:

switch(b<10)

{

case true: Console.Write(“^”);break;

case false: Console.Write(“!”);break;

}

break;

case false:

switch(c==5)

{

case false: Console.Write(“*”);break;

case true: Console.Write(“#”);break;

}

break;

}

Console.WriteLine();

Console.Read();

}

}

5.程序运行结果:___________

class Exe5

{

Static void Main(string[] args)

{

int[] x;

x=new int[10];

int[] y={1,2,3,4,5,6,7,8,9,10};

const int SIZE=10;

int[] z;

z=new int[SIZE];

for (int i=0; i

{

z[i]=i*2+1;

Console.Write(“{0,4}”,z[i]);

}

Console.Read();

}

}

6.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。class Exe6

{

Static void Main(string[] args)

{

int i,j;

for(i=0;________;i++)

{

j=i*10+6;

if(_________)

{

continue;

}

Console.WriteLine(“{0}”,j);

}

Console.Read();

}

}

7.程序运行结果:____________

public class Test

{

public void change1(string s)

{

s=s+”Change1”;

}

Public void change2(ref string s)

{

s=s+”Change2”;

}

public void change3(string s1,out string s2)

{

s1=s1+”Change3”;

s2=s1;

}

}

class Exe7

{

static void Main(string[] args)

{

string s1,s2;

s1=”Hello,”;

Test t1=new Test();

t1.change1(s1);

Console.WriteLine(“s1 after call to change1 is {0}”,s1);

t1.change2(ref s1);

Console.WriteLine(“s1 after call to change2 is {0}”,s1);

t1.change3(s1,out s2);

Console.WriteLine(“s1 after call to change3 is {0}”,s1);

Console.WriteLine(“s2 after call to change3 is {0}”,s2);

Console.Read();

}

}

五、编程题

1.斐波那契数列中的前两个数是1和1,从第三个数开始,每个数等于前两个数的和,编程计算此数列的前30个数,且每行输出5个数。

2.从键盘上输入一个整数n的值,按下式求出y,并输出n和y的值(y用浮点数表示)。

y=1!+2!+3!+4!+……+n!

3.设计一个程序,输出所有水仙花数,所有水仙花数是一个三位整数,其各位数字的立方和等于该数本身,例如,153=13+53+33。

4.设计一个程序,输入一个四位整数,将各位数字分开,并按其反序输出。例如:输入1234,则输出4321。要求必须用循环语句实现。

5.求π/2的金是指的公式为:π/2=(2/1)*(2/3)*(3/4)*(4/5)*……*(2n/2n-1)*(2n/2n+1)*……

其中,n=1,2,3,……。设计一个程序,求出当n=1000是π的近似值。

6.设计一个程序,输入一个十进制数,输出相应的十六进制数。

7.当x>1时,Hermite多项式定义为:

1 n=0

H n(x)= 2x n=1

2xH n-1-2(n-1)H n-2(x) n>1

当输入浮点数x和整数n后,求出Hermite多项式前n项的值。

8.找出数组a中最大值的下标,输出下标及最大值。

9.判断s所指的字符串是否是“回文”(即顺读和逆读是相同的字符)。

10.输入一组非0整数(以0作为结束标志)到一位数组中,求出这一组数的平均值,并统计出正数和负数的个数。

11.设计一个程序,求一个4*4矩阵两对角线元素之和。

12.输入一个字符串,串内有数字和非数字字符,例如,“abc2345 345fdf678 jdhfg945”,将其中连续的数字作为一个整数,依次存放到另一个整型数组b中。如将2345存放到b[0]。345存放到b[1],678放入b[2],……统计出字符串中的整数个数,并输出这些整数。

第三章C#面向对象编程

一、选择题

1.C#语言的核心是面向对象编程(OOP),所有OOP语言都应至少具有三个特性:()

A.封装、继承和多态

B.类、对象和方法

C.封装、继承和派生

D.封装、继承和接口

2.以下有关属性的叙述正确的是:()

A.要求与字段域一一对应

B.只包含get访问器的属性是只写属性

C.不能把它当变量使用

D.在静态属性访问器中可访问静态数据

3.假设class Mclass类的一个方法的签名为:public void Max(out int max,params int[]a),m1是Mclass类的一个对象,maxval是一个int型的值类型变量,arrayA是一个int型的数组对象,

则下列调用该方法有错的是()

A. m1.Max(out maxval)

B. m1.Max(out maxval,4,5,2)

C. m1.Max(out maxval,ref arrayA)

D. m1.Max(out maxval,3,3.5)

4.枚举类型是一组命名的常量集合,所有整型都可以作为枚举类型的基本类型,如果类型省略,则约定为()

A.uint

B.sbyte

C.int

D.ulong

二、简答题

1.举一个现实世界中继承的例子,用类的层次图表示出来。

2.什么是抽象类和密封类?它们有什么不同?

3.分别在什么情况下使用隐式数值转换和显式数值转换?

三、填空题

1.析构函数不能由程序显式地调用,而是由系统在_________时自动调用。如果这个对象是一个派生类对象,那么在调用析构函数时,除了执行派生类的析构函数,也会执行基类的析构函数,其执行顺序与构造函数__________.

2.C#实现了完全意义上的面向对象,所以它没有____,任何数据域、方法都必须封装在类中。

3.在类中,如果一个数据成员被声明为static的,则说明这个类的所有实例都共享这个static 数据成员。在类体外,static成员不能通过_______来访问,它必须通过________来访问。

四、程序分析

1.下面的程序,输入不同参数,如:5、hello、0、1212121212121212等,观察并分析运行结果。class Test

{

static void Main(string[] args)

{

while(true)

{

String s=Console.ReadLine();

if(s==”exit”) break;

try

{

int i = 10/int32.Parse(s);

Console.WriteLine(“结果是”+i);

}

catch(IndexOutOfRangeException e)

{

Console.WriteLine(e.Message);

}

catch(FormatException e)

{

Console.WriteLine(e.Message);

}

catch(DivideByZeroException e)

{

Console.WriteLine(e.Message);

}

catch(OverflowException e)

{

Console.WriteLine(e.Message);

}

}

Console.Read();

}

}

2.指出下面代码中错误的地方,并进行修改。

using System;

……

namespace PavelTsekov

{

interface I1

{

void MyFunction1();

}

interface I2

{

void MyFunction2();

}

class Test:I1,I2

{

public void I1.MyFunction()

{

Console.WreitLine("Now I can say this here is I1 implemented!");

}

public void I2.MyFunction()

{

Console.WreitLine("Now I can say this here is I2 implemented!");

}

}

class AppClass

{

static void Main(string[] args)

{

Test t=new Test();

t.MyFunction1();

t.MyFunction2();

Console.Read();

}

}

}

3.分析下面的代码,指出Digit和byte直接的转换方式,并说明原因。

using System;

……

namespace Digit

{

public class Digit

{

byte value;

public Digit(byte value)

{

if(value<0||value>9)

throw new ArgumentException();

this.value=value;

}

public static implicit operator byte(Digit d)

{

return d.value;

}

}

class Program

{

static void Main(string[] args)

{

Digit dig=new Dight(7);

byte num=dig;

Console.WriteLine("num={0}",num);

Console.ReadLine();

}

}

}

五、编程题

1.定义描述复数的类,并实现复数的输入和输出。设计三个方法分别完成复数的加、减和乘法运算。

2.定义全班学生成绩类,包括姓名、学号、C++成绩、英语成绩、数学成绩和平均成绩。设计下列4个方法。

(1)全班成绩的输入。

(2)求出每一个同学的平均成绩。

(3)按平均成绩的升序排序。

(4)输出全班成绩。

3.定义一个描述学生基本情况的类,数据成员包括姓名、学号以及C++和数学成绩,成员函数包括输出数据、设置姓名和学号、设置三门课的成绩,求出总成绩和平均成绩。

4.设有一个描述坐标点的CPoint类,其私有变量x和y代表一个点的x、y坐标值。编写程序实现以下功能:利用构造函数传递参数,并设其默认参数值为60和75,利用成员函数display()输出这一默认值;利用公有成员函数setpoint()将坐标值修改为(80.150),并利用

成员函数输出修改后的坐标值。

5.定义一个人员类CPerson,包括数据成员:姓名、编号、性别和用于输入/输出的成员函数。在此基础上派生出学生类CStudent(增加成绩)和教师类(增加教龄),并实现对学生和教师信息的输入/输出。

6.把定义平面直角坐标系上的一个点的类CPoint作为基类,派生出描述一条直线的类CLine,在派生出一个矩形类CRect。要求成员函数能求出两点间的距离、矩形的周长和面积等。设计一个测试程序,并构造完整的程序。

简答题

3.属性是类的数据成员吗?属性的作用是什么?get和set关键字的作用是什么/

4.什么是方法?C#允许在类的外部声明方法吗?

5.简述值类型与引用类型的区别。

6.在方法调用中,参数按值传递与按引用传递的区别是什么?基本数据类型作为参数默认按什么方式传递,类对象作为参数默认按什么方式传递?类对象可以按值方式传递吗?基本数据类型参数按引用传递时,应该怎么做?关键字ref和out的区别是什么?

7.什么叫方法的重载?两个方法是重载关系时,应满足什么条件?

8.简述构造函数的作用?

实验步骤

1.设计一个简单的Windows应用程序,在文本框中输入两个点的坐标值,单击”确定”时显示两点之间的距离,如国所示.

要求定义一个Point类,包括:

(1)两个私有字段表示两坐标值

(2)一个构造函数通过传入的参数对坐标值初始化

(3)两个只读属性对坐标值的读取

一个方法包含一个Point类对象作为形参该对象和自己的距离

2.自定义一个时间类.该类包含小时,分,秒字段与属性,具有将秒增加1秒的方法,如图所示.

要求定义一个Time类,包括:

(1)三个私有字段表示时,分,秒

(2)两个构造函数,一个通过传入的对时间初始化,另一个获取系统当前的时间

(3)三个只读入属性实现对时,分,秒的读取

(4)一个于对秒增加1秒(注意60进位的问题).

图13

3.设计一个Windows应用程序,在该程序中定义一个学生类和班级类,以处理每个学生的学号、姓名,语文、数学和英语三门课程的期末考试成绩,要求:

(1)能查询每个学生的总成绩。

(2)能显示全班前三名的名单。

(3)能显示单科成绩最高分和不及格的学生名单。

(4)能统计全班学生的平均成绩。

(5)能显示各科成绩在不同分数段的学生人数百分比。

设计提示:

(1)定义一个Student学生类,包含字段(学号、姓名、语文成绩、数学成绩、英语成绩)和属性(总成绩)等。

(2)定义一个StudentList班级类,包含一个Student类型的数组(用来保存全班学生的信息)以及若干个实现上述要求的方法等。

(3)设计用户操作界面,首先让用户能输入一个学生的信息,当单击“添加”按钮时把这些信息添加到班级对象的学生数组中。当单击“完成”按钮时调用班级类的方法来显示索要来统计的统计结果。当用户在查询框中输入学生的名字后,并单击“查询”按钮时显示该学生的总成绩。

1.选择题

(1)面向对象的特点主要概括为()

A.可分解性、可组合性和可分类性

B.继承性、封装性和多态性

C.封装性、易维护性、可扩展性和可重用性

D.抽象性、继承性、封装性

(2)要使某个类能被同一个命名空间中的其他类访问,但不能被这个命名空间以外的类访问,该类可以()

A.不适用任何关键字

B.使用privat关键字

C.使用const关键字

D.使用protected关键字

(3)类的字段和方法的默认访问修饰符是()

A.public

B.private

C.protected

D.internal

(4)下列关于构造函数的描述中,()选项是正确的。

A.构造函数名必须与类名相同

B.构造函数不可以重载

C.构造函数不能带参数

D.构造函数可以声明返回类型

(5)C#中TestClass为一自定义类,其中有以下属性定义:

public void Property{……}

使用以下语句创建了该类的对象,并让变量obj引用该对象:

TestClass obj=new TestClass();

那么,可通过()方式访问类TestClass的Property属性。

A.MyClass.Property

B.obj::Property

C.obj.Property

D.obj.Property()

2.思考题

(1)如何理解面向对象程序设计中的类和对象?二者是什么关系?

(2)面向对象的主要特点有哪些?

(3)类的声明格式中包含哪些部分?各有什么意思?

(4)什么是实例方法?什么是静态方法?

(5)类可以使用哪些修饰符?各代表什么含义?

(6)简述new、this、static、ref、out、params、get、set、value这些关键字的作用。(7)简述构造函数和析构函数的作用。

3.上机练习题

(1)构造一个类,可以分别对任意多个整数、小数或字符串进行排序。

(2)自定义一个时间类,该类包含时、分、秒字段与属性,具有将时间增加1秒、1分和1小时的方法,具有分别显示时、分、秒和同事显示时分秒的方法。

(3)创建一个Windows应用程序,输入两个正整数,单击“计算”按钮,求出这两个数的最大公约数。

要求:将求最大公约数的算法声明为一个静态方法,由“计算”按钮调用。

(4)构造一个图书类book,能记录和访问书店图书信息,包括标题、作者、价格、库存等,同时能选择不同的构造函数来初始化类的实例。

1.选择题

(1)下面有关虚方法的描述中,正确的是()

A.虚方法能在程序运行时,动态确定要调用的方法,因而比非虚方法更灵活

B.在定义虚方法时,基类和派生类的方法定义语句中都要带上virtual修饰符

C.重写基类的虚方法时,为消除隐藏基类成员的警告,需要带上new修饰符

D.在重写虚方法时,需要同时带上override和virtual修饰符

(2)下列方法中,()是抽象方法。

A. static void func(){}

B.virtual void func(){}

C.abstract void func(){}

D.override void func(){} (3)下列关于接口的说法中,()是错误的。

A.一个类可以有多个基类和多个基接口

B.抽象类和接口都不能被实例化

C.抽象类自身可以定义成员而接口不可以

D.类不可以多重继承而接口可以

(4)已知类Base,Derived的定义如下:

Class Base

{

Public void Hello()

{

System.Console.Write(“Hello in Base!”);

}

}

Class Derived : Base

{

Public new void Hello()

{

System.Console.Write(“Hello in Derived!”);

}

}

则语句段”Derived x=new Derived();x.Hello();”在控制台中的输出结果为____

A.Hello in Base!

B.Hello in Base!Hello in Derived!

C.Hello in Derived!

D.Hello in Derived!Hello in Base!

思考题

(1)什么是类的继承?怎样定义派生类?

(2)简述创建派生类时,构造数的调用.

(3)怎样定义基类虚方法,并在派生类中重写基类虚方法?

(4)抽象方法与虚方法有什么异同?

(5)什么是抽象类?它有什么特点?它和接口有何异同?

(6)简述通过委托来调用对象方法的基本过程

上机练习题

(1)定义磁盘类Disk及派生类HardDisk(硬盘),Flash(闪盘)和CKROM(光盘)在其中定义记录磁盘容量的字段,并通过虚拟方法和重写方法来模拟对磁盘内容的写入和删除.

(2)设计并编程实现规则平面几何图形(所谓规则是指各边相等,各个内角也相等的等边图形)的继承层次,要求定义一个抽象基类Shape,同它派生出4个派生类:等边三解开,下方形,等边五边形,等边六边形,并通过抽象方法的实现来计算各种图形的面积

(3)以委托对象作为方法的参数,对学生类对象分别按照姓名,年龄和年级来比较两个学生对象,实现程序以不同的排序方法来输出学生信息.

(4)在第7章习题的设计题(4)的book类中,添加每卖出一份图书时,就触发一个事件.在订购者中处理该事件,输出销售数据信息.

C语言复习资料

第一章C语言概述1.1选择题 【题1.1】以下不是C语言的特点的是( B ) A.C语言简洁、紧凑 B.能够编制出功能复杂的程序 C. C语言可以直接对硬件进行操作 D.C语言移植性好 【题1.2】以下不正确的C语言标识符是( D )。A.ABC B.abc C.a_bc D.ab.c 【题1.3】以下正确的c语言标识符是( C )。 A.%x B.a十b C.a123 D.test! 【题1.4】一个c程序的执行是从( A ). A.main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束 D.main( )函数开始,直到最后一个函数结束 【题1.5】一个C语言程序是由(B)。 A)一个主程序和若干子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 【题1.6】一个c程序是由( B )。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C. 若干过程组成 D.若干子程序组成 【题1.7】C语言派程序的基本单位是( B )。 A.过程 B.函数 c子程序 D.标识符 【题1.8】编辑程序的功能是( A )。 A.建立并修改程序 B.将c源程序编译成目标程序C.调试程序 D.命令计算机执行指定的操作

1.2填空题 【题1.9】c语言符号集包括【英文字母、数字和一些有待定含义的标点符号】。 【题1.10】一个c程序有且仅有一个【main()】函数。 【题1.11】C程序的基本单位是【函数】。 【题1.12】一个c派程序有【1】个main( )函数和【若干】二个其他函数。【题1.13】在一个C源程序中,注释部分两侧的分界符分别是【/*】和【*/】。 【题1.14】结构化设计中的三种基本结构是【顺序结构、分支结构和循环结构】。 【题1.15】在C语言中,输入操作是由库函数【scanf】完成的,输出函数是由库函数【printf】完成的。 1.3编程题 【题1.16】编写一个程序,在屏幕上输出你的姓名。试着上机编辑、编译、运行你的程序。 #include main() { printf("My Name is : Your Name!\n"); } 第二章数据类型、运算符与表达式 2.1选择题 【题2.1】以下结果为整数的表达式(设有int i;char c;float f;)(B). A.i十f B.i*c C.c十f D.i十c十f 【题2.3】以下使i的运算结果为4的表达式是(D)。 A.int i=0,j=0; (i=3,(j十十)十i); B.int i=1,j=0; j=i=((i=3)*2); C.int i=0,j=1; (j==1)?(i=1);(i=3); D.int i=1,j=1;

《C语言程序设计》专题复习资料

第一部分《C语言程序设计》专题复习资料一.选择题 1、C语言中字符型(char)数据在内存中的存储形式是:( ) A)原码 B)补码 C)反码 D)ASCII码 2、C语言中长整型(long)数据在内存中的存储形式是:( ) A)原码 B)补码 C)反码 D)ASCII码 3、C语言的运算符按运算对象的数目可以分为:() A)单目运算符 B)单目和双目运算符 C)单目、双目和三目运算符 D)单目、双目、三目和四目运算符 4、C语言中,int、char和short三种类型数据所占用的内存是() A)均为2个字节 B)由用户自己定义 C)由机器的字长决定 D)任意的 5、C语言中的简单数据类型包括() A)整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、逻辑型、字符型 D) 整型、实型、逻辑型、字符型 6、在C语言中,十进制的47可以等价的写成() A)2f B)02f C)57 D)057 7、将字符g赋值字符变量c,正确的表达式是() A)c=’g’ B)c=101 B)C)c=’\147’ D)c=’0147’ 8、已知:char a; int b; float c; double d;执行语句c=a+b+c+d;后变量c的类型是() A)int B)char C)float D)double 9、已知int j,i=1; 执行语句j=-i++后,j 的值是() A)1 B)2 C)-1 D)-2 10、已知int i, a; i=(a=2*3,a*5),a+6”后,变量i 的值是() A)6 B)12 C)30 D)36 11、已知 int i=5;执行语句i+=++i;后, i的值() A)10 B)11 C)12 D)无答案 12、字符串“\\\22a,0\n”的长度是() A)8 B)7 C)6 D)5 13、已知char a=’\70’;则变量a中包含的字符数为()个。 A)1 B)2 C)3 D)说明非法 14、已知:int x=1, y=-1;则执行语句“printf(“%d\n , (x--&++y)”);”的输出结果是:() A) 1 B) 0 C) -1 D) 2 15、已知: int a=b=c=1 且均为int 型变量,则执行以下语句: ++a||++b&&++c后变量a的值为(),变量b的值为() A) 不正确 B) 0 C) 2 D) 1 A) 1 B) 2 C) 不正确 D) 0 16、设a=2 ,b=3, 则执行表达式c=b*=a-1后,变量c的值是() A) 5 B) 3 C) 2 D) 4 17、要判断char型变量m是否为数字,可以使用以下表达式() A)0<=m&&m<=9 B) ‘0’<=m&&m<=’9’ C)“0”<=m&&m<=”9” D) 以上答案均错误 18、已知:#define N 3; 的宏定义,执行语句i=N*3后,i的值是() A) 3 B)6 C) 9 D) 以上答案均错误 19、若有以下宏定义: #define X 5 #define Y X+1 #define Z Y*X/2 则执行以下printf语句后,输出结果是() int a =Y; printf(“%d”,Z); printf(“%d\n”,--a); A) 7,6 B)12,6 C)12,5 D) 7,5 20、若有以下宏定义: #define N 2 #define Y(n) ((N+1)*n) 则执行以下”z=2*(N+Y(5))”,语句后,输出结果是() A)语句有错误 B)z=34 C) z= 70 D)z无定值 21、若int k; 且有下面的程序片段,则输出结果是() k=3; if(k<0) printf(“####”); else printf(“&&&&”); A) ####B) &&&& C) ####&&&& D)有语法错误 22、设有说明语句:int a=1 ,b=0 ;则执行以下语句后的输出为() switch(a) { case 1: switch(b) { case 0: printf(“**0**”);break; case1: printf(“**1**”);break; } case 2:printf(“**2**”);break; } A) **0** B) **0****2**

C + + 复习资料

C + + 复习资料 一、选择题 1.程序中的预处理命令是指以()字符开头的命令。 A.@ B.#C.$ D.% 2.空白符是()符的统称。 A.空格、制表、回车B.空格、制表、逗号 C.空格、回车、分号D.冒号、制表、回车 3.在#include 命令中不可以包含()。 A.头文件B.程序文件C.用户头文件D.目标文件4.一个程序中必须有并且只有一个命名为()的函数。 A.Main B.main C.void D.intmain 5.C + +程序的扩展名为()。 A..obj B..exe C..cpp D..c 6.在VC环境下,为运行一个程序而建立的工作区的扩展名为()。 A..obj B..exe C..dsw D..sp 7.数据类型int、char、float、double的类型长度之和为()。 A.10 B.12 C.16 D.17 8.常数120和-4.205的类型为()。 A.整型和双精度型B.短整型和单精度型 C.长整型和双精度型D.整型和单精度型 9.若x=25,则计算y=x + +表达式后,x和y的值分别为()。 A.26和25B.25和26 C.25和25 D.26和26 10.在switch语句中,每个语句标号中的关键字case后面的表达式必须是()。 A.变量B.常量C.一般表达式D.函数调用11.当在程序中执行到()语句时,只结束本层循环内语句或switch语句的执行。 A.continue B.break C.goto D.return 12.数组元素a[i]是该数组中的第()个元素。 A.i B.i+1C.i-1 D.2*i 13.在函数体中又调用自身函数则称为()调用。 A.非递归B.直接递归C.间接递归D.末尾递归14.在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的()使其初始化。 A.构造函数B.析构函数C.复制函数D.赋值函数15.若需要把一个类AB定义为另一个类CD的友元类,则应在类CD的定义中加入一条语句声明为()。 A.friend AB; B.friend class AB;

c期末复习资料

1、面向对象相关概念: 类:具有相同属性和行为的对象集合,把数据和操作封装在一起 对象:数据+操作。 面向对象特征:抽象,封装,继承,多态 2、输入输出:输入cin>>a>>b;输入不能有endl。输出cout<

C语言程序设计复习资料

班级 姓名 学号_ __ _ ______ ____ ___ __ __ ◆ ◆◆◆◆◆◆◆◆ ◆◆◆ ◆ ◆ ◆ 装 ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆ ◆ ◆ 订 ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ 线 ◆ ◆◆◆◆◆ ◆◆ ◆ 第 1 页 共 7 页 《C 语言程序设计》复习资料 一、判断题 1. 在C 语言中,一个程序一般要经过编辑、编译、连接、运行四步。 ( ) 2. 在C 语言中,程序中每个语句的最后必须有一个分号。 ( ) 3. 在C 语言中,程序的基本组成单位是语句。 ( ) 4. “b=5+a;”和“a-=1;”两个语句的功能等价于“b=5+a--;”。 ( ) 5. 字符常量只能用单引号括起来,不能用双引号或其他符号。 ( ) 6. C 语言的变量定义时,不区分大小写。 ( ) 7. 单精度实数在内存中占2个字节,双精度则占4个字节。 ( ) 8. 主函数可以调用任何其他函数,其他函数也可以调用主函数。 ( ) 9. switch 语句中的default 部分不可以省略。 ( ) 10. while 和do-while 只能用于实现循环次数确定的循环。 ( ) 11.计算机编程语言的发展经过了机器语言、汇编语言和计算机高级语言,目前机器语言已不再使用。 ( ) 12. “? :”称为条件运算符,它是C 语言中唯一的一个三目运算符。 ( ) 13. 格式说明符“%6d ”的含义是按6个字符位输出整数。 ( ) 14. switch 后面的表达式的值只能是整型常量,不能是其他值。 ( ) 15. continue 语句在循环体中起跳出循环的作用。 ( ) 二、选择题 1.以下叙述正确的是( )。 A. c 程序的每行只能写一条语句 B. c 语言本身没有输入、输出语句 C. 在c 程序中,mian 函数必须位于程序的最前面 D. 在对一个c 程序进行编译的过程中,可以发现注释中的拼写错误 2.以下有关增1、减1运算符中,只有( )是正确的。 A. ---a B.++100 C. a--b++ D.a++ 3. C 语言中的标识符只能用字母、数字、下划线三种字符组成,且第一个字符( )。

C语言程序设计复习资料

《C语言程序设计》课程期末复习资料 一、单项选择题 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。 A) print _3d oodb aBc B) i\am one_half start$it3pai C) Pxq My->bookline#His.age D) str_l Cpp pow while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始B) 程序文件的最后 C) 它所调用的函数的前面D) 程序文件的任何位置 【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同

B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 B) 0 C) 037 D) 0xAF 【1.9】执行语句printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) -ffff D) ffff 【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768 C) 1 D) 32768 【1.11】已知long i=65539;执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3 D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。 A) 原码B) 补码C) 反码D) ASCII码 【1.14】将字符g赋给字符变量c,正确的表达式是。 A) c=\147 B) c="\147" C) c='\147' D) c='0147' 【1.15】下列转义字符中错误的一个是____。 A) '\000' B) '\0014' C) '\x111' D) '\2'

C语言程序设计复习题(本科)

C语言程序设计(本)复习题 一、选择题 1. 以下语句或语句组中,能正确进行字符串赋值的是 A)char *sp;*sp="right!"; B)char s[10];s="right!"; C)char s[10];*s="right!"; D)char *sp="right!" 2. 以下选项中合法的字符常量是 A) "B" B) '\010' C) 68 D) D 3. 结构化程序由三种基本结构组成,三种基本结构组成的算法 A) 可以完成任何复杂的任务B) 只能完成部分复杂的任务 C) 只能完成符合结构化的任务D) 只能完成一些简单的任务 4. 以下选项中可作为C语言合法整数的是 A)10110B B)0386 C)0Xffa D)x2a2 5. 以下不能定义为用户标识符的是 A)scanf B)Void C)_3com_ D)int 6. 在C语言中,合法的长整型常数是 A) OL B) 4962710 C) 324562& D) 216D 7. 以下有4组用户标识符,其中合法的一组是 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 8. 下列函数定义中,会出现编译错误的是 A)max(int x,int y,int *z) B)int max(int x,y) { *z=x>y ? x:y; } { int z; z=x>y ? x:y; return z; } C)max(int x,int y) D)int max(int x,int y) { int z; { return(x>y?x:y); } z=x>y?x:y; return(z);} 9. 假定x和y为double型,则表达式x=2,y=x+3/2的值是 A) 3.500000 B) 3 C) 2.000000 D) 3.000000 10. 以下合法的赋值语句是 A) x=y=100 B) d--; C) x+y; D) c=int(a+b); 11. 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 printf("%d,%d\n",x--,--y); A) 10,3 B) 9.3 C) 9.2 D)10.2 12. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 A) INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z); C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z); 13. 以下定义语句中正确的是 A) char a='A'b='B'; B) float a=b=10.0; C) int a=10,*b=&a; D) float *a,b=&a; 14. 下列选项中,不能用作标识符的是

c复习资料及答案

《C++》复习资料及答案 一、判断题 1、在变量定义int sum , SUM; 中sum和SUM是两个相同的变量名。(N ) 2、字符串”china”在内存中占据的存储空间是5个字节。(N ) 3、在C++语言中,”A”和’A’是等价的。(N ) 4、C++表达式4/7和4.0/7的值是相等的,且都为double型。(N ) 5、关系表达式a=b>c 等价于a=(b>c) ,同时也等价于a==b>c。(N ) 6、continue 语句和break 语句的区别是:break 语句提前跳出switch结构或结束循环的执行;continue 语句只结束本次循环,而不是终止整个循环的执行。(Y ) 7、数组是一种构造型数据,即是若干相同类型的数据的集合。(Y ) 8、C++语言中,二维数组中元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。(Y ) 9、#include “iostream.h”的作用是将说明标准输入输出流对象的头文件包含到当前源文件中来。(Y ) 10、C++语言中允许函数“嵌套调用”和“递归调用”,所谓“递归调用”就是指:在调用一个函数的过程中又出现直接或间接地调用该函数本身。(Y ) 二、选择题 1、由C++源程序文件编译而成的目标代码文件的缺省扩展名为(C ) A).cpp B).exe C).obj D).lik 2、设x和y均为bool类型,则x&&y为真的条件是(A ) A).它们均为真B).其中一个为真 C).它们均为假D).其中一个为假 3、设有int i;则表达式i=1,++i,++i||++i,i的值为( C ) A).1 B).2 C).3 D).4 4、设有int i;则表达式(i=1,i=10)?i++||++i:++i的值为(A ) A).1 B).2 C).3 D).10 5、设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是(C ) A).10,11,12 B).11,12,12 C).10,12,12 D).11,11,12 6、设a、b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是(D ) A).'A'&&'B' B).a<=b C).c>=b||b+c&&b-c D). a<=b+c&&c>=a+b 7、若x和y都是int型变量,x=100,y=200,则下面程序片段cout<<(x,y)<>s; 9、若有:int a[6]={4,5,6,9,5,7},*p=a, *q=p; 则对数组元素的错误引用是(C) A). a[4] B). *(p+4) C). *a++ D). *q++ 10、下列不正确的转义字符是(C) A).'\\' B).'\" C).'074' D).'\0' 11、假定a和b为int型变量,则执行以下语句后b的值为(D )

C第二版复习资料和模拟试题

第1章C++的初步知识 1、cout必须与“<<”一起使用;cin要与“>>”配合使用。 2、用const定义常变量 const 数据类型常量名= 值; 3、在C++中,函数调用在前定义在后,必须进行原型说明。 函数类型函数名(参数表); 4、函数重载能实现编译时多态性 重载函数必须具有不同的参数个数,或不同的参数类型。 5、函数模板 template 通用函数的定义 6、有默认参数的函数 如果一个函数有n个默认参数,则其调用方式就有n+1种。 若函数的定义在函数调用之前,应在函数定义中给出默认值; 若函数定义在函数调用之后,要在函数调用之前进行原形声明 并指定默认参数。 7、变量的引用 int a; int &b = a; // b是变量a的“引用”,即a的别名当引用作为函数的参数、函数的返回类型或作为类的数据成员 时,说明引用时不可初始化。 引用与被引用的变量共享同一内存。 不能建立void类型的引用;不能建立引用的数组。 8、说明内置函数的关键字:inline 9、C++提供了string类型。 10、动态分配/撤销内存的运算符new和delete int * pn = new int (123); delete pn

int * pnArr = new int [8]; delete [ ] pcArr; 第2章类和对象 1、任何一个对象都应当具有两个要素:属性和行为。对象由一组属 性和一组行为构成。在C++中,每个对象都是由数据和函数组成的。 2、面向对象程序设计语言应具有的要素:封装、继承、多态与抽象。 3、类是对象的抽象,对象是类的具体实例。类是抽象的,不占内存。 对象是具体的,占有内存。 4、在C++中声明类的关键字是class。在类中关键字private、protected 和public分别表明成员为私有的、保护的和公有的。在C++中,声明类也可以使用关键字struct。 类的定义只是定义了一种结构,所以类中的任何数据成员均不 能使用关键字extern、auto或register限定其存储类型。 定义类只是定义了一种数据类型,并不为类分配存储空间,所 以,在类中定义数据成员时,不能对数据成员进行初始化。 5、对象= 算法+ 数据结构 程序= (对象+ 对象+ 对象+ …)+ 消息 6、在类体中定义的函数被自动当作内联成员函数。说明成员函数为 内联函数的关键字是inline。 7、类成员的属性与可访问性 私有成员公有成员保护成员类内函数可以使用可以使用可以使用 类外函数不可使用可以使用不可使用 8、成员函数的代码不占用对象的存储空间。 9、对象成员的引用 Student sO, * pO = &sO;

C程序设计复习资料(含答案)

C程序设计复习要点 第一章概述 1.C程序的构成与结构特点 2.C程序上机调试过程与流程 第二章数据类型、运算量与表达式 1.数据类型的种类(基本数据类型和构造数据类型) 2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字 符 3.变量的命名、定义方法与赋初值 4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换 ●算术运算符、表达式及其构造(注意“/”和“%”特殊性) ●自增、自减运算符及其简单表达式运算 ●赋值运算符及其表达式(注意复合赋值运算符的运算方法) ●逗号运算符及其表达式 第三章流程控制 1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容) 2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意: ●格式输出中域宽和小数位数的控制 ●格式输入与输出中普通字符的原样输入和输出问题 ●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets() 3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合 性) 4.关系表达式与逻辑表达式的构造(根据已知条件写表达式) 5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套 ●if 语句的格式与用法:简单if、嵌套if、并列if ●逻辑关系与执行过程 ●嵌套规则(重点掌握if …else …if …else …if …else) 6.switch语句的格式与用法 7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序 8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法 ●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改

C期末复习资料

编写程序题目 二、编写程序题60 (1)编写函数fun,其功能是将所有满足如下条件的四位正数存放到形参数组a中:将四位正数的千位和十位构成一个两位正数s,将百位和个位构成另一个整数t,注意;这里不考虑两位数十位为0的特殊情况,即不将01、02、03等视为两位数。如果s是t的5倍,则将此四位数存放到形参数组a中。 (2)编写main函数,在main中调用fun函数,并将数组a中存放的整按一行5个输出到屏幕上。 二、编写程序题60 (1)编写函数fun,其功能是将形参二维数组a的左下角元素和右上角对应的元素进行如下替换,即:用左下角中较大的元素踢得右上角对应的元素。 (2)编写函数main,在main函数中,按如下4*4的数据给二维数组d进行初始化: 0 1 2 3 7 6 4 5 11 16 9 10 15 22 33 8 然后输出该二维数组;再调用函数fun,最后输出替换后的右上角元素(含对角线元素)。 二、编写程序题60 (1)编写函数fun,其功能是从指定位置m开始的n个数反序。 (2)编写main,在main函数中,输入10个数、指定位置m和要反序的数据个数n;调用fun函数,最后输出反序后的10个数。 二、编写程序题60 (1)编写函数fun,将N(N>=5)个数各位数字均为0、2、4、6、8的数存入一维数组b中,统计满足条件的个数cnt,并cnt返回到main函数。 (2)编写main函数,在main函数中,输入N个四位数给一维数组a,调用fun函数,最后输出符合条件的个数和这些数。 二、编写程序题60 (1)编写函数fun,其功能是先找出M行N列数组中各行值的最大数,再在选出的M个数中选出最小数,并将其返回到main函数。 (2)编写main函数,在main函数中,输入M行N列的二维数组a,调用fun函数,并将a作为实参传给fun函数,最后输出找到的最小数。 二、编写程序题60 (1)编写函数fun,其功能是找出一维数组中N个数的最大值及下标,并将下标返回到main函数。 (2)编写main函数,在main函数中,输入N个数个一维数组x,调用fun

C语言程序设计复习资料

C语言程序设计复习资料 一、选择题 下列各题ABCD四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡的相应位置上,答在试卷上不得分。 1、不合法的整数是(B )。 A)0x35 B)43.6 C)0532 D)-346 2、下列合法的字符常量是(D )。 A)“f”B)x C)65 D)‘\Xab’ 3、设有整型变量x,单精度变量y=5.5,表达式x=float(y*3+((int)y%4))执行后,x的值为(A )。 A)17B)17.500000 C)17.5 D)1.5 4、在C语言中,负整数在内存中以( A )形式释放。 A)补码B)BCD码C)反码D)十进制数 5、在C语言中,要求参加运算的数必须是整数的运算符是(C )。 A)/ B)!C)%D)= = 6、(D)是C语言中非法的数据类型关键字。 A)float B)singed C)integer D)Char 7、现已定义整形变量int i=1;执行循环语句while(i++<5);后i的值为(b)。 A)1 B)5 C)6 D)以上三个答案都不正确 8、下列语句的输出结果是(D )。 printf(“%f\n”,(float)(2+4)/2); A)有语法错误不能通过编译B)3 C)3.0 D)3.000000 12、定义a为整型,下列表达式a=3>6的运行后,a的值为(A )。 A)0 B)1 C)3 D)表达式错误 13、如果a=1,b=2,c=3,d=4,则条件表达式a>b?a:c>d?c:d的值为(D )。 A)1 B)2 C)3 D)4 14、对于条件表达式(M)?(a++):(a--),其中的表达式M等价于(C )。 A)M= =0 B)M= =1 C)M!=0 D)M!=1 15、在x值处于-2到2,4到8时值为“真”,否则为“假”的表达式是(D )。 A)(2>x>-2)||(4>x>8) B)((x<=-2)||(x>=2)||((x>4)||(x>=8)) C)(x<2)&&(x>=-2)&&(x>4)&&(x<8) D)(x>-2)&&(x>4)||(x<8)&&(x<2) 16、已知字母a的ASC||的十进制代码为97,则执行下列语句后输出为(C )。 Char a=‘a’; a--; printf(“%d,%c\n”,a+‘2’-‘0’,a+‘3’-‘0’); A)a,c B)a—运算不合法,故有语法错误C)98,c D)格式描述和输出项不匹配,输出无定值 18、C语言中,逻辑“真”等价于(C )。 A)大于零的数B)大于零的整数C)非零的数D)非零的整数 19、下列语句中,符合语法的语句式(D )。 A)a+b=3 B)a=7 C)a=c+b+3=6; D)a=8,b=a+7; 20、若x为float型变量,则以列程序段结果是(B )。 x=1234.6789;

C语言复习资料

一、选择题 1、可以在C语言中使用的一组用户标识符是()。 A、3B sizeof DO B、ab34 c1_c2 _for C、_123 t2_a1_ printf D、void 6b hat 2、以下均是字符常量或数值常量的选项是()。 A、0.0 0f 8.9e ‘&’ B、”A” 3.9e-2.5 1e1 C、’3’011 0xff00 0a D、0xabcd 2e3 50. 3、以下选项中正确的实型常量是()。 A、0 B、0.618*10 C、567 D、3.1415 4、将汇编语言编写的程序翻译为目标程序的是()程序。 A、解释 B、编译 C、汇编 D、目标 5、不属于面向机器的语言是()。 A、符号语言 B、机器语言 C、汇编语言 D、C语言 6、程序段的基本结构中,不包含()。 A、函数结构 B、循环结构 C、顺序结构 D、分支结构 7、下列符号中,不属于转义字符的是()。 A、\\ B、\0xaa C、\0 D、\t 8、正确的C语言标识符是()。 A、_sum_1 B、1_sum C、?_sum D、sum? 9、增1减1运算只能作用于()。 A、常量 B、变量 C、表达式 D、函数 10、设“int a=2,b=2;”,则++a+b的结果是(),a的结果是(),b的结果是()。A、2 B、3 C、4 D、5 11、下列运算符中优先级最高级的是()。 A、++ B、% C、* D、= 12、设“int a=2;”,则表达式“(a++*1/3)”的值是(),a的值是()。 A、0 B、1 C、2 D、3 13、字符数据在内存中的存储代码采用的是()。 A、反码 B、补码 C、EBCDIC码 D、ASC II码 14、char a; int b; float c; double d; 则表达式a*b+d-c值的类型为()。 A、int B、float C、double D、char 15、字符串”\”\123\n\321a”的长度是()。 A、1 B、5 C、9 D、13

C程序设计复习资料

C程序设计复习资料 总体上必须清楚的: 1)程序结构是三种: 顺序结构 , 循环结构(三个循环结构), 选择结构(if 和 switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 5)一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、每个C语言程序中main函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、break可用于循环结构和switch语句。 6、逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式:

2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。. 3)字符数据的合法形式:: '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节: 考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。 5)转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x 必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’ 才是合法的,0不能写,并且x是小写。 ‘\141’ 是合法的, 0是不能写的。 ‘\108’是非法的,因为不可以出现8。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 7)强制类型转换: 一定是(int)a 不是 int(a),注意类型上一定有括号的。 注意(int)(a+b)和(int)a+b 的区别。前是把a+b转型,后是把a 转型再加b。 8)表达式的考查: 是表达式就一定有数值。

双语C复习资料.doc

复习资料 第一章C语言基础 基本内容 1.数据类型 2.常量 3.变量 4.表达式 5.运算符 6.格式化输入与输出 7.注释及语句 1.数据类型 是根据各种数据所占存储单元大小不同而划分了不同的数据类型。C语言中的数据类型有基本类型、构造类型和指针类型。 各种类型数据由于所占单元大小不同,故其所表示的范围也不一样。 1)int, char, float, double are all basic data types in C language. (对) 2)Provided that the length of int is 16 bits, then the value scope of unsigned int is:(B) A.0~255 B.0~65535 C.-32768~32767 D.-256~255 3)The declaration is: int k=0,a=0,b=0; unsigned long w=5; double x=1.42,y=0; then the incorrect expression is_A__ A.y=x%3 B. w+= -2 C. x=w+5 D. k*=a+b 4) In C, basic data types are int, char, float and _double_____. 5) Given declaration: char c=’\035’; the size of c is __1____bytes. 混合数据类型的运算 1)Suppose declaration: char a=’c’; then statement: printf(“%d”,a); is wrong.(错) 2)Suppose declaration: int a; float x,y; then the result data type of expression: x+a%3*(int)(x+y)%2/4 is _float_____. 3)The data type of expression: 18/4*sqrt(4.0) is float. (错) 字符的ASCII值及其合理应用 1)Suppose declaration: char a; then expression: ch=’5+9’ is correct.(错) 2) ASCII of ‘A’ is 65.then read the following programand the result of it. Fill the blanks: main() { char a; a=’A’+__11____; printf(“%c”,a);

c程序设计复习资料试题及答案版

c#程序设计部分复习资料 一.填空题 26.C#源程序的后缀名为______.cs________。 26.C#中每个int 类型的变量占用____4___个字节的内存。 26.C#的每行语句以________分号_______结尾。 26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。 26.如果int x的初始值为5,则执行表达式x - =3之后,x的值为_____2_________。 26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。 26.关键字_______class________表示一个类的定义。 26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。 26.try块运行后,总是会执行_________finally_____________块中的代码。 26.一个数组如果有两个索引值,那么它是__________二维__________数组。 二.单项选择题 1.在对SQL Server 数据库操作时应选用()。 A、SQL Server .NET Framework 数据提供程序; B、OLE DB .NET Framework 数据提供程序; C、ODBC .NET Framework 数据提供程序; D、Oracle .NET Framework数据提供程序; 2.下列选项中,()是引用类型。 A、enum类型 B、struct类型 C、string类型 D、int类型 3.C#的数据类型有() A、值和调用类型; B、值和引用类型; C、引用和关系类型; D、关系和调用类型 4.下列描述错误的是() A、类不可以多重继承而接口可以; B、抽象类自身可以定义成员而接口不可以; C、抽象类和接口都不能被实例化; D、一个类可以有多个基类和多个基接口; 5.下列关于构造函数的描述正确的是() A、构造函数可以声明返回类型。 B、构造函数不可以用private修饰 C、构造函数必须与类名相同 D、构造函数不能带参数 6.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; 那么myArray3[2][2]的值是( )。 A、9 B、2 C、6 D、越界 7.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。 A、方法、属性、索引器和事件; B、方法、属性信息、属性; C、索引器和字段; D、事件和字段; 8.在https://www.wendangku.net/doc/8019084561.html,中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误 的是()。 A、insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B、ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C、Select操作的Sql语句只能由ExecuteReader()方法来执行; D、ExecuteReader()方法返回一个DataReder对象; 9.Winform中,关于ToolBar控件的属性和事件的描述不正确的是( )。 A、Buttons属性表示ToolBar控件的所有工具栏按钮 B、ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度 C、DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭

相关文档