第3章  数据类型、运算符与表达式
习 题 答 案
一、 选择题
1.以下表示正确常量的是(  )。
(A) E-5      (B) 1E5.1      (C) 'a12'      (D) 32766L
【答案】D
2.若有定义:int a=1,b=2,c=3,d=4,x=5,y=6; 则表达式 (x=a>b)&&(y=c>d) 的值为(  )。
(A)0         (B) 1          (C) 5          (D) 6
【答案】A
3.以下(  )是正确的字符常量。
(A)"c"          (B) '\\''          (C) 'W'          (D) "\32a"
【答案】C
4.以下(  )是不正确的字符串常量。
(A) 'abc'      (B) "12'12"      (C) "0"          (D) " "
【答案】A
5.以下是正确的浮点数的是(    )。
(A)e3          (B) .62          (C) 2e4.5      (D) 123
【答案】B
6.若有定义:int a=2; 则正确的赋值表达式是(  )。
(A)a-=(a*3)      (B) double(-a)      (C) a*3      (D) a*4=3
【答案】A
7.若有定义:int x=1111,y=222,z=33;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为(    )。   
(A)111122233            (B)1111,222,33
(C)1111  222  33        (D)1111+222+33
【答案】D
8.已有如下定义和输入语句:
int a,b;
scanf("%d,%d",&a,&b);     
若要求a、b的值分别为11和22,正确的数据输入是哪一个?(    )
(A)11 22      (B)11,22      (C)a=11,b=22      (D)11;22
【答案】B
9.已有如下定义和输入语句,
int a; char c1,c2;
scanf("%d%c%c",&a,&c1,&c2);
若要求a、c1、c2的值分别为40、A和A,正确的数据输入是(  )。             
(A) 40AA      (B) 40  A A      (C) 40A  A      (D) 40,A,A
【答案】A
10.语句a=(3/4)+3%2;运行后,a的值为(    )。
(A) 0          (B) 1          (C) 2          (D) 3
【答案】B
11.char型变量存放的是(    )。
(A) ASCII代码值          (B) 字符本身 
(C) 十进制代码值          (D) 十六进制代码值
【答案】A
12.在下列运算符中,优先级最高的运算符是(    )。
(A) <=          (B) !=          (C) !          (D) ||
【答案】C
13.设单精度型变量f、g的值均为2.0,使f为4.0的表达式是(  )。
(A) f+=g          (B) f-=g+2          (C) f*=g-6          (D) f/=g*10
【答案】A
14.若有定义:int i=7,j=8;则表达式 i>=j||i<j 的值为(    )。
(A) 1      (B) 变量i的值      (C) 0      (D) 变量j的值
【答案】A
15.若希望当a的值为奇数时,表达式的值为"真",a的值为偶数时,表达式的值为"假"。则不能满足要求的表达式是(  )。
(A) a%2==1      (B) !(a%2==0)          (C) !(a%2)      (D) a%2
【答案】C
16.若有定义:int x=3,y=4,z=5;则值为0的表达式是(    )。
(A) 'x'&&'y'      (B) x<=y      (C) x||y+z&&y-z          (D) !((x<y)&&!z||1)
【答案】D
17.若有定义:float x=3.5;int z=8;则表达式 x+z%3/4 的值为(  )。
(A) 3.75          (B) 3.5          (C) 3          (D) 4
【答案】B
18.已知char a='R'; 则正确的赋值表达式是(    )。
(A) a=(a++)%4          (B) a+2=3          (C) a+=256--          (D) a='\078'
【答案】A
19.若有定义:int b=7; float a=2.5,c=4.7;则表达式a+(b/2*(int)(a+c)/2)%4的值是(    )。
(A) 2.5      (B) 3.5          (C) 4.5          (D) 5.5
【答案】C
20.若已定义:int i=3,k;  则语句 k=(i--)+(i--); 运行后k的值为(    )。
(A) 4          (B) 5          (C) 6          (D) 7
【答案】C
21.若已定义:int a=5;float b=63.72;  以下语句中能输出正确值的是(    )。
(A) printf("%d %d",a,b);                  (B) printf("%d %.2f",a,b);
(C) printf("%.2f %.2f",a,b);                  (D) printf("%.2f %d",a,b);
【答案】B
22.C语言中,能正确表示条件10<x<20的逻辑表达式是(    )。
(A) 10<x<20          (B) x>10 || x<20
(C) x>10 && <20      (D) (x>10) && (x<20)
【答案】D
23.若表达式!x的值为1,则以下哪个表达式的值为1(    )。
(A) x==0          (B) x==1          (C) x=!1          (D) x!=0
【答案】A
24.语句x=(y=3,b=++y);运行后,x、y、b的值依次为(    )。               
(A)4,4,3        (B)3,3,3        (C)4,4,4        (D)4,3,4
【答案】C
25.若有定义:int x,c;则语句x=(c=3,c+1);运行后,x,c的值分别是(    )。
(A)3,3        (B)4,4        (C)3,3        (D)4,3
【答案】D
26.语句a=(6/8)+6%5;运行后,a的值为(    )。
(A)1        (B)2        (C)1.75        (D)1.2
【答案】A
27.若有定义:int x,y;则表达式(x=2,y=5,x*2,y++,x+y)的值是(    )
(A)7        (B)8        (C)9        (D)10
【答案】B
28.对代数式(4ad)/(bc),正确的C语言表达式是(    )。
(A)a/b/c*d*4    (B)4*a*d/b/c    (C)4*a*d/b*c    (D)a*d/c/b*4
【答案】C
29.若x和y为整数,以下表达式中不能正确表示数学关系|x-y|<10的是(  )。
(A)abs(x-y)<10                    (B)(x-y)>-10&&(x-y)<10
(C)!(x-y)<-10||!(y-x)>10          (D)(x-y)*(x-y)<100
【答案】C
30.若有以下程序段,则z的二进制值是(    )。
int x=3,y=6,z;
z=x^y<<2;
(A)00010100                    (B)00011011
(C)00011000                  (D)00000110
【答案】B
二、  填空题
1.表达式3/5的值是:        ,5.0/7的值是        ,5%7的值是     
【答案】0  0.7    5
2.以下程序运行的结果是:       
void  main()
    {
    char c;
    c=’B’+32;
    printf(“%c\n”,c);
    }
