C语言(顺序结构)习题与答案

C语言(顺序结构)习题与答案
C语言(顺序结构)习题与答案

一、单选题

1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序编译时出错。main()

/*Beginning */

{ int r; float s;

scanf("%d",&r);

s=π*r*r; printf("s=%f\n",s);

}

出错的原因是()。

A.计算圆面积的赋值语句中使用了非法变量

B.存放圆半径的变量r不应该定义为整型

C.注释语句书写位置错误

D.输出语句中格式描述符非法

正确答案:A

解析: A、π这个符合不是C语言的合法标识符,应提前进行常量定义

2、有以下程序

main()

{ int m=12,n=34;

printf("%d%d",m++,++n);

printf("%d%d\n",n++,++m);

}

程序运行后的输出结果是()。

A.12343514

B.12353514

C.12343513

D.12353513

正确答案:B

解析: B、m++ ++在m后,先使用m的值输出,后给m增1

++m,++在m前,先给m的值增1后,再输出m

3、有定义语句:int b;char c[10]; ,则正确的输入语句是()。

A.scanf("%d%s",b,c);

B.scanf("%d%s",&b,&c);

C.scanf("%d%s",b,&c);

D.scanf("%d%s",&b,c);

正确答案:D

解析: D、输入语句整型变量 b 需要取地址 &,c是数组名,本身就代表地址,所以不需要取地址符&

4、有以下程序

main()

{ int m,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

printf("%d%d%d\n",m,n,p);

}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()。

A.123 456 789

B.m=123 n=456 p=789

C.m=123n=456p=789

D.m=123,n=456,p=789

正确答案:C

解析: C、输入语句中出现普通字符要按原样输入

5、有以下程序

main()

{ int a; char c=10;

float f=100.0; double x;

a=f/=c*=(x=6.5);

printf("%d %d %3.1f %3.1f\n",a,c,f,x);

}

程序运行后的输出结果是()。

A.1 65 1.0 6.5

B.1 65 1 6.5

C. 1 65 1.5 6.5

D.2 65 1.5 6.5

正确答案:C

二、填空题

1、有以下程序

main()

{ int m=3,n=4,x;

x=-m++;

x=x+8/++n;

printf("%d\n",x);

}

程序运行后的输出结果是_______ 。

正确答案:-2

解析: x=-m++; 之后 x=-3 m=4

x=x+8/++n; 注意运算优先级先计算8/++n 既8/5=1,之后计算 x=-3+1 x的值为-2

2、有以下程序

main( )

{

int x=102,y=012;

printf(“%2d,%2d\n”,x,y);

}

执行后输出结果是_______ 。

正确答案:102,10 或 102,10

解析: %2d,小于数值实际宽度,按数值实际宽度输出012是八进制数十进制输出为10

3、以下程序的输出结果是___________。

main()

{ int a=177;

printf("%o\n",a);

}

正确答案:261

4、以下程序的输出结果是___________。

main()

{ int a=0

a+=(a=8);

printf("%d\n",a);

}

正确答案:16

5、若有语句

int i=-19,j=i%4;

printf("%d\n",j);

则输出结果是___________。

正确答案:-3

相关主题
相关文档
最新文档