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

大学C 期末考试题库

大学C 期末考试题库
大学C 期末考试题库

一、单选题:

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

A. 字符

B. 语句

C. 函数

D. 源程序文件

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

A. main

B. MAIN

C. Main

D. 任意标识符

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

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

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

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

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

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

A. void define +WORD

B. a3_b3 _123 YN

C. for -abc Case

D. 2a DO sizeof

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

A. 0

B. ‘0’

C. “0”

D. 0.0

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

A. 12

B. 144

C. 156

D. 288

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

abc

1的表达式是( )。 A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A. 程序编译

B. 创建对象

C. 创建类

D. 程序装入内存

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

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

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

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

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

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

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

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

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

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

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

A. 提高程序的运行效率

B. 加强类的封装

C. 实现数据的隐蔽性

D. 增加成员函数的种类

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

A. 提高代码的可重用性

B. 提高程序的运行效率

C. 加强类的封装性

D. 实现数据的隐藏

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

A. 1

B. 2

C. 3

D. 4

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

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

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

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

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

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

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

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

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

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

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

A. public

B. private

C. protected

D. friend

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

A. 内联函数;

B. 重载函数;

C. 递归调用;

D. 嵌套调用。

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

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

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

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

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

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

A. 连接符

B. 下划线

C.大小写字母

D. 数字字符

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

A CHINA

B byte-size

C double

D A+a

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

A 构造函数

B 析构函数

C 友元函数

D 拷贝构造函数

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

A ;

B a=17

C x+y

D cout<<"\n"

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

A.返回类型

B. const

C.参数个数

D. 参数类型

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

A.某个对象名

B.某个对象的成员名

C.某个对象的引用名

D.某个对象的指针名

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

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

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

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

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

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

A.有参构造函数

B.无参构造函数

C.拷贝构造函数

D.赋值构造函数

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

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

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

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

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

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

A. x=p[3];

B. x=*(a+3);

C. x=a[3];

D. x=*p+3;

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

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

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

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

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

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

A. *

B. #

C. &

D. @

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

A. 0

B. ‘0’

C. “0”

D. 0.0

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

A. 空格或逗号

B. 逗号或回车

C. 逗号或分号

D. 空格或回车

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

A. int p=&m;

B. int *p=&m;

C. int &p=*m;

D. int *p=m;

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

A. void

B. int

C. new

D. long

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

A.实现共享

B.减少空间

C.提高速度

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

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

A. AB(AB x);

B. AB(int x);

C. AB(AB& x);

D. void AB(AB& x);

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

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

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

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

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

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

A.类

B.对象

C.函数体

D.数据块

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

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

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

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

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

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

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

B、构造函数可以重载;

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

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

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

A、 3和5

B、 5和3

C、 3和15

D、20和5

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

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

B、成员函数可以重载;

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

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

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

A、受限制

B、保持不变

C、受保护

D、不受保护

48、友元的作用是()。

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

B、加强类的封装性;

C、实现数据的隐藏性;

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

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

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

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

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

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

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

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

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

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

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

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

A、p指针;

B、p指针指向的变量;

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

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

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

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、公有继承的公有成员;

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

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

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

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

A、n-1

B、n

C、 n+1

D、n+2

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

A、变量a的地址值

B、无意义

C、变量p的地址值

D、 3

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

A、’\005’

B、’\n’

C、’c’

D、“a”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

64、有以下程序

#include

void main( )

{ int i,s=0;

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

cout<

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

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

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

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

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

66、()能正确输出结果: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中的值是()。

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

68、有以下程序

#include

void main( )

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

cout<

}

执行后输出结果是

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

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

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

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

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

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

70、有以下语句

struct S

{ int g;

char h;} T;

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

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

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

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

A)公有继承的公有成员

B)公有继承的私有成员

C)公有继承的保护成员

D)私有继承的公有成员

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

A、重载函数

B、构造函数

C、析构函数

D、虚函数

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

A. CHINA

B. byte-size

C. double

D. A+a

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

A. 0

B. 2

C. 5

D. 6

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

A. +(双目)

B. *(单目)

C. <=

D. *=

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

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

A. 5

B. 6 C . 1 D. 无限

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A. 内联函数

B. 重载函数

C. 递归调用

D. 嵌套调用

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

A. 构造函数

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

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

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

B. 构造函数可以重载

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

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

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

A. p=f1

B. p=A::f1

C. p=A::f1()

D. p=f1()

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

A. int *p[5]

B. int (*p)[5]

C. (int *)p[5]

D. int *p[ ] 85.循环while(int i=0) i--;执行次数是()。

A. 0

B. 1 C . 5 D . 无限

