第三章 顺序结构

一、选择题

1、 若abcd、都是int类型变量且初值为0,以下选项中不正确的赋值语句是

A)a=b=c=d=100   B)d++;     C)c+b    D)d=(c=22)-(b++);

2、以下选项中不是C语句的是

A){int i i++ printf(%d\n”,i);}     B);    

C)a=5,c=10                               D){ ; }

3、 以下合法的C语言赋值语句是

A)a=b=58      B)k=int(a+b);   C)a=58,b=58      D)--i;

4、 以下程序的输出结果是

A)0  B)1  C)3  D)不确定的值

main( )

{ int x=10, y=3;

  printf(“%d\n”,y=x/y); }

5、 若变量已正确说明为int类型,要给abc输入数据,以下正确的输入语句是

A)read(a,b,c);                B)scanf(“ %d%d%d” ,a,b,c);

C)scanf(“ %D%D%D” ,&a,%b,%c);  D)scanf(“ %d%d%d”,&a,&b,&c);

6、 若变量已正确说明为float类型,要通过以下赋值语句给a赋予10b赋予22c赋予33,以下不正确的输入形式是

A)10         B)10.0,22.0,33.0     C)10.0         D)10   22

      22                                  22.0 33.0      33 

      33

 scanf(“ %f %f %f” ,&a,&b,&c);

7、若变量已正确定义,要将ab中的数进行交换,下面不正确的语句组是

A)a=a+b,b=a-b,a=a-b;       B)t=a,a=b,b=t;

C)a=t;t=b;b=a;              D)t=b;b=a;a=t;

8、若变量已正确定义,以下程序段的输出结果是

A)     输出格式说明与输出项不区配,输出无定值  B)5.17

C)5.168                                   D)5.169

X=5.16894;

Printf(“ %f\n”,(int)(x*1000+0.5)/(float)1000);

9、 若有以下程序段,c3中的值是

A)0        B)1/2       C)0.5        D)1

int c1=1,c2=2,c3;

c3=c1/c2;

10  若有以下程序段,其输出结果是

A)30-10   B)0,0,5      C)-10,3,-10   D)3,0,3

int a=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

    printf(“ %d,%d,%d\n”,a,b,c);

11、当运行以下程序时,在键盘上从第一列开始输入9876543210<CR>(此处<CR>代表Enter),则程序的输出结果是

A)a=98,b=765,c=4321              B)a=10,b=432,c=8765

C)a=98,b=765.000000,c=4321.000000    D)a=98,b=765.0,c=4321.0

main()

{ int a;  float  b,c;

  scanf(“ %2d%3f%4f”,&a,&b,&c);

  printf(“ \na=%d,b=%f,c=%f\n”,a,b,c);

}

12、 以下程序的输出结果是

A)a=%2,b=%5       B)a=2,b=5

C)a=%%d,b=%%d     D)a=%d,b=%d

main( )

{int  a=2,b=5;

printf(“a=%%d,b=%%d\n”,a,b);}

13、若int类型占两个字节,则以下程序段的输出是

A)-1,-1 B)-1,32767   C)-1,32768  D)-1,65535

int  a=-1;

    printf(“ %d,%u\n”,a,a);

14、 以下程序段的输出是

A)*496  *   B)*  496*   C)*000496*  D)输出格式符不合法

    int x=496;

    Printf(“ *%06d*\n”,x);

15、 以下程序段的输出是

A)|3.1415|    B)|  3.0|    C)|   3|    D)|   3.|

    float    a=3.1415;

    Printf(“ |%6.0f|\n”,a);

16、以下程序段的输出是

A)|2345.67800|        B)|12345.6780|

C)|12345.67800|      D)|12345.678|

printf(“ |%10.5f|\n”,12345.678);

17、 以下程序段的输出是

A)*0000057.66*       B)*    57.66*   

C)*0000057.67*       D)*    57.67*

float   a=57.666;

pirntf(“ %010.2f\n”,a);

18、若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是

A)scanf(“ %f”,c);   B)scanf(“ %8.4f”,&c);

B)scafn(“ %6.2f”,&c);  D)scanf(“ %8”,&c);

283.1900<CR>

19、若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式是(Ц代表空格)

A)3.12ЦЦ9.0<CR>       B)a=ЦЦ3.12b=ЦЦЦ9<CR>

C)a=3.12,b=9<CR>        D)a=3.12ЦЦ,b=9ЦЦЦЦ<CR>

scanf(“ a=%f,b=%f”,&a,&b);

20、以下程序的输出结果是

A)9 8   B)8 9  C)6 6   D)以上三个都不对

#include   “ math.h”

main()

{ double  a=-3.0,b=2;

  printf(“ %3.0f  %3.0f\n”,pow(b,fabs(a)),pow(fabs(a),b));

}

二、填空题

21、 若有以下定义,请写出以下程序段中输出语句执行后的输出结果。

(1)___________ (2)___________(3)___________

int i=-200,j=2500;

printf(“ (1)  %d  %d”,i,j);

printf(“ (2)  i=%d,j=%d\n” ,i,j);

printf(“ (3) i=%d\n j=%d\n”,i,j);

22、 变量ijk已定义为int类型并有初值0,用以下语句进行输入时

scanf(“ %d”,&I);  scanf(“ %d”,&j);  scanf(“ %d” ,&k);

当执行第一个输入语句,从键盘输入:

   12.3<CR> <CR>表示Enter

则变量ijk的值分别是______________________

23、复合语句在语法上被认为是_______。空语句的形式是_____

24 C语句的最后用_______结束。

25、以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234 时的三种可能的输入形式_______________

int  k; float a;  double x;

scanf(“ %d%f%lf”,&k,&a,&x);

pirntf(“ k=%d,a=%f,x=%f\n”,k,a,x);

26、以下程序段的输出结果是_________

int x=0177;

printf(“ x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x);

27、以下程序段的输出结果是______

int  x=0177;

printf(“ x=%-3d, x=%-6d,x=$%-06d, x=$%06d,x=%%06d\n”,x,x,x,x,x);

28、 以下程序段的输出结果是______

double a=5.13.789215;

printf(“ a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lf\n”,a,a,a,a);

三、编程题和改错题

29、 以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。

main

{double   a,b,c,s,v;

printf(input a,b,c:\n);

scanf(“%d%d%d”,a,b,c);

s=a*b;                   /*计算长方形面积*/

v=a*b*c;                 /*计算长方体体积*/

printf(“%d  %d  %d”,a,b,c);

printf(“s=%f\n”,s,”v=%d\n”,v);

}

当程序执行时,屏幕的显示和要求输入形式如下:

     input a,b,c:2.0 2.0 3.0               此处的2.0 2.0 3.0是用户输入的数据

     a=2.000000,b=2.000000,c=3.000000     此处是要求的输出形式

     s=4.000000,v=12.000000

30、 编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。

31、 编写程序,输入两个整数:1500350,求出它们的商数和余数并进行输出。

32、 编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数后一位数,对小数点后第二位数进行四舍五入,最后输出结果。

33、 编写程序,读入三个整数给abc,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c, 把c中原来的值给 a

公告通知
教学日历
疑难留言
同学你好!对本课程有哪些建议?