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

.

则二进制b是 11110000 。 15.表达式3&4的值为 0 ,表达式3|4的值为 7 ,表达式3&&4的值为 1 。 三、读程序写结果

1.如下程序的运行结果是( 33 )。 #include void main()

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

printf(“%d%d\\n”,(++x,y++),z+2); } 2.以下程序的输出结果是( 6 )。 #include void main()

{ int a=5,b=4,c=6,d;

printf(“%d\\n”,d=a>b?(a>c? a:c):(b)); }

3.在C语言中,如果下面的变量都是int类型,则输出的结果是( 7 sum=pad=5;

pad=sum++,pad++,++pad; printf(“%d\\n”,pad);

4.以下程序的输出结果是( 9,10 )。 #include void main()

{ int i=010,j=10;

printf(“%d,%d\\n”,++i,j--); }

作业03 基本语句

一、选择题

1.若有说明:double a;则正确输入语句是( )。

A)scanf(“%if”,a) B)scanf(“%lf”,&a) C)scanf(“%if”,&a) D)scanf(“%lo”,&a) 2.合法的C语言赋值语句是( )。

A)a=b=58 B)k=int(a+b) C)a=58,b=58 D)--i; 3.若变量已确定定义,以下程序段输出结果是( )。 x=5.16894;

printf(“%f\\n”,(int)(x*1000+0.5)/(float)(1000)”); A) 输出格式说明与输出项不匹配,输出无定值 B) 5.170000 C) 5.168000 D) 5.169000 4.若有以下程序其输出结果是( )。 int a=0 ,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

.

)。 .

printf(“%d,%d,%d\\n”,a,b,c);

A) 3,0,-10 B) 0,0,5 C) -10,3-10 D) 3,0,3 5.以下程序其输出结果是( )。 #include void main()

{ int a=2 , b=5;

printf(“a=%%d,b=%%d\\n”,a,b); }

A) a=%2,d=%5 B) a=2,b=5 C) a=%%d,b=%%5 D) a=%d,b=%d 6.以下程序段输出结果是( )。 float a=3.1415;

printf (“|%6.0f|\\n”,a,b);

A) |3.1415| B) | 3.0| C) | 3| D) |3. | 7.以下程序段输出结果是( )。 float a=57.666;

printf(“*0.2f*\\n”,a);

A)*0000057.66 B) *57.66* C) *00000.57.67* D) *57.57*

8.若变量c定义为float型,当从终端输入283.1900后按回车,能给变量c赋以283.19的输入语句是( )。

A)scanf(“%f”,c); B)scanf(“%8.4f”,&c); C)scanf(“%d”,&c) D)scanf(“?”,&c); 9.若有以下定义语句,则输出结果是( )。 int u=010,v=0x10,w=10;

printf(“%d,%d,%d\\n”,u,v,w);

A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,10 10.下面程序的输出是( )。 #include void main() { int k=11;

printf(“%d,%o,%x\\n”,k,k,k); }

A)12,11,11 B)11,13,13 C)11,013,0xb D)11,13,b 11.下面程序的输出结果是( )。 #include main()

{ int x=5,y=3;

printf(“%d\\n”,y=x/y); }

A)0 B)1 C)3 D)不确定的值

12.若变量已正确定义,下面程序段的输出结果是( )。//与3类似 x=5.238794;

.

.

printf(“%f\\n”,(int)(x*1000+0.5)/(float)1000);

A)5.239000 B)输出格式说明与输出项不匹配,输出无定值 C)5.238000 D)5.24 13.下面语句的输出结果是( )。 print(\

A)|61.45000| B)|3461.450| C)|3461.45000| D)|3461.4500| 14.执行下面程序中的输出语句后,a的值是( )。 #include void main() { int a;

printf(\A)65 B)20 C)15 D)10

15.以下程序不用第三个变量,实现将两个数进行对调的操作,请填空( #include main()

{ int a,b;

scanf(\

printf(\ a=a+b;b=a-b;a=_____;

printf(\A)a=b B)a-b C)b*a D)a/b 16.以下程序的输出结果是( )。 #include void main()

{ int m=7,n=4;

float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2;

printf(\

A)27.000000 B)27.500000 C)28.000000 D)28.500000 17.若变量都已正确说明,则以下程序段输出结果是( )。 a=2; b=3;

printf(“a>b?***a=%d;###b=%d”,a,b); ?????

A)没有正确的输出格式控制 B)输出为:****a=2

C)输出为:###b=2 D)输出为:***a=2###b=2

18.若已定义int a=256;,执行语句printf(\的结果是( )。A)100 B)256 C)ffe D)ff

19.执行下列程序时输入1234567,程序的运行结果为( )。

.

)。 .

#include void main( ) { int x,y;

scanf(\ printf(\+y); }

A)17 B)46 C)15 D)9

20.已知int a,;int b;float c;double d;,则表达式a*b==c-d结果为( )型。???? A)Double B)int C)float D)char

21.已知int a,b;,用语句scanf(\输入a,b的值时,不能作为输入数据分隔符的是( )。

A), B)空格 C)回车 D)[Tab]键 22.语句printf(\的输出结果是( )。 A)无输出 B)结果不确定 C)-1 D)1 23.下述程序的输出结果是( )。 #include void main()

{ printf(\

A)2.50000 B)2.750000 C)3.375000 D)3.000000 二、填空题

1.变量i、j、k已定义为int类型并有初值0,用以下语句进行输入: scanf(“%d”,&j);scanf(“%d”,&k);

当执行以上输入语句,从键盘输入(代表回车键): 12.3

则变量i、j、k的值分别是 0,12,0 。

2.复合语句在语法上被认为是 一条语句 ,空语句的形式是 ; 。 3.C语句句尾用 ; 结束。 4.运行如下程序:

#include void main() { int a,b,c;

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

运行时,输入3、4、5,输出的值为 3,4,5 。

5.字符常量使用一对 ' 界定单个字符,而字符串常量使用一对 \ 来界定若干个字符的序列。

6.设x=2.5,a=7,y=4.7, 则x+a%3*(int)(x+y)%2/4为 2.5 。 7.自增运算符(++)或自减运算符(--)只能用于 变量 ,不能用于 常量或表达式 。 8.表达式5%(-3)的值是 2 ,表达式-5%(-3)的值是 -2 。

.