86. 设int x;,则经过()后,语句*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;则以下调用合法的是()。

A. f1(a,b);

B. f1(&a,b);

C. f1(a,&b);

D. f1(&a,&b)

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

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

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

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

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

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

A. E15;

B. .35;

C. 3E5;

D. 3E-5

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

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];的描述,()是正确的。

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

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

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

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

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

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

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

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

A. 0;

B. 1;

C. 4;

D. 无限;

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

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

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

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

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

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

A. 外部类;

B. 自动类;

C. 内部静态类;

D. 寄存器类。

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

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

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

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

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

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

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

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

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

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

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

A. A1.p=5;

B. A1->p=5;

C. A.*p=5;

D. *A1.p=5;

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

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

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

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

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

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

A. 基类的构造函数;

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

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

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

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

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

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

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

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

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

A.构造函数

B.虚函数

C.静态成员函数

D.赋值操作函数

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

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

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

a.封装

b.继承

c.多态

d.结构

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

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.以下不正确的是()。

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

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

108.有如下程序:

int x=3;

do{

X-=2;

cout<

}while(!(--x));

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

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

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

int a=100,*p=&a ;

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

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

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

D.变量p的值为100

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

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数组元素不正确的引用是()。

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

A. x=*pa; B.x=*(a+l); C.x=*(pa+1); D.x=a[1]; 113.对数组名作函数的参数,下面描述正确的是(B)。

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

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

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

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

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

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

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

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

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

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

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

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

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

A. OneClass(OneClass p);

B. OneClass& (OneClass p);

C. OneClass(OneClass & p);

D. OneClass (OneClass *p);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

D) 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式。121、下列关于虚函数的说明中,正确的是()。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

D)形参必须是变量。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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、下面有关重载函数的说法中正确的是()。

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

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

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

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

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

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

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

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

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

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

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

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

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

二、填空:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15、类的成员分为____和____。

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

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

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

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

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

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

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

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

24、友元可以是____,也可以是____。

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

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

27、类中运算符重载一般采用两种形式:____和____。

28、面向对象程序设计的3大机制为:____、____和___。2、类的访问权限有____、____和____三种。

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

30、如果类A继承了类B,则类A称为____,类B称为____。

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

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

33、类的静态成员分为____和____。

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

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

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

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

38、当建立__________,程序自动调用该类的构造函数。

39、在C++中有二种参数传递方式:_________ 和_________ 。

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

41、异常是通过_________ 、_________和_________ 来实现的。

42、虚函数实现了C++的_________ 机制,类实现了C++的_________ 机制。

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

44、C++语言程序设计的三种基本结构是:______ 、 ______ 、 ______ 。

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

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

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

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

49、有说明语句:int *p;则(*p)++运算首先访问 ______,然后使 ______的值加1。50. C++目标程序经___________后生成扩展名为exe的可执行程序文件。

51. 16位计算机中整型占__________个字节存储空间。

52.要在屏幕上显示"Hello,world!"应执行语句cout<<____________________________________。

53.表达式8&3的结果是__________。

54.作为语句的函数调用是通过__________________________来体现的。

55.执行if (x>=0||x<=0) cout<<"abcd";else cout<<"wxyz";屏幕上显示的是_______________。

56.设一维整型数组data已进行了初始化,则其元素个数可由操作符sizeof通过表达式__________________________计算出来。

57.若一全局变量只允许本程序文件中的函数使用,则定义它时应加上修饰符_______________。

58.设有int w[3][4];,pw是与数组名w等价的数组指针,则pw应初始化为__________________________。

59.要使引用pr代表变量char * p;,则pr应初始化为______________________________。60.在C++中封装性、继承性和____________ 是面向对象思想的主要特征。

61.假设int a=1,b=2;则表达式a+++--b的值为 __________。

62.下面的程序实现输出x,y,z三个数中的最大值,请填入正确的内容。

#include

void main()

{ int x=5,y=8,z=9, u, v;

if_________ u=x;

else u=y;

if_________ v=u;

else v=z;

cout<<”v=”<

}

63.C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取 _________ 方式。

64.在C++语言中,访问一个对象的成员所用的运算符是 _________,访问一个指针所指向的对象的成员所用的运算符是 _________。

65.C++语言支持的两种多态性分别是编译时的多态性和 _________的多态性。

66.设有如下程序结构:

class Box

void main()

{Box A,B,C; }

该程序运行时调用_________次构造函数;调用 _________次析构函数。

67.目前,有两种重要的程序设计方法,分别是:____________和____________。

