文档库 最新最全的文档下载
当前位置:文档库 › 大学C期末考试题库及答案

大学C期末考试题库及答案

大学C期末考试题库及答案
大学C期末考试题库及答案

2012年大学C++期末考试题库

一、单选题:

1. 能作为C++程序的基本单位是( C )。

A. 字符

B. 语句

C. 函数

D. 源程序文件

2. 程序中主函数的名字为( A )。

A. main

B. MAIN

C. Main

D. 任意标识符

3. 关于C++与C语言的关系的描述中,(D)是错误的。

A. C语言是C++的一个子集;

B. C语言与C++是兼容的;

C. C++对C语言进行了一些改进;

D. C++和C语言都是面向对象的

4. 可用作C++语言用户标识符的一组标识符是( B)。

A. void define +WORD

B. a3_b3 _123 YN

C. for -abc Case

D. 2a DO sizeof

5. 存储以下数据,占用存储字节最多的是( D)。

A. 0

B. ‘0’

C. “0”

D. 0.0

6. 设int a=12;则执行完语句a+=a*a;后,a的值是( C )。

A. 12

B. 144

C. 156

D. 288

7. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式的表达式是

( D )。

A. 1.0/a*b*c

B. 1/(a*b*c)

C. 1/a/b/(float)c

D. 1.0/a/b/c

8. 以下说法中正确的是(B)。

A. C++程序总是从第一个定义的函数开始执行

B. C++程序总是从main函数开始执行

C. C++函数必须有返回值,否则不能使用函数

D. C++程序中有调用关系的所有函数必须放在同一个程序文件中

9. 下面有关构造函数的描述中,正确的是(B )。

A. 构造函数可以带有返回值

B. 构造函数的名字与类名完全相同

C. 构造函数必须带有参数

D. 构造函数必须定义,不能缺省

10.10.在声明类时,下面的说法正确的是()。

A. 可以在类的声明中给数据成员赋初值

B. 数据成员的数据类型可以是register

C. private,public,protected可以按任意顺序出现

D. 没有用private,public,protected定义的数据成员是公有成员

11.在下面有关析构函数特征的描述中,正确的是( A )。

A. 一个类可以有多个析构函数

B. 析构函数与类名完全相同

C. 析构函数不能指定返回类型

D. 析构函数可以有一个或多个参数

12.构造函数是在(B )时被执行的。

A. 程序编译

B. 创建对象

C. 创建类

D. 程序装入内存

13. 下面有关静态成员函数的描述中,正确的是( B )

A. 在静态成员函数中可以使用this指针

B. 在建立对象前,就可以为静态数据成员赋值

C. 静态成员函数在类外定义是,要用static前缀

D. 静态成员函数只能在类外定义

14.下面有关友员函数的描述中,真确的说法是(A )

A. 友员函数是独立于当前类的外部函数

B. 一个友员函数不可以同时定义为两个类的友员函数

C. 友员函数必须在类的外部进行定义

D. 在类的外部定义友员函数时必须加上friend关键字

15.友员的作用之一是( A )

A. 提高程序的运行效率

B. 加强类的封装

C. 实现数据的隐蔽性

D. 增加成员函数的种类

16.使用派生类的主要原因是( A )

A. 提高代码的可重用性

B. 提高程序的运行效率

C. 加强类的封装性

D. 实现数据的隐藏

17.在C++中继承方式有几中( C )

A. 1

B. 2

C. 3

D. 4

18.假设已经定义好了类student,现在要定义类derived,它是从student私有派生的,则定义类derived 的正确写法是( D )

