C语言程序设计教程第三章练习题题目_第1页
C语言程序设计教程第三章练习题题目_第2页
C语言程序设计教程第三章练习题题目_第3页
C语言程序设计教程第三章练习题题目_第4页
C语言程序设计教程第三章练习题题目_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单选题1、若定义 a=3,b=4,执行 printf( "%d, %d",(a,b),(b,a);的输出结果为()。,4,3,3,42 、如果要求在 if 后的判断条件是a 不等于0,则下列选项中能正确表达这一关系的是()。<>0B.!a=03、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC在其之前尚未配对的最近的ifD.同一行上的if4、有定义intt = 0;则有循环while(t=1),则下列关于 while循环语句的描述中正确的是()。A.循环控制表达式的值为0B.循环

2、控制表达式的值为1C循环控制表达式的值不合法D.以上说法都不对5、若有定义:int x上则下列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语言程序的

3、三种基本结构是()。A.顺序结构,选择结构,循环结构B.递归结构,循环结构,转移结构C.嵌套结构,递归结构,顺序结构D.循环结构,转移结构,顺序结构8 、若要求在 if 后一对圆括号中表示a 不等于 0 的关系,则能正确表示这一关系的表达式为()。<>0B.!a =09 、两次运行下面的程序,如果从键盘上分别输入 6 和 4,那么输出结果是() 。void main()int x;scanf("%d",&x);if (x+ > 5)printf("%d",x);elseprintf("%dn",x-);和5和

4、3和4和410 、运行以下程序后,如果从键盘上输入china# ,那么输出结果为( ) 。#include<>void main()int v1=0,v2=0;char ch;while (ch=getchar()!='#') switch (ch)case 'a':case 'h':default:v1+;case '0':v2+;printf("%d,%dn",v1,v2);,0,0,5,511、有如下程序:void main()int x=1,a=0,b=0;switch(x)(case 0:

5、b+;case 1:a+;case 2:a+;b+;)printf("a=%d,b=%dn",a,b);)该程序的输出结果是()。=2,b=1=1,b=1=1,b=0=2,b=212、下面程序的输出是()。void main()(char *a=""int v1=0,v2=0,v3=0,v4=0,k;for (k=0;sk;k+) switch (sk) (default:v4+;case '1':v1+;case '3':v3+;case '2':v2+;)printf("v1=%d,v2=%d

6、,v3=%d,v4=%dn",v1,v2,v3,v4);)=4,v2=2,v3=1,v4=1=4,v2=9,v3=3,v4=1=5,v2=8,v3=6,v4=1=8,v2=8,v3=8,v4=813、下列程序段的输出结果为()。int y=1;while(y-);printf("y=%dn",y);=-1=0C.死循环=914 、当输入数据: 27 63 时,下面程序的运行结果是( ) 。 #include<>int gbs(int a, int b)int c;a=a>0a:-a;b=b>0b:-b;c=a*b;if (c=0)retur

7、n 0;while (a!=b) if (a>b)a-=b;elseb-=a;return c/a;int gys(int a, int b)if (a*b=0)return 0;a=a>0a:-a;b=b>0b:-b;while (a!=b)if (a>b)a-=b;elseb-=a;return a;void main()int a,b,c,d;scanf("%d%d",&a,&b);c=gbs(a,b);d=gys(a,b);printf("a=%d b=%d gbs=%d gys=%dn",a,b,c,d)

8、;=30 b=63 gbs=189 gys=9=27 b=63 gbs=190 gys=10=27 b=63 gbs=189 gys=9=27 b=63 gbs=188 gys=1015、假设有程序段:int k=0; while(k=1) k+; while 语句的循环次数是( )。A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次16 、执行下面程序片段的结果是( ) 。int x=23;doprintf("%2d",x-); while (!x);A.打印出321B.打印出23C不打印任何内容D.陷入死循环17、在C 语言程序中,若希望结束循环,则 do-w

9、hile 语句构成的循环中的条件为( ) 。D.非18 、以下描述中正确的是( ) 。语句构成的循环不能用其它语句构成的循环来代替语句构成的循环只能用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("%dn",i);20、有如下程序:void main() int i,sum;for(i=1;

10、i<=3;sum+)sum+=i;printf("%dn",sum);该程序的执行结果是( ) 。C.死循环21 、以下程序的输出结果是( ) 。void main()int x=10, y=10, i;for (i=0; x>8; y=+i)printf("%d %d ", x-, y);1 9 28 7 69 9 010 9 122 、下列说法中正确的是( ) 。A.在switch语句中一定要使用 break语句B在switch语句中不一定要使用break语句语句是 switch 语句的一部分 只能用于 switch 语句中23 、执行下

11、面的程序后, 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;24 、若有以下程序段, w 和 k 都是整型变量: w=k;LB:if (w=0)go to LE;w-;printf("*");goto LB;LE:那么不能与上面程序段等价的循环语句是( ) 。(w=k; w!=0; w-) printf("*");(w=k; w; -w) printf("*");=k;

12、while (w- != 0) printf("*"); w+;=k; do w-; printf("*"); while (w!=0);多选题1 、 C 语言的程序结构语句包括()A.顺序结构语句B.循环结构语句C选择结构语句D.逻辑结构语句2 下列语句哪些属于循环语句()语句语句语句语句判断题1 、 break 是跳出当前循环,接着执行循环后面的代码。2 、 continue 只能用于循环语句。3 、 break 语句只能在循环语句中使用。4 、在 C 语言中,跳转语句有break 语句、 goto 语句和 continue 语句。简答题1 、请阅读

13、下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。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 mainint x = 1,y = 1, z =

14、 10;if(z<0)if(y>0) x = 3;else x = 5;printf(“t%”d ,x);if(z = y < 0) x = 3;else if(y=0) x = 5;else x = 7;printf(“t%”d ,x);printf(“t%”d ,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 =

15、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(n ”“)i;t is Acase B :printf(n”“)i;t is Bcase C : default: printf(printf(n”“)i;t is C “n ” oth);er6 、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:投票表决器:- 输入Y,

16、y ,打印agree- 输入N, n ,打印 disagree- 输入其他,打印 losevoid 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-175cm40%L 150-160cm 30% void main() char ch;scanf( “

17、%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(“n%”d,num);9 、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:输出

18、 1-100 之间的偶数数:void main()int num = 1, sum = 0;while (num <= 100)if ()sum += num;printf("sum = %dn", sum);10 、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。void main()int num = 0;donum+;printf(“n%”d,num);while(num <= 2);11、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:输出 1-100 之间的偶数数:void main()int n

19、um = 1, sum = 0;doif ()sum += num;while (num <= 100);printf("sum = %dn", sum);12 、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。void main()int i, m = 1;for (i = 3; i >= 1; i-)m = (m + 1) * 2;printf("m = %dn", m);13、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:求出 1-100 之间的偶数和:void main()in

20、t i, sum = 0;for(i = 2; i+);14 、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。void main()int i, j;for (i = 0; i <= 2; i+)for (j = 0; j <= i; j+)printf("(%d,%d)n", i, j);15、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:打印下列图形:*void main()int i, j, k;for (i = 0; i+)for (j = 0; j <= 2 - i; j+) print

21、f(" ");for (k = 0; k+)printf("*");16、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:X Y Z+ Y Z Z53 2void main()int x, y, z, i, result = 532;for (x = 1; x+)for (y = 1; y+)for (z = 0; z <= 1; z+)i =+ (100 * y + 10 * z + z);if (i = result)printf("x = %d, y = %d, z = %dn", x, y, z);17 、请阅读

22、下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,请写出运行结果。void main()int a, b;for (a = 1, b = 1; a <= 100; a+)if (b >= 10) break;if (b % 3 = 1)b += 3;continue;printf("a = %dn", a);18、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:用户键盘输入一个数,判断是奇数还是偶数.void main()int num;scanf("%d", &num);if (num % 2 = 0

23、);else;ep1:printf(" 输入的是一个偶数!n");ep2:printf(" 输入的是一个奇数!n");19 、请阅读下面的程序,分析运行结果。void main()printf("n");printf("n");printf("n");printf("n");printf("n");20、请阅读下面的程序,在空白处填写正确的代码,输出三个整数中最大的整数。#include <>void main()int a = 10, b =

24、 40, c = 20, t = a;if (t < b)if ()t = c;printf("%d %d %d 中的最大数是%dn", a, b, c, t);21 、请阅读下面的程序, 在空白处填写正确的代码,该程序的功能是:从键盘输入一个年份数据,判断此年份是否为闰年。(注:满足下面两个条件中的一个即为闰年:一、400 的倍数;二、 4 的倍数但不是100 的倍数 )。void main()int x,i;scanf("%d",&x);if (x%400=0)i=1;else if ()i=1;else;if (i=1)printf(

25、" 该年为闰年n");if (i=0)printf(" 该年为平年n");22、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:输入三个整数,将最大数挑选出来显示。void main()int a, b, c, max;scanf("%d,%d,%d",&a,&b,&c);if (a>b)elsemax=b;if (max<c)printf("max=%d", max);23 、 请阅读下面的程序, 分析代码是否能够编译通过, 如果能编译通过, 请列出运行的结果, 否则

26、请说明编译失败的原因。#include <>void main()int x = 1, a = 0, b = 0;switch (x)case 0:b+;case 1:a+;case 2: a+; b+; printf("a=%d,b=%dn", a, b);24 、 请阅读下面的程序, 分析代码是否能够编译通过, 如果能编译通过, 请列出运行的结果, 否则请说明编译失败的原因。#include <> void main() int x = 1, y = 0, a = 0, b = 0; switch (x) case 1:switch (y) ca

27、se 0:a+; break; case 1:b+; break;case 2:a+; b+; break; printf("a=%d, b=%dn", a, b);25、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:通过输入成绩,为成绩评等级, 90100 为 A, 8089 为 B, 7079 为 C, 6069 为 D, 60 以下为E。#include <>void main() int score;printf("Please input your score : ");scanf("%d", &am

28、p;score);switch () case 10:case 9: printf("Your level is A.n");break;case 8:printf("Your level is B.n");break;case 7:printf("Your level is C.n");break;case 6:printf("Your level is D.n");break;printf("Your level is E.n");26 、 请阅读下面的程序,分析代码是否能够编译通过, 如果

29、能编译通过, 请列出运行的结果,否则请说明编译失败的原因。#include<>void main()int y=10;while(y-);printf("y=%dn",y);27 、 请阅读下面的程序, 在空白处填写正确的代码,该程序的功能是:计算并输出下列级数的前N项之和SN,直到SN大于Q为止。#include<>double fun(double q)int n;double s;n = 2;s = ;while ()s = s + (double)(n+1)/n; printf("n=%dn",n);void main()

30、printf("%fn", fun(50);28 、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:从键盘上输入一行字符(不多于40 个,以回车换行符作为输入结束标记) ,将其中的大写字母改为小写字母,其它字符不变,然后逆向输出。void main()char a40;int n=0;doscanf("%c", &an);if ()an+=32;n+; while (!= 'n');n=n-2;while (n>=0)printf("%c", an-);29 、 请阅读下面的程序, 在空白处填写

31、正确的代码, 该程序的功能是: 连续向数组输入成绩, 并显示数组元素的值,当输入负数时停止接收数据。void main()int n;int c100;n=0;doprintf("enter num:n");printf("%dn",cn);n+; while ();30、请阅读下面的程序,分析该程序执行后会有什么错误或者效果。#include<>#define MAX 255void main()unsigned char AMAX, i;for (i=0; i<=MAX; i+)Ai=i;31 、请阅读下面的程序,在空白处填写正确的

32、代码,该程序的功能是:求1-10 的奇数和。void main()int x,s=0;s=0;for (x=1; x<=10; )printf(" 奇数和为: %d", s);32、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:计算void main()int i, s, n;printf("enter n:");scanf("%d",&n);n!的值。for (i=1; i<=n; i+)printf("s=%d",s);33、请阅读下面的程序,在空白处填写正确的代码,该程序的功能

33、是:求和。void main()int i,sum=0;for (i=3; i<=29; )sum = ;printf("sum=%dn",sum);34、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:输出整除且个位数为 6 的所有整数。#include<>void main() int i, j;for (i=0; ; i+)j=i*10+6;if (j%3 != 0)s=3+5+7+ , +29lkl100 以内能被 3printf("%d",j);35、请编写程序,从键盘输入一个数,实现对奇数和偶数的判断。提示:1)定

34、义一个int类型变量x,从键盘输入数据,调用 scanf()函数。2)使用ifelse语句对x进行判断,如果是奇数就输出“ x是一个奇数”,否则输出“ x是偶数” 。36、从键盘输入三个数a,b,c ,判断其中的最大值并输出。提示:1)从键盘输入数据,调用scanf()函数2) 用 if.else if.else 语句判断三个数的最大值37 、 编写程序, 实现下列功能: 输入一周中的某一天, 查询这一天是工作日还是周末休息日。提示:查询某一天是工作日还是休息日,一次执行一条指令,可以用 switch 语句;38 、编写程序,实现下列功能:做一个值班查询表,周一至周六安排不同的人值夜班,周日不值班。提示:1)周一到周日需要键盘输入,调用scanf()函数39 ) 多种情况的判断,用 switch 语句39 、编写程序,实现一个能运行加减乘除的简单的计算器。 键盘输入表达式,根据加减乘除的符号给出相应的结果。提示:1 )键盘输入表达式,根据加减乘除的符号给出相

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论