习题 2

2.1 单选题

1.下列叙述中正确的是( )。

A.C语言中既有逻辑类型也有集合类型

B.C语言中没有逻辑类型但有集合类型

C.C语言中有逻辑类型但没有集合类型

D.C语言中既没有逻辑类型也没有集合类型

2.下列关于C语言用户标识符的叙述中正确的是( )。

A.用户标识符中可以出现下划线和中划线(减号)

B.用户标识符中不可以出现中划线,但可以出现下划线

C.用户标识符中可以出现下划线,但不能放在用户标识符的开头

D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

3.下列4个选项中,( )是合法的用户自定义标识符。

A.b-b

B.float

C.2a

D._isw

4.以下选项中不正确的整型常量是( )。

A.12L

B.-10

C.190 0

D.123U

5.以下选项中,( )是不正确的字符常量。

A."a"

B.'1'

C.'\n'

D.'\101'

6.下列关于自增运算符++和自减运算符--的叙述中正确的是( )。

A.它们的运算对象可以是任何类型的变量和常量

B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量

C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量

D.它们的运算对象可以是char型变量、int型变量、float型变量和double型变量

7.下列表达式中值为0的是( )。

A.3%5

B.3/5.0

C.3/5

D.3.0/5

8.设变量已正确定义并赋值,表达式( )不符合C语言语法。

A.int(3.14)

B.++a

C.a=b=5

D.a=4,3

9.若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。

A.a:=b+1

B.a=b=c+2

C.int 18.5%3 D.a=a+7=c+b

10.若变量已正确定义并赋值,表达式( )不符合C语言语法。

A.a*b/c;

B.3%2

C.2, b

D.a/b/c

11.下列选项中,( )可以将x、y定义成double类型变量,并赋同一初值3.14。

A.double x, y=3.14;

B.double x, y=2*3.14;

C.double x=3.14, y=3.14;

D.double x=y=3.14;

12.若变量已正确定义,表达式“j=3, j++”的值是( )。

A.3

B.4

C.5

D.0

2.2 填空题

1.若x是浮点型变量,则表达式“x=10/4”的值是__________。

2.下列程序段的运行结果为:__________。

            double x1, x2;
            x1=3/2;
            x2=x1/2;
            printf("%d,%.1f", (int)x1, x2) ;

3.执行下列程序段后变量i和j的值为:__________。

            int i=10, j=1;
            (i--,++j);

4.表达式sizeof("hello")的值为__________。

5.表达式“'c'+1”的值为__________,对应的英文字符为__________。

6.设有语句“int a=10;”,请分别填写下列各表达式的值。

(1)a+=a的值为__________。

(2)a+=a-=a*=a的值为__________。

(3)a*=2+4的值为__________。

7.写出下列各程序段执行后相应变量的值。

        (1)    int a,b,c;
                 a=b=c=5;
                 a=++b+(--c);

变量a,b,c的值为__________。

        (2)    int a=4,b=5,c;
                 c=(a=6)+(b=9);

变量a,b,c的值为__________。

        (3)    int  a,b,c;
                 c=(a=5,b=a*4);
                 a=2+6,a*2,a*5;
                 c+=(a=b=3,b=a*c,a+b);

变量a,b,c的值为__________。

8.表达式“'H'-'A'+'0'”的值为__________。