A. class derived ::student private{ //………….}

B. class derived ::student public { //………….}

C. class derived ::public student { //………….}

D. class derived ::private student{ //………….}

19.派生类的对象对它的基类成员中(C)是可以访问的。

A.公有继承的公有成员;

B.公有继承的私有成员;

C.公有继承的保护成员;

D.私有继承的公有成员。

20. 类中定义的成员默认为(A )访问属性。

A. public

B. private

C. protected

D. friend

21.下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( A )合适。

A. 内联函数;

B. 重载函数;

C. 递归调用;

D. 嵌套调用。

22.C++对C语言作了很多改进,下列描述中(D)使得C语言发生了质变,从面向过程变成了面向对象。

A. 增加了一些新的运算符;

B. 允许函数重载,并允许设置缺省参数;

C. 规定函数说明必须用原型;

D. 引进了类和对象的概念;

23.按照标识符的要求,(A)符号不能组成标识符。

A. 连接符

B. 下划线

C.大小写字母

D. 数字字符

24.下列变量名中,( A )是合法的。

A CHINA

B byte-size

C double

D A+a

25.下列各种函数中,( C)不是类的成员函数。

A 构造函数

B 析构函数

C 友元函数

D 拷贝构造函数

26.下列( A )是正确的语句。

A ;

B a=17

C x+y

D cout<<"\n"

27.不能作为函数重载判断的依据的是(B )

A.返回类型

B. const

C.参数个数

D. 参数类型

28.通常,拷贝构造函数的参数是(C )

A.某个对象名

B.某个对象的成员名

C.某个对象的引用名

D.某个对象的指针名

29.下面对静态数据成员的描述中,正确的是(C )

A 类的不同对象有不同的静态数据成员值

B 类的每个对象都有自己的静态数据成员

C静态数据成员是类的所有对象共享的数据

D 静态数据成员不能通过类的对象调用

30.假定AB为一个类,则执行AB x;语句时将自动调用该类的( B)

A.有参构造函数

B.无参构造函数

C.拷贝构造函数

D.赋值构造函数

31.C++程序从上机到得到结果的几个操作步骤依次是( B )。

A. 编译、编辑、连接、运行

B. 编辑、编译、连接、运行

C. 编译、运行、编辑、连接

D. 编辑、运行、编辑、连接

32.假定一条定义语句为“int a[10], x, *p=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为(A )。

A. x=p[3];

B. x=*(a+3);

C. x=a[3];

D. x=*p+3;

33.关于封装,下列说法中不正确的是(D )。

A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体

B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)

C. 通过封装,每个对象都成为相对独立的实体

D. 通过封装,对象的属性都是不可见的

34.预处理命令在程序中都是以( B )符号开头的。

A. *

B. #

C. &

D. @

35.存储以下数据,占用存储字节最少的是( B )。

A. 0

B. ‘0’

C. “0”

D. 0.0

36.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。

A. 空格或逗号

B. 逗号或回车

C. 逗号或分号

D. 空格或回车

37.假定变量m定义为“int m=7;”,则定义变量p的正确语句为( B )。

A. int p=&m;

B. int *p=&m;

C. int &p=*m;

D. int *p=m;

38.下面的哪个保留字不能作为函数的返回类型? C 。

A. void

B. int

C. new

D. long

39.采用重载函数的目的是( B )。

A.实现共享

B.减少空间

C.提高速度

D.使用方便,提高可读性

40.假定AB为一个类,则( C )为该类的拷贝构造函数的原型说明。

A. AB(AB x);

B. AB(int x);

C. AB(AB& x);

D. void AB(AB& x);

41、 C++对C语言作了很多改进,下列描述中(D )使得C语言发生了质变,从面向过程变成了面向对象。

A、增加了一些新的运算符;

B、允许函数重载,并允许设置缺省参数;

C、规定函数说明必须用原型;

D、引进了类和对象的概念;

42、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是(A)。

A.类

B.对象

C.函数体

D.数据块

43、关于new运算符的下列描述中,(C )是错误的。

A、它可以用来动态创建对象和对象数组;

B、使用它创建的对象或对象数组可以使用运算符delete删除;

C、使用它创建对象时要调用构造函数;

D、使用它创建对象数组时必须指定初始值;

44、(D )不是构造函数的特征。

A、构造函数的函数名与类名相同;

B、构造函数可以重载;

C、构造函数可以设置缺省参数;

D、构造函数必须指定类型说明。

45、假定一个类的构造函数为B(int x,int y){a=x--;b=a*y--;},则执行B x(3,5); 语句后,x.a和x.b的值分别为(C )

A、 3和5

B、 5和3

C、 3和15

D、20和5

46、关于成员函数特征的下列描述中,(A)是错误的。

A、成员函数一定是内联函数;

B、成员函数可以重载;

C、成员函数可以设置缺省参数值;

D、成员函数可以是静态的;

47、在公有继承的情况下,基类成员在派生类中的访问权限(B )。

A、受限制

B、保持不变

C、受保护

D、不受保护

48、友元的作用是(A)。

A、提高程序的运用效率;

B、加强类的封装性;

C、实现数据的隐藏性;

D、增加成员函数的种类;

49、在C++中,关于下列设置缺省参数值的描述中,(B )是正确的。

A、不允许设置缺省参数值;

B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;

C、只能在函数的定义性声明中指定参数的缺省值;

D、设置缺省参数值时,必须全部都设置;

50、关于delete运算符的下列描述中,(C)是错误的。

A、它必须用于new返回的指针;

B、使用它删除对象时要调用析构函数;

C、对一个指针可以使用多次该运算符;

D、指针名前只有一对方括号符号,不管所删除数组的维数。

51、const int *p说明不能修改(C)。

A、p指针;

B、p指针指向的变量;

C、p指针指向的数据类型;

D、上述A、B、C三者;

52、当需要打开A盘上的以xxk.dat文件用于输入时,则定义文件流对象的语句为 (B )。

A、fstream fin(“A:xxk.dat”,1)

B、ifstream fin(“A:xxk.dat”,ios::nocreate)

C、ofstream fin(“A:xxk.dat”)

D、ifstream fin(“A:xxk.dat”,ios::app)

53、派生类的对象对它的基类成员中(A )是可以访问的。

A、公有继承的公有成员;

B、公有继承的私有成员;

C、公有继承的保护成员;

D、私有继承的公有成员;

54、假定一个字符串的长度为n,则定义存储该字符串的字符数组的长度至少为(C)。

A、n-1

B、n

C、 n+1

D、n+2

55、在int a=3; *p=&a;中,*p的值是(D)。

A、变量a的地址值

B、无意义

C、变量p的地址值

D、 3

56、下列常量中,( D)不是字符常量。

A、’\005’

B、’\n’

C、’c’

D、“a”

57、在int a=3,*p=&a;中,*p的值是(D)。

A)变量a的地址值 B)无意义 C)变量p的地址值 D) 3

