当前位置:首页 > C培训课复习资料
考试题型及分值
一、选择题 2*25=50分 二、程序填空 2*10=20分 三、程序改错题 2*8=16分 四、编程题 2*7=14分
一、选择题
1.Char型数据在内存中以( )形式存放。
A. ASCII码形式 B. 字符形式 C. 字符串形式 D. BCD码形式 2.属于C语言基本数据类型的是( )
A.指针型 B.无符号整型 C.数组型 D.结构型
3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为( A.0 ~255 B.0~32767 C.0~65535 D. 0~2147483647 4.数据int a[7]中包括( )元素。 A. 6 B. 7 C. 4 D. 5 5.以下选项中,与k=n++完全等价的表达式是( )。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1 6. C语句“x*=y+2;”还可以写作( ) A. x=x*y+2; B. x=2+y*x; C. x=x*(y+2); D. x=y+2*x; 7.以下不正确的C语言标识符是( )。 A) ABC B) abc C) a_bc D)ab.c 8. 以下非法的赋值语句是____。
A. n=(i=2,++i); B.j++; C.(a+b)++; D.x=j>0; 9.下列保留字中用于构成循环结构的是 ( )
A. if B. while C. switch D. default
10. 定义一个具有8个元素的整型数组,应使用语句 。
A)int a[8];
B)int a[2,4];
C)int a[];
D)int *a[8];
11.当调用函数时,实参是一个数组名,则向函数传送的是( )。 A.数组的长度 B.数组的首地址
C.数组每一个元素的地址 D.数组每个元素中的值
12.假设i的初值为2,赋值语句j=i++执行后,j,i的值分别是( )。 A. 3 , 3 B. 2 , 3 C. 3 , 2 D. 2 , 2 13.C语言的数组名是( )。 A. 数组的一个元素 B. 数组的起始地址 C. 一个变量 D. 数组元素的集合
14.C语言中,while与do-while循环的主要区别是( )。 A. do-while的循环体至少无条件执行一次
B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句
15.当说明一个结构体变量时,系统分配给它的内存是( )。
A. 各成员所需内存量的总和 B. 结构中第一个成员所需内存量
)。 C. 成员中占内存最大者所需的容量 D. 结构中最后一个成员所需的内存量 16. 为了使用putchar()函数,需在程序中包含____。
A.
18.若二维数组a有m列,则在a[i][j]前的元素个数为__.
A)j*m+j B)i*m-j C)i*m+j D)i*m+j+1
19.putchar ( ) 函数可以向终端输出一个( ) A. 整型变量或表达式的值 B. 实型变量的值
C. 字符串 D. 字符或字符型变量值 20.表达式40%7的值是____。 A. 3 B. 2 C. 5 D. 6 21. 在函数内,定义变量时存储类型符可省略的是 ( ) A. auto B. static C. extern D. register
22. 定义函数时,缺省函数的类型声明,则函数类型取缺省类型( ) A. void B. char C. float D. int
23. 设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \\ n″,x,97);的输出是( A. x = a,y = 97 B. x = 97,y = a C. x = 97,y = 97 D. x = a,y = a 24表达式7/3的值是____。
A. 2.33 B. 2.333 C. 2.3333 D. 2 25.以下叙述中正确的是____。
A .构成C程序的基本单位是函数
B.所有被调用的函数一定要在调用之前进行定义 C.main()函数必须放在其它函数之前 D.可以在一个函数中定义另一个函数
26.下面程序段的运行结果是( ).
char c[5]={'a','b','\\0','c','\\0'}; printf(\
A.’a’’b’ B. ab C. ab c D. ab0 27.以下叙述不正确的一项是( )。
A 一个C语言源程序可由一个或多个函数组成 B 一个C语言源程序必须包含一个main函数 C C语言源程序的基本组成单位是函数
D 在C程序中,main函数必须位于程序的最前面
28.下列标识符中,不能作为合法的C用户定义标识符的是( )。 A a3_b3 B void C _123 D IF
29.数组名作为实参传递给形参时,数组名被处理为( )。 A 该数组的长度 B 该数组的元素个数 C 该数组的首地址 D 该数组中各元素的值 30.两个指针变量不可以( )。
A 相加 B 比较 C 相减 D 指向同一地址 31.以下数组定义正确的是( )
) A int a [0xCF]; B char 8th[10]; C char ch [N]; D float f (10); 32.关于return语句,下列正确的说法是( )。
A 可以在同一函数中出现多次 B 在主函数中不能出现
C 必须在每个函数中出现 D 只能在除主函数之外的函数中出现一次 33.下列说法不正确的是( )。
A 主函数main中定义的变量在整个文件或程序中有效 B 不同函数中,可以使用相同名字的变量 C 形式参数是局部变量
D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效
34. 以下合法的赋值语句是( )。
A 5++; B t=t+1; C (a+b)++; D x+y=0; 35.下列保留字中用于构成循环结构的是 ( ) A if B while C switch D default 36.下列运算符中优先级别最低的是( )。 A < B + C || D != 37.以下非法的赋值语句是( )。
A. i=i+1; B.(i+j)++; C.x=a>0; D.a++;
38. 假设i的初值为2,赋值语句j=i++执行后,j,i的值分别是( )。 A. 3 , 3 B. 2 , 3 C. 3 , 2 D. 2 , 2 39.以下选项中,与k= ++n 完全等价的表达式是( )。 A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1 40.若有以下类型说明语句: char w;int x;float y,z;
则表达式w*x+z-y的结果为( )类型。 A.float B.char C.int D.double
41.在c语言中,函数中变量的隐含存储类别是( )。 A.auto B.static C.extern D.无存储类别
42.设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \\ n″,x,97);的输出是( ) A. x = a,y = 97 B. x = 97,y = a C. x = 97,y = 97 D. x = a,y = a
43.设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是( ) A. 2 B. 3 C. 4 D. 无确定值 44. C语句“x/=y+2;”还可以写作( ) A. x=x/y+2; B. x=2+y/x; C. x=x/(y+2); D. x=y+2/x;
45.执行语句“for(i=0;i<10;++i,++a)scanf(″%d″,a);”试图为int类型数组a[10]输入数据,是错误的。错误的原因是( ) A.指针变量不能做自增运算 B.数组首地址不可改变 C.++i应写作i++ D.++a应写作a++
46.若有说明:int a[10];则对a 数组元素的正确引用是 ( )。 A. a[10] B. a[3, 5] C. a(5) D. a[10-2]
47.设有以下声明语句 struct ex {int x; float y;
char z;}example;
则下面的叙述中不正确的是( )。
A.struct 是结构体类型的关键字 B.example 是结构体类型名 C.x,y,z 都是结构体成员名 D.struct ex 是结构体类型
48. 设 x,y 均为 int 型变量,且 x=10,y=3,则 print(\%d,%d\\n\-,- -y);语句的输出结果是( )。
A.10,3 B.9,3 C.9,2 D.10,2
49.对于如下:if(a>b)if(c>d) x = 1;else x = 2;结构的语句,以下说法正确的是(A.else与第一个if配对 B.else与第二个if配对
C.else不和任何if匹配 D.此结构有误,不合C语法规则 50.下列各语句定义了数组,其中一个不正确的是( ) A. static int a[5],b[2][3]; B. char no[30],rec[30,6]; C. int x[]={2,4,6,8,10};
D. int x[10]={1,2,3,4,5}; 51. 以下程序的输出结果是( )。 void 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\n”,a,b); }
A.a=2,b=1 B.a=l,b=1 C.a=l,b=O D.a=2,b=2 52.有如下程序 void main() {int i,sum;
for(i=l;i<=3;sum++) sum+=i;
printf(”%d\n\; }
该程序的执行结果是( )。
A.6 B.3 C.死循环 D.O 53. 有以下程序 float fun(int x,int y) {return(x+y);} void main()
{int a=2,b=5,c=8;
. )
共分享92篇相关文档