c语言程序设计习题集 下载本文

4.设x,y,z为整形变量,若从键盘给x,y,z输入数据,则正确的输入语句是________。 A.INPUT x,y,z; B,scanf(“%d%d%d”,&x&y&z); C.scanf(“%d%d%d”,x,y,z); D.read(“%d%d%d”,&x,&y,&z); 答案 B;

5.若变量以明确说明为int类型,要给a,b,c输入数据,则正确的输入语句是_______。 A.scanf(“%d%d%d”,&a,&b,&c); B.scanf(“%d%d%d”,a,b,c); C.scanf(“%D%D%D”,&a,&b,&c); D.scanf(“%d%d%d”,&a;&b;&c); 答案 A;

6.设以下各变量均为int类型,则以下函数调用正确的是_______.。

A,getchar(); B.putchar(); C.putchar(?\\108?); D.scanf(“%d%d%*2d”,&a;&b); 答案 A;

7.下列程序的输出结果是_________。 main()

{int x=023;

prinf(“%d\\n”,- - x);}

A .22 B.23 C18 D. 19 答案 C;

8 .下列程序的输出结果是_________。 main()

{int a=1 , b=2 ;

printf(“%d\\n”,a=a+1,a+6,b+2); } A.2 B. 3 C.4 D.1 答案 A;

9 .下列程序的输出结果是_________。 main()

{int a=1 , b=2 ; printf(“%d\\n”,(a=a+1,a+6,b+2)); } A.2 B. 3 C.4 D.1 答案 C;

10.已知a,b,c为float类型,执行语句:scanf(“%f %f %f”,&a,&b,&c);使得a为10,b为20,c为30,则以下不正确的输入形式是__________. A 10 B.10.0 20 30

C/10.0 D10 20

20.0 30.0 30 答案 B;

11.若变量已正确定义,现要将a 和b 中的数据进行交换,下面不正确的是()

A.a=a+b,b=a-b,a=a-b B.t=a,a=b,b=t C.a=t;t=b;b=a D.t=b;b=a;a=c 答案:C

12.执行下列程序后输出结果是() main() {

int a=1,b=2,c=3;

c=(a+=a+2),(a=b,b+3);

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

A.2,2,4 B.4,2,3 C.4,2,5 D.5,5,3 答案:A

13.执行下面程序: Main() { Int a;

Float b,c;

Scanf(“-?O”,&a,&b,&c);

Printf(“\\na=%d,b=%.1f,c=%.1f\\n”,a,b,c);

}

运行时,从键盘上输入12345654321 ,则输出结果是() A a=12, b=345, c=6543. B. a=12, b=123, c=1234

C.a=12 b=345.0, c=6543.0 D. a=12.0 b=345.0 c=6543.0 答案:C

14.执行下面程序: Mian()

{

Int a=3, b=7;

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

}

则输出结果是()

A. a=%3, b=%7 B a=%d, b=%d C. a=%%d , b=%%d D.a=3, b=7 答案:B

15.下面程序输出的结果是() #include Mian() {

Short a=-1;

Printtf(“%hd,%ho,%hu\\n”,a,a,a); }

A -1, -1, -1. B.-1, -77777, -32768

C. -1, 177777, -32768 D. -1, 177777, 65535 答案:D

16.下列程序执行后的输出结果是__________。 main() {int x=?d?;

printf(“%c\\n”,?A?+(x-?a?+1));}

A. G B. H C. E D. J 答案:C

17.若有以下程序段,执行后的输出结果是_____。 Int a=3;

printf(“%d\\n”,(a+=a-=a*a));

A.—6 B.12 C.0 D.—12 答案:D

18.下列程序的输出结果是_________。 main() {float d=2.2; Int x,y;

x=6.2;

y=(x+3.8)/5.0;

printf(“%d\\n”,d*y);}

A. 4 B. 随机数 C. 2 D. 0 答案:B

19.运行下面程序后,输出结果是__________。 main()

{int a=5,b=3;

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

A. 5 B. 1 C. 3 D. 2 答案:B

20.有以下程序,请问执行后的输出是_______。 main()

{int a=010,b=10,c=0x10;

printf(“%d,%d,%d”,a- -,++b,c++);}

A. 8,10,16 B. 8,11,16 C. 7,10,17 D. 8,10,17 答案:B

填空

1. 函数getchar()的功能是____________,其调用形式ch=getchar()与_____________功能相

同;函数outchar()的功能是___________,putchar(ch)与_________功能相同。这两个函数在使用的同时,都必须在main函数之前写入_________。

答案:从键盘读入一个字符 scanf(“%c”,&ch) 在屏幕上输出一个字符

Printf(“%c”,ch) #include 2. 在printf()函数中,“%d”表示________,“%x”表示__________,“%7.2f”表示_________,

“%c”表示__________,“%s”表示________“%o”表示__________.

答案:按十进制整数形式输出,有字符

按十六进制整数形式输出,没有字符

按十进制小数形式输出,输出的数据长度为7,有2位小数 按字符形式输出一个字符

按字符串形式输出一个字符串

按八进制整数形式输出,没有字符

3. 在scanf()函数中,“%d”表示_______,“=”表示_________,“%*3d”表示____________,

“%c”表示__________.

答案:按十进制整数形式输入数据

按十进制整数形式输入3位数据 跳过3位十进制数据

按字符形式输入一个字符

4. 复合语句在语法上被认为是___________,空语句的形式是____________,c语言中,语句

的标志是________. 答案:分程序 ; ; 5. printf函数中用到格式%5s,其中5表示输出字符占5列,如果字符串长度大于5,则按

________输出;如果字符串小于5,则按_________输出. 答案:实际宽度 左边补空格

6.以下程序段的输出结果是 Int x=0177;

Printf(“x==,x=m,x=`,x=%6x,x=%6u\\n”,x,x,x,x,x); 答案x=127,x=127,x=177,x=7f,x=127

7.变量I,j,k已经定义为int型并有初值0,用以下语句输入时:scanf(“%d”,&i); Scanf(“%d”,&j);scanf(“%d”,&k);当执行第一个输入语句,从键盘输入:12.3,则i,j,k的值分别是 答案:12, 0 , 0 .

8.执行以下程序:运行结果为. #include main() {

Char x=?k?;

Printf(“%c\\n”,?A?+(x-?a?+1)); }