68. C++语言提供的基本控制结构可以分为3种类型:顺序结构、__________ 和循环结构。69.函数的调用主要分为传值调用和___________调用。前者的特点是___________。70.函数重载时要求同名函数的___________或___________不同,否则无法确定是哪个函数。71.静态数据成员是类的所有对象中的___________成员,而非静态数据成员是属于___________对象的。

72.设A为test类的对象且赋有初值,则语句test B(A); 表示___________。

73.面向对象程序设计方法中的每个对象都具有___________和__________两方面的特征。

74.“类”指的是____________________________________________。

75.构造数据类型,包括数组、__________、_________、________和类等。

76.C++中数据类型标识符Signed Char,其字节数为________,范围是____________。

77.在函数体内部定义的变量称为______________。在所有函数体外部定义的变量称为_______________。

78.有一数学表达式为2/3(f-32),要写成对应的C++的表达式时,正确地写法应写_________________。

79.类的静态成员是________________的成员,不是________________的成员,静态成员在________________进行引用性说明,在_________________进行定义性说明。

80.使用传统的结构化程序设计方法设计程序的步骤是______________、____________、_____________。

81.“封装”指的是_______________________________________________。

82.可以让新类继承已定义的类的______________和______________,这个新类称为______________,原来的类称为______________。新类可以从一个类中派生,这叫______________,也可以从多个类中派生,称为______________。

83.指针类型变量用于存储______________,在内存中它占有______________存储单元。

84.类有三种继承方式,分别是:______________、______________、______________。

三、判断下列描述的正确性:

1、C++中标识符内的大小写字母是没有区别的。()

2、C++是一种以编译方式实现的高级语言。()

3、在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。()

4、在私有继承中,基类中所有成员对派生类都是不可见的。()

5、返回值类型、参数个数和类型都相同的函数也可以重载。()

6、使用关键字class定义的类中缺省的访问权限是私有(private)的。()

7、类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。

