C语言程序设计教程第三章练习题题目
更新时间:2023-12-30 10:53:01 阅读量: 教育文库 文档下载
单选题
1、若定义a=3,b=4,执行printf(“%d, %d”,(a,b),(b,a));的输出结果为()。 A.3,4 B.4,3 C.3,3 D.4,4
2、如果要求在if后的判断条件是a不等于0,则下列选项中能正确表达这一关系的是()。 A.a<>0 B.!a C.a=0 D.a
3、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if
C.在其之前尚未配对的最近的if D.同一行上的if 4、有定义int t = 0;则有循环while(t=1){?},则下列关于while循环语句的描述中正确的是()。 A.循环控制表达式的值为0 B.循环控制表达式的值为1 C.循环控制表达式的值不合法 D.以上说法都不对
5、若有定义:int x ,i;则下列for循环语句: for(i = 0,x = 0; i<= 9 && x!=876;i++) scanf(“%d”,&x);
下列选项中,描述正确的是() A.最多执行10次 B.最多执行9次 C.是无限循环
D.循环体一次也不执行 6、关于下面的for循环语句 int i,k;
for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是() A.判断循环结束的条件非法 B.是无限循环 C.只循环一次 D.一次也不循环
7、C语言程序的三种基本结构是()。 A.顺序结构,选择结构,循环结构 B.递归结构,循环结构,转移结构 C.嵌套结构,递归结构,顺序结构 D.循环结构,转移结构,顺序结构
8、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。 A.a<>0 B.!a C.a=0 D.a
9、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是()。 void main() { int x; scanf(\ if (x++ > 5) printf(\ else printf(\}
A.7和5 B.6和3 C.7和4 D.6和4
10、运行以下程序后,如果从键盘上输入china#,那么输出结果为()。 #include
int v1=0,v2=0; char ch;
while ((ch=getchar())!='#') switch (ch) { case 'a': case 'h': default: v1++; case '0': v2++;
}
printf(\}
A.2,0 B.5,0 C.5,5 D.2,5
11、有如下程序: void main()
{ }
int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++; b++; }
printf(\
该程序的输出结果是()。 A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2
12、下面程序的输出是()。 void main() { char *a=\ int v1=0,v2=0,v3=0,v4=0,k; for (k=0;s[k];k++) switch (s[k]) { default: v4++; case '1': v1++; case '3': v3++; case '2': v2++; } printf(\}
A.v1=4,v2=2,v3=1,v4=1 B.v1=4,v2=9,v3=3,v4=1 C.v1=5,v2=8,v3=6,v4=1 D.v1=8,v2=8,v3=8,v4=8
13、下列程序段的输出结果为()。 int y=1;
while(y--);
printf(\A.y=-1 B.y=0
C.死循环 D.y=9
14、当输入数据:27 63 时,下面程序的运行结果是()。 #include
int gys(int a, int b) { if (a*b==0) return 0; a=a>0?a:-a; b=b>0?b:-b; while (a!=b) if (a>b) a-=b; else b-=a; return a; }
void main() { int a,b,c,d; scanf(\ c=gbs(a,b); d=gys(a,b); printf(\}
A.a=30 b=63 gbs=189 gys=9 B.a=27 b=63 gbs=190 gys=10 C.a=27 b=63 gbs=189 gys=9 D.a=27 b=63 gbs=188 gys=10
15、假设有程序段:int k=0; while(k=1) k++; while语句的循环次数是()。 A.无限次
B.有语法错,不能执行 C.一次也不执行 D.执行1次
16、执行下面程序片段的结果是()。 int x=23; do { printf(\} while (!x);
A.打印出321 B.打印出23
C.不打印任何内容 D.陷入死循环
17、在C语言程序中,若希望结束循环,则do-while语句构成的循环中的条件为()。 A.0 B.1 C.true D.非
18、以下描述中正确的是()。
A.do-while语句构成的循环不能用其它语句构成的循环来代替 B.do-while语句构成的循环只能用break语句退出
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环 D.用do-while语句构成的循环,在while后的表达式为零时结束循环 19、以下循环体的执行次数是()。 void main() { int i,j; for (i=0,j=1; i<=j+1; i+=2,j--) printf(\}
A.3 B.2 C.1 D.0
20、有如下程序: void main() { int i,sum;
}
for(i=1;i<=3;sum++) sum+=i;
printf(\
该程序的执行结果是()。 A.6 B.3
C.死循环 D.0 21、以下程序的输出结果是()。 void main() { int x=10, y=10, i; for (i=0; x>8; y=++i) printf(\}
A.10 1 9 2 B.9 8 7 6 C.10 9 9 0 D.10 10 9 1
22、下列说法中正确的是()。
A.在switch语句中一定要使用break语句 B.在switch语句中不一定要使用break语句 C.break语句是switch语句的一部分 D.break只能用于switch语句中 23、执行下面的程序后,a的值为()。 void main() { int a,b; for (a=1,b=1; a<=100; a++) { if (b>=20) break; if (b%3==1) { b+=3; continue; } b-=5; } }
A.7 B.8 C.9
D.10
24、若有以下程序段,w和k都是整型变量: w=k; LB: if (w==0) go to LE; w--; printf(\ goto LB; LE:
那么不能与上面程序段等价的循环语句是()。 A.for (w=k; w!=0; w--) printf(\B.for (w=k; w; --w) printf(\
C.w=k; while (w-- != 0) printf(\D.w=k; do { w--; printf(\
多选题
1、C语言的程序结构语句包括()。 A.顺序结构语句 B.循环结构语句 C.选择结构语句 D.逻辑结构语句
2下列语句哪些属于循环语句()。 A.for语句
B.do-while语句 C.while语句 D.switch语句
判断题
1、break是跳出当前循环,接着执行循环后面的代码。 2、continue只能用于循环语句。
3、break语句只能在循环语句中使用。
4、在C语言中,跳转语句有break语句、goto语句和continue语句。
简答题
1、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void main() {
int a,b,d=241; a=d/100%9; b=(-1)&&(-1);
printf(“%d,%d”,a,b); }
2、请阅读下面的程序,在空白处填写正确的代码,要求输出m和n的值,且每行从头开始。 void main() {
int m = 10, n = 20; printf( ,m); printf( ,n); }
3、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void main {
int x = 1,y = 1, z = 10; if(z<0)
if(y>0) x = 3; else x = 5; printf(“%d\\t”,x); if(z = y < 0) x = 3; else if(y==0) x = 5; else x = 7;
printf(“%d\\t”,x); printf(“%d\\t”,z); }
4、请阅读下面的程序,在空白处填写正确的代码,实现分段函数: x< 0 y = 2x + 3; x = 0 y = 0; x> 0 y = (x+7)/3;
输入x,计算y值,输出y。 void main() {
int x, y;
scanf(“%d”,&x);
if(x < 0) y = 2*x + 3; y = 0;
if(x > 0) y = (x + 7) / 3; printf(“%d”,y); }
5、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void main()
{
char ch = ‘B’; switch(ch) {
case ‘A’:printf(“it is A\\n”); case ‘B’:printf(“it is B\\n”); case ‘C’:printf(“it is C\\n”); default: printf(“other\\n”); } }
6、请阅读下面的程序,在空白处填写正确的代码,实现下列功能: 投票表决器:
-输入Y,y,打印agree -输入N,n,打印disagree -输入其他,打印lose void main() {
char ch;
scanf(“%c”,&ch); { case ‘Y’:
case ‘y’: printf(“agree”); ; case ‘N’:
case ‘n’; printf(“disagree”); ; ; printf(“loser”); } }
7、请阅读下面的程序,在空白处填写正确的代码,实现下列功能: 查询学生身高的分布状况: H 175-200cm 30% M 160-175cm 40% L 150-160cm 30% void main() {
char ch;
scanf(“%d”,&ch); {
: printf(“175-200cm身高的学生占30%\\n”); ; : printf(“160-175cm身高的学生占40%\\n”); ; : printf(“160-175cm身高的学生占40%\\n”); ; default: printf(“输入有误,请重新输入!\\n”); }
8、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。
void main() {
int num = 0; while(num <= 2) { num++;
printf(“%d\\n”,num); } }
9、请阅读下面的程序,在空白处填写正确的代码,实现下列功能: 输出1-100之间的偶数数: void main() {
int num = 1, sum = 0; while (num <= 100) { if ( ) sum += num; ; } printf(\}
10、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。 void main() {
int num = 0; do { num++;
printf(“%d\\n”,num); }
while(num <= 2); }
11、请阅读下面的程序,在空白处填写正确的代码,实现下列功能: 输出1-100之间的偶数数: void main() {
int num = 1, sum = 0; do { if ( ) sum += num; ;
}
break; case 8: printf(\ break; case 7: printf(\ break; case 6: printf(\ break; printf(\}
26、请阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果,否则请说明编译失败的原因。 #include
27、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:计算并输出下列级数的前N项之和SN,直到SN大于Q为止。 #include
void main() { printf(\}
28、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:从键盘上输入一行字符(不多于40个,以回车换行符作为输入结束标记),将其中的大写字母改为小写字母,其它字符不变,然后逆向输出。 void main() { char a[40]; int n=0; do { scanf(\ if (_______) a[n]+=32; n++; } while (_______ != '\\n'); n=n-2; while (n>=0) printf(\} 29、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:连续向数组输入成绩,并显示数组元素的值,当输入负数时停止接收数据。 void main() { int n; int c[100]; n=0; do { printf(\ _______ printf(\ n++; } while (_______); }
30、请阅读下面的程序,分析该程序执行后会有什么错误或者效果。 #include
31、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:求1-10的奇数和。 void main()
{
int x,s=0; s=0;
for (x=1; x<=10; _______) _______
printf(\奇数和为:%d\}
32、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:计算n!的值。 void main() { int i, s, n; printf(\ scanf(\ _______ for (i=1; i<=n; i++) _______ printf(\}
33、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:求s=3+5+7+…+29之和。
void main() { int i,sum=0; for (i=3; i<=29; _______) sum = _______; printf(\}
34、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:输出100以内能被3整除且个位数为6的所有整数。 #include
35、请编写程序,从键盘输入一个数,实现对奇数和偶数的判断。 提示:
1) 定义一个int类型变量x,从键盘输入数据,调用scanf()函数。
2) 使用if?else语句对x进行判断,如果是奇数就输出“x是一个奇数”,否则输出“x是偶数”。
36、从键盘输入三个数a,b,c,判断其中的最大值并输出。 提示:
1) 从键盘输入数据,调用scanf()函数
2) 用if..else if..else语句判断三个数的最大值 37、编写程序,实现下列功能:输入一周中的某一天,查询这一天是工作日还是周末休息日。 提示:
查询某一天是工作日还是休息日,一次执行一条指令,可以用switch语句;
38、编写程序,实现下列功能:做一个值班查询表,周一至周六安排不同的人值夜班,周日不值班。 提示:
1) 周一到周日需要键盘输入,调用scanf()函数 2) 多种情况的判断,用switch语句
39、编写程序,实现一个能运行加减乘除的简单的计算器。键盘输入表达式,根据加减乘除的符号给出相应的结果。 提示:
1)键盘输入表达式,根据加减乘除的符号给出相应的结果。 2)多种判断情况可以用switch语句 40、编写程序,求10的阶乘; 提示:
1) 20的阶乘是1*2*3*?*10
2)判断条件小于等于10,可以用while循环
41、编写程序,实现对“1+3+5+7+…+99”的求和功能。 提示:
1) 使用while循环语句实现自然数1~99的遍历。
2) 在遍历过程中,判断当前遍历的数是否为奇数,如果是就累加,否则不加。 42、编写程序,键盘输入一个不多于4位数,求出它是几位数; 提示:
1) 定义一个数num,用num/10逐渐削减其倍数,直到为num/10为0; 2) 可以用while循环
43、编写程序,求10的阶乘; 提示:
1) 20的阶乘是1*2*3*?*10
2)判断条件小于等于10,可以用do-while循环
44、编写程序,实现对“1+3+5+7+…+99”的求和功能。 提示:
1) 使用do-while循环语句实现自然数1~99的遍历。
2)在遍历过程中,判断当前遍历的数是否为奇数,如果是就累加,否则不加。 45、编写程序,打印出所有的水仙花数。
所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如153是一个水 仙花数,因为153 = 1^3 + 5^3 + 3^3。
提示:1)先把一个数的每个位上的数字分离出来 2)所有的三位数,可以用循环语句去遍历
46、编写程序,打印出九九知法表; 提示:
每一行的列数都不相同,可以用循环嵌套
47、一个数恰好等于它的平方数的右端,这个数称为同构数。 如5的平方是25,5是25的同构数;
编写程序,找出1-1000之间全部的同构数; 提示:
1) 遍历1-1000之间的数可以用循环 2) 取出数据的最右端数字
48、编写程序,两个乒乓球对进行比赛,甲队为A,B,C三人,乙队为X,Y,Z三人,已知抽签决定比赛名单,有人向队员打听比赛名单,A说他不和X比,C说他不和X,Z比,请编写程序找出三队赛手的名单。
提示:两队比赛,可以循环嵌套遍历赛手组合
49、编写程序,实现自然数的相加,如果相加这和超过了5000,就不再相加。 50、编写程序,用户键盘输入字符,如果是大写英文字母就打印,否则不打印。 提示:如果不符合条件可以用continue结束,进行下一次代码判断执行。 51、请阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果,否则请说明编译失败的原因。 #include
正在阅读:
C语言程序设计教程第三章练习题题目12-30
OA办公自动化系统APP操作手册,详细的操作流程,建议收藏07-26
12级高一语文基础练习(3)及答案06-08
三湖慈鲷品种介绍11-12
教师个人校本研修心得体会02-28
多媒体网络教室的设计与规划05-11
高考数学二轮复习专题13三角函数的图像和性质1学案05-08
描写桥的初中作文4篇.doc04-08
《长江的开发》教案05-29
往事成伤散文随笔11-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 语言程序
- 练习题
- 设计教程
- 题目
- 第三章
- 解析巴洛克与洛可可风格特点之区别
- 包茂高速广西岑溪段两货车侧翻致4死2伤图货车包茂高速侧翻
- 英语课堂游戏大全 - 图文
- 浅谈学习型社会背景下的开放大学建设
- 校园安全检查工作总结
- 佳木斯市县域经济发展现状及发展对策2
- 《我爱我的班集体》中队活动方案
- 建筑企业养老保障金收缴政策解读
- 拓展训练方案(修正)
- 一年级数学下学期期末测试题一人教版
- 三分类三升级活动通知(征求意见稿) - 图文
- 如何高效记忆英语单词的研究结题报告
- 解读地震
- 宁夏银川九中2015届高三上学期期中考试++理科综合
- 观察社会文明现象之记录 - 图文
- 我的5年交易感悟 - 图文
- 2014-2015年人教版四年级数学下册第一单元四则运算单元检测题
- 打击乐促进幼儿节奏感的实践与研究结题报告
- 江苏省启东中学09-10学年高二上学期期末考试(化学选修) - 图文
- 小学生巧记英语单词的策略研究课题结题报告