58、以下4个选项中,不能看作一条语句的是(B )。

A) if(b==0) m=1;n=2; B) a=0,b=0,c=0; C) if(a>0); D) {;}

59、(D )不是构造函数的特征。

A)构造函数的函数名与类名相同 B)构造函数可以重载

C)构造函数可以设置缺省参数 D)构造函数必须指定类型说明

60、以下程序段中与语句k=a>b? 1:0;功能等价的是(D )。

A) if(a>b) k=1; B) if(a>b) k=0

C)if(a>b) k=1; D)if(a

61、下列常量中,( D)不是字符常量。

A)’\005’ B)’\n’ C) ’c’ D)"a"

62、表示“x大于1而小于10”的逻辑表达式是(B )。

A)11&&x<10 C) !(x<=1||x>=10) D)x>1||x<10 63、关于成员函数特征的下列描述中,(A)是错误的。

A)成员函数一定是内联函数 B)成员函数可以重载

C)成员函数可以设置缺省参数值D)成员函数可以是静态的

64、有以下程序

#include

void main( )

{ int i,s=0;

for(i=1;i<10;i+=2) s+=i;

cout<

程序执行后的输出结果是(C )。

A)自然数1~9的累加和 B)自然数1~10的累加和

C)自然数1~9中的奇数之和 D)自然数1~10中的偶数之和

65、设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是(D)。

A) p=1; B) *q=2; C) q=p; D) *p=5;

66、( A)能正确输出结果:C++。

A) char s[]="C++";cout<

B)char s[3]="C++";cout<

C)char s[3]={'C','+','+','\0'};cout<

D)char s[3]={'C','+','+'};cout<

67、有以下程序段

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a,b;

b=p[5];

b中的值是( B)。

A)5 B)6 C) 8 D) 9

68、有以下程序

#include

void main( )

{ char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"};

cout<

}

执行后输出结果是 B

A)dcdbe B) abbd C) abc D) abb

69、下列静态数据成员的特性中,(C )是错误的。

A)说明静态数据成员时前边要加修饰符static

B)静态数据成员要在类体外进行初始化

C)静态数据成员不是所有对象所共用的

D)引用静态数据成员时,要在其名称前加<类名>和作用域运算符

70、有以下语句

struct S

{ int g;

char h;} T;

则下面叙述中不正确的是(C )。

A)S是结构体名 B)该结构体包含2个成员

C)S是struct类型的变量 D)T是struct S类型的变量

71、派生类的对象对它的基类成员中(A)是可以访问的。

A)公有继承的公有成员

B)公有继承的私有成员

C)公有继承的保护成员

D)私有继承的公有成员

72、实现运行时的多态性用。D

A、重载函数

B、构造函数

C、析构函数

D、虚函数

73.下列变量名中,( A )是合法的。

A. CHINA

B. byte-size

C. double

D. A+a

74. 在int b[][3]={{1},{3,2},{4,5,6},{0}};b[2][2]的值是(D )。

A. 0

B. 2

C. 5

D. 6

75. 下列各运算符中,(B)优先级最高。

A. +(双目)

B. *(单目)

C. <=

D. *=

76. 下列for循环的次数为( B )。

for(int i(0),x=0;!x&&i<=5;i++)

A. 5

B. 6 C . 1 D. 无限

77. 下述关于break语句的描述中,( C )是正确的。

A. break语句可用于循环体内,它将退出该重循环。

B. break语句可用于开关语句中,它将退出开关语句。

C. break语句可用于if体内,它将退出if语句。

D. break语句在一个循环体内可以出现多次。

78. 在一个被调用函数中,关于return语句使用的描述,(D )是错误的。

A. 被调用函数中可以不用 return语句。

B. 被调用函数中可以使用多个return语句。

C. 被调用函数中,如果有返回值,就一定要有return语句。

D. 被调用函数中,一个return语句可返回多个值给调用函数。

79. 在C++中,关于下列设置参数默认的描述中,( C )是正确的。

A. 不允许设置参数的默认值。

B. 设置参数默认值只能在定义函数时设置。

C. 设置参数默认值时,应该是先设置右边的再设置左边的。

D. 设置参数默认值时,应该全部参数都设置。

80. 下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( A )合适。

A. 内联函数

B. 重载函数

C. 递归调用

D. 嵌套调用

81. 下列的各类函数中,( C )不是类的成员函数。

A. 构造函数

B. 析构函数 C . 友元函数 D. 拷贝初始化构造函数

82. ( D)不是构造函数的特征

A. 构造函数的函数名与类名相同

B. 构造函数可以重载

C. 构造函数可以设置缺省参数

D. 构造函数必须指定类型说明

83. f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用( C)是正确的。

A. p=f1

B. p=A::f1

C. p=A::f1()

D. p=f1()

84. 下列定义中,(A )是定义指向数组的指针p。

A. int *p[5]

B. int (*p)[5]

C. (int *)p[5]

D. int *p[ ]

85.循环while(int i=0) i--;执行次数是( A )。

A. 0

B. 1 C . 5 D . 无限

