c语言练习题.doc_第1页
c语言练习题.doc_第2页
c语言练习题.doc_第3页
c语言练习题.doc_第4页
c语言练习题.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

C语言试题库(第1、2、3章)一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置为_。A、 任意 B第一个函数必须是主函数,其他函数任意C必须完全按照顺序排列 D其他函数必须在前,主函数必须在最后2、 下列四个叙述中,正确的是_。A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是_。A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以含零个或多个子函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面属于C语言关键字的是_。A、int B、typedef C、enum D、unien5、 以下叙述不正确的是_。A、 分号是C语句的必要组成部分B、 C程序的注释可以写在语句的后面C、 函数是C程序的基本单位D、 主函数的名字不一定用mian表示6、 C语言中允许的基本数据类型包括_。A、 整型、实型、逻辑型 B整型、实型、字符型C整型、字符型、逻辑型 D整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为_。A、字符型、整型 B、整形、实型C、字符型、实型、双精度型 D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是_。A、97 B、A C、t D、09、在VC+6.0中,5种基本数据类型的存储空间长度的排列顺序为:_ A、char<int=10 or a<=0 B、a>=10 | a<=0 C、a>=10 | a<=0 D、a>=10 & a<=016、下列只有当整数x为奇数时,才是逻辑真的表达式是_。 A、x%2= =0 B、!(x%2= =0) C、(x-x/2*2)= =0 D、!(x%2)17、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是_。 A、10<a<15 B、a= =11 | a= =12 | a= =13 | a= =14 C、a>10 & a<15 D、!(a<=10)&!(a>=15)18、已知x=43, ch=A,y=0;则表达式(x>=y&ch<B&!y)的值是_。A、0 B、语法错 C、1 D、假19、表达式17%4 /8的值为_。A、0 B、1 C、2 D、320、语句printf(%d,(a=2)&(b= -2);的输出结果是_。 A、无输出 B、结果不确定 C、-1 D、1二、填空题1、 若有以下定义语句:int u=010,v=0x10,w=10; printf(%d,%d,%dn,u,v,w); 则输出结果是 _。2、 下面程序的输出是_。Main() unsigned a=32768; printf(a=%dn,a)3、 下面程序的输出是_。Main()int k=11; printf(k=%d,k=%o,k=%xn,k,k,k);4、 若有以下定义语句:int a=5; printf(%dn,a+); 则输出结果是_。5、 设x为int型变量,执行以下语句,x=10; x+=x-=x-x; x的值为_。6、 若定义x和y为double型变量,则表达式x=1, y=x+3/2的值是_。7、 若t为double型变量,表达式t=1, t+5, t+的值是_。8、 表达式10!=9的值是_。9、 设x,y,z和t均为int型变量,执行以下语句:x=y=z=1; t=+x|+y&+z; 后t的值为_。10、a=1,b=2,c=3,d=4,则表达式a<b?a:c<y)?m:y;m=(m main() int i=010,j=10; printf(%d,%dn,+i,j-); A) 11,10 B) 9,10C) 010,9 D) 10,913、请读程序 int i =65536 printf(%dn,i);上面程序的输出结果是_A) 65535 B) 0C) 有语法错误,无输出结果 D) 114、已知字符A的ASCII码为十进制的65,下面程序的输出是_ main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(%d,%cn,ch1,ch2); A) 67,D B) B,CC) C,D D) 不确定的值15、若有定义和语句: char s10; s=abcd; printf(%dn,s);则结果是_A) 输出 abcd B) 输出 aC) 输出 adcb D) 编译不能通过16、若有定义:int x,y; char a,b,c; 并有以下输入数据(此处代表换行,代表空格): 1 2 A B C 则能给X赋整数1,给Y赋数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是_ A) scanf(x=%d y=%d,&x,&y); a=getchar(); c=getchar(); B) scanf(%d%d,&x,&y); a=getchar(); b=getchar(); c=getchar(); C) scanf(%d%d%c%c%c,&x,&y,&a,&b,&c);D) scanf(%d%d%c%c%c%c%c%c,&x,&y,&a,&a,&b,&b,&c,&c);17、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是_ main() int x; scanf(%d,&x); if (x+>5) printf(%d,x) else printf(%dn,x-); A) 7和5 B) 6和3C) 7和4 D) 6和418、若执行下面的程序从键盘输入3和4,则输出是_ main() int a,b,s; scanf(%d%d,&a,&b); s=a; if (a765.12<回车> B)i=100,f=765.12<回车>C)100<回车>765.12<回车> D)x=100<回车>,y=765.12<回车> 20、以下程序的输出结果是_ #include main() printf(%dn,NULL); A) 不确定 B) 0C) -1 D) 1二、填空题1、复合语句在语法上被认为是_,空语句的形式是_。2、%-ms表示如果串长_m,则在m列范围内,字符串向_靠,_补空格。3、如果想输出字符%,则应该在格式控制字符串中用_表示。4、printf函数的格式控制包括两部分,他们是_和_。5、符号&是_运算符,&a是指_.6、putchar 函数的作用是_.7、复合语句是由一对 _括起来的若干语句组成的。8、goto语句的主要用途是_和_。9、getchar 函数的作用是_.10、把for(表达式1;表达式2;表达式3);改写为等价的while语句为_.11、语句标号由标识符表示,由_、_和_组成。第一个字符必须是字母或下划线。12、函数中的格式控制后面应当是_,而不是_。13、while语句的特点是_,do-while语句的特点是_。14、分析下面程序main() int x,y; x=16;y=(x+)+x; printf(%dn,y); x=15;printf(%d,%dn,+x,x); x=20;y=x-+x; printf(%dn,y); x=13;printf(%d,%d,x+,x);程序的输出结果是_。15、下列程序的输出结果是_:#includestido.hmain() char b=ABCDEFG ; char *chp=&b7; while(-chp>&b0) putchar(*chp); putchar (n);三、编程题1、编写程序,输入两个整数:1500和350,求出它们的商和余数并输出。2、编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,b中原来的值给c, c中原来的值给a,且输出改变后的a,b,c的值。3、输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果,要求连同算式一起输出,每个算式占一行。例:a等于10,b等于5,a+b的结果输成 10+5=154、输入一个非负数,计算以这个数为半径的圆周长和面积。5、输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321).6、输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出YES,不是则输出NOT (要求用条件表达式进行判断,不使用if语句)7、求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这三个字符及其对应的ASCII码值。第五、六章 一、选择题(30题)1、有以下程序 main( ) int i; for ( i=0; i<3; i+ ) switch ( i ) case 1 : printf(%d , i); case 2 : printf(%d , i); default : printf(%d , i); 执行后输出结果是 ( ) A)011122 B)012 C)012020 D)1202、有以下程序 main() int i=1, j=1, k=2; if ( (j+ | k+) & i+) printf(%d,%d,%dn, i, j, k); 执行后输出结果是 ( ) A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,33、有以下程序 main() int a=5,b=4,c=3,d=2; if (a>b>c) printf(%dn, d); else if ( (c-1 >= d) = =1) printf(%dn, d+1); else printf(%dn, d+2); 执行后输出结果是 ( ) A)2 B)3 C)4 D)编译时有错,无结果4、有以下程序 main() int i=0,s=0; do if (i%2) i+; continue; i+; s += i; while( i<7 ); printf(%dn, s); 执行后输出结果是 ( ) A)16 B)12 C)28 D)215、以下程序的输出结果是 ( ) main() int a=5,b=4,c=6,d; printf(%dn,d=a>b?(a>c?a:c):(b); A) 5 B) 4 C) 6 D) 不确定6、以下程序中,while循环的循环次数是( ) main() int i=0; while(i<10) if(i<1) continue; if(i= =5) break; i+; A) 1 B) 10 C) 6 D) 死循环,不能确定次数7、以下程序的输出结果是( ) main( ) int a=0,i; for(i=1;i<5;i+) switch(i) case 0: case 3: a+=2; case 1: case 2: a+=3; default: a+=5; printf(%dn,a); A) 31 B) 13 C) 10 D) 208、以下程序的输出结果是( ) main() int a=4,b=5,c=0,d; d=!a&!b|!c; printf(%dn,d); A) 1 B) 0 C) 非0的数 D) -19、以下程序的输出结果是( ) #include main() int i=0,a=0; while(i<20) for( ; ; ) if(i%10)=0) break; else i-; i+=11; a+=i; printh(%dn,a); A) 21 B) 32 C) 33 D) 1110、阅读以下程序:( ) main() int x; scanf(%d,&x); if(x-<5) printf(%dx); else printf(%dx+); 程序运行后,如果从键盘上输人5,则输出结果是A)3 B) 4 C) 5 D) 611、假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(w50) printf(%d,a); if(a>40) printf(%d,a); if(a>30) printf(%d,a); 7、以下程序输出的结果是 。 main() int a=5,b=4,c=3,d; d=(a>b>c); printf(%dn,d); 8、以下程序的输出结果是 。 main() int s,i; for(s=0,i=1;i<3;i+,s+=i); printf(%dn,s); 9、以下程序运行后的输出结果是 。 main() int i=10, j=0; do j=j+i; i-; while(i>2); printf(%dn,j); 10、设有以下程序: main() int n1,n2; scanf(%d,&n2); while(n2!=0) n1=n2%10; n2=n2/10; printf(%d,n1); 程序运行后,如果从键盘上输入1298;则输出结果为 。11、下列程序段的输出结果是 。 int n=c; switch(n+) default: printf(error);break; case a: case A: case b: case B: printf(good);break; case c: case C: printf(pass); case d: case D: printf(warn); 12、下面程序输出结果是 。 main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+;break; case 1: b+;break; case 2: a+;b+;break; printf(a=%d,b=%dn,a,b); 13、程序执行后的输出结果是 。 main( ) int x=0,y=5,z=3; while(z->0&+x<5) y=y-1; printf(%d,%d,%dn,x,y,z);14、若有 int =5, j=10;则执行完语句switch (i)case 4: j + +;case 5: j - - ;case 6: j + +;case 7: j - =2;default: ; 后j的值 。15、有以下程序main() int n=0,m=1,x=2; if (!n) x-=1; if (m) x-=2; if (x) x-=3; printf (%dn,x); 执行后的输出结果是 。16、 main() int a=5,b=4,c=3,d=2;if(a>b>c)printf(%dn,d);else if(c-1>=d)= =1)printf(%dn,d+1);else printf(%dn,d+2);执行后输出的结果是 。17、当a=1,b=3,c=5,d=4时,执行完下面的一段程序后x的值是 。 if (ak) break; else s += k; printf(k=%d,s=%d, k, s);19、输入c2470f ?<回车>后,下列程序的输出结果是 。 #include main( ) char ch; long number=0; while(ch=getchar( )<0| ch>6) ; while(ch!=?&ch>=0&ch<=6) number=number*7+ch-0; printf(%ld#,number); ch=getchar( ); 20、输入4<回车>后,下列程序的输出结果是 。 #include main( ) int j,k,n; float f,s; scanf(%d,&n); s=0; f=1; for(k=1;k<=n;k+) for(j=1;jmain() int i, j;for(i=0; ; i+) j=i*10+6;if( ) continue;printf(%d,j);22、下面程序的功能是求1!+2!+3!+4!+5!,请填空:main( ) int i, j, f, sum=0;for(i=1;i<=5;i+) f=1;for(j=1; ; j+) ; sum=sum+f; printf(5!=%d,sum); 23、以下程序可判断输入的一个整数是否能被3或7整除,若能整除,输出yes,否则输出no。请填空。 #include main() int k; printf(Enter a int number:); scanf(%d,&k); if printf(yesn); else printf( ); 24、以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数。请填空。 Main() int n, i, j; printf(Enter INT numbers,with 0 to endn); i=j=0; scanf (%d,&n); while if (n>0) i+; if (n<0) j+; ; printf(i=%4d j=%4dn,i,j); 25、如果一个数的各位数的立方和等于它本身,则这样的数称为水仙花数求100999中所有的水仙花数。main() int i,a,b,c;for ( i=100;i<=999;i+) a=i/100; b= ; c=i%10; if ( ) printf(%5d,i); 26、输入1 个正整数 n, 计算并输出 s 的前n项的和。 S = 1 -1/2 + 1/3 - 1/4 + 1/5 -1/6 + . #include main( ) int k, flag, n; float s; flag=1; s=0; scanf(%d, &n); for (k=1 ; k<=n; k+) s=s+ ; ; printf(sum=%fn, s); 27、输出下列图形。 1 2 3 4 5 6 7 8 9 main() 2 3 4 5 6 7 8 9 int i,j ; 3 4 5 6 7 8 9 for(i=1;i<= ;i+) 4 5 6 7 8 9 for(j = ;j<=9;j+)printf(%2d,j); 5 6 7 8 9 printf(n); 6 7 8 9 7 8 9 8 9 928、下面程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,最后当输入负数时结束输入。请填空: Main( ) float x,amax,amin; Scanf( %f,&x); Amax=x; amin=x; While( )_ if( x> amax ) amax=x;If( x15最小的N值,并输出s的值。7、铁路托运行李规定:行李重不超过50公斤的,托运费按每公斤0.15元计费;如超50公斤,超过部分每公斤加收0.10元。编一程序完成自动计费工作。8、相邻两个奇数都为素数的这样一对数叫双胞胎素数,输出100到200之间的所有双胞胎素数。9、输入一串字符以#结束,如果它是大写字母转换为小写字母输出,如果是小写字母转换为大写字母输出。如果不是字母,则照直输出。10、输入一个四位数,要求将它的千位、百位、十位、个位上的数字按由小到大排列,输出一个新数。(如:输入 4287 要求输出为 2478)11、输入两门课的成绩,如果两门成绩都在60分以上。则输出it is pass.只要有一门低于60分就输出it is not pass.如果输入的任何一门成绩不在0-100范围内则输出it is error.。(要求用switch语句来编程)12、求任一数字的所有因子的组合(仅限两个因子),如:15=1*15 ,15=3*5不能出现重复。如:15=5*3,15=15*1就不用输出。13、从键盘输入几个数,以0作为结束标志,判断其正负,并求其平方和。14、编写一个译码程序,把一个英语句子译成数字代码。译码规则是以数字1代替字母a,数

温馨提示

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

评论

0/150

提交评论