第三章 顺序结构 |
一、选择题 1、 若a、b、c、d、都是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类型,要给a、b、c输入数据,以下正确的输入语句是 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赋予10、b赋予22、c赋予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、若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是 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)3,0,-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、 变量i、j、k已定义为int类型并有初值0,用以下语句进行输入时 scanf(“ %d”,&I); scanf(“ %d”,&j); scanf(“ %d” ,&k); 当执行第一个输入语句,从键盘输入: 12.3<CR> <CR>表示Enter键 则变量i、j、k的值分别是________、_______、_______。 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、 编写程序,输入两个整数:1500和350,求出它们的商数和余数并进行输出。 32、 编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数后一位数,对小数点后第二位数进行四舍五入,最后输出结果。 33、 编写程序,读入三个整数给a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c, 把c中原来的值给 a。 |
|