8、C++中使用了新的注释符(//),C语言中注释符(/*…*/)不能在C++中使用。()

9、While循环语句的循环体至少执行一次。()

10、引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。()

11、类封装了数据和操作。()

12、在类的定义中,必须包含private、public、protected三种存取方式对应的部分。

()

13、类中的数据成员不能为指针类型。()

14、析构函数可以有形参。()

15、派生类至少有一个基类。()

16、在公有和保护继承方式下,派生类的对象可以对基类的保护成员进行访问。()

17、全局函数和静态成员函数也能声明为虚函数。()

18、在一个类的对象空间里不包含静态成员的空间。()

19、友元本身就是类的成员。()

20、运算符重载后,原运算符的优先级和结合特性会改变。()

21、一个类只能有一个对象。()

22、在类中不能对所定义的数据成员进行初始化。()

23、类的公有成员函数是类与外界的接口。()

24、构造函数没有函数类型。()

25、在派生类的构造函数的初始化表中不能对包含基类的子对象初始化。

()

26、在公有和保护继承方式下,派生类的成员可以对基类的保护成员进行访问。

()

27、只有类的成员函数才能声明为虚函数。()

28、在一个类的对象空间里已经包含了静态成员的空间。()

29、C++不允许将构造函数、析构函数和虚函数声明为友元函数。()

30、运算符重载后,原运算符的优先级和结合特性不会改变。()

31. C++中使用了新的注释符(//),C语言中注释符(/*…*/)不能在C++中使用。()

32. 数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。()

33. 隐含的类型转换都是保值映射,显式的类型转换都是非保值映射。()

34. 宏定义命令是以分号结束的。()

35. While循环语句的循环体至少执行一次。()

36. 返回值类型、参数个数和类型都相同的函数也可以重载。()

37. 函数形参的作用域是该函数的函数体。()

38. 静态类标识符在它的作用域之外是不存在的。()

39. 对象成员的表示与结构变量成员表示相同,使用运算符.或->。()

40. 某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。()

41. 对象数组的元素可以是不同类的对象。()

42. const char *p说明了p是指向字符串的常量指针。()

43、引用就是某个变量的别名,对引用的操作,实质上就是对被引用的变量的操作。()

44、无论是私有继承还是保护继承中,基类中所有成员对派生类对象都是不可见的。

45、当break语句用在双重循环的内循环中时,它只能退出内循环到外循环中去,而不能直接退出整个双重循环。()

46、For循环是只有可以确定的循环次数时才可使用,否则不能用for循环。()

47、返回值类型、参数个数和参数类型都相同的函数也可以重载。()

48、通常的拷贝初始化函数的参数是某个对象的成员名或对象的引用名。()

49、友元函数是类的成员函数,所以可以存取或修改该类中的私有成员。()

50、已知:类A中一个成员函数说明如下:void Set(A&a);其中A &a的含意是将a 的地址值赋给变量Set。()

51、在语句const char *ptr中, ptr是指向字符串的常量指针。()

52、多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序,而与派生类构造函数中所定义的成员初始化列表的各项顺序无关。()

53、在说明语句 int a(15),&b=a,*p=&a;中,b的值的*P的是不相等的。()

54、已知:int a(5),b(10); 表达式++a+b++有二义性。()

55、在不同类型操作数组成的表达式中,其表达式的类型一定是最高类型double型。()

56、break语句也可以用于if体内,它可退出if语句。()

57、在一个被调用函数中,一个return语句可返回多个值给调用函数。()

58、在传值调用中,要求实参和形参的类型完全一致并且个数相等。()

59、for循环中,循环变量的作用域是该循环的循环体内。()

60、所谓私有成员是指只有类中所提供的成员函数才能直接访问它们,任何类以外的函数对它们的访问都是非法的。()

61、const char *p说明了p是指向字符串的常量指针。()

62、私有继承中,基类中所有成员对派生类的对象都是不可见的。()

四、指出函数或程序的功能。

1、 template

void AC(Type &x , Type &y )

{

Type a=x;

x=y ;

y=a ;

}

2、int AB(int *a , int n)

{

int x=a[0];

for (int i=1; i

if (a[i]

return x;

}

3. int AB(int *a , int n){

int x=a[0];

for (int i=1; i

if (a[i]

return x;

}

4. float fact(int n)

{float t=1;

for(int i=1;i<=n;i++)

t*=i;

return t;

}

#include

void main( )

{ float t;

int n=10;

cout<

}

五、写出程序运行结果(每小题3分,共15分)

1、#include

int a[]={2,4,6,8,10};

int &index(int i)

{ return a[i];

}

void main()

{

int i;

index(3)=12;

for (i=0;i<=4;i++)

cout<

}

2、#include

void f(int *m,int n)

{

int temp;

temp=*m;

*m=n;

n=temp;

}

void main()

{

int a=5,b=10;

f(&a,b);

cout<

}

3、#include

int i=15;

void main()

{

int i;

i=100;

∷i=i+1;

cout<<∷i<

}

4、#include

class toy

{

public:

toy(int q, int p)

{

quan = q;

price = p;

}

int get_quan()

{

return quan;

}

int get_price()

{

return price;

}

private:

int quan, price;

};

main()

{

toy op[3][2]={

toy(10,20),toy(30,48),

toy(50,68),toy(70,80),

toy(90,16),toy(11,120),

};

int i;

for (i=0;i<3;i++)

{

cout<

cout<

cout<

cout<

}

cout<<"\n";

return 0;

}

5、#include

class example

{

public:

example(int n)

{

i=n;

cout<<"Constructing\n ";

}

~example()

{

cout <<"Destructing\n";

}

int get_i()

{

return i;

}

private:

int i;

};

int sqr_it(example o)

{

return o.get_i()* o.get_i();

}

main()

{

example x(10);

cout<

cout<

return 0;

}

6、#include

class Test

{

private:

int x;

public:

Test()

{

cout<<“构造函数被执行”<

x=0;

}

~Test() {cout<<“析构函数被执行”<

void print() {cout<<“x=”<

void main()

{

Test obj1,obj2;

obj1.print();

obj2.print();

}

7、#include

class A

{

public:

A(int *s) {cout<

};

class B:public A

{

public:

B(char *s1,char *s2):A(s1)

{

cout<

}

};

class C:public A

{

public:

C(char *s1,char *s2):A(s1)

{

cout<

}

};

class D:public B,C

{

public:

D(char *s1,char *s2,char *s3,char *s4):B(s1,s2),C(s3,s4) {

cout<

}

};

void main()

{

D d (“class A”,”class B”,”class C”,”class D”);

}

8、#include

class Base

{

public:

virtual void disp() {cout<<”base class”<

};

class Derivel:public Base

{

public:

void disp() {cout<<”derivel class”<

};

class Derive2:public Base

{

public:

void disp() {cout<<”derive2 class”<

};

void main()

{

Base *p;

Base b;

Derive1 d1;

Derive2 d2;

p=&b;

p->disp();

江苏大学大一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语言期末考试习题集(带详解答案)

一、单项选择题 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语言期末试卷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语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 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语言期末考试复习题(机房题库) 2、下列各选项中,合法的c语言关键字是( )。 A. integex B. sin C. string D. void参考答案: D 3、C语言的程序一行写不下时,应该( )。 A. 用回车符换行 B. 在任意一个空格处换行 C. 用分号换行 D. 用逗号换行答案: B 4、以下选项中正确的整型常量是( )。 A. 34.1 B. -80 C. 2,000 D. 1 2 3参考答案: B 5、在C程序中,可以作为用户标识符的一组标识符是( )。 A. void define WORD B. as_b3 _224 Else C. switch _wel ease D. 4b DO SIG答案: B 8、以下叙述不正确的是( ) A. 一个c源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main()函数 C. c程序的基本组成单位是函数 D. 在C程序中,注释说明只能位于一条语句的后面答案: D 9、C语言规定:在一个源程序中,main()函数的位置( ) A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后参考答案: C 10、在C语言中,数字029是一个() A. 八进制数 B. 十六进制数 C. 十进制数 D. 非法数参考答案: D 12、C语言可执行程序的开始执行点是( ) A. 程序中的一条可执行语句 B. 程序中第一个函数 C. 程序中的main函数 D. 包含文件中的第一个函数参考答案: C 13、C程序是( ) A. 顺序执行 B. 从Main函数开始 C. 从函数体开始 D. 任意语句参考答案: B 16、以下说法中正确的是( )。 A. C语言程序中是从第一定义的函数开始执行 B. 在C语言程序中,要调用的函数必须在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分参考答案: C 17、一个C程序的执行是从( ) A. 本程序的main函数开始,到main函数结束 B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C. 本程序的main函数开始,到本程序文件的最后一个函数结束 D. 本程序文件的第一个函数开始,到本程序main函数结束参考答案: A 18、以下叙述正确的是( ) A. 在C程序中,main函数必须位于程序的最前面 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案: C 1、C源程序的基本单位是___函数__

大一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

专业班级:学号:姓名: 一、选择题(用铅笔把选中的方格涂黑40×1=40分) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 二、填空题(25×2=50分) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20)

(21) (22) (23) (24) (25) 三、编程题(10分) 求10个数的最大公约数和最小公倍数(定义两个函数,求两个数的最大公约数和两个数的最小公倍数)

一、选择题 ( 40×1分=40分) 1.以下叙述中正确的是 (1) 。 A .在编译时可以发现注释中的拼写错误 B . C 语言程序的每一行只能写一条语句 C .main( ){}必须位于程序的开始 D .C 语言程序可以由一个或多个函数组成 2.以下选项中不能用作变量名的是 (2) 。 A ._float B .switch C .sum D ._123 3.已知sizeof(int)的值为2,为将10!的值存储到变量f 中(10!=3628800),变量f 的类 型应声明为 (3) 。 A .long int B .int C .short int D .unsigned int 4. 以下表示中,不能用作C 语言常量的是 (4) 。 A. 0UL B. (long)123 C. 1e0 D.‘\x2a’ 5.数学式 b a 2在C 程序中正确的表示形式为 (5) 。 A .sqrt(a)/2*b B .sqrt(a)/2/b C .sqrt(a)/2b D .sqrt a/(2*b) 6.已知有程序段“char str[][10]={"Aoyun","Beijing"},*p=&str[0][0]; printf("%s\n",p+10);”,则执行printf 语句后输出为 (6) 。 A .Beijing B .Aoyun C .ing D .ng 7.以下声明中错误的是 (7) 。 A .int a[2]; B .int a[]={0,1}; C .int a[3]=0; D .int a[3][4]={0}; 8.以下表示数学式“a=b)&&!(b>=c) D. !(a>=b||b>=c) 9.已有声明“int a=3,b=3,c=2;”,以下选项中值为0的表达式是 (9) 。 A. !a&&!b&&c B. !a||!b||c C. a==b&&b>=c D. a>=b&&b>c 10.若有声明“char ss[8]="Red";”,则sizeof(ss)的值是 (10) 。 A .8 B .4 C .3 D .1 11. 以下程序运行后的输出结果是 (11) 。 A. 2 2 B. 7 2 C. 7 5 D. 6 2 main() { char a[7]="a0\0a0\0"; int i,j; i=sizeof(a); j=strlen(a); printf("%d %d",i,j); } 12. 下面关于循环语句for 、while 、do_while 的叙述中,正确的是 (12) 。 A. 三种循环语句的循环体都必须放入一对花括号中 B. 三种循环语句中都可以缺省循环终止条件表达式 C. 三种循环语句的循环体都至少被无条件地执行一次

南京邮电大学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语言期中考试试题及答案

《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语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。 3、 本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) A).3 B).4 C).5 D).6 5、 设int x;则执行printf(″%x \n″,~x^x);的结果是( ) A). ffffffff B). ff __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

江苏大学大一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语言考试试题

一、单项选择题(每小题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+");

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