86. 设int x;,则经过( C )后,语句*px=0;可将x值置为0。

A. int * px; B . int const * px=&x;

C. int * const px=&x;

D. const int * px=&x;

87. 设void f1(int * m,long & n);int a;long b;则以下调用合法的是( B )。

A. f1(a,b);

B. f1(&a,b);

C. f1(a,&b);

D. f1(&a,&b)

88. 关于对象概念的描述中,( A )是错误的。

A. 对象就是C语言中的结构变量;

B. 对象代表着正在创建的系统中的一个实体;

C. 对象是一个状态和操作(或方法)的封装体;

D. 对象之间的信息传递是通过消息进行的;

89. 在下列double型常量表示中,(A )是错误的。

A. E15;

B. .35;

C. 3E5;

D. 3E-5

90. 下列给字符数组进行初始化中,(A )是正确的。

A. char s1[ ]="12345abcd";

B. char s2[3]="xyz";

C. char s3[][3]={‘a’,’x’,’y’};

D. char s4[2[3]={"xyz","mnp"};

91. 对于int *pa[5];的描述,( D )是正确的。

A. pa是一个指向数组的指针,所指向的数组是5个int型元素;

B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量;

C. pa[5]表示某个数组的第5个元素的值;

D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针;

92. 下列各运算符中,( A )优先级最低。

A.?: B. | C. || D. !=

93. 下列for循环的循环体执行次数为( D )。

for(int i(0),j(10);i=j=4;i++,j- -)

A. 0;

B. 1;

C. 4;

D. 无限;

94. 下述关于开关语句的描述中,( A )是正确的。

A. 开关语句中default子句可以没有,也可以有一个;

B. 开关语句中每个语句序列中必须有break语句;

C. 开关语句中default子句只能放在最后;

D. 开关语句中case子句后面的表达式可以是整形表达式。

95. 下列存储类标识符中,( C )的可见性与存在性不一值。

A. 外部类;

B. 自动类;

C. 内部静态类;

D. 寄存器类。

96. 下述静态数据成员的特征中,( D)是错误的。

A. 说明静态数据成员时前边要加修饰符static;

B. 静态数据成员要在类体外进行初始化;

C. 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符;

D. 静态数据成员不是所有对象所共用的。

97. ( A)是析构函数的特征。

A. 一个类中只能定义一个析构函数;

B. 析构函数与类名不同;

C. 析构函数的定义只能在类体内;

D. 析构函数可以有各个或多个参数。;

98. 已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5,( C )是正确的。

A. A1.p=5;

B. A1->p=5;

C. A.*p=5;

D. *A1.p=5;

99. 关于new运算符的下列描述中,( D )是错的。

A. 它可以用来动态创建对象和对象数组;

B. 使用它创建的对象或对象数组可以使用运算符delete删除;

C. 使用它创建对象时要调用构造函数;

D. 使用它创建对象数组时必须指定初始值。

100. 派生类的构造函数的成员初始化列中,不能包含(C )。

A. 基类的构造函数;

B. 派生类中子对象的初始化;

C. 基类的子对象初始化;

D. 派生类中一般数据成员的初始化

101. 派生类的对象对它的基类成员中( A)是可以访问的。

A. 公有继承的公有成员;

B. 公有继承的私有成员;

C. 公有继承的保护成员;

D. 私有继承的公有成员。

102.C++类体系中,不能被派生类继承的有( A)。

A.构造函数

B.虚函数

C.静态成员函数

D.赋值操作函数

103.下面标识符中正确的是(A )。

A._abc B.3ab C. int D.+ab

104.下列哪项( D )不是面向对象程序设计的主要特征?

a.封装

b.继承

c.多态

d.结构

105.已知i=5,j=0,下列各式中运算结果为j=6的表达式是( A )。

A.j=i+(++j) B.j=j+i++ C.j=++i+j D.j=j+++i

106.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a

A.1 B.2 C.3 D.4

107.以下不正确的是( C )。

A.语句for(i=0;;i++)表示无限循环 B.for(;;)表示无限循环

C.for()也表示无限循环 D.while(1)表示无限循环

108.有如下程序:

int x=3;

do{

X-=2;

cout<

}while(!(--x));

执行这个程序的输出结果是( C )。

A. 1 B.30 C.1-2 D.死循环

109.若有以下定义,则说法错误的是( D)。

int a=100,*p=&a ;

A.声明变量p,其中*表示p是一个指针变量

B.变量p经初始化,获得变量a的地址

C.变量p只可以指向一个整形变量

D.变量p的值为100

110.下面关于数组的初始化正确的是( A )。

A.char str[]={‘a\',’b\',\'c‘}

B.char str[2]={\'a\',\'b\',\'c’}

C.char str[2][3]={{\'a‘,\'b’},{’e’,\'d’},{’e’,‘f\'}}

D.char str[]={\'a\',\'b\',\'c’}

111.若已定义:

int a[]={0,1,2,3,4,5,6,7,8,9},*P=a,i;

其中0≤i≤9,则对a数组元素不正确的引用是( D )。

A.a[p-a] B.*(&a[i]) C.p[i] D.a[10]

112.存在定义int a[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的? ( A )。 A. x=*pa; B.x=*(a+l); C.x=*(pa+1); D.x=a[1];

113.对数组名作函数的参数,下面描述正确的是(B)。

A.数组名作函数的参数,调用时将实参数组复制给形参数组。

B.数组名作函数的参数,主调函数和被调函数共用一段存储单元。

C.数组名作参数时,形参定义的数组长度不能省略。

D.数组名作参数,不能改变主调函数中的数据。

114.关于静态成员的描述中,( B )是错误的。

A.静态成员可分为静态数据成员和静态成员函数。

B.静态数据成员定义后必须在类体内进行初始化。

C.静态数据成员初始化不使用其构造函数。

D.静态数据成员函数中不能直接引用非静态成员。

115.下列关于构造函数的描述中,错误的是( D )。

A.构造函数可以设置默认的参数 B.构造函数在定义类对象的自动执行

C.构造函数可以是内联函数 D.构造函数不可以重载

116.假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为( C )。

A. OneClass(OneClass p);

B. OneClass& (OneClass p);

C. OneClass(OneClass & p);

D. OneClass (OneClass *p);

117.如果类A被说明成类B的友元,则( D )。

A.类A的成员即类B的成员。

B.类B的成员即类A的成员。

C.类A的成员函数不得访问类B的成员。

D.类B不一定是类A的友元。

118、关于对象和类的关系,说法正确的是( C )。

A) 同属于一类的对象,具有相同的数据成员和成员函数。

B) 对象是具体,是类的对象,同其他变量一样,先定义后使用。

C) 同一类的不同对象,其具有的操作可不同,具体的操作也不同。

D) 不同类的对象,可有相同的操作。

119、双精度浮点型的字节数是( D )。

A)4 B)1 C)0 D)8

