发布时间 : 星期三 文章C习题集 极度优化精简版更新完毕开始阅读33b1042314791711cc7917dd
C语言习题集
《C程序设计》习题集
第一章C语言基础知识 1.1 选择题
1.要把高级语言编写的源程序转换为目标程序,需要使用 A) 编辑程序 B) 驱动程序 C) 诊断程序
D) 编译程序
2. 若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是 A) scanf(\ B) scanf(\ C) scanf(\ D) scanf(\3.以下选项中合法的用户标识符是______。 A) long B) _2Test C) 3Dmax
D) A.dat
4.设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是______。 A) 6.500000 B) 6 C) 5.500000 D) 6.000000
5.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。 A) scanf(\ B) scanf(\ C) scanf(\ D) scanf(\6.C语言程序的执行,总是起始于()。 A) 程序中的第一条可执行语句 B) 程序中的第一个函数 C) main函数 D) 包含文件中的第一个函数
7.下列说法中正确的是()
A) C程序书写时,不区分大小写字母 B) C程序书写时,一行只能写一个语句 C) C程序书写时,一个语句可分成几行书写 D) C程序书写时每行必须有行号
8.若有说明语句:int a; float b;,以下输入语句正确的是() A) scanf(\ B) scanf(\C) scanf(\ D) scanf(\9.以下程序的输出结果是() main( )
{ int x=11,y=11;
printf(\}
A) 11,11 B) 10,10 C) 10,11 D D) 11,10
第 1 页 共 1 页
C语言习题集
10.执行下面程序段,给x、y赋值时,不能作为数据分隔符的是() int x,y;
scanf(\
空格 B) Tab键 C) 回车 D) 逗号
执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是【 】。 int a; float b;
scanf(\
A) 25□2.5 B) 25,2.5 C) a=25,b=2.5 D) a=25□b=2.5
12.英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为 A) 50 B) 66 C) 52 D) 68
13.以下定义语句中错误的是( )。
A)int a=3,b=5; B)float x1; x2; C)char c1,c2,c3; D)double y3, y4;
14.若将整数4和5赋给整型变量a和b,对于语句scanf(\;在从键盘输入数据时,正确的数据输入格式为( )。 A)4,5 B)4 5 C)4:5 D)4#5
15.若整型变量a和b的值分别为6和8,则下列语句printf(\的输出结果为( )。 A)6, 8 B)6 8 C)a=6 b=8 D)a=6, b=8
16.C语言中的字符常量是以( )括起来的一个字符。 A)双引号 B)单引号 C)\\??\\ D)*??*
17.C语言中的转义字符\\n的作用是( )。
A)回车换行 B)横向跳格 C)纵向跳至本列下行 D)将光标移至本行行首
18.若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为 A) 1.4 B) 1 C) 2.0 D) 2
19.如果要把常量327存入变量a中,a可以定义成哪些类型?(多选) A. int B. Char C. long D. Float
20.下面哪个表达式的值为4.(单选)
A. 11/3 B. 11.0/3 C. (float)11/3 D. (int)(11.0/3+0.5)
21.main( )
{int x = 10, y = 3; printf(\ } A).0 B).1
C).3 D).不确定的值
第 2 页 共 2 页
C语言习题集
22.main( ) {int a;
printf(\}
A).65 B).20 C).15 D).10
23.已知小写字母a的ASCII码为97,大写字母A的ASCII码为65。以下程序 main()
{ unsigned int a=32, b=66; printf(\ }
的结果为: A).66 B).98
24.设有如下定义
int x=10,y=3,z; 则语句
printf(\ 的输出结果是 A).1 B).0
25.#define SQR(X) X*X main() {
int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m); printf(\}
A).10 B).1
26.#define MAX(x, y) (x)>(y)?(x):(y) main()
{ int a=1, b=2, c=3, d=2, t; t=MAX(a+b, c+d)*100; printf(\ }
的运行结果为: A).500 B).5
27.以下程序的输出结果是 main() {
int x=10,y=10;
printf(\}
C).b C).4 C).9 C).3 第 3 页 共 3 页
D).B D).3 D).0
D).300 C语言习题集
A).10 10 B).9 9 C).0 10 D).10 9
28.语句:printf(\的输出结果是 A).无输出 B).结果不确定 C).-1 D).1
29.能正确表示a和b同时为正或同时为负的逻辑表达式是 A).(a>=0||b>=0)&&(a<0||b<0) B).(a>=0&&b>=0)&&(a<0&&b<0) C).(a+b>0)&&(a+b<=0) D).a*b>0
30.下面合法的赋值语句是 A) x+y=2002; B) ch=\ C) x=(a+b)++; D) x=y=0316;
31.下面哪个表达式的值为4.(单选) A. 11/3 B. 11.0/3 C. (float)11/3 D. (int)(11.0/3+0.5)
32.已知a为整型变量,那么与表达式 a!=0 真假值情况相同的表达式有哪些?(多选) A. a>0||a<0 B. a C. !a= =0 D. !a
33.以下非法的赋值语句是 A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;
34.若有以下程序: main()
{int k=2,i=2,m;
m=(k+=i*=k); printf(\}
执行后的输出结果是______。 A) 8,6 B) 8,3 C) 6,4 D) 7,4
35.已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是______。 A) 6 B) 0 C) 2 D) 1
36.以下程序的输出结果是 main() {
int a=3;
printf(\=a-=a*a) ); }
A) -6 B)12 C) 0 D) –12 37.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为 A) 0 B) 1 C)2 D) 3
38.假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4;
第 4 页 共 4 页