C语言试题及答案解析_第1页
C语言试题及答案解析_第2页
C语言试题及答案解析_第3页
C语言试题及答案解析_第4页
全文预览已结束

下载本文档

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

文档简介

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)52

3.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为C。

A)0~255B)0~32767C)0~65535D)0~2147483647

4.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为D。

A)floatB)charC)intD)double

5.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(x>y)z=x;x=y;y=z;

A)x=10,y=20,z=30B)x=20,y=30,z=30

C)x=20,y=30,z=10D)x=20,y=30,z=20

9.以下程序段______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处错误,请找出并改正之:

(把改正后的完整的各个声明或语句直接写在原语句的右边)

#include<stdio.h>

voidmain()

{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.)

请填空,完成下面的程序

#include<stdio.h>

voidmain()

{

intyear,leap;

scanf(“%d”,&year);

if(year%4==0)

{

(1)year%100==0

{

if(year%400==0)

(2)year%400==0

else

(3)leap=1

}

else

leap=1;

}

else

leap==0;

if((4)leap)

printf(“%dis”,year);

else

printf(“%disnot”,year);

printf(“aleapyear.\n”);

}

2.下面的程序输出9*9乘法表,请填空。

#include"stdio.h"

voidmain()

{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.输入一个华氏温度,要求输出相应的摄氏温度。(保留两位小数)

#include<stdio.h>

voidmain()

{

floatc,f;

printf("请输出一个华氏温度:");

scanf("%f",&f);

c=(5.0/9.0)*(f-32.0);

printf("摄氏温度为:%5.2f\n",c);

}

2.编程:从键盘任意输入3个整数,输出其中的最大者。

#include<stdio.h>

voidmain()

{

inta,b,c,max;

scanf(“%d%d%d”,&a,&b,&c);

if(a>b)

if(a>c)max=a;

elsemax=c;

elseif(b>c)max=b;

elsemax=c;

printf(“最大者是%d\n”,max);

}

4.编程实现1!

温馨提示

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

评论

0/150

提交评论