120、下列关于C++函数的说明中正确的是( D )。

A) 内联函数就是定义在另一函数体内部的函数。

B) 函数体的最后一条语句必须是RETURN语句。

C) 标准C++要求在调用一个函数之前,必须先声明其原型。

D) 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式。

121、下列关于虚函数的说明中,正确的是( B )。

A) 从虚基类继承的函数都是虚函数。

B) 虚函数不得是静态成员函数。

C) 只能通过指针和引用调用虚函数。

D) 抽象类中的成员函数都是虚函数。

122、下列符号中可以用作C++标识符的是( A )。

A) _radius B) foo~bar C) else D) 3room

123、结构化程序设计所规定的三种基本控制结构是( C )。

A)输入、处理、输出B)树形、网形、环形

C)顺序、选择、循环D)主程序、子程序、函数

124、下列语句中错误的是( B )。

A) const int buffer=256; B) const int int temp;

C) const double *point; D) const double *rt=new double(5.5) 125、下列关于实参和形参说法错误的是( D )。

A)实参可以是变量、常量、或表达式。

B)实参与形参的类型必须一致,否则会发生“类型不匹配”的错误。

C)实参对形参的数据传递是单向传递,调用结束后,实参单元被释放。

D)形参必须是变量。

126、关于内联函数说法错误的是( C )。

A)不是任何一个函数都可定义成内联函数。

B)内联函数的函数体内不能含有复杂的结构控制语句。

C)递归函数可以被用来作为内联函数。

D)内联函数一般适合于只有1~5行语句的小函数。

127、关于保护继承的说法正确的是( D )。

A)基类的公有成员、私有成员可被子类继承下来,而且性质不变。

B)基类的公有成员、私有成员可被子类继承下来,而且性质改变为保护成员。

C)基类的公有成员、私有成员可被子类继承下来,而且性质均改变为私有成员。D)基类的公有成员、私有成员可被子类继承下来,性质不变,私有成员不被继承。128、关于函数的返回值说法正确的是( A )。

A)由return语句返回时,只带回一值,其类型在函数定义时确定。

B)其类型由调用表达式决定。

C)函数可以没有返回值,这时在函数定义,函数的类型说明就没必要了。

D)函数调用就要有返回值,否则调用就没意义了。

129、下列合法的标识符是(D )。

A)abde+ B)#KSJF C)67KDJ D)DK3-

130、关于结构化程序设计方法说法错误的是( D )。

A)在数据处理过程中,采用的是自顶向下、分而治之的方法。

B)将整个程序按功能划分为几个可独立编程的子过程模块。

C)以“对象”或“数据”为中心。

D)数据和处理数据的过程代码是分离的、相互独立的实体。

131、运算符重载是对已有的运算符赋予多重含义,因此( C )。

A)可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义。

B)可以改变一个已有运算符的优先级和操作数个数。

C)只能重载C++中已经有的运算符,不能定义新运算符。

D)C++中已经有的所有运算符都可以重载。

132、关于C++程序说法不正确的是( D )。

A) C++程序由函数构成,但只有一个main()函数。

B) C++程序中main()函数可以在程序的任何位置。

C) C++程序由main()函数开始执行,由main()结束执行。

D) main()都是没有参数的。

133、已知a=4,b=6,c=8,d=9,则“(a++,b>a++&&c>d)?++d:a

A) 9 B)6 C)8 D) 0

134、下面有关重载函数的说法中正确的是( C )。

A)重载函数必须具有不同的返回值类型。

