您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > C语言试题及答案解析
C语言一、选择题(第题2分,共20分)1.一个C程序的执行是从A。A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序文件的第一个函数开始,到本程序main函数结束D)本程序的main函数开始,到本程序文件的最后一个函数结束2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为C。x=(i=4,j=16,k=32)A)4B)16C)32D)523.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为C。A)0~255B)0~32767C)0~65535D)0~21474836474.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为D。A)floatB)charC)intD)double5.putchar函数可以向终端输出一个D。A)整型变量表达式B)实型变量值C)字符串D)字符或字符型变量值6.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式B;如果字符串长度小于5,则输出按方式C。A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字符串,左补空格D)输出错误信息7.判断char型变量ch是否为大写字母的正确表达式是C。A)‘A’=ch=‘Z’B)(ch=‘A’)&(ch=‘Z’)C)(ch=‘A’)&&(ch=‘Z’)D)(‘A’=ch)AND(‘Z’=ch)8.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是B。if(xy)z=x;x=y;y=z;A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20,y=30,z=10D)x=20,y=30,z=209.以下程序段______C__.x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行二次C)循环执行一次D)有语法错误10.以下正确的描述是___B____.A)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)从多层循环嵌套中退出时,只能使用goto语句二、填空题(每空2分,共20分)1.C语言中,用关键字int定义基本整型变量,用关键字float定义单精度实型变量,用关键字char定义字符型变量。2.表达式3*20/4%10的计算结果是5。3.复合语句是将多个语句用花括号括起来组成一个语句。4.程序中使用putchar()函数和getchar()函数,在程序的开头必须加上char。5.C语言源程序文件名的后缀是.c。6.从程序流程看,C语言程序分为3种基本结构,它们是顺序结构、选择结构、循环结构。三、改错题(每处1分,共5分)下面的程序要求输出x和y的值,其中有5处错误,请找出并改正之:(把改正后的完整的各个声明或语句直接写在原语句的右边)#includestdio.hvoidmain(){intx;intx,y;scanf(“%d”,x)scanf(“%d”,&x);y=2x+1;printf(“x=%d,y=%d\n”);}printf(“x=%d\n,y=%d\n”,x,y);}四、程序分析与程序填空题(每题5分,共10分)(1)1.写程序,判断某一年是否为闰年。闰年的条件是:①能被4整除,但不能被100整除的年份是闰年;②能被100整除,又能被400整除的年份是闰年(年份:year;若闰年,令leap=1;非闰年,leap=0.)请填空,完成下面的程序#includestdio.hvoidmain(){intyear,leap;scanf(“%d”,&year);if(year%4==0){(1)year%100==0{if(year%400==0)(2)year%400==0else(3)leap=1}elseleap=1;}elseleap==0;if((4)leap)printf(“%dis”,year);elseprintf(“%disnot”,year);printf(“aleapyear.\n”);}2.下面的程序输出9*9乘法表,请填空。#includestdio.hvoidmain(){inti,j,result;printf(\n);for(i=1;(1)i=9;i++){for(j=1;j=i;j++){result=i*j;printf(%d*%d=%-3d,(2));}printf(\n\n);}printf(\n);}五、简答题(每题5分,共10分)1.简述字符常量'a'与字符串常量a有何区别?'a'是字符型数据,a是字符串数据,分别用putchar和getchar输入。2.简述下列for语句的执行过程:for(e1;e2;e3)语句A;(1)先求解表达式e1(2)=求解表达式e2,若值为真,则执行for语句中指定的内嵌语句,然后执行第(3)步,若假,则结束循环,转到第(5)步。(3)求解表达式e3(4)转回上面第(2)步继续执行(5)循环结束,执行下个for语句的执行六、程序设计题(1题5分,2题10分,3题10分,4题10分)1.输入一个华氏温度,要求输出相应的摄氏温度。(保留两位小数)#includestdio.hvoidmain(){floatc,f;printf(请输出一个华氏温度:);scanf(%f,&f);c=(5.0/9.0)*(f-32.0);printf(摄氏温度为:%5.2f\n,c);}2.编程:从键盘任意输入3个整数,输出其中的最大者。#includestdio.hvoidmain(){inta,b,c,max;scanf(“%d%d%d”,&a,&b,&c);if(ab)if(ac)max=a;elsemax=c;elseif(bc)max=b;elsemax=c;printf(“最大者是%d\n”,max);}4.编程实现1!+2!+…+n!的和。#includestdio.hvoidmain(){longi,n,p,sum;p=1;sum=0;scanf(“%d”,&n);for(i=1;i=n;i++){p=p*i;sum=sum+p;}printf(“sum=%ld\n”,sum);}
本文标题:C语言试题及答案解析
链接地址:https://www.777doc.com/doc-3707036 .html