二级c语言程序设计习题及解答ch1.docx
- 文档编号:13335607
- 上传时间:2023-06-13
- 格式:DOCX
- 页数:5
- 大小:19.27KB
二级c语言程序设计习题及解答ch1.docx
《二级c语言程序设计习题及解答ch1.docx》由会员分享,可在线阅读,更多相关《二级c语言程序设计习题及解答ch1.docx(5页珍藏版)》请在冰点文库上搜索。
二级c语言程序设计习题及解答ch1
二级c语言程序设计习题及解答ch1
12)计算机能直接执行的程序是。
A)源程序B)目标程序C)汇编程序D)可执行程序 13)以下叙述中正确的是(D) A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整例年真题:
#include main() { Inta; A=5; /*给A变量赋值5A+=3; 再赋值后再加3*/Printf(“%d”,a);} 以下叙述中正确的是。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完 以下叙述中正确的是(C) A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中以下选项中,能用作用户标识符的是(C)A)voidB)8_8C)_0_ D)unsigned 【解析】A:
关键字不可以B:
不以数字开头C:
正确D:
关键字 以下选项中合法的标识符是(C)A)1-1B)1—1C)-11D)1— 【解析】A:
不以数字开头,出现非法字符-而不是_B:
不以数字开头,非法字符C:
正确D:
不以数字开头,出现非法字符 以下选项中不合法的标识符是(C)A)printB)FORC)&aD)_00 【解析】C:
出现非法字符& 以下选项中,能用作数据常量的是(D)A)o115B)0118C)D)115L 【解析】A:
八进制以0开头而不是以o开头B:
八进制最大值为7,范围0-7C:
指数必须为整数D:
长整型正确 以下选项中不能作为C语言合法常量的是。
A)’cd’B)+6C)\)’\\011’【解析】A:
字符常量只能有一个字符 (16)以下选项中不属于字符常量的是(B)A)’C’B)\ 【解析】B:
字符常量以单引号作为标志,其为字符串 表达式:
4-(9)%2的值是(B)A)0B)3C)4D)5 【解析】(9)%2=1,4-1=3 (14)设变量已正确定义并赋值,以下正确的表达式是(C)A)x=y*5=x+zB)int(%5)C)x=y+z+5,++yD)x=25% 【解析】A:
等号左边必须为变量,不可以为表达式,y*5是表达式变量D:
%只适用于整型变量 若有定义语句:
intx=10;,则表达式x-=x+x的值为(B)A)-20B)-10C)0D)10 【解析】先算右边得20,x-=20,则10-20=-10 设有定义:
intx=2;,以下表达式中,值不为6的是(D)A)x*=x+1x=x*(x+1)B)x++,2*xC)x*=D)2*x,x+=2 【解析】逗号表达式的最终结果看最后一个表达式,x+=2,结果为4 (17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)A)x=y==5;B)x=n%;C)x+n=I B:
%只适用于整型D)x=5=4+1; 【解析】等号左边必为变量,不能为常量或数字排除C、D,%只能用于整数排除B 第三章输入输出 习题讲解 阅读以下程序#includemain() {intcase;floatprintF; printf(“请输入2个数:
”); scanf(“%d%f”,&case,&pjrintF); printf(“%d%f\\n”,case,printF);} 该程序编译时产生错误,其出错原因是 A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值 有以下程序#includemain() {inta=1,b=0; printf(“%d,”,b=a+b); printf(“%d\\n”,a=2*b);} 程序运行后的输出结果是A)0,0B)1,0C)3,2D)1,2 【解析】b=a+b即b=1,a=2*b,a=2程序段:
intx=12; doubley=;printf;的输出结果是A)B)12 C)12,D)12 【解析】“%d%”原样输出,没有,也没有空格,所以x与y相连,小数总共8位,小数点之后6位 #include main(){ doublea=;printf(\} 结果:
例题:
intx;x=11/3;inty=5; printf(\结果是:
%d,%3 【解析】\原样输出,%%d中第一个%为转义字符,不是输出占位符,所以原样输出%d,然后%%转义只输出一个%,%d\\n只有一个占位符,所以只输出x的值为3 若变量已正确说明为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中赋值必须用&,即将输入的字符放在指定位置中 若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是(B) A)10 B),, C) D)102222 3333 scanf(“%f%f%f”,&a,&b,&c); 【解析】输入时可以空格可以回车,但是不可以出现, 复合语句:
多个语句被{}括起来,当成一条语句来执行。
空语句:
最后的表示只有一个; 程序举例:
1。
编写一个程序,从键盘上输入两个数字,让后让他们互换一下。
#includemain(){ inta,b; printf(\请输入两个数字:
\scanf(\printf(\:
%d%d\intc; c=a,a=b,b=c; printf(\后:
%d%d\} 2。
编写程序,对一个double型数据进行四舍五入运算。
要求保留两位有效数字。
两种算法:
#includemain(){ doublek=;k+=; printf(\} #includemain(){ doublek=;k*=100;k+=;k=(int)k;k/=100; printf(\} 3。
编写程序,使从键盘中输入的三位数倒着输出。
#includemain(){inta,three,two,one;printf(\请输入一个三位数:
\scanf(\three=a/100;//取出百位
two=a_0/10;//取出十位one=a_;//取出个位printf(\}选择题 若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是(C)A)a=b=c=d=100;B)d++; C)c+b; D)d=(c=22)-(b++);【解析】C是表达式,无法完成赋值 以下选项中不是C语句的是(C) A){inti;i++;printf(“%d\\n”,i);} B); C)a=5,c=10 D){;} 【解析】C是表达式,没有;结尾,只有;的语句是空语句 以下合法的C语言赋值语句是(D) A)a=b=58 B)k=int(a+b);C)a=58,b=58 D)--i; 【解析】语句必须以;结尾,B中强制类型转换的正确写法为k=(a+b); 以下程序的输出结果是(C)A)0B)1C)3D)不确定的值main() {intx=10,y=3; printf(“%d\\n”,y=x/y);} 【解析】除法并且两边都为整型,最后也是整型 若变量已正确定义,要将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; 若变量已正确定义,以下程序段的输出结果是(D)A)输出格式说明与输出项不区配,输出无定值 B)C) D)X=; Printf(“%f\\n”,(int)(x*1000+)/(float)1000); 【解析】其上市四舍五入发,保留3位有效数字 若有以下程序段,c3中的值是(A)A)0 B)1/2 C) D)1intc1=1,c2=2,c3;c3=c1/c2; 【解析】不够除,商0 若有以下程序段,其输出结果是(B) A)3,0,-10B)0,0,5 C)-10,3,-10D)3,0,3 inta=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d\\n”,a,b,c); 【解析】a-=a-5得a=5,赋值给c=5,后面将b赋值给a,a=0,b+3执行了,但是并没有改变b的值 辨析:
inta=0,b=0,c=0; c=((a-=a-5),(a=b,b+3)); printf(\ 【解析】a-=a-5得a=5,没有赋值给c,后面将b赋值给a,a=0,b+3执行后赋值给了c;因为逗号表达式永远是最后一个逗号后的值赋值给c,只是相差一个,结果就不同了。
填空题 若有以下定义,请写出以下程序段中输出语句执行后的输出结果。
-200,2500i=-200,j=500(3)i=-200回车j=2500 inti=-200,j=2500; printf(“
(1)%d%d”,i,j); printf(“
(2)i=%d,j=%d\\n”,i,j);printf(“(3)i=%d\\nj=%d\\n”,i,j); 变量i、j、k已定义为int类型并有初值0,用以下语句进行输入时scanf(“%d”,&i);scanf(“%d”,&j);scanf(“%d”,&k); 当执行第一个输入语句,从键盘输入:
表示Enter键 则变量i、j、k的值分别是____12____、____0___、__0____。
【解析】因为只输入一个数,而且定义i为整型,所以会自动将进行截断,变成12 复合语句在语法上被认为是一条语名。
空语句的形式是; C语句的最后用;结束。
以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。
写出运行时给k输入100,给a输入,给x输入时的三种可能的输入形式_____、_____、_____。
intk;floata;doublex; scanf(“%d%f%lf”,&k,&a,&x);pirntf(“k=%d,a=%f,x=%f\\n”,k,a,x); 以空格隔开输入 以回车隔开输入 回车和空格连用输入 编程题和改错题 以下程序多处有错。
要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。
main {doublea,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=%f\\n”,s,”v=%d\\n”,v);} 当程序执行时,屏幕的显示和要求输入形式如下:
inputa,b,c:
此处的是用户输入的数据 a=,b=,c= 此处是要求的输出形式 s=,v= 代码改成如下:
#includemain() {floata,b,c,s,v; printf(\ scanf(\ s=a*b; /*计算长方形面积*/ v=a*b*c; /*计算长方体体积*/ printf(\%f%f\\n\ printf(\} 编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。
#includemain(){int minute=560,hour;hour=minute/60;minute%=60;printf(\分钟=%d小时%d分钟\\n\} 编写程序,输入两个整数:
1500和350,求出它们的商数和余数并进行输出。
#includemain(){inta,b,result,redundancy;printf(\请输入两个整数:
\\n\scanf(\result=a/b;redundancy=a%b; printf(\商为:
%d,余数为:
%d\\n\} 编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数后一位数,对小数点后第二位数进行四舍五入,最后输出结果。
#includemain(){ doublea,b,c,avg; printf(\请输入三个双精度的小数:
\\n\ scanf(\avg=(a+b+c)/3; printf(\四舍五入之前三个数的平均数为:
%lf\\n\avg*=10;avg+=;avg=(int)avg;avg/=10; printf(\四舍五入之后三个数的平均数为:
%.1lf\\n\} 编写程序,读入三个整数给a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。
#includemain(){inta,b,c,t;printf(\请输入三个整数:
\\n\scanf(\printf(\交换位之前,a=%d,b=%d,c=%d\\n\t=c;c=b;b=a;a=t; printf(\交换位之后,a=%d,b=%d,c=%d\\n\}
scanf(\avg=(a+b+c)/3; printf(\四舍五入之前三个数的平均数为:
%lf\\n\avg*=10;avg+=;avg=(int)avg;avg/=10; printf(\四舍五入之后三个数的平均数为:
%.1lf\\n\} 编写程序,读入三个整数给a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。
#includemain(){inta,b,c,t;printf(\请输入三个整数:
\\n\scanf(\printf(\交换位之前,a=%d,b=%d,c=%d\\n\t=c;c=b;b=a;a=t; printf(\交换位之后,a=%d,b=%d,c=%d\\n\}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言程序设计 习题 解答 ch1