B)重载函数形参个数必须不同。

C)重载函数必须有不同的形参列表。

D)重载函数名可以不同。

135、C++语言的跳转语句中,对于break和continue说法正确的是( B )。

A)break语句只应用于循环体中。

B)continue语句只应用于循环体中。

C)break是无条件跳转语句,continue不是。

D)break和continue的跳转范围不够明确,容易产生问题。

136、long[int]的字节数是(D )。

A)4 B)1 C)0 D)8

137、下列非法的字符常量是( C )。

A)‘#’ B)‘\’ C)a’ D)‘A’

二、填空:

1. C++语言的头文件与源程序文件扩展名分别是(.h )和( .cpp )。

2. 在C++程序中使用基本输入与输出流时需要包含的头文件名是( iostr eam )。

3. 在C++语言中,惟一的一个三目运算运算符是( ?: )。

4. C++中当一个函数无返回值时,则函数的类型是(void )。

5. 一个类中可以有(多)个构造函数,只能有(一)个析构函数。

6.一般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为(私有)权限,

而把成员函数(方法)定义为(公有)权限.

7.在定义类的对象时,C++程序将自动调用该对象的(构造)函数初始化对象自身.在撤销类的对象时,C++程序将自动调用该对象的(折构)函数.

8.类继承中,缺省的继承方式是(私有继承).

9.在C++语言中,用转义字符序列( '\n' )或操纵符( endl )表示输出一个换行符。

10.表达式a=a+l表示成增量表达式为( ++a )。

11.当不需要函数返回任何值时,则应把该函数类型定义为( void )。

12.用于输出表达式值的标准输出流对象是( cout)。,用于从键盘上为变量输人值的标准输人流对象是(cin )。

13、变量分为全局和局部两种,(全局变量默认初始化为0 )。变量没有赋初值时,其值是不确定的。

14、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为( AB::bb )。

15、类的成员分为_数据成员_和_成员函数_。

16、一个_类_和_对象_的关系,正如基本数据类型与该类型的变量一样,如int x;。

17、对一个类中的数据成员的初始化可以通过构造函数中的_赋值_实现,也可以通过构造函数中的_初始化列表_实现。

18、类有两种用法:一种是_定义对象_,即生成类的对象;另一种是通过_派生_,派生出新的类。

19、C++语言提供的_多态_机制允许一个派生类继承多个基类,即使这些基类是相互无关的。

20、声明虚函数的方法是在基类中的成员函数原型前加上关键字_virtual_。

21、如果一个类中有一个或多个纯虚函数,则这个类称为_虚基类_。

22、静态数据成员在定义或说明时,前面要加上关键字_static_。

23、如果成员函数不需要访问类的_非静态_成员,则可以把它声明为静态成员函数。

24、友元可以是_全局函数_,也可以是_其他类的成员函数_。

25、若需要把一个函数“void fun();”定义为一个类A的友元函数,则应在类A的定义中加入一条语句:_friend void fun();_。

26、运算符函数中的关键字是_operator_,它和_运算符_一起组成该运算符函数的函数名。

27、类中运算符重载一般采用两种形式:_成员函数_和_友元函数_。

28、面向对象程序设计的3大机制为:_封装性_、_继承性_和_多态性_。2、类的访问权限有_public _、_private_和_protected_三种。

29、构造函数是_对象_被创建时自动执行,对象消失时自动执行的成员函数称为_析构函数_。

30、如果类A继承了类B,则类A称为_基类_,类B称为_派生类_。

31、如果一个特定的类型S当且仅当它提供了类型T的行为时,则称类型S是类型T的__子类型_。

32、在类定义中,将_=0_置于虚函数的函数原型的末尾可以声明该函数为纯虚函数。

33、类的静态成员分为_静态数据成员_和_静态成员函数_。

34、友元函数的声明可以放在类的_私有_部分,也可以放在类的_共有_部分,它们是没有区别的。

35、如果说类B是类A的友元类,则类B的所有成员函数都是类A的_成员函数_。

36、设a和b是两个整型变量,我们用a+b的形式求这两个变量的和;设c和d为浮点型变量,我们用c+d 的形式求这两个变量的和。显然运算符“+”具有不同的用途,这是_运算符重载_的例子。

37、对于双目运算符,若重载为类的成员函数,有1_个参数;若重载为友元函数,则有_2个参数。

38、当建立__一个新的对象___,程序自动调用该类的构造函数。

39、在C++中有二种参数传递方式:__传值___ 和___引用__ 。

40、模板对处理数据的类型的要求不同可以分为两种类型:__函数模板__ 和 __ 类模板__。

41、异常是通过_检查(try)__ 、_抛出(throw)__和__捕捉(catch)__ 来实现的。

42、虚函数实现了C++的__多态__ 机制,类实现了C++的___封装__ 机制。

43、面向对象程序设计的___继承___机制提供了重复利用程序资源的一种途径。

44、C++语言程序设计的三种基本结构是:_顺序结构_ 、 _选择结构_ 、 __循环结构__ 。

45、为了避免嵌套的条件语句if-else的二义性,C++语言规定else与__if __配对使用。

46、定义函数时,在函数的类型前加上修饰词 ___ inline ___,指明将该函数定义为内联函数。

