二级c语言程序设计习题及解答ch1-3.docx_第1页
二级c语言程序设计习题及解答ch1-3.docx_第2页
二级c语言程序设计习题及解答ch1-3.docx_第3页
二级c语言程序设计习题及解答ch1-3.docx_第4页
二级c语言程序设计习题及解答ch1-3.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12)计算机能直接执行的程序是(B)。A)源程序B)目标程序C)汇编程序D)可执行程序13)以下叙述中正确的是( D )A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整例年真题:#includemain()Inta;A=5;/*给A变量赋值5A+=3;再赋值后再加3*/Printf(“%d”,a);(11)以下叙述中正确的是(C)。A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完(11)以下叙述中正确的是( C )A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中(12)以下选项中,能用作用户标识符的是( C )A)voidB)8_8C)_0_D)unsigned【解析】 A:关键字不可以B:不以数字开头C:正确 D:关键字(13)以下选项中合法的标识符是( C )A)1-1 B)11C)-11D)1【解析】 A:不以数字开头,出现非法字符 - 而不是 _ B:不以数字开头,非法字符C:正确 D: 不以数字开头,出现非法字符(14)以下选项中不合法的标识符是( C )A)print B)FOR C)&a D)_00【解析】 C:出现非法字符& (15)以下选项中,能用作数据常量的是( D )A)o115 B)0118 C)1.5e1.5D)115L【解析】 A:八进制以0开头而不是以o开头 B:八进制最大值为7,范围0-7 C:指数必须为整数 D: 长整型正确(13)以下选项中不能作为C语言合法常量的是(A)。A)cd B)0.1e+6 C)a D)011【解析】 A:字符常量只能有一个字符 (16)以下选项中不属于字符常量的是( B )A)C B)C C)xCC0 D)072【解析】 B:字符常量以单引号作为标志,其为字符串(14)表达式:4-(9)%2的值是( B )A)0B)3C)4D)5【解析】(9)%2=1(取余),4-1=3(14)设变量已正确定义并赋值,以下正确的表达式是( C )A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,+yD)x=25%5.0【解析】 A:等号左边必须为变量,不可以为表达式,y*5是表达式 B:%只适用于整型变量 D: %只适用于整型变量(15)若有定义语句:intx=10;,则表达式x-=x+x的值为( B )A)-20B)-10C)0D)10【解析】 先算右边得20,x-=20,则10-20=-10(14)设有定义:intx=2;,以下表达式中,值不为6的是( D )A)x*=x+1 x=x*(x+1)B)x+,2*xC)x*=(1+x)D)2*x,x+=2【解析】 逗号表达式的最终结果看最后一个表达式,x+=2,结果为4(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)A)x=y=5;B)x=n%2.5;C)x+n=ID)x=5=4+1;【解析】等号左边必为变量,不能为常量或数字排除C 、D,%只能用于整数排除B第三章 输入输出习题讲解(13)阅读以下程序#includemain()intcase; floatprintF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %fn”,case,printF);该程序编译时产生错误,其出错原因是(A)A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值(16)有以下程序#includemain()inta=1,b=0;printf(“%d,”,b=a+b);printf(“%dn”,a=2*b);程序运行后的输出结果是(D)A)0,0B)1,0C)3,2D)1,2【解析】b=a+b即b=1,a=2*b,a=2(15)程序段:intx=12;double y=3.141593;printf(“%d%8.6f”,x,y);的输出结果是(A)A)123.141593B)123.141593C)12,3.141593D)12 3.141593【解析】“%d%8.6f”原样输出,没有,也没有空格,所以x与y相连,小数总共8位,小数点之后6位#include main()doublea=123.456;printf(%6.2f,a);结果:123.46例题:intx;x=11/3;inty=5;printf(%d,%dn,x,y);结果是:%d,%3【解析】%d,%dn原样输出,%d中第一个%为转义字符,不是输出占位符,所以原样输出%d,然后%转义只输出一个%,%dn只有一个占位符,所以只输出x的值为3 3.5若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是(D)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);【解析】scanf中赋值必须用&(取地址符),即将输入的字符放在指定位置中 3.6若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是(B)A)10B)10.0,22.0,33.0C)10.0D)10222222.0 33.03333scanf(“ %f %f %f” ,&a,&b,&c);【解析】输入时可以空格可以回车,但是不可以出现,复合语句:多个语句被括起来,当成一条语句来执行。空语句:最后的表示只有一个;程序举例:1。编写一个程序,从键盘上输入两个数字,让后让他们互换一下。#includemain()inta,b;printf(请输入两个数字:);scanf(%2d%3d,&a,&b);printf(qian:%d %d,a,b);intc;c=a,a=b,b=c;printf(后:%d %d,a,b);2。编写程序,对一个double型数据进行四舍五入运算。要求保留两位有效数字。123.4567两种算法:(1)#include main() double k=1234.4567; k+=0.005; printf(%7.2f,k); (2)#include main()double k=1234.4567; k*=100; k+=0.5; k=(int)k; k/=100; printf(%7.2f,k); 3。编写程序,使从键盘中输入的三位数倒着输出。#include main()int a,three,two,one;printf(请输入一个三位数:);scanf(%d,&a);three=a/100; /取出百位two=a%100/10; /取出十位one=a%10; /取出个位printf(%d%d%d,one,two,three);选择题3.1若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是( C )A)a=b=c=d=100;B)d+;C)c+b;D)d=(c=22)-(b+);【解析】C是表达式,无法完成赋值3.2以下选项中不是C语句的是( C )A)inti;i+;printf(“%dn”,i);B);C)a=5,c=10D) ; 【解析】C是表达式,没有 ; 结尾,只有;的语句是空语句3.3以下合法的C语言赋值语句是( D )A)a=b=58B)k=int(a+b);C)a=58,b=58D)-i;【解析】语句必须以;结尾,B中强制类型转换的正确写法为k=(int)(a+b);3.4以下程序的输出结果是( C )A)0B)1C)3D)不确定的值main()intx=10, y=3;printf(“%dn”,y=x/y); 【解析】除法并且两边都为整型,最后也是整型3.7若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是( D )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;3.8若变量已正确定义,以下程序段的输出结果是( D )A)输出格式说明与输出项不区配,输出无定值B)5.17C)5.168D)5.169X=5.16894;Printf(“ %fn”,(int)(x*1000+0.5)/(float)1000);【解析】其上市四舍五入发,保留3位有效数字3.9若有以下程序段,c3中的值是( A )A)0B)1/2C)0.5D)1intc1=1,c2=2,c3;c3=c1/c2;【解析】不够除,商03.10若有以下程序段,其输出结果是( B )A)3,0,-10B)0,0,5C)-10,3,-10D)3,0,3inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“ %d,%d,%dn”,a,b,c);【解析】a-=a-5得a=5,赋值给c=5,后面将b赋值给a,a=0,b+3执行了,但是并没有改变b的值辨析:int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf( %d,%d,%dn,a,b,c);【解析】a-=a-5得a=5,没有赋值给c,后面将b赋值给a,a=0,b+3执行后赋值给了c;因为逗号表达式永远是最后一个逗号后的值赋值给c,只是相差一个(),结果就不同了。填空题3.21若有以下定义,请写出以下程序段中输出语句执行后的输出结果。(1)-200,2500(2)i=-200,j=500(3)i=-200回车j=2500inti=-200,j=2500;printf(“ (1)%d%d”,i,j);printf(“ (2)i=%d,j=%dn” ,i,j);printf(“ (3)i=%dn j=%dn”,i,j);3.22变量i、j、k已定义为int类型并有初值0,用以下语句进行输入时scanf(“ %d”,&i);scanf(“ %d”,&j);scanf(“ %d” ,&k);当执行第一个输入语句,从键盘输入:12.3表示Enter键则变量i、j、k的值分别是_12_、_0_、_0_。【解析】因为只输入一个数,而且定义i为整型,所以会自动将12.3进行截断,变成123.23复合语句在语法上被认为是一条语名。空语句的形式是;3.24 C语句的最后用;结束。3.25以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式_、_、_。intk; float a;double x;scanf(“ %d%f%lf”,&k,&a,&x);pirntf(“ k=%d,a=%f,x=%fn”,k,a,x);以空格隔开输入以回车隔开输入回车和空格连用输入编程题和改错题3.29以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。maindoublea,b,c,s,v;printf(inputa,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=%fn”,s,”v=%dn”,v);当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:2.0 2.0 3.0此处的2.02.03.0是用户输入的数据a=2.000000,b=2.000000,c=3.000000此处是要求的输出形式s=4.000000,v=12.000000代码改成如下:#include main() float a,b,c,s,v; printf(input a,b,c:n); scanf(%f %f %f,&a,&b,&c); s=a*b; /*计算长方形面积*/ v=a*b*c; /*计算长方体体积*/ printf(%f %f %fn,a,b,c); printf(s=%f,v=%fn,s,v); 3.30编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。#include main()int minute=560,hour;hour =minute/60;minute %=60;printf(560分钟=%d小时%d分钟 n,hour,minute);3.31编写程序,输入两个整数:1500和350,求出它们的商数和余数并进行输出。#include main()int a,b,result,redundancy;printf(请输入两个整数:n);scanf(%d%d,&a,&b);result=a/b;redundancy=a%b; printf(a/b商为:%d, 余数为:%dn,result,redundancy);3.32编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数后一位数,对小数点后第二位数进行四舍五入,最后输出结果。#include main()double a,b,c,avg;printf(请输入三个双精度的小数:n);scanf(%lf%lf%lf,&a,&b,&c);avg=(a+b+c)/3;printf(四舍五入之前三个数的平均数为:%lfn,avg);av

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论