欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    桂林电子科技大学C语言程序设计习题集及答案.doc

    • 资源ID:85457876       资源大小:266.50KB        全文页数:79页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    桂林电子科技大学C语言程序设计习题集及答案.doc

    一 单项选择题(每题2分,共44分)1 以下叙述正确的是C。A C程序基本组成单位是语句 B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符 D 注释语句可以嵌套2 一个C语言程序是从B开始执行的。A 程序中第一个函数 B 名为main的函数C 包含文件(头文件)的第一个函数 D 程序中的第一个语句3 请选出合法的C语言赋值语句B。A a=b=58 B i+; C a=58,b=58 D k=int(a+b);4 下面标识符中,合法的用户标识符是 B。A 1abc B include C a-b-c123 D char5 以下所列的C语言整形常量中,正确的是A。A 0x10 B 0976 C 076L D 01ff6 C语言中下列运算符的操作数必须为整型的是A。A % B + C / D =7 设a和b均为int型变量,则执行以下语句后的输出为B。int a=20; int b=3; printf("%dn",a+=(b%=2);A 20 B 21 C 0 D 238 已知int i;,则执行语句 i=2.6;后,i的值为A。A 2 B 3 C 2.6 D 不确定9 以下合法的字符常量为D。A 'ab' B '482' C '' D 'xaf'10 若y为int型变量,则执行以下语句后,y的值是 C。y=8; y+=y-=y*y;A 64 B 56 C 112 D 4811 以下合法的浮点型常量是D。A e-3 B C 3.14e+2L D 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为A。printf("%d",sizeof(a*b)+2/5);A 4 B 8 C 6 D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为C。A 0 B -2 C 65534 D 6553514 若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为A。x=a+; y=-a; z=x+y-a-;A 100 B 400 C 200 D 30015 若有以下定义和语句:int u=010,v=0x10,w=10,printf("%d,%d,%dn",u,v,w);,则输出结果是A。A 8,16,10 B 10,10,10 C 8,8,10 D 8,10,1016 设x、y为int型变量,则执行下列语句后,y的值是A 。x=5; y=x+*x+; y=-y*-y;A 529 B 2401 C 1209 D 625的表达式是D。17 假设在程序中a,b,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式18 若有定义:int a=8,b=5,c;char d='A',则执行语句c=a/b+d%a+0.5;后c的值为A。C 3 D 类型不一致,无法计算,编译出错19 在有以下程序:main() int i=10,j=1;i=i+j+;printf("%d,%d,%dn",i+,+j,i);执行后输出结果是C。A 12,3,11 B 12,2,11 C 11,3,11 D 12,3,1220 已知int i=65;,则putchar(i);printf("%d",i);printf("%c",i);的输出结果为A。A A,65,A B 65,65,A C A,A,65 D A,A,A21 已知int y,a,i=1;则语句printf("%d,%d",-i+,(y=a=3.6*3);的输出结果为A。A -1,10 B -2,1.8 C 0,3 D 1,1822 有以下程序:main() char a,b,c,d;a='' b='xbc'c='0xab' d='023'printf("%c%c%c%cn",a,b,c,d);编译时出现错误,以下叙述中正确的是A。A 程序中只有a=''语句不正确 B b='xbc'语句不正确C d='023'语句不正确 D a=''和c='0xab'语句都不正确二 填空题(第1题2分,其余每题3分,共56分)1 设x为int型变量,请写出描述“x是偶数”的表达式是x%2=0。2 已知scanf("a=%d,b=%d,c=%d",&a,&b,&c);,若从键盘输入2、3、4三个数分别作为变量a、b、c的值则正确的输入形式是a=2,b=3,c=4。3 设有语句int a=3;,则执行了语句 a+=a-=a*a后,变量a的值是-12。4 以下程序的输出结果是10 6。main() int a=-10,b=-3;printf("%dn",-a+);printf("%dn",-a+b);5 以下程序的输出结果是242。main() char c;c=0362;printf("%dn",c);6 以下程序段(n所赋的是八进制数)执行后输出结果是3276732767。int m=32767,n=032767; printf("%d,%on",m,n);7 字符串"name101ddressbxaf"的长度为:15。8 有以下程序段:int m=0,n=0; char c='a'scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%dn",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是10,A,10。9 以下程序的输出结果是。main() printf("%d,%o,%xn",10,10,10);printf("%d,%d,%dn",10,010,0x10);printf("%d,%xn",012,012);10 设a、b、c为整形变量,且a=2、b=3、c=4,则执行完语句 a*=16+(b+)-(+c);之后,变量a的值为28。11 以下程序的输出结果为12。main() int x=023;printf("%xn",-x);12 以下程序的结果为。main() int a=2,b=3,c,d;c=(a+)+(a+)+(a+);d=(+b)+(+b)+(+b);printf("a=%d c=%dn",a,c);printf("b=%d d=%dn",a,d);13 以下程序main() char ch1,ch2,ch3;scanf("%c%c%c",&ch1,&ch2,&ch3);printf("%c%c%c%c%c",ch1,'#',ch2,'#',ch3);当输入ABC时运行结果为 【1】 ,当输入A BC时运行结果为 【2】 。14 若有定义:float x;,以下程序段的输出结果是。x=5.16894;printf("%fn",(int)(x*1000+0.5)/(float)1000);15 以下程序的功能是:输入一个小写字母,输出对应的大写字母,将程序补充完整。main() char ch; 【1】 /* 从键盘输入一个小写字母 */ 【2】 /* 将该字母转换为大写字母 */ 【3】 /* 输出转换后的结果 */16 当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表回车),则程序的输出结果是。main() int a; float b,c;scanf("%2d%3f%4f",&a,&b,&c);printf("na=%d,b=%f,c=%fn",a,b,c);17 以下程序的运行结果是。main() printf("%12.5fn",123.1234567);printf("%12fn",123.1234567);printf("%12.8dn",12345);printf("%12.8sn","abcdefghij");18 运行以下程序时,如从键盘上输入abcdefg,则输出结果是。main() char ch1,ch2,ch3;ch1=getchar(); ch2=getchar(); ch3=getchar();putchar(ch1); putchar(ch2); putchar(ch3);putchar('n');19 运行以下程序时,如从键盘上输入:a=3,b=5abc后,结果是。main() int a,b; float x,y; char c1,c2;scanf("a=%d,b=%d",&a,&b);scanf("%f,%e",&x,&y);scanf("%c%c%c",&c1,&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn",a,b,x,y,c1,c2);顺序、选择结构程序设计一 单项选择题(每题2分,共40分)1 以下程序运行后的输出结果是B。main() int a=0,b=0;a=10; b=20; printf("a+b=%dn",a+b);A a+b=10 B a+b=30 C 30 D 出错2 以下程序运行后的输出结果是C。main() double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%dn",d*y);A 3 B 3.2 C 0 D 3 以下程序运行后的输出结果是C。main() double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %.1f %.1fn",i,l,f,d);A 6 6 B C D 4 以下程序运行后的输出结果是D。main() int a=1,b=2;a=a+b; b=a-b; a=a-b;printf("%d,%dn",a,b);A 1,2 B 1,1 C 2,2 D 2,15 以下程序运行后的输出结果是A。main() int x,y,z;x=y=2; z=3;y=x+-1; printf("%d %d ",x,y);y=+x-1; printf("%d %dn",x,y);y=z-1; printf("%d %d ",z,x);y=-z-1; printf("%d %dn",z,x);A 3 1 4 3 B 3 1 3 3 C 3 1 4 3 D 2 1 3 22 4 1 4 2 4 2 2 2 4 1 2 1 3 1 26 以下程序运行后的输出结果是D。main() int x,y,z;x=y=1;z=x+,y+,+y;printf("%d,%d,%dn",x,y,z);A 2,3,3 B 2,3,2 C 2,3,1 D 2,2,17 以下程序运行后的输出结果是D。main() int x=4,y=7;x-=y; y+=x;printf("%d %dn",x,y);A 4 7 B -3 -3 C -3 11 D -3 48 以下程序运行后的输出结果是C。main() unsigned short a=65536; int b;printf("%dn",b=a);A 65536 B 0 C 1 D -19 以下程序:#include <stdio.h>main() char c1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar(); c6=getchar();putchar(c1); putchar(c2);printf("%c%cn",c5,c6);程序运行后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出结果是B。A 1267 B 1256 C 1278 D 124510 设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是C。A 'a'&&'b' B a&&b|c C a&&b&&c D a|b&&c11 在嵌套使用if语句时,C语言规定else总是C。A 和之前与其具有相同缩进位置的if配对B 和之前与其最近的if配对C 和之前与其最近不带else的if配对D 和之前的第一个if配对12 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为D。A a<>0 B !a C a=0 D a13 以下程序运行后的输出结果是C。main() int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c+;printf("%dn",c);A 0 B 1 C 2 D 314 若k是int型变量,下面的程序段的输出结果是 C 。k=-3;if(k<=0) printf("#")else printf("&&&&");A # B &&&&C #&&&& D 有语法错误,无输出15 以下程序运行后的输出结果是A。main() int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf("%d,%d,%d,%dn",a,b,c,d);A 0,1,2,0 B 0,0,0,3 C 1,1,2,0 D 编译有错16 以下程序运行后的输出结果是A。main() int x1=1,x2=0,x3=0;if(x1=x2+x3) printf("*");else printf("#");A * B 有语法错误 C # D 无输出结果17 当a=1,b=3,c=5,d=4时,执行下面一行程序后,x的值是B。if(a<b) if(c<d)x=1; else if(a<c) if(b<d)x=2; else x=3; else x=6;else x=7;A 1 B 2 C 3 D 618 下列叙述中正确的是D。A break语句只能用于switch语句B 在switch语句中必须使用defaultC break语句必须与switch语句中的case配对使用D 在switch语句中不一定使用break语句19 若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是。A switch(x) B switch(int)x); case 1.0:printf("*n"); case 1:printf("*n");case 2.0:printf("*n"); case 2:printf("*n"); C switch(a+b) D switch(a+b) case 1:printf("*n"); case 1:printf("*n");case 2+1:printf("*n"); case c:printf("*n"); 20 以下程序运行后的输出结果是。#include<stdio.h>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);A a=2,b=1 B a=1,b=1 C a=1,b=0 D a=2,b=2二 填空题(每题3分,共30分)1 以下程序运行后的输出结果是。#include <stdio.h>main() int i=010 , j=10;printf("%d,%dn",+i,j-);2 以下程序运行后的输出结果是。#include <stdio.h>main() printf("%d%d%dn",'0','0','0'); 3 以下程序运行后的输出结果是。main() int i=5,j,k;j=i+i+i+;k=(+i)+(+i)+(+i);printf("i=%5d j=%5dnk=%5dn",i,j,k);4 下面的程序运行时从键盘上输入9876543210<回车>,程序的输出结果是。main() int a; float b,c;scanf("%2d%2f%2f",&a,&b,&c);printf("a=%d,b=%.1f,c=%.0f",a,b,c);5 下面程序的输出结果是。main() char ch1,ch2;ch1='A'+'5'-'3' ch2='A'+'6'-'3'printf("%d,%cn",ch1,ch2);6 执行下面的语句:printf("%dn",(a=3*5,a*4,a+5);,输出是。7 以下程序运行后的输出结果是。main() int x=10; printf("%d,%dn",-x,-x); 8 为表示关系xyz,应使用C语言表达式。9 下面的程序段的输出结果是。int x=3;if(x%2)?printf("*%d",x):printf("#%dn",x);10 以下程序运行后的输出结果是。main() int m=5;switch(m/2) case 1: m+;case 2: m+=3;case 5: m+=6;break;default: m-=7;printf("%dn",m);三 程序填空(每空5分,共30分)1 下列程序的输出结果是16.00,请填空。main() int a=9,b=2;float x= 【1】 ,y=1.1,z;z=a/2+b*x/y+1/2;printf("%5.2fn",z);2 完成以下程序,输入变量a,b,c的值,判断a,b,c能否组成三角形,计算三角形面积。(公式为: )。#include <stdio.h> 【2】 ;main() int a,b,c; 【3】 printf("please input the value of a,b,c")scanf("%d %d %d", 【4】 );if( 【5】 ) 【6】 s=sqrt(p*(p-a)*(p-b)*(p-c);printf("Yes,this is a triangle!n the area is %.2f.n",s);else printf("No,this is not a triangle!n")循环结构程序设计一 单项选择题(每题2分,共40分)1 以下程序中,while循环的循环次数是。main() int i=0;while(i<10) if(i<1) continue;if(i=5) break;i+;A 1 B 10 C 6 D 死循环2 以下程序的执行结果是。main() int n=9;while(n>6) n-; printf("%d",n); 该程序的输出结果是A 987 B 876 C 8765 D 98763 以下程序段,while循环执行的次数是。int k=0;while(k=1) k+;A 无限次 B 有语法错 C 一次也不执行 D 执行1次4 以下叙述正确的是。A do-while语句构成的循环不能用其它语句构成的循环来代替B do-while语句构成的循环只能用break语句退出C 用do-while语句构成的循环,在while后的表达式为非零时结束循环D 用do-while语句构成的循环,在while后的表达式为零时结束循环5 以下程序的执行结果是。main() int a,y;a=10; y=0;do a+=2; y+=a;printf("a=%d y=%dn",a,y);if(y>20) break;while(a=14);A a=12 y=12 B a=12 y=12a=14 y=16 a=16 y=28a=16 y=20a=18 y=24C a=12 y=12 D a=12 y=12a=14 y=26a=14 y=446 以下程序的执行结果是。main() int x=23;do printf("%d",x-); while(!x);A 321 B 23 C 不输出任何内容 D 陷入死循环7 有以下程序段,输出结果是。int x=3;do printf("%d ",x-=2); while(!(- -x);A 1 B 3 0 C 1 -2 D 死循环8 以下程序的输出结果是。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 209 以下程序的输出结果是。main() int i=0,a=0;while(i<20) for(; ;)if(i%10)=0) break;else i-;i+=11; a+=i;printf("%dn",a);A 21 B 32 C 33 D 1110 以下循环体的执行次数是。main() int i,j;for(i=0,j=1;i<=j+1;i+=2,j-) printf("%d n",i);A 3 B 2 C 1 D 011 下列程序的输出结果是。main() int i,j,m=0,n=0;for(i=0; <2;i+)for(j=0;j<2;j+)if(j>=i) m=1;n+;printf("%dn",n);A 4 B 2 C 1 D 012 下列程序的输出结果是。main() int i,sum;for(i=1;i<=3;sum+) sum+=i;printf("%dn",sum);A 6 B 3 C 死循环 D 013 以下程序执行后sum的值是。main() int i,sum;for(i=1;i<6;i+) sum+=i;printf("%dn",sum);A 15 B 14 C 不确定 D 014以下程序执行后的输出结果是。main() int i,n=0;for(i=2;i<5;i+) do if(i%3) continue; n+; while(!i);n+;printf("n=%dn",n);A n=5 B n=2 C n=3 D n=415 下列语句中,能正确输出26个英文字母的是。A for(a='a'a<='z'printf("%c",+a); B for(a='a'a<='z') printf("%c",a);C for(a='a'a<='z'printf("%c",a+); D for(a='a'a<='z'printf("%c",a);16 以下程序执行后的输出结果是。main() int x=1,y=1;while(y<=5) if(x>=10) break;if(x%2=0) x+=5; continue; x-=3; y+;printf("%d,%d",x,y);A 6,6 B 7,6 C 10,3 D 7,317 以下程序执行后的输出结果是。main() int a=5;while(!(a->5) switch(a) case 1:a+;case 4:a+=4;case 5:a+=5;break;default:a-=5;printf("%dn",a);A 12 B 7 C 5 D 1318 对于下面的for循环语句,可以断定它执行次循环。for(x=0,y=0;(y!=67)&&(x<5);x+) printf("-");A无限 B 不定 C 5次 D 4次19 在执行以下程序时,如果从键盘上输入:ABCdef,则输出结果为。#include ""main() char ch;while(ch=getchar()!='n') if(ch>='A' && ch<='Z') ch=ch+32;else if(ch>='a' && ch<='z') ch=ch-32;printf("%c",ch);printf("n");A ABCdef B abcDEF C abc D DEF20 当执行以下程序时,。int a=1;do a=a*a; while(!a);A 循环体将执行1次 B 循环体将执行2次C 循环体将执行无限次 D 系统将提示有语法错误二 填空题(每空3分,共33分)1 若输入字符串:abcde<回车>,则以下while循环体将执行次。while(ch=getchar()='e') printf("*");2 以下while循环执行的次数是。k=0; while(k=10) k=k+1;3 下列程序的输出结果是。main() int x=0,y=5,z=3;while(z->0 && +x<5) y=y-1;printf("%d,%d,%dn",x,y,z);4 下面程序的功能是:计算1到10之间的奇数之和及偶数之和,请填空。main() int a,b,c,i;a=c=0;for(i=0;i<=10;i+=2) a+=i;_ 【1】 ;c+=b;printf("偶数之和=%dn奇数之和=%dn",a, 【2】 );5 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。main() int i,j;for(i=0; _ 【1】 ; i+) j=i*10+6;if(_ 【2】 )continue;printf("%dn",j);6 以下程序的输出结果是。main() int s,i;for(s=0,i=1;i<3;i+,s+=i);printf("%dn",s);7 要使以下程序段输出10个整数,请填入一个整数。for(i=0;i<=;printf("%d n",i+=2) ;8 程序的功能是根据以下近似公式求值:请填空完成求的功能。#include ""main() int n=30000; double s=0.0; long i; for(i=1;i<=n;i+) s=s+_ 【1】 ; printf("pi=%fn",_ 【2】 );三 程序填空题(每空3分,共27分)1 下列程序是求

    注意事项

    本文(桂林电子科技大学C语言程序设计习题集及答案.doc)为本站会员(e****s)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开