47、有说明语句:*p;则*p++运算首先访问 ___*p___,然后使__p____ 的值加1。

48、执行int *p=new int 操作,可以得到一个动态分配整型对象的__指针____。

49、有说明语句:int *p;则(*p)++运算首先访问 ___*p___,然后使 __*p____的值加1。

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

大学C语言考试试题

C语言模拟试题 一、判断 1、关系运算符<= =与= =的优先级相同。(N ) 2、C语言的函数可以嵌套定义。(N ) 3、若有定义和语句:int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5, 则a=10,c=?A?,f=12.5.( Y ) 4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y ) 5、#define和printf都不是C语句。( Y ) 6、Int I,*p=&I;是正确的C说明。( Y ) 7、结构体类型只有一种。( N ) 8、在Turbo C中,整形数据在内存中占2个字节。( N ) 9、一个include命令可以指定多个被包含的文件。( N ) 10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y ) 二、选择 2、C语言中,char类型数据占(A) A、1个字节 B、2个字节 C、4个字节 D、8个字节 3、已知x=43,ch=?A?,y=o;则表达式(x>=y&&ch1;i--) for(j=1;j

大学计算机C语言期末试卷02

一、选择题,(1-50)每题1分,下列各题A)、B)、C)、D)四个选项中,只有一个选项是 正确的,请将正确选项涂写在试卷最后答题纸相应位置上,答在试卷上不得分。 (1) 用8位表示,-2的补码是D A) 10000001 B) 11111111 C) 00000001 D) 11111110 (2) 在VC中,实型float占用的字节数是c A) 1 B) 2 C) 4 D) 8 (3) unsigned short的取值范围是d A) 0~ 255 B) -128 ~ 127 C) -32768 ~ +32767 D) 0 ~ 65535 (4) 十六进制数FE的十进制结果为A A) 254 B) 512 C) 1024 D) 64 (5) 源程序ex1.c编译后生成的文件名为 C A) ex1.doc B) ex1.obj C) ex1.exe D) ex1.cpp (6) C语言源程序的后缀为B A) .cpp B) .c C) .exe D) .doc (7) 工程文件名的后缀为A A) .prj B) .c C) .cpp D) .bin (8) 字符’B’的ASCII值是A A) 66 B) 0x3A C) 0x42 D) 49 (9) 将十进制数132转为二进制数的结果是D A) 11001100 B) 110011011 C) 10101010 D) 10000100 (10) 终止死循环用组合键B A) Alt+F10 B) Ctrl+C或Ctrl+Break C) Ctrl+F1 D) Ctrl+Shit或Ctrl+ESC (11) 在VC中,编译的快捷键是B A) F7 B) Ctrl+F7 C) Ctrl+F5 D) F5 (12) 以下选项中可作为C语言合法整数的是D A) 10110B B) 0386 C) 0Xffa D) x2a2 (13) 以下不能定义为用户标识符的是D A) scanf B) Void C) _3com_ D) int (14) 以下程序 swap(int x, int y) {int temp; temp=x; x=y; y=temp; } main() {int a=10,b=20; swap(a,b); printf("a=%d,b=%d\n",a,b); } 的运行结果是B A)a=20,b=10 B)a=10,b=20 C)10,20 D)20,10 (15) 以下程序: main() {int a=0x55, b=0xaa; printf("%d\n", a^b); } 的运行结果是:C A) 0 B) 1 C) 255 D) 0xaa (16) 有以下程序 main() {int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

c语言期末测试题(附答案)

课程代码:A100002座位号: 《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年月日 第一部分 选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个正确答案,答对一题得 2 分,共 30 分) 1、以下关于C语言标识符的描述中,正确的是【】。 A)标识符可以由汉字组成B)标识符只能以字母开头 C)关键字可以作为用户标识符D)Area与area是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678 3、判断char类型的变量c1是否为数字字符的正确表达式为【】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。 A)’a’&&’b’ B)a<=b C)((a>b)||(b

A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行break语句,其作用是【】。A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行 7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。A)10 B)9 C)0 D)1 8、若有int *p1, *p2,k; 不正确的语句是【】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】 A. 静态(static) B. 外部(extern) C. 自动(auto)D. 寄存器(register) 10、如下程序的输出结果是【】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系a main() {int x; scanf(“%d”,&x); if(x<=3) ; else if(x !=10)printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果。【】

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

大一c语言期末试题及参考答案word版本

2004级信息学院《C语言设计》考试试题 一、判断下列语句或程序的对错。 10分√ 1 int x=y=z=’0’; (×) y,z没有定义 2 #include ; (×)不能有分号,#开头的结尾均不能有分号; 3 printf(“%s\n”,”c language”); (√) 4 float a[100]; int *p=a; (×)数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; (×)五个元素,但是只有四个单元 7 float x=1.45e+310L; (×)数值越界 8 int xyz-1=2; (×) 9 int x=‘\xae’ ; (√) 10 int *p,a[2][3] ; p=a ; (×)数据类型不匹配 二计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(a^b)+(c>>1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三程序改错 10分 (1)求两个浮点数的平方和及平方差 #include float calculate (float x,float y,float *sub);添加函数原型声明 main () { float a,b; float add_reasult, sub_result; scanf (“%f,%f”,a,b); add_result=calculate(a,b,&sub_result); printf( “a*a+b*b=%d,a*a-b*b=%d\n”,add_result,sub_result); } float calculate (float x,float y,float *sub) 添加函数类型 { float *temp; 应该直接定义为变量float temp; sub=a*a-b*b ; *sub=a*a-b*b;

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

南京邮电大学C语言期末试卷及答案

模拟试卷A 一、单选题 1、C语言中运算对象一定不能是double类型的运算符是___ 。 A、%= B、/ C、= D、<= 2、能正确表达数学逻辑关系"0b) c=0; else c=1; 等价于___。 A、c=(a>b)?1:0; B、c=a>b; C、c=a<=b; D、以上均不是 7、有如下定义语句:int a, b=5, *p=&a; 则能完成a=b赋值功能的语句是___。 A、a=*p; B、*p=*&b; C、a=&b; D、*p =&*p; 8、设int *ptr, x, array[5]={5,4,3,2,1}; ptr=array; 能使x的值为3的语句是___。 A、x=array[3]; B、x=*(array+3); C、x=*(ptr+2); D、array+=2; x=*array; 9、有函数原型为void f(int,int *);主函数中有变量定义:int a,*p=&a,b[10]; 则下列几种调用错误的是___。

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

c语言期末测试题附答案)

