一、填空
1. break 语句通常用于switch // 循环中。
2.    C 语言对数组下标的引用一般从0 开始。
3.    C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。
4.    C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在
math.h 头文件中。
5.    C 程序的运行需要经过编译和链接两步进行。
6.    C 程序中用/**/ 括起来的内容是程序的注释语句。
7.    C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数
名和函数参数。
8.    C 语言提供的三种逻辑运算符是& ,// ,!。
9.    C 语言源程序经过编译后,生成文件的后缀名是.c 。
10.    C 语言源程序经过连接后,生成文件的后缀名是.exe 。
11.    C 语言中,关系表达式和逻辑表达式的值是1//0 。
12.    C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。
13.    C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。
14.    C 语言中函数返回值的类型是由函数类型决定的。
15.    C 源程序的基本单位是函数。
16. int a = 2, b = 3; 表达式  a > b ? a ++ : ++ b 的值为  4 。
17. int x=1,y=1,z=1; x+=y+=z; 则表达式x<y?y:x 的值为  3 。
18. 当a=3 ,b=2 ,c=1 时,表达式f=a>b>c 的值是0 。
19. 定义一个指针p,它指向一个有  6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。
20. 定义一个指针数组p ,它有  4 个元素,每个指针指向一个整型数据,定义语句为int
*p[4]; 。
21. 赋值语句是由= 加上一个分号构成。
22. 构成数组的各个元素必须具有相同的类型。
23. 关系表达式x+y>5 的相反表达式为x+y !>5 。
24. 函数strlen("1234\0xy") 的值为:9 。
25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。
26. 函数体用{ 开始,用} 结束。
27. 结构化设计中的三种基本结构是顺序,选择,循环。
28. 如果一个函数无返回值,定义它时函数类型应是void 。
29. 若x、y、z 均为int 型变量,则描述“x 或y 中有一个小于z”的表达式是(x||y)<z
若用数组名作为函数调用时的实参,则实际上传递给形参的是数组的首地址
30. 。
31. 若有定义:double x[3][5] ;则数组中列下标的上限为  4 。
32. 若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组  a 的第一维的大小为  3 。
33. 设int a=12 ,则表达式a/=a+a 运算后,a 的值是0 。
34. 设y 为int 型变量,请写出描述“y 是奇数”的表达式y%2!=0; 。
35. 设有数组a[10] ,数组元素a[3] 的地址可以写成。
36. 数组由数组名和下标构成,其数组元素的数据类型是。
37. 算术表达式a=b+3 中,a、b 称为变量,  3 称为常量,= 、+ 称为运算符。
38. 一个  C 程序有且仅有一个main 函数。
39. 已知函数定义为:int stat (int a,float *p ),则此函数的两个参数类型分别是整形、
浮点型。
40. 有如下函数头:int max(int i,int j) ,则此函数有  2 个参数。
41. 预处理命令以# 开头。
42. 在C 语言的表达式中,x=x+5 用复合运算符可以写成x+=5 。
43. 在C 语言中,表示静态存储类别的关键字static 。
44. 在C 语言中,二维数组元素的内存中的存放顺序是行顺序存放。
45. 在C 语言中,以‘\0 ’作为字符串结束标志。
46. 在C 语言中的实型变量分为两种类型,它们是整形和浮点型。
47. 在scanf 函数中,用符号& 表示变量的地址。
48. 在传值调用中,实际是把实参的地址传给形参。
49. 在函数中使用return 语句返回值。
50. 指针是存放地址的变量。
二、选择
1 、C 语言源程序的基本单位是  A
A. 函数
B. 标识符
C. 表达式
D. 语句
2 、在每个  C 程序中都必须包含有这样一个函数,该函数的函数名为  A
A. main
B. MAIN
C. name
D. function
3 、C 语言规定,在一个源程序中,main 函数的位置  C
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
4 、在以下关于  C 语言的注释的叙述中,不正确的是  C
A.注释可用"/*" 、"*/" 形式表示,也可用"//" 形式表示
B.编译器在编译一个程序时,将跳过注释,不对其进行处理
C.编译器在编译一个程序时,可发现注释中的单词拼写错误
D.程序中注释的多少不会影响所生成的可执行文件的长度
5 、以下叙述不正确的是  C
A.在  C 程序中,严格区分大小写字母
B.一个  C 源程序有且仅有一个main 函数
C.在  C 程序中,注释只能位于一条语句的后面
D.一个C 程序总是从main 函数开始执行
6 、C 语言中,表示一条语句结束的标号是  B
A.# B.; C.// D.}
7 、在  C 语言中, 以下叙述不正确的是  A
A) 在C 程序中, 无论是整数还是实数, 都能被准确无误的表示
B) 在C 程序中, 变量名代表存储器中的一个位置
C) 静态变量的生存期与整个程序的生存期相同
D) C 语言中变量必须先定义后引用
8 、C 语言程序编译过程中产生的文件有  B
A. 索引文件和文本文件两种
B. 目标文件和可执行文件
C. 二进制文件一种
D. ASCII 码文件和二进制文件两种
9 、C 语言中的变量名只能由字母,数字和下划线三种字符组成, 且第一个字符  C
A) 必须为字母B) 必须为下划线
C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种
10 、C 语言中非空的基本数据类型包括  B
A) 整型,实型,逻辑型B) 整型, 实型,字符型
C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型
11 、下列哪一个表达式的值是整数类型  A
A. 15/2
B. 15/2+2.0
C. 25/5.0
D. 0.5*10
12 、设变量  a 是整形,f 是实型,i 是双精度型,则表达式10+ ′a′+i*f 值的数据类型  C
A. int
B. float
C. double
D. 不确定
13 、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类型  D
A) float B) char C) int D) double
14 、在C 语言中,char 型数据在内存中的存储形式是  D
A. 补码
B. 反码
C. 源码
D. ASCII 码
15 、下列字符列中,可以作为“字符串常量”的是  B
A.ABC B.″x yz ″C.′u vw ′  D .′a′
16 、以下运算符中,优先级最高的运算符是  D
A. =
B. !=
C. *( 乘号)
D. ()
17 、设有定义int k=0; 则以下四个表达式中与其它三个的值不同的是  C D
A、k++
B、k+=1
C、++k
D、k+1
18 、设有语句scanf( “%d,%d ”,&m,&n); 要使 m 、n 的值依次为  2 ,3,正确的输入是  B
A. 2 ?3 ↙
B. 2 ,3↙
C. 2;3
printf函数返回值D. 2 ↙3 ↙
19 、已知字母  A 的 ASCII 码为十进制数65, 且c2 为字符型 ,则执行语句c2 = 'A' + '6' - '3';
后 c2 中的值为  A
A) D B) 68 C) 不确定的值D) C
20 、设 a=6 ,b=4 ,则表达式b*=a+3 的值为  D
A)3 B)18 C)27    D )36
21 、若有定义:i nt a=8 ,b=5 ,c;执行语句c=a / b+0.4 ; 后c 的值为  B
(A)1.4 (B)1 (C)2.0 (D) 2
22 、若已定义x 和y 是整型变量 ,x=2;, 则表达式y=2.75+x/2 的值是  C
A) 5.5 B) 5 C) 3 D) 4.0
23 、设有以下语句:int x=10;x+=3+x%(3), 则 x 的值是  A
A) 14 B) 15 C) 11 D) 12
24 、在 C 语言中逻辑值“真”是用B表示的。
A. 预定义为真值的宏
B. 非零值
C. 正数
D. 非零整数
51. C 语言对于嵌套if 语句规定else 总是与  C 匹配。
A) 与最外层的if    B.) 与之前最近的if
C) 与之前最近的不带e lse 的 if D) 与最近的 { } 之前的if
26 、为了避免嵌套的if-else 语句的二义性,  C 语言规定else 总是与  C 组成配对关系.
A) 缩排位置相同的if B) 在其之前未配对的if
C) 在其之前尚未配对的最近的if D) 同一行上的if
27 、设 x 和 y 均为逻辑型变量,则x && y 为真的条件是  A
A. 它们均为真
B. 其中一个为真
C. 它们均为假
D. 其中一个为假
28 、能正确表示逻辑关系:"a ≥ 10 或 a≤0" 的 C 语言表达式是  D
A. a>=10 or a<=0
B.a>=0|a<=10
C. a>=10&&a<=0
D. a>=10||a<=0
29 、判断 char 型变量c 1 是否为小写字母的正确表达式为  D
A. ’a ’<=c1 <=’z’
B. (c1 >=a)&&(c1 <=z)
C. (‘a’>=c1) ( ‘z’<=c1)
D. (c1 >=’a’)&&(c1 <=’z’)
30 、设ch 是char 型变量,值为'A', 则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch 的值是  B
A) Z B) a C) z D) A
31 、表示关系X < =Y < =Z 的C 语言表达式为  A
A. (X < =Y)&&(Y < =Z)
B. (X < =Y)AND(Y < =Z)
C. (X < =Y < =Z)
D. (X < =Y)&(Y < =Z)
32 、如果a=4,b=3,c=2,d=1, 则条件表达式  a <b?a:c <d?c:d 的值是  A
A)    1 B)    2 C)    3 D)    4
33 、语句printf("%d \n",12&&12) ;的输出结果是  B
A. 12
B. 1
C. 24
D. 0
34 、若有条件表达式(exp)?a++:b-- ,则以下表达式中能完全等价于表达式(exp) 的是  B
A. (exp==0)
B. (exp!=0)
C. (exp==1)
D. (exp!=1)
35 、若要求在if 后一对圆括号中表示  a 不等于0 的关系,则能正确表示这一关系的表达式  D
A) a<>0 B) !a C) a=0 D) a
36 、设x 、y 、z 、t 均为int 型变量,则执行以下语句后,t 的值为  C
x=y=z=1;
t=++x || ++y && ++z;
A) 不定值B) 4 C) 1 D) 0
37 、对表达式for( 表达式1; ; 表达式3) 可理解为  B
A.)for( 表达式1;0; 表达式3) B)for( 表达式1;1; 表达式3)
C)for( 表达式1; 表达式1; 表达式3) D)for( 表达式1; 表达式3; 表达式3)
38 、语句while(!e); 中的条件!e 等价于  A
A) e==0 B) e!=1 C) e!=0 D) ~e
39 、下面程序段的运行结果是  D
for(i=1;i<=5;)
printf("%d",i);
i++;
A) 12345 B) 1234 C) 15 D) 无限循环
40 、设执行变量y 值为3 ,执行下列循环语句后,变量y 的值是  C
do y++; while(y++<4);
(A)3 (B)4 (C)5 (D)6
41 、执行语句:for(i=1;i<9; i++) 后; 变量i 的值是  B
(A)10 (B)9 (C)不定(D)11
42 、执行语句:for(i=1;i<=9; i++); 后变量i 的值是  A
A. 10
B. 9
C. 不定
D. 11

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。