【答案】b
3.若有定义:int a=5,b=4;char c1='A',c2='B';则表达式a+b%5+c2-c1的值是       
【答案】10
4.若有定义:int b; 则语句b=9/5+ 9%5;运行后,b的值为       
【答案】5
5.若已定义:int a=9,b=11,c;  则语句c=a>b; 运行后c的值为       
【答案】0
6.若有定义:int a=2,b=3; float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值是   
【答案】3.5
7.已知double a=5.2; 则语句a+=a-=(a=4)*(a=3);运行后a的值为       
【答案】-18.0
8.若有定义:int x,y;则表达式(x=2,y=5,x++,x+y++)的值是     
【答案】8
9.若有定义:int m=3,n=5;则表达式(m+1,n+1,(--m)+(n--))的值是         
【答案】7
10.c语言正确的字符常量若有定义:int x=3,y=4;则表达式 !x||y 的值为     
【答案】1
11.若有定义:int a=5,b=2,c=1;则表达式a-b<c||b==c的值是     
【答案】0
12.若有定义:int a=2,b=2,c=2; 则语句 ++a||++b&&++c;运行后b的值为       
【答案】2
13.以下程序段中,要将a的值的低4位取反,b的值应取     
    unsigned char a=0x39,b;
    b=      ;
    a=a^b;
【答案】15或0xf
14.pow(3.0,2.0)的函数值是      
【答案】9.0
15.若有定义:int k,i=3,j=3; 则表达式 k=(++i)*(j--) 的值是         。             
【答案】12
三、程序设计题
1. 编写程序,从键盘输入大写字母,用小写字母输出。
    【参考答案】
void main
{
    char c1;
    printf(input a uppercase:);
scanf(%c,&c1);
    c1=c1+32;    /*在ASCII表中,小写字母的ASCII值比对应的大写字母大32*/
    printf("%c\n", c1);
}
2. 编写程序,从键盘输入一个矩形的长度和宽度,输出面积和周长。
    【参考答案】
void main
{
    float len,wid,size;        /*len,wid,size分别表示矩形的长、宽、面积*/
    printf("input length:");
    scanf("%f",&len);
    printf("input width:");
    scanf("%f",&wid);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。