C语言程序设计习题集及答案修改
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计
习题集
基础知识
一单项选择题(每题2分,共44分)
1 以下叙述正确的是___。
A C程序基本组成单位是语句
B C程序每一行只能写一个语句
C 简单C语句必须以分号作为结束符
D 注释语句可以嵌套
2 一个C语言程序是从___开始执行的。
A 程序中第一个函数
B 名为main的函数
C 包含文件(头文件)的第一个函数
D 程序中的第一个语句
4 下面标识符中,合法的用户标识符是___。
A 1abc
B include
C a-b-c123
D char
8 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2
B 3
C 2.6
D 不确定
10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;
A 64
B –56
C –112
D –48
11 以下合法的浮点型常量是___。
A e-3
B 1.5e+2.4
C 3.14e+2L
D 3.14 e +5
14 若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。
x=a++; y=--a; z=x+y-a--;
A 100
B 400
C 200
D 300
'';,则执行语句c=a/b+d%a+0.5;后c的值为___。a=8,b=5,c;char 18 若有定义:int d= AA
2 B 2.5
C 3
D 类型不一致,无法计算,编译出错
19 在有以下程序:
int main()
{ int i=10,j=1;
i=i+j++;
printf(%d,%d,%d\n,i++,++j,i);
int main()
执行后输出结果是___。
A 12,3,11
B 12,2,11
C 11,3,11
D 12,3,12
20 已知int i=65;,则putchar(i);printf(%d,i);printf(%c,i);的输出结果为___。
A A,65,A
B 65,65,A
C A,A,65
D A,A,A
21 已知int y,a,i=1;,则语句printf(%d,%d,-i++,(y=a=3.6*3));的输出结果为___。
A -1,10
B -2,1.8
C 0,3
D 1,18
有以下程序:22
int main()
{ char a,b,c,d;
a='\'; b='\xbc';
c='\0xab'; d='\023';
printf(%c%c%c%c\n,a,b,c,d);
return 0;
return 0;
}
编译时出现错误,以下叙述中正确的是___。
A 程序中只有a='\';语句不正确
B b='\xbc';语句不正确
C d='\023';语句不正确
D a='\';和c='\0xab';语句都不正确
二填空题(第1题2分,其余每题3分,共56分)
1 设x为int型变量,请写出描述“x是偶数”的表达式是___。
2 已知scanf(a=%d,b=%d,c=%d,&a,&b,&c);,若从键盘输入2、3、4三个数分别作为变量a、b、c的值则正确的输入形式是___。
3 设有语句int a=3;,则执行了语句 a+=a-=a*a后,变量a的值是___。
10 设a、b、c为整形变量,且a=2、b=3、c=4,则执行完语句 a*=16+(b++)-(++c);之后,变量a的值为___。
12 以下程序的结果为___。
int main()
{ int a=2,b=3,c,d;
c=(a++)+(a++)+(a++);
d=(++b)+(++b)+(++b);
printf(a=%d c=%d\n,a,c);
printf(b=%d d=%d\n,a,d);
return 0;
}
顺序、选择结构程序设计
一单项选择题(每题2分,共40分)
7 以下程序运行后的输出结果是___。
int main()
{ int x=4,y=7;
x-=y; y+=x;
printf(%d %d\n,x,y);
return 0;
}
A 4 7
B -3 -3
C -3 11
D -3 4
10 设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是___。
A 'a'&&'b'
B a&&b||c
C a&&b&&c
D a||b&&c
11 在嵌套使用if语句时,C语言规定else总是___。
A 和之前与其具有相同缩进位置的if配对
B 和之前与其最近的if配对
1
C 和之前与其最近不带else的if配对
D 和之前的第一个if配对
12 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为___。
A a<>0
B !a
C a=0
D a
13 以下程序运行后的输出结果是___。
int main()
{ int a=2,b=-1,c=2;
if(a
if(b<0) c=0;
else c++;
printf(%d\n,c);
return 0;
}
A 0
B 1
C 2
D 3
14 若k是int型变量,下面的程序段的输出结果是。
k=-3;
if(k<=0) printf(####)
else printf(&&&&);
A ####
B &&&&
C ####&&&&
D 有语法错误,无输出
15 以下程序运行后的输出结果是___。
int main()
{ int a=0,b=0,c=0,d=0;
if(a=1) b=1;c=2;
else d=3;
printf(%d,%d,%d,%d\n,a,b,c,d);
return 0;
}
A 0,1,2,0
B 0,0,0,3
C 1,1,2,0
D 编译有错
16 以下程序运行后的输出结果是___。
int main()
{ int x1=1,x2=0,x3=0;