C语言1-5章复习题及参考答案
- 格式:docx
- 大小:22.33 KB
- 文档页数:10
C语言1-5章复习题及参考答案
一.选择题
1、若a 为int 类型,且其值为 3,则执行完表达式 a+=a-=a*a 后,a 的值是()。
A .-3 B.9 C.-12 D.6
2、若有定义: int a=8, b=5, c; 执行语句 c=a/b+0.4; 后, c 的值为( )。
A .1.4 B.1 C.2.0 D.2 3、有如下程序: void main()
{
int i,sum;
for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum);
}
该程序的执行结果是( )。
A .6
B.3
C 死循环
D.0
4、下列关于表达式的描述中,错误的是( )。
6、若已定义x 和y 为double 类型,则表达式 x=1;y=( x+3)12的值是()
A .1
B.2
C.2.00000
D.2.50000 7、表达式: 10!=9 的值是( )。
A . true B. 非零值 C.0 D.1
8、以下程序的输出结果是(
)。
#include void main () {
printf ("%d\n", NULL ); }
A . 不确定的 B.0
C.-1
D.1
9 、请选出合法的 C 语言赋值语句。 ( )
A . a=b=58
B.i++;
C. a=58,b=58
D. k=int (a+b );
10、 假设 int b=2;表达式(b?2)/(b>>1)的值是()。
A .0
B.2
C.4
D.8
11、 关于语句 printf ( “hello n ”,); 下列描述中错误的是()
A . printf ()是格式化输出函
数,用于输出信息。
B. printf () 括号中的内容为函数的参数。
C. printf ()括号中的内容会全部输出到控制台上。
D. \n 表示换行操作。
12、 下列选项中,哪一项不是 C 语言中的位运算符()。
A ?&
B.||
C.~
D.A
13、 以下程序的输出结果是( )。 void main ()
{
char c='z'; printf("%c", c-25);
}
A .a B.Z C.z-25 D.y 14、 若要求在if 后一对圆括号中表示 a 不等于0的关系,则能正确表示这一关系的表达式为 ( )。
A . a<>0 B. !a C. a=0 D. a
A . 常量和变量都是表达式。 C. 每一个表达式都有自己的值。 5、
C 语言中,合法的长整型常数是(
A . '\t' B.”A ” C.65 D.a
B. 运算符类型对应表达式的类
型。
D. 表达式必须以分号结尾。
15、以下循环体的执行次数是( )。void main()
{
int i,j;
for (i=0,j=1; i<=j+1; i+=2,j--)
printf("%d\n",i);
}
A .3 B.2 C.1 D.0
16、下列运算符中优先级最高的是( )。
A .|| B.&& C.+ D.=
17、若有以下定义和语句:char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A'); 那么输出结果是( )。
A .2,M B.3,E C.2,E D. 输出项与对应的格式控制不一致,输出结果不确定
18、若有以下程序段:int c1=1,c2=2,c3; c3=1.0/c2*c1;那么执行后,c3中的值是()。
A .0 B.0.5 C.1 D.2
19、若变量a是int类型,并执行了语句:a='A'+1.6;则下列描述中,正确的是( )。
A . a的值是字符''B. a的值是浮点型
C.不允许字符型和浮点型相加
D. a的值是字符A'的ASCII值加上1 20、若有定义:int x ,i; 则下列for 循环语句:
for(i = 0,x = 0; i<= 9 && x!=876;i++)
scanf( “ %d” ,&x);
下列选项中,描述正确的是( )
A . 最多执行10 次 B. 最多执行9 次 C. 是无限循环 D. 循环体一次也不执行
21、假定有以下变量定义:int k=7,x=12; 那么能使值为3的表达式是( )。
A . x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5)
22、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是( )。void main() {
int x;
scanf("%d",&x);
if (x++ > 5) printf("%d",x); else printf("%d\n",x--);
}
A . 7和5 B. 6和3 C. 7和4 D. 6和4
23、若已定义 x 和 y 为 double 类型,则表达式: x=1, y=x+3/2
的值是( )。 A . 1 B. 2 C. 2.0 D.
2.5
24、执行下面程序片段的结果是( int x=23; do
{
printf("%2d",x--); } while (!x);
A . 打印出 321 B. 打印出 23 25、以下选项中合法的字符常量是(
A . "B" B. '\010' C. 68 D. D 26、
将二进制数 00001011 进行 >>位运算,将其结果转换为十进制是()
A . 101 B. 1 C. 11 D. 5 27、下列说法中正确的是( )。 A .在switch
语句中一定要使用 break 语句 B. 在 switch 语句中不一定要使用 break
语句 C. break 语句是 switch 语句的一部分 D. break 只能用于 switch
语句中 28、 假设有如下的变量定义: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符
合 C 语言语法的表达式是( )。
A . a+=a-=(b=4)*(a=3) B. x%(-3) C. a=a*3=2 D. y=float(i)
29、 若a 为int 型变量,则下列 C 语言表达中,不能表达数学关系式
10
A . 10
B. a==11||a==12||a==13||a==14
C. a>10&&a<15
D. !(a<=10)&&!(a>=15)
30、表示关系 x<=y<=z 的 C 语言表达式为( )。
A . (X<=Y)&&(Y<=Z) B. (X<=Y)AND(Y<=Z) C. (X<=Y<=Z)
D. (X<=Y)&(Y<=Z) 二.判断题 1、 C 语言属于机器语言。(x )
2、 C 语言中的逻辑值 真”是用1表示的,逻辑值 假”是用0表示的。(V)
3、 在C 语言中转义字符有特殊的含义,它以反斜杠 开头,后面接特定的字符。 (V)
4、 机器语言是由二进制数 0 和 1 组成的一串指令。 ( V )
5、 continue 只能用于循环语句。 ( x )
6、 C 语言中的逻辑值 真”是用1表示的,逻辑值 假”是用0表示的。(V)
7、 将浮点型数据转换为整型数据时,小数点后的数会进行四舍五入。 ( x )
8、 字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的双引号( )引起 来。( x )
9、 通常将不可改变的数值称为常量。 ( V)
10、 变量虽有不同的数据类型,但它们所占内存的大小是一样的。
( x )
11、位运算符 “ <
0。左
边移走的部分舍去。(V )
12、 十进制数10转换为二进制为1010。(V ) 13、 计算机使用特定的整数编码来表示对应的字符,
我们通常使用的英文字符编码是 ASCII 。
(V )
14、 逻辑运算符用于判断数据的真假,其结果为
“真”或“假”。( V )
)。
C. 不打印任何内容
D. 陷入死循环 )。
15、十进制转换成二进制可以采用除 2 取余的方式。(V )
16、变量的值保存在内存单元上,是可以被改变的。(V )
17、十进制和二进制只是针对数字的不同表示方式,无论采用哪种方式表示一个数,它的值都是一样的。(V )
18、位运算符是针对二进制数的每一位进行运算的符号,是专门针对数字0和1进行操作的。(V)
19、s izeof 运算符的功能是获取某一数据或数据类型在内存中所占的字节数。(V)
20、两个二进制数进行“|运”算,如果二进制位上只有一个值为
1 ,则该位的运行结果为0。(x )
三.填空题
1、在C语言中根据运算符进行运算需根据变量的个数可以将运算符分为单目运算符、双目运算符和(三目)运算符。
2、定义变量int x = 1.20,则%d格式输出x的结果为(1 )。
3、运算符“|| 表”示或操作,当且仅当运算符两边的表达式结果都为假时,其结果为(假)。
4、运算符“&&”表示与操作,当且仅当运算符两边的表达式结果都为真时,其结果才为