2.2.3 同步自测 C语言程序设计实验与习题指导 习题答案

2.2.3同步自测

一、选择题

1.如a为int型,则与表达式a等价的C语言关系表达式是(B)。

(A)a>0       (B)a!=0       (C)a==0       (D)a<0

2.运行完下列程序后,在屏幕上的内容是(D)。

void main ()

{ int a=0;

  a+=(a=12);

  printf ("%d\n",a);

}

(A)0         (B)6        (C)12        (D)24

3.若x,y为实数类型的变量,要判断x,y相等,最好使用下列关系表达式( D)。

(A)x==y                     (B)x-y==0

(C) fabs(x-y)<1e-8           (D)labs(x-y)<1e-8

4.执行下面程序中输出语句后,a的值是(C)。

#include<stdio.h>

main( )

{  int a;

printf("%d\n",(a=3*5,a*4,a));

}

(A)65        (B)20         (C)15          (D)10

5.若变量t为double类型,表达式(t=1,t+5,t)的值是(C)。

(A)1         (B)6.0        (C)1.0         (D)6

6.下述程序的输出结果是(B)。

#include <stdio.h>

void main()

{ int a,b,c=241;

  a=c/100%9;

  b=-1&&-1;

  printf("%d,%d\n",a,b);

}

(A)2,0        (B)2,1       (C)6,1      (D)0,-1

7.设有C语句:int x=3, y=4,z=5;,则下面表达式中值为0的是(D)。

(A)x&&y                    (B)x<=y

(C)x||y+z&&y-z             (D)!((x<y)&&!z||1))

8.位运算中,操作数每左移一位,在没有溢出的情况下其结果相当于(A)。

(A)操作数乘以2             (B)操作数除以2

(C)操作数除以4             (D)操作数乘以4       

9.下面程序运行后,变量m的值为(C)。

#include<stdio.h>

void main()

{ int m,n,k;

  m=(n=4)+(k=10-7);

  printf(〞m=%d\n〞,m);

}

(A)4          (B) 3           (C)7           (D)14

10.有定义int a=3,b=4,c=5;执行完表达式a++>--b&&b++>c--&&++c后,

a,b,c的值分别为(B)。

(A)3  4  5     (B) 4  3  5     (C) 4  4  4    (D) 4  4  5

11.在下列选项中,不正确的赋值语句是(D)。

(A)t/=5;     (B)n1=(n2=(n3=0));  (C) k=i==j;    (D) a=b+c=1;

12.在以下的四个运算符中,优先级最低的运算符是(D)。

(A)<=          (B)/            (C)!=          (D)&&

13.设x,y分别为单精度和双精度类型变量,则下列选项(D)可将表达式x+y的运算结果强制转换为整型数据。

(A) (int)x+y    (B)int(x)+y    (C)int(x+y)  (D)(int)(x+y)

14.执行下面C语言序列后,变量b的值是(D)。

int  a,b,c; a=b=c=1; ++a||++b&&++c;

(A)错误      (B)0          (C)2         (D)1

15.设有整型变量a, 实型变量f,双精度型变量x,则表达式a+′b′+x*f值

的类型为(C)。

(A)int     (B)float      (C)double         (D)不能确定

16.C语言用(D)表示逻辑真值。

(A)true       (B)T           (C)整型值0       (D)非0整型值

17.已知:int x=1,y=2,z=0,则执行z=x>y?(10+x,10-x):(20+y,20-y)后,

z的值为(C)。

(A)11      (B)9          (C) 18            (D) 22

18.若已定义x和y为double类型,则表达式x=2,y=x+10/4的值是(C)。

(A)2       (B)4          (C)4.0            (D) 4.5

19.设有定义int m=1,n=-1;则执行语句printf(〞%d\n〞,(m--&&++n));后的

输出结果是(B)。

(A)-1      (B)0          (C) 1             (D) 2

20.假设有int x=11;,则表达式(x++*1/3)的值是(A)。

(A)3         (B)12        (C)11           (D)0

21.在C语言中,要求运算数必须是整型的运算符是(D)。

(A)/      (B)++       (C)!=        (D)%

