《C语言试题及答案解析(共2页).docx》由会员分享,可在线阅读,更多相关《C语言试题及答案解析(共2页).docx(2页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上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) 4 B) 16 C) 32 D) 523设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。A) 0
2、255 B) 032767 C) 065535 D) 04设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。A) float B) char C) int D) double5 putchar函数可以向终端输出一个 D 。A) 整型变量表达式 B) 实型变量值C) 字符串 D) 字符或字符型变量值6 printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出C)
3、 右对齐输出该字符串,左补空格 D) 输出错误信息7 判断char型变量ch是否为大写字母的正确表达式是 C 。A) A=ch=A)&(ch=A)&(ch=Z) D) (A= ch)8 已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。if(xy) z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=30C) x=20, y=30, z=10 D) x=20, y=30, z=209以下程序段_C_.x=-1;dox=x*x; while(!x);A)是死循环 B)循环执行二次C)循环执行一次 D)有语法错误10以
4、下正确的描述是_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( )函数,在程序的开头必须加上ch
5、ar 。5. C语言源程序文件名的后缀是 .c 。6.从程序流程看,C语言程序分为3种基本结构,它们是 顺序结构 、选择结构 、 循环结构 。三、 改错题(每处1分,共5分)下面的程序要求输出x和y的值,其中有5处错误,请找出并改正之:(把改正后的完整的各个声明或语句直接写在原语句的右边)#includevoid main() int x; int x,y; scanf(“%d”,x) scanf(“%d”,&x);y=2x+1;printf(“x=%d,y=%dn”); printf(“x=%dn,y=%dn”,x,y); 四、 程序分析与程序填空题(每题5分,共10分)(1) 1. 写程序
6、,判断某一年是否为闰年。闰年的条件是:能被4整除,但不能被100整除的年份是闰年;能被100整除,又能被400整除的年份是闰年(年份:year;若闰年,令leap=1;非闰年,leap=0.)请填空,完成下面的程序#includevoid main() int year,leap;scanf(“%d”,&year);if(year%4=0)(1) year%100=0if(year%400=0)(2) year%400=0 else(3) leap=1 elseleap=1;elseleap=0;if( (4) leap )printf(“%d is”,year);elseprintf(“%d
7、 is not”,year);printf(“ a leap year.n”); 2. 下面的程序输出9*9乘法表,请填空。#include stdio.hvoid main() int i,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(nn);printf(n);五、 简答题(每题5分,共10分)1. 简述字符常量a与字符串常量a有何区别?a是字符型数据,a是字符串数据,分别用putchar和getchar输入。2. 简述下列for语句的
8、执行过程: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. 输入一个华氏温度,要求输出相应的摄氏温度。(保留两位小数)#includevoid main()float c,f;printf(请输出一个华氏温度:);scanf(%f,&f);c=(5.0/9.0)*(f-32.0);printf(摄氏
9、温度为:%5.2fn,c);2. 编程:从键盘任意输入3个整数,输出其中的最大者。#include void main( )int a,b,c,max;scanf(“%d%d%d”,&a,&b,&c);if(ab)if(ac) max=a;else max=c;else if(bc) max=b;else max=c;printf(“最大者是%dn”,max);4. 编程实现1!+2!+n!的和。#include void main()long i,n,p,sum;p=1;sum=0;scanf(“%d”,&n);for(i=1;i=n;i+)p=p*i;sum=sum+p;printf(“sum=%ldn”,sum);专心-专注-专业