C语言复习题
第一章知识点
1 下列变量名中是否合法
A B.C.Tom B 3a6b C _6a7b D $ABC 以下是否为正确的C语言标识符
A #define B _123 C %d D \\n 2 C语言的基本单位是 函数 3 C语言程序总是从main()【或主函数】开始执行,C源程序经编译和连接后才可直接运行产生结果;且C语言程序有且仅有一个main函数;
4 C源程序文件的扩展名为 .c ,经过编译后生成文件的后缀是 .OBJ,经过链接后生成文件
的后缀是 .EXE。
5 C语言源程序的语句分隔符是 ; 。
6 C语言程序开发的四个步骤是编辑、编译、连接、运行。
7 在一个C源程序中,注释部分以 /* 开始,并且以 */ 结束。 8 在C程序中,main()函数的位置是可以任意位置摆放
9. 在对一个C程序进行编译的作用之一是,可发现注释中的拼写错误; 10.数制转换,如: (101)10=( )2 , (0.1)8=( )16
第二章知识点
1 以下哪些是正确的整型常量
A 12 B - 20 C 1,000 D 4 5 6
2 整型变量x=1,y=3,经下列计算后,x的值不等于6的是哪个?
A x=(x=1+2,x*2) B x = y>2 ? 6 : 5 C x=8-(--y)-(--y) D x=y*4.8/2
3 在C语言中,错误的int类型的常数是哪个 ?
A 32768 B 0 C 037 D 0Xaf
4 逗号表达式\的值是多少?
A 15 B 60 C 30 D 不确定
5 字符型常量在内存中存放的是【ASCⅡ 代码】
6 若有 float x ; 则 sizeof(x) 和 sizeof(float) 两种描述【都正确】
7 有整型变量x,单精度变量y = 5.5,表达式:x=(float)( y*3+((int)y)%4 ) 执行后,x的值为
【17】
8 在C语言中运算对象必须是整型的运算符是 【%】
9 若x、a、b和。均是int型变量,则执行表达式x=(a=1,b=2)后的结果为2 10 下列关于C语言的叙述错误的是【大写字母和小写字母的意义相同】 11 C语句x*=y+2;还可以写成【x=x*(y+2);】
12 若有以下定义:int m=5,y=2;则计算表达式y+=y-=m*=y后y的值是 【-16】. 13 结构化程序设计的基本结构有三种,分别是【顺序结构、分支结构和循环结构】。 14 若有int a=5,c=4; 则表达式(— —a==++c)?— —a:c++的值是5,此时c的存储单元
的值为【6】.
15 若有说明语句:int x=1,y=0;则表达式x>(y+x)?10:12.5>y++??a?:?a?的值为【97】. 16 若有int x=7,则表达式x+=x-=x+x;执行后,x的值为【-14】。
17 设int a=1,b=2,c=3,d;执行d=!(a+b+C)后,d的结果是【0】 18 设int x=10,y,z;执行y=z=x;x=y==z后,变量x的结果是【1】。 19 设int x=9,y=8;表达式x==y+1的结果是【0】. 20 若x,a都是int型变量,则表达式x=(a=4,6*2)的值是【12】,表达式x=a=4,6*2的值
是【12】。
21 若a是int型变量,则表达式(a=4*5,a*2),a+6的值是【26】。 22 有int a;则执行a=25/3%3;后,a=【2】。
23 若int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值是【5.5】。 24 若int x=12,n=5;则表达式x%=(n%=2)的值是【0】。
25 已知字母b的ascii码为98,且char ch;则表达式ch=?b?+?8?-?3?的值为【103】。 26 , 号运算符得结合方向为自左向右的
27 与条件表达式 \中的表达式(n)等价的表达式是 (n!=0)。 28 C语言中,所有的C语言关键字必须小写。 29.检查以下的C语言标识符的正确性:
A int B a_1_2 C ab1exe D _x E print F i\\am 30 检查以下的C语言的关键字的正确性:
auto,enum,include switch,typedef,continue,signed,union,scanf if,struct,type default , register , enum, external 31 字符串\的长度是0
32 如果int a=1,b=2,c=3,d=4;则条件表达式\的值是1 33 为求出s=10!的值,则变量s的类型应当为ong 34 已知int i=10;表达式\的值是1
35在32位的计算机中,一个字长等于1个字节。
36设y是int型变量,判断y为奇数的关系表达是(y%2)==1. 37计算机机领域中,通常用英文单词“Byte”表示字节。
38表示“整数x的绝对值大于5”时值为“真”的C语言表达式是x>5||x<-5. 39设有以下变量定义,并已赋确定的值 char w; int x; float y; double z;
则表达式:w*x+z-y所求得的数据类型为:double.
40设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1。
41若已知a=10,b=20,则表达式!a*b的值是1。
第三章知识点
1有程序段:
int x;
scanf(“%d\\n”,&x);
printf( x%2= =0 ? “ even number %d” : “odd number %d”,x, x); 若输入3,则 printf 语句【输出 odd number3】 2 以下程序的输出结果是:
(1)main() { int sum,pad; sum=pad=5;
pad=sum++; pad++; ++pad;
printf(“%d”,pad);
} 【7】
3 下面程序的输出结果是
#include
{ int x=10; { int x=20;
printf (\,\; }
printf(\;
} 【20,10】
4 以下程序的输出结果是:
main() {
int a=177;
printf(\
} 【261 】。
5 以下程序的输出结果是
main() { int a=0 a+=(a=8);
printf(\
} 【16】
6 以下程序输出的结果是
main()
{ int a=5,b=4,c=3,d; d=(a>b>c);
printf(\
} 【 0】
7 以下程序运行后的输出结果是
main()
?? { char c; int n=100; ?? float f=10; double x; ?? x=f*=n/=(c=50); ?? printf(\\\n\ ?? } 【 2 20】
8 以下程序运行后的输出结果是 ?? main() ?? { int a,b,c; ?? a=25; ?? b=025;
?? c=0x25;
?? printf(\\\n\?? } 【25 21 37】
9 对于语句 scanf (“%f ︼︼ %f,z=%f”,&x,&y,&z);,其合法的输入形式为
14.7︼︼︼2.0,z=15 (其中的︼表示空格)
10 使用语句scanf(\;输入变量x、y的值(︼代表空格),正确的输入是: x=1.25,y=2.4
11以下程序的输出结果是: n=65015 main()
{ unsigned int n; int i=-521; n=i;
printf(\; }
12 执行语句 printf(\;屏幕显示:ffff。
13 已知 long i=32768;执行语句printf(\;屏幕显示:-32768 14以下程序的输出结果是八进制数261
main()
{ int a=177;
printf(\ }
15语句:x++; ++x; x=x+1; x=l+x; ,执行后都使变量x中的值增1,与上述语句功能相同的赋值语句(不得与列举的相同)有x+=1 等.
16 以下程序的输出结果是_0_
main()
{ unsigned short a=65536; int b; printf(“%d\\n”,b=a); }
17若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是3。
c=(a-=(b-5)); c=(a)+(b=3);
18若想通过以下输入语句使a=5.0,b=4,c=3, int b,c; float a;
scanf(\,%d,c=%d\,&a,&b,&c);
则输入数据的形式应该是:5.0,4,c=3
19 C语言本身没有提供输入/出语句,输入/出由C语言的标准输入/出库函数提供。
20 编写一个程序,从键盘输入一个三位整数,将它们逆序输出。例如输入127,输出721。
第四章知识点
1 C语言中,逻辑“真”等价于【非零的数】 2 以下程序的输出结果是
main() { int i;
for(i=1;i<=5;i++) { if(i%2) printf(“*”); else continue; printf(“#”); }
printf(“$”);
} 【*#*#*#$】
3 若有:int a=1,b=2,c=3,d=4,m=2,n=2;
则执行(m=a>b)&&(n=c>d)后n的值是【2】
4 main()
{ int a,b,d=241; a=d/100%9;
b=(-1)&&(-1); printf(“%d,%d”,a,b); }
输出 的结果是【 2,1】
5 若有int x=10,y=20,z=30;以下语句执行后x,y,z的值是
if (x>y)
z=x;x=y;y=z; 【 x=20,y=30,z=30】
6 以下程序的输出结果是
main()
{ int a=1,b=3,c=5,d=4,x; if(a
if(c if(b printf(“x=%d”,x); } 【2】 7 以下程序的输出结果是 main() { int x=2,y=-1,z=2; if(x if(y<0) z=0; else z+=1;