课程代码:A100002 座位号: 《计算机技术基础(C 语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年 月 日 第 一、 单项选择题(本大题共 15 小题,每题只有一个正确答案,答对 一题得 2 分,共 30 分) 1、以下关于C 语言标识符的描述中,正确的是 【 】。 A )标识符可以由汉字组成 B )标识符只能以字母开头 C )关键字可以作为用户标识符 D )Area 与area 是不同的标识符 2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【 】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k ); printf(“%d,%d,%d \n”,i,j,k); 3、判断char 类型的变量c1是否为数字字符的正确表达式为 【 】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是 【 】。 A )’a’&&’b’ B )a<=b C )((a>b)||(b0;i--);后,变量i 的值为 【 】。 A )10 B )9 C )0 D )1 8、若有int *p1, *p2,k; 不正确的语句是 【 】

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define_123-abcDO WORDIFasesizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__。 A、、4 C、、 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[]”之间 C、花括号“{}”之间 D、圆括号“()”之间 8、有如下程序段,对应正确的数据输入是___A___。 floatx,y; scanf(”%f%f”,&x,&y); printf(”a=%f,b=%f”,x,y); A、<回车> B、,<回车> <回车> C、A=,B=<回车> D、回车> 9、以下程序段的输出结果是___D__。 inta=5678; printf(”%2d\n”,a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:charch='A';则下列表达式的值是__B__。 ch=(ch>='A'&&ch<='Z')?(ch+32):ch; A、A B、a C、Z D、z

安徽大学C语言期末试卷(含答案),DOC

安徽大学 C语言程序设计期末试题 一. 单项选择题:(每题2分,共20分) 1.执行程序: int a; printf("%d \n", (a=3*5, a*4, a+5) );后,a的值是______。 A)60 B)20 C)15 D)10 2.程序段:int x=023; printf("%d \n", --x );的输出是______。 A)19 B)18 C)23 D)22 3.程序段:static char s[10]={'C','h','i','n','a'}; printf("%d\n",strlen(s));的输出是______。 A)6 B)5 C)11 D)10 4.若fun( int x) { printf(“%d\n”,x);}, 则fun_______。 A)返回值为void 类型B)返回值类型无法确定 C)返回值为int 类型D)没有返回值 5. 有宏定义:#define MULT1(a,b) a*b #define MULT2(a,b) (a)*(b) 且引用宏:y=MULT1(3+2,5+8); z=MULT2(3+2,5+8); 则y和z的值是______。 A)y=65,z=65 B)y=21,z=65 C)y=65,z=21 D)y=21,z=21 6.程序段char s[]="Hello", *p; p=s;执行后,*(p+5)的值是______。 A)'o' B)'\0' C)'o'的地址D)不确定的值 7. 程序段:char *s=”ABCD”, *p; for( p=s; *p ; p++) printf("%s\n", p);的输出是______。 A)ABCD B)A C)D D)ABCD BCD B C ABC CD C B AB D D A A 8. 若定义:int (*p)[3]; 则标识符p______。 A)定义不合法。 B)是一个指针数组名,每个元素是一个指向整型变量的指针。 C)是一个指针,它指向一个具有三个元素的一维数组。 D)是一个指向整型变量的指针。 9. 定义: struct sk {int a; float b;} data,*p; 且p=&data; 则正确引用成员a的方式是______。 A) p.data.a B) (*p).a C) p->data.a D) (*p).data.a 10. 以二进制只读方式打开一个已有的文本文件file1,正确调用fopen函数的方式是______。 A)FILE *fp; B)FILE *fp; fp=fopen("file1","rb"); fp=fopen("file1","r+"); C)FILE *fp; D)FILE *fp; fp=fopen("file1","r"); fp=fopen("file1","rb+");

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

相关文档
相关文档 最新文档