c语言习题册及答案 下载本文

内容发布更新时间 : 2024/5/16 2:38:22星期一 下面是文章的全部内容请认真阅读。

.

三、读程序写结果

1.下列程序的输出结果是( )。

-200,25i=-200,j=25 #include

i=-200 void main()

j=25 { int i=-200,j=25;

printf(\

printf(\

printf(\

2.使用强制转换方法将正整数转换成字符。本程序的执行结果是( )。 #include void main()

{ char c;int i;

printf(\输入一个正整数(小于255):\ scanf(\ c=(char)i;

printf(\的ASCII码为%d\\n\

3.下列程序的输出结果是(560分钟<=>9小时20分钟 )。 #include void main()

{ int i=560,h,m; h=i/60; m=i-60*h;

printf(\分钟<=>%d小时%d分钟\\n\4. 下列程序的输出结果是( *3.140000,3.142* )。 #include void main()

{ printf(\

5.已有定义int d=-2;执行以下语句后的输出结果是( )。

printf(\ *d(1)=-2*d(2)= -2*d(3)=-2 * printf(\*d(4)=fffffffe*d(5)=fffffffe*d(6)=fffffffe*

6.在scanf()函数调用语言,可以在格式字符和%号之间加上一个星号,他的作用是(跳过对应的输入数据);当输入以下数据时:10 20 30 40〈回车〉(此处 代表空格),下面语句的执行结果是( 103040 )。 int a1,a2,a3;

scanf(\printf(\

7.执行以下程序时,若从第一列开始输入数据,为使变量

.

.

a=3,b=7,x=8.5,y=71.82,c1= 'A ',c2='a ', 正确的数据输入形式是( )。 #include void main()

{ int a,b;float x,y;char c1,c2;

scanf(\a=3b=7

scanf(\x=8.5y=71.82 scanf(\c1=A,c2=a

printf(\四、程序填空 1、给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之

2

一的圆面积(注:圆面积公式为:S??r,在程序中定义的变量名要与公式的变量相同)。

例如:输入圆的半径值:19.527,输出为:s=598.949991。 注意:部分源程序给出如下。 试题程序:

#include void main() { double x;

printf(\

scanf(\【1】); &x

printf(\【2】/2.0)); } x*x 五、编程题

1.请编写程序其功能是:将两个两位的正整数a、b合并成一个整数放在c中。合并方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。

例如:当a=45,b=12,调用该函数后,c=5241。

2.假设m是一个三位数,则输出将m的个位,十位,百位反序而成的三位数(例如:123反序为321。

作业04 选择结构

一、选择题

1.下面的程序( )。 #include void main()

{ int x =3,y =0,z =0;

if(x =y +z) printf(\); else printf(\); }

.

.

A)有语法错误不能通过编译 B)输出 * * * * C)可以通过编译,但是不能通过连接,因而不能运行 D)输出# # # # 2.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( )。 #include void main( ) { int x;

scanf(\);

if(x++>5) printf(\);

else printf(\); }

A)7和5 B)6和3 C)7和4 D)6和4 3.以下程序的输出结果是( )。 #include void main( )

{ int a =-1,b =4,k;

k =(++a<0)&&! (b- -<= 0);

printf(\); }

A)104 B)103 C)003 D)004 4.能正确表示a≥10或a≤ 0的关系表达式是( )。 A)a >=10or a < =0 B)a >=10| a < =0 C)a >=10& &a < =0 D)a >=10||a < =0

5.假定所有变量以正确说明,下列程序段运行后x的值是( ) a=b=c=0;x =35; if(!a)x--;

else if(b); if(c) x=3;

else x=4;

A)34 B)4 C)35 D6.表示关系X≤Y≤Z的c语言表达式为 ( )。 A)(X < =Y)&&(Y< =Z) B)(X < =Y)AND(Y< =Z) C)(X < =Y< =Z) D)(X < =Y)&(Y <=Z) 7.如下程序的输出结果是( )。 #include void main()

{ int a,b,c =246; a=c/100%9; b=(-1)&&(-1);

printf(\,%d\\n\

A)2,1 B)3,2 C)4,3 D)2, -1

.

。 )3 .

8.当a=1、b=2、c=5、d=5时,执行下面的程序后,x的值是( )。 if(a

if(c

if(b

A)1 B)2 C)3 D)6

9.能正确表示a和b同时为正或同时为负的逻辑表达式是( )。 A)(a>=0||b>=0)&& (a<0||b<=0) B)(a>=0&&b>=0)&& (a<0&&b<=0) C)(a+b>0)&& (a+b<=0) D)a * b >0

10.若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是( )。 A)switch(a +b); B)switch(a +b) { case 1:y =a +b;break; { case 3:

case 0:y =a -b;break; case 1:y =a +b;break;

} case 3:y =b –a,break; } C)switch a D)switch(a –b)

{ case c1:y =a -b;break; { default:y =a *b;break;

case c2:x =a *b;break; case 3:case 4:x=a +b;break;

default: x =a +b; } case 10:case 11:y =a -b;break; } 11.下列关于switch语句和break语句的结论中,正确的是( )。 A)break语句是switch语句中的一部分

B)在switch语句中可以根据需要使用或不使用break语句 C)在switch语句中必须使用break语句 D)break语句只能用于switch语句中

12.设有说明语句“int a =1,b=0;”则执行以下语句后,输出为( )。 switch(a) { case 1: switch(b)

{ case 0:printf(\);break;

case 1:printf(\);break; } case 2:printf(\);break; }

A)* * 0 * * B)* * 0 * * * * 2 * * C)* * 0 * * * * 1 * * * * 2 * * D)有语法错误

13.为了避免在嵌套的条件语句if···else中产生二义性,C语言规定:else子句总是与( )配对。

.