搜档网
当前位置:搜档网 › 教材课后题答案-第2章

教材课后题答案-第2章

习题2

一、单项选择题

1.下面为合法的C语句是【B 】。

A.#define MY 100

B.a=25;

C.a=b=100

D./*m=100;*/

2.下面叙述中,正确的是【D 】。

A.C程序中所有的标识符都必须小写

B.C程序中关键字必须小写,其他标识符不区分大小写

C.C程序中所有的标识符都不区分大小写

D.C程序中关键字必须小写,其他标识符区分大小写

3.下面标识符中,【D 】不是C语言关键字。

A.char

B.goto

C.case

D.Switch

4.下面标识符中不合法的用户标识符是【A 】。

A.float

B._123

C.Sun

D.XYZ

5.下面数据中不是C语言常量的是【A 】。

A.e-2

B.074

C. 0

D.“a”

6.下面不正确的转义符是【C 】。

A.…\\?

B.…\??

C. (19)

D. 0

7.设t是double类型变量,表达式t=1,t+2,t++的值是【D 】。

A.4.0

B.3.0

C.2.0

D.1.0

8.若变量已正确定义并赋值,下面合法的表达式是【B 】。

A.(int) a=b+7

B.a=7+b+c,++a

C.int (12.3%4)

- 1 -

D.a=a+2=c+b

9.设a是整型变量,下面不能正确表达数学关系10

A.10

B.a==11||a==12||a==13||a==14

C.a>10 && a<15

D.!(a<=10)&&(a>=15)

10.能够正确表示a不等于0为真的关系表达式是【C 】。

A.a=0

B.a≠0

C.a

D.!a

11.设有int a=04,b;变量定义,则表达式b=a<<2的值是【D 】。

A.1

B.4

C.8

D.16

二、填空题

1.C程序中的注释说明必须以开头,以结束。

答案:/*,*/

2.C语言的标识符只能由字母,数字和三种字符组成。

答案:下画线

3.在C语言中,字符串常量”How└┘are└┘you?\nI└┘am└┘fine.”的长度是个字节(其

中└┘表示空格),它在内存中存储时需要占用个字节的存储空间。

答案:23,24

4.定义字符变量ch,并使它的初值为数字字符?5?的变量定义语句是。

答案:char ch=?5?;

5.若定义float x=70.3;则表达式(long)x*?A?+38.5的值是类型。

答案:双精度实型(double)

6.若定义int a=3,b=2,c;则表达式c=b*=a-1的值为。

答案:c=b*=a-1相当于c=b=b*(a-1)=2*(3-1)=4

7.表达式9/2*2==9*2/2的值是。

答案:9/2*2=(9/2)*2=4*2=8,9*2/2=(9*2)/2=18/2=9,8==9的值是0

8.表达式(!10>3)?2+4:1,2,3的值是。

答案:该逗号表达式由条件表达式、2和3构成,逗号表达式的值为最后一个表达式的值,故为3

9.若定义了int a=1,b=15;在执行了--a&&b++; 语句后,b的值为。

答案:--a为先自减运算,及先做a=a-1=0,再取a的值0参与表达式运算,由于逻辑与运算的短路性质,其一个操作数为0,则无论另一个操作数的值为多少整个逻辑与的结果都已确定,故b++不会被执行,所以b的值仍为15

10.表达式10||20||30的值是。

答案:1

11.表达式10&0xd+06的值是。

答案:十进制10的二进制代码为1010B,十六进制数0xd的二进制代码为1101B,按位与的结果为1000B,即十进制数8,8+06=14

- 2 -

三、读程序写结果

1.#include

void main( )

{

int i=5, j=6, m=i+++j;

printf(“%d,%d,%d\n”,i,j,m);

}

答案:6,6,11

2.#include

void main( )

{

double f=3.14159;

int n;

n=(int)(f+10)%3;

printf(“%d \n”,n);

}

答案:1

3.#include

#include

void main( )

{

char s[ ]=”ab\n\\\?\r\b”;

printf(“%d,%d \n”,sizeof(s), strlen(s));

}

答案:8,7

4.#include

void main( )

{

int a=2, b=4, c=6, x, y;

y=(x=a+b),(b+c);

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

}

答案:y=6,x=6

5.#include

void main( )

{

int i, j, x, y;

i=5; j=7;

x=++i;

y=j++;

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

}

答案:6,8,6,7

- 3 -

相关主题