2024年4月27日发(作者:)

练习1-1答案

选择题

1.下列4组字符串中都可以用作C语言程序中的标识符的是( D )。

A.print 3d oodb B.Im one_half start$it

C.Pxq my->book line# D.str_1 Cpp into

2.下面的说法正确的是( C )。

A.C程序由符号构成 B.C程序由标识符构成

C.C程序由函数构成 D.C程序由C语句构成

3.与十进制数35相等的二进制数是( A )。

A.100011 B.01001 C.100110 D.100101

4.与47值相等的十六进制数是( A )。

A.2F B.215 C.32F D.115

5.(01101)

2

+ (101101)

2

的值是( B )。

A.(101010)

2

B.(3A)

16

C.(2A)

16

D.57

6.将15向左移动2位后的值是( D )。

A.(3C)

16

B.(00111100)

2

C.(60)

10

D.都正确

7.将250与5进行按位与的结果是( A )。

A.0 B.1 C.(FF)

16

D.(F0)

16

8.将(AF)

16

与(78)

16

进行按位异或的结果是( A )。

A.(D7)

16

B.(28)

16

C.(D8)

16

D.(27)

16

9.将(717)

8

按位取反的结果是( B )。

A.(110001)

2

B.(060)

8

C.(60)

10

D.都不正确

练习2-1答案

选择题

1.C语言中的简单数据类型包括( B )。

A.整型、实型、逻辑型 B.整型、实型、字符型

C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型

2.在C语言中,错误的int类型的常数是( A )。

A.32768 B.0 C.037 D.0Xaf

3.下列常数中不能作为C的常量的是( D )。

A.0x45 B.-2 C.3e2 D.0582

4.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是( B )。

A.0至255 B.0~65535 C.-32768~32767 D.-256~255

5.下面4个选项中,均是合法转义字符的选项是( A )。

A.''','','n' B.'','017',''

C.'018','f','xab' D.'0,'101','x1f

6.在C语言中,数字029是一个( D )。

A.八进制数 B.十六进制数 C.十进制数 D.非法数

7.下列可以正确表示字符型常数的是( B )。

A."a" B.'t' C."n" D.297

8.以下( C )是错误的转义字符。

A.'' B.''' C.'81' D.'0'

9.C语言中整数-8在内存中的存储形式是( A )。

A.1111 1111 1111 1000 B. 1000

C. 1000 D.1111 1111 1111 0111

10.将字符g赋给字符变量c,正确的表达式是( C )。

A.c="g" B.c=101 C.c='147' D.c='0147'

11.字符串"22a,0n"的长度是( C )。

A.8 B.7 C.6 D.5

12.为求出s=10!的值,则变量s的类型应当为( D )。

A.int B.unsigned C.long D.以上三种类型均可

13.已知:unsigned int x=65535;,则执行以下语句输出是( D )。

printf("%dn", x);

A.65535 B.1 C.无定值 D.-1

14.下面4个选项中,均是合法整型常量的选项是( A )。

A.160,-0xffff,011 B.-0xcdf,01a,0xe

C.-01,986,012,0668 D.-0x48a,2e5,0x

15.下面4个选项中,均是不合法的整型常量的选项是( D )。

A.--0f1,-0xffff,0011 B.-0Xcdf,01a,0xe

C.-018,999,5e2 D.-0x48eg,-068,03f

16.下面4个选项中,均是合法浮点数的选项是( B )。

A.+1e+1,,03e2 B.,12e-4,-8e5

C.123e,,+2e-1 D.-e3,.8e-4,

练习2-2答案

选择题

1.已知:char a; int b; float c; double d;,执行语句c=a+b+c+d;后,变量c的数据类型

是( C )。

A.int B.char C.float D.double

2.已知int j, i=1;,执行语句j=-i++;后,j的值是( C )。

A.1 B.2 C.-1 D.-2

3.已知int i, a;,执行语句i=(a=2*3, a*5), a+6;后,变量i的值是( C )。

A.6 B.12 C.30 D.36

4.已知int i=5;,执行语句i+=++i;,i的值是( C )。

A.10 B.11 C.12 D.A、B、C答案都不对

5.已知:float x=1, y;,则表达式y=++x*++x的结果为( B )。

A.9 B.6 C.1 D.表达式是错误的

6.已知:int y; float x=-3;,执行语句:y=x%2;,则变量y的结果是( D )。

A. 1 B.-1 C.0 D.语句本身是错误的

7.已知:char w; int x; float y; double z;,则表达式w*x+z-y结果的类型是( D )。

A.float B.char C.int D.double

8.已知:int x=10, y=3, z;,则下列语句的输出结果是( D )。

printf("%dn", z=(x%y, x/y));