22.若程序中需要表示关系x≥y≥z,应使用C语言表达式为(A)。

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

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

23.若有C语句int k=5;float x=1.2;,则表达式(int)(x+k) 的值是(D)。

(A)5     (B)6.2      (C) 7         (D) 6

24. 在执行语句if((x=y=2)>=x&&(x=5))  y*=x;后变量x,y的值应分别为(C)。

(A)2、2      (B)5、2       (C)5、10      (D) 执行时报错

25.下面程序的输出结果为(A)。

#include<stdio.h>

void main()

{ int x=1,y=1,z;

z=1||++x&&y--;

printf(〞\n%d,%d,%d〞,x,y,z);

}

(A)1,1,1      (B)2,0,1      (C)2,1,1     (D)2,0,0

26.设有int  i=3,j=9;则表达式k=i++*--j的值为(B)。

(A)32      (B)24        (C)27         (D)36

27.表达式k=(12<10)?4:1?2:3的值为(B)。

(A)1       (B)2          (C) 3           (D) 4

28.设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是(D)。

(A)3      (B)0       (C)9        (D)-12

29.若有 float x=2.5,y=4.7;int a=7; 则表达式x+a%3*(int)(x+y)%2/4的值为(D)。

(A) 4.0       (B)3.0         (C) 2.75        (D) 2.5

30.设有int a=3,b=10,k=0;则表达式k=a++/--b执行后,k的值为(D)。

(A)3        (B)5        (C)0.333333    (D)0

31.字符串〞\101\102\x43\x44〞的长度为(A)。

(A)4        (B)1        (C)16         (D)17

32.已知:int x=1,y=2,z=0;则执行:z=x>y?10:20,z的值为(B)。

(A)10        (B)20        (C)1           (D)2

33.表达式11&10的结果用二进制表达为(D)。

(A)11       (B)3        (C)1          (D)10

34.执行下面的程序段后,b的值为(B)。

int  x=35;

char  z=′A′;

int  b;

b=((x&5)&&(z<′a′));

(A)0        (B)1          (C)2          (D)3

35.设有以下语句:int a=3, b=6,c;  c=a^b<<2; 执行后c的低8位二进制值是(A

(A)00011011    (B)00010100      (C)00011100    (D)00011000

 

第二篇:C语言程序设计实验报告-5

实验五

一、

二、

三、

四、

1. 实验项目名称:循环结构程序设计 实验时间: 实验地点: 实验目的: 进一步练习使用C语言来表示具有逻辑运算符和关系运算符的混合表达式。

2. 熟练掌握while语句、do_while语句和for语句。

3. 掌握迭代的算法。

4. 掌握穷举的算法;

5. 掌握循环的嵌套

五、 主要的实验所需仪器、设备:PC机。

六、 实验内容与步骤:

1. 完成教材P113习题2

i. 按要求编写程序,写出源程序:

ii. 运行结果是:

iii. 与人工分析程序所得结果是否一致,有何结论:

2. 求1-3+5-7+…-99+101的值

i. 按要求编写程序,写出源程序:

ii. 运行结果是:

iii. 与人工分析程序所得结果是否一致,有何结论:

3. 用e≈1+1/1!+1/2!+1/3!+1/4!+...+1/n!公式求自然数e的近似值,直

到最后一项绝对值小于10-6为止。

i. 按要求编写程序,写出源程序:

iii. 与人工分析程序所得结果是否一致,有何结论:

4. 完成教材P113习题6

i. 按要求编写程序,写出源程序:

ii. 运行结果:

iii. 与人工分析程序所得结果是否一致,有何结论:

5. 完成教材P113习题10(注意:该题为选作题)

i. 按要求编写程序,写出源程序:

iii. 与人工分析程序所得结果是否一致,有何结论:

6. 完成教材P113习题8(注意:该题为选作题)

i. 按要求编写程序,写出源程序:

ii.

iii.

与人工分析程序所得结果是否一致,有何结论: 运行结果是:

七、 本次上机实验的心得。

八、 理论支撑:《C语言程序设计》第五章

本次实验成绩

相关推荐