2.4 课后习题

2.4.1 实训

一、实训目的

1.进一步掌握数据类型的分类及不同数据类型间的转换。

2.进一步熟悉常用的运算符和表达式的运算过程。

3.进一步练习运算符的优先级和结合性。

二、实训内容

1.定义一个双精度类型的变量,分别将其转换为整型、长整型和单精度型输出。

2.利用关系运算和逻辑运算表达式,分析闰年的计算方法。

2.4.2 练习题

一、选择题

1.C语言中的标识符只能由字母、数字和下画线3种字符组成,且第一个字符_________。

(A)必须是字母

(B)必须是下画线

(C)必须是字母或下画线

(D)可以是字母、下画线和数字中的任一字符

2.下列说法中错误的是_________。

(A)用户所定义的标识符允许使用关键字

(B)用户所定义的标识符必须以字母或下划画开头

(C)用户所定义的标识符应尽量做到“见名知意”

(D)用户所定义的标识符中,大小写字母代表不同的标识

3.在C语言中,下列各项属于合法的字符常量的是_________。

(A)'\084'

(B)"a"

(C)'ab'

(D)'\0'

4.在C语言中,下列各项属于合法的实型变量的是_________。

(A).e2

(B)1.5E0.5

(C)1.3145e2

(D)e3

5.语句printf ("%c,%d",'b', 'b');的输出结果是_________。

(A)b,98

(B)b 98

(C)98,b

(D)98 b

6.在C语言中,下列变量定义中合法的是_________。

(A)short _a=1-.1e-1

(B)double b=1+5e2.5

(C)long do=0xfdaL;

(D)float 2_and=1-e-3;

7.算术运算符、赋值运算符和关系运算符的优先级按从高到低依次是_________。

(A)算术运算符、赋值运算符、关系运算符

(B)算术运算符、关系运算符、赋值运算符

(C)关系运算符、赋值运算符、算术运算符

(D)关系运算符、算术运算符、赋值运算符

8.逻辑运算符中,优先级按高到低的依次是_________。

(A)&& ! ||

(B)|| && !

(C)&& || !

(D)! && ||

9.以下符合C语言语法的赋值表达式是_________。

(A)d=9+e+f=d+9

(B)d=(9+e,f=d+9)

(C)d=9+e,e++,d+9

(D)d=9+e++=d+9

10.数学中的式子x≥y≥z,在C语言中的表达式为_________。

(A)(x>=y)&&(y>=z)

(B)(x>=y)and(y>=z)

(C)(x>=y>=z)

(D)(x>=y)&(y>=z)

11.在C语言中,若定义x和y为double类型,则表达式x=1,y=x+3/2的值是_________。

(A)1

(B)2

(C)2.0

(D)2.5

12.设a=12,则表达式a+=a-=a*=a的值是_________。

(A)12

(B)144

(C)0

(D)132

13.设整型变量i和j值均为4,则语句j=i++,j++,++i执行后,i和j的值分别是_________。

(A)3,3

(B)6,5

(C)4,5

(D)6,6

14.设有语句int i;char c;float f;,以下结果为整型的表达式是_________。

(A)i+f

(B)i*c

(C)c+f

(D)i+c+f

15.设有语句int n;float f=13.8;,执行n=((int)f )%3后,n的值是_________。

(A)1

(B)4

(C)4.333333

(D)4.6

16.设a=1,b=2,c=3,d=4,则执行表达式a<b?a:c<d?a:d后,结果是_________。

(A)4

(B)3

(C)2

(D)1

17.为表示“a和b都不等于0”,应使用的C语言表达式是_________。

(A)(a!=0)||(b!=0)

(B)a||b

(C)a&&b

(D)!(a=0)&&(b!=0)

18.执行下列程序段时输出结果是_________。

(A)3

(B)2

(C)1

(D)0

19.执行下列程序段时输出结果是_________。

(A)244

(B)164

(C)245

(D)247

20.执行下列程序段时输出结果是_________。

(A)13

(B)14

(C)15

(D)16

二、填空题

1.C语言的基本数据类型分为______________、______________和_______________。

2.C语言的标识符只能由_________________、_________________和________________3种字符组成,而且第一个字符必须为__________________________。

3.C语言中,用关键字__________定义基本整型变量,用关键字__________定义单精度实型变量,用关键字__________定义字符型变量。

4.C语言中字符变量在内存中占________个字节。

5.字符变量使用一对_________界定单个字符,而字符串常量使用一对__________来界定若干个字符的序列。

6.运算符%,||,<<,<=,*=中,优先级最高的是___________,最低的是____________。

7.表达式a=5*3,a*9的值是___________,表达式5.8-5/2+2.2+9%5的值是____________。

8.表达式5%(-3)的值是_____________,表达式-5%3的值是______________。

9.设a为int型变量,则运算表达式a=36/5%3后,a的值为______________。

10.设有语句x=5.6,y=4.6,b=12;,则表达式x+b%4*(int)(x+y)%3/5的值为____________。

11.设x,y,z均为int型变量,请用C语言描述下列命题:

① x和y中有一个小于z__________________________________。

② y是偶数___________________________________________。

③ 3个数中有两个为非负数________________________________。