C语言期中试卷--精选文档_第1页
C语言期中试卷--精选文档_第2页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计期中考试卷一、 选择题1. 下面程序段的运行结果是 。for(x=3; x<6; x+) printf(x%2)? (“*%d”): (“#%dn”), x); 14A*3 #4 *5B#3 *4 #5C#3 *4#5D*3#4 *52. 下面程序的运行结果是 。#include<stdio.h>int main()int i; for(i=1; i<=5; i+) switch(i%5) case 0: printf("*");break; case 1: printf("#");break; default: p

2、rintf("n"); case 2: printf("&"); return 0;A#&&&*B#& & &*C# & & & *D#& *3. 下面程序的功能是求算式xyz+yzz=532中的x,y,z的值(其中xyz和yzz分别表示一个三位数),请选择填空。#include <stdio.h>int main( ) int x,y,z,I,result=532; for(x=1;x<10;x+)for(y=1;y<10;y+) for(

3、; z<10; z+) i=100*x+10*y+z+100*y+10*z+z; if ( ) printf(“x=%d,y=%d,z=%dn”,x,y,z); return 0;A1z=x B1z=1 C1z=0 D1z=yA2i/result=1 B2i=result C2i!=result D2i=result4. 以下正确的描述是 。Acontinue语句的作用是结束整个循环的执行B只能在循环体内和switch语句体内使用break语句C在循坏体内使用break语句或continue语句的作用相同D从多层循环嵌套中退出,只能使用goto语句5. 在下面的程序中, 。#includ

4、e<stdio.h>int main()int t,x; for(t=1;t<=100;t+) scanf("%d",&x); if(x<0) continue; printf("%3d",t); return 0;A当x<0时整个循环结束Bx>=0时什么也不输出Cprintf函数永远也不执行D最多允许输出100个非负整数6. 与下面程序段等价的是 。for(n=100; n<=200; n+) if(n%3=0) continue; printf(“%4d”,n);Afor(n=100; (n%3) &

5、amp;& n<=200; n+) printf(“%4d”,n);Bfor(n=100; (n%3) | n<=200; n+) printf(“%4d”,n);Cfor(n=100; n<=200; n+) if(n%3!=0) printf(“%4d”,n);Dfor(n=100; n<=200; n+) if(n%3) printf(“%4d”,n); else continue; break;7. 下面程序的运行结果是 。#include <stdio.h>int main( ) int a,b; for( a=1, b=1; a<=

6、100; a+) if(b>=20) break;if(b%3= =1) b+=3;continue;b - =5; printf(“%dn”,a);return 0;A7 B8 C9 D10二、填空题1. 下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。int n=0, c;c=getchar( );while( ) if( ) n+; c=getchar( )2. 有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,下面的程序统计买完所需的天数,请填空。#include <stdio.h>int main( ) int day=0

7、, x1=1020, x2; while x2= ;x1=x2;day+; printf(“day=%dn”,day);return 0;3. 当运行以下程序时,从键盘键入right?<回车>,则下面程序的运行结果是 。#include<stdio.h>int main()char c; while(c=getchar( )!='?') putchar(+c); putchar('n'); return 0;4. 下面程序的运行结果是 。#include<stdio.h>int main()int a=2,s=0,n=1,co

8、unt=1; while(count<=7) n=n*a;s=s+n;+count; printf("s=%dn",s); return 0;5. 当运行以下程序时,从键盘输入“China#<回车>”,则下面程序的运行结果是 。#include<stdio.h>int main()int v1=0,v2=0; char ch; while(ch=getchar( )!='#') switch(ch) case 'a': case 'h': default: v1+; case 'o'

9、;: v2+; printf("%d,%dn",v1,v2); return 0;6. 下面程序段中循环体的执行次数是 。a=10; b=0;do b+=2; a-=2+b;while(a>=0);7. 下面程序段的运行结果是 。x=2;do printf(“*”); x-; while(!x= =0);8. 下面的程序的功能是用do-while语句求11000之间满足“用3除余2,用5除余3,用7除余2”的数,且一行只打印5个数,请填空。#include <stdio.h>int main( ) int i=1,j=0; do if printf(“%4

10、d”,i); j+; if printf(“n”); i=i+1; while(i<1000);return 0;9. 当运行以下程序时,从键盘输入“1 2 3 4 5 -1<回车>”,则下面程序的运行结果是 。#include<stdio.h>int main() int k=0,n; do scanf("%d",&n);k+=n;while(n!=-1); printf("k=%d n=%dn",k,n); return 0;10. 下面程序的运行结果是 。#include<stdio.h>int m

11、ain()int i=0,x=0,y=0; do +i; if(i%2!=0) x=x+i;i+; y=y+i+; while(i<=7); printf("x=%d,y=%dn",x,y); return 0;11. 下面程序段是找出整数的所有因子。请填空。#include<stdio.h>int main()int x,i; scanf("%d",&x); i=1; for( ; ; ) if(x%i=0) printf("%3d",i); i+; return 0;12. 鸡、兔共有30只, 脚共有90

12、个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空完成程序。for(x=1; x<=30; x+) y=30-x; if( ) printf(“%d,%dn”,x,y); 13. 下面程序段的运行结果是 。for(a=1,i=-1; -1<=i<1; i+) a+; printf(“%2d”,a);printf(“%2d”,i);14. 下面程序的功能是1-3+5-7+-99+101的值。请填空。#include<stdio.h>int main()int i,t,s=0,q=1; for(i=1;i<=101;i+=2) t=

13、 ; s=s+t; q= ; printf("%dn",s); return 0;15. 以下程序的功能是根据公式e=1+1/1!+1/2!+1/3!+,求e的近似值,精度要求为10-6。请填空。#include<stdio.h>int main()int i; double e,n; ; n=1.0; for(i=1; ;i+) n/=i;e+=n; printf("e=%fn",e); return 0;16. 下面程序的运行结果是 。#include<stdio.h>int main()int i; for(i=1;i<

14、;=5;i+) switch(i%2) case 0: i+; printf("#");break; case 1: i+=2; printf("*"); default: printf("n"); return 0;17. 下面程序的功能是统计用数字0-9可以组成多少个没有重复数位的3位偶数。请填空。#include<stdio.h>int main()int n=0,i,j,k; for(i=1;i<=9;i+) for(k=0;k<=8; ) if(k!=i) for(j=0;j<=9;j+) if

15、( ) printf("%dn",i*100+j*10+k); n+; printf("n=%dn",n); return 0;18. 下面程序的功能是输出1-100之间满足每位数的乘积大于每位数的和的数。请填空。#include<stdio.h>int main() int n,k=1,s=0,m; for(n=1;n<=100;n+) k=1;s=0; ; while( ) k*=m%10; s+=m%10; ; if(k>s) printf("%5d",n); printf("n"); return 0;三、 编程题1. 打印出以下图形(10) * * * * * * * * * * s * u * s * * * * *

温馨提示

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

评论

0/150

提交评论