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

付费下载

下载本文档

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

文档简介

单选题单选题 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.a0 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 5) printf(“%d“,x); else printf(“%dn“,x-); A.7 和 5 B.6 和 3 C.7 和 4 D.6 和 4 10、运行以下程序后,如果从键盘上输入 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); 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=%d,b=%dn“,a,b); 该程序的输出结果是() 。 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=“12134211“; 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,v3=%d,v4=%dn“,v1,v2,v3,v4); 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(“y=%dn“,y); A.y=-1 B.y=0 C.死循环 D.y=9 14、当输入数据:27 63 时,下面程序的运行结果是() 。 #include int gbs(int a, int b) int c; a=a0?a:-a; b=b0?b:-b; c=a*b; if (c=0) return 0; while (a!=b) if (ab) a-=b; else b-=a; return c/a; int gys(int a, int b) if (a*b=0) return 0; a=a0?a:-a; b=b0?b:-b; while (a!=b) if (ab) a-=b; else b-=a; return a; void main() int a,b,c,d; scanf(“%d%d“, c=gbs(a,b); d=gys(a,b); printf(“a=%d b=%d gbs=%d gys=%dn“,a,b,c,d); 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(“%2d“,x-); 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=0) printf(“%c“, an-); 29、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:连续向数组输入成 绩,并显示数组元素的值,当输入负数时停止接收数据。 void main() int n; int c100; n=0; do printf(“enter num:n“); _ printf(“%dn“,cn); n+; while (_); 30、请阅读下面的程序,分析该程序执行后会有什么错误或者效果。 #include #define MAX 255 void main() unsigned char AMAX, i; for (i=0; i=MAX; i+) Ai=i; 31、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:求 1-10 的奇数和。 void main() int x,s=0; s=0; for (x=1; x=10; _) _ printf(“奇数和为:%d“, s); 32、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:计算 n!的值。 void main() int i, s, n; printf(“enter n:“); scanf(“%d“, _ for (i=1; i=n; i+) _ printf(“s=%d“,s); 33、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:求 s=3+5+7+29 之和。 void main() int i,sum=0; for (i=3; i=29; _) sum = _; printf(“sum=%dn“,sum); 34、请阅读下面的程序,在空白处填写正确的代码,该程序的功能是:输出 100 以内能被 3 整除且个位数为 6 的所有整数。 #include void main() int i, j; for (i=0; _; i+) j=i*10+6; if (j%3 != 0) _ printf(“%d“,j); 35、请编写程序,从键盘输入一个数,实现对奇数和偶数的判断。 提示: 1)定义一个 int 类型变量 x,从键盘输入数据,调用 scanf()函数。 2)使用 ifelse 语句对 x 进行判断,如果是奇数就输出“x 是一个奇数” ,否则输出“x 是 偶数” 。 36、从键盘输入三个数 a,b,c,判断其中的最大值并输出。 提示: 1) 从键盘输入数据,调用 scanf()函数 2) 用 ifelse ifelse 语句判断三个数的最大值 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 循环语句实现自然数 199 的遍历。 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 循环语句实现自然数 199 的遍历。 2)在遍历过程中,判断当前遍历的数是否为奇数,如果是就累加,否则不加。 45、编写程序,打印出所有的水仙花数。 所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如 153 是一个水 仙花数,因为 153 = 13 + 53 + 33。 提示: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、编写程序,实现

温馨提示

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

评论

0/150

提交评论