您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > C语言程序设计答案-(陈明晰)中国铁道出版社
习题一一、选择题1.C程序的基本单位是(A)。A.函数B.文件C.语句D.字符2.C程序中的变量(B)。A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。2.结构化程序由顺序、选择、循环三种基本结构构成。3.一个C程序只有一个名为main的主函数。4.C程序中的每个语句以分号结束。5.C程序中,函数由函数首部和函数体组成。6.每个基本结构有一个入口和一个出口,没有死循环和死语句。7.算法是计算机解决问题所依据的步骤。习题二一、选择题1.下列数据中属于字符串常量的是(B)。A.ABCB.ABCC.'abc'D.'A'2.在计算机内存中,'\n'占用的字节数是(C)。A.4B.3C.1D.23.字符串ABC在内存中占用的字节数是(D)。A.6B.8C.3D.44.在C语言中,合法的长整型常数是(B)。A.568701400B.0LC.0.03546287D.2.654e115.char型常量在内存中存放的是(A)。A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是(D)。A.?bbB.a=8C.b.βD.b_47.下列不正确的转义字符是(D)。A.\\B.\0C.\D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为(B)。A.0B.1C.2D.39.设a的值为5,执行下列语句后,b的值不为2的是(C)。A.b=a/2B.b=6-(--a)C.b=a%2D.b=(float)a/210.执行语句x=(a=3,b=a--)后,x、a、b的值依次是(C)。A.3,3,2B.3,2,2C.3,2,3D.2,3,211.设有语句inta=3;,则执行了语句a+=a-=a*a;后,变量a的值是(D)。A.3B.0C.9D.-1212.在下列运算符中,优先级最高的是(B)。A.&&B.%C.=D.=13.设整型变量a的值为3,则计算表达式a---a后,表达式的值为(B)。A.1B.0C.2D.表达式出错14.设整型变量a、b、c的值均为2,表达式a---b+++c++的结果是(C)。A.6B.9C.2D.表达式出错15.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(D)。A.1B.2.5C.2D.2.016.下列表达式中符合C语言语法的赋值表达式是(C)。A.a=4+b++c=a+8B.a=4+b++=a+8C.a=(4+b,b++,a+8)D.a=4+b,c=a+817.若有以下定义:chara;intb;floatc;doubled;,则表达式a*b+d-c的值的类型为(D)。A.intB.floatC.charD.double二、填空题1.在内存中存储A要占2个字节,存储'A'要占1个字节。2.符号常量的定义方法是#define常量名常量。3.无符号基本整型的数据类型符为unsignedint双精度实型数据类型符为double,字符型数据类型符为char。4.十进制数673的二进制、八进制和十六进值数分别为1010100001、2412和2A1。5.在C语言中,书写八进制数时必须加前缀0;书写十六进制数时必须加前缀0x。6.在微机上,int型、short型、long型、float型和double型数据一般在内存中分别占2字节、2字节、4字节、4字节和8字节。7.设有下列运算符:、+、++、&&、=,其中优先级最高的是++,优先级最低的是&&。8.设x、y为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1.0。9.设整型变量x、y、z均为5,则:①执行x-=y-z后,x的值为5。②执行x%=y+z后,x的值为5。10.数学式ab×c的C语言表达式为a/(b*c)。三、简答题1.字符常量与字符串常量有什么区别?2.对于TurboC系统来说,char型变量与int型变量在内存中存储数据的区别是什么?3.整型变量可细分为哪六类?4.什么是一个实型数据的规范化指数形式?5.设x=3.5,a=5,y=6.7,求算术表达式x+a%3*(int)(x+y)%2/4的值。6.设a=2,b=3,x=4.5,y=1.6,求表达式(float)(a+b)/2+(int)x%inty的值。7.设整型变量a=12,写出下列表达式运算后a的值。①a*=2+5②a/=a+a③a+=a-=a*=a8.写出下列程序的运行结果。main(){charc1='A',c2='B',c3='C',c4='\101',c5='\h42';printf(A%cb%c\t%c\tbc\n,c1,c2,c3);printf(\t\b%c%c,c4,c5);}结果:AAbBCabcAB9.写出下面程序的运行结果。main(){inti,j,m,n;i=5;j=6;m=++i;n=--j;printf(%d,%d,%d,%d,i,j,m,n);}结果:6,5,6,5习题三一、选择题1.printf()函数输出实数时,使用的格式字符是(C)。A.%dB.%cC.%fD.%o2.下面变量说明中(C)是正确的。A.char:a,b,c;B.chara;b;c;C.chara,b,c;D.chara,b,c3.putchar()函数可以向终端输出一个(D)。A.整型变量表达式值B.实型变量值C.字符串D.字符或字符型变量值4.阅读以下程序,当输入数据的形式为:25,13,10〈CR〉,正确的输出结果为(D)。main(){intx,y,z;scanf(%d%d%d,&x,&y,&z);printf(x+y+z=%d\n,x+y+z);}A.x+y+z=48B.x+y+z=35C.x+z=35D.不确定值5.以下说法正确的是(D)。A.输入项可以是一个实型常量B.只有格式控制,没有输入项,也能进行正确输入,如scanf(a=%d,b=%d);C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f,&f);D.当输入数据时,必须指明变量的地址,如scanf(%f,&f);6.以下能正确地定义整型变量a、b和c并为其赋初值5的语句是(C)。A.inta=b=c=5;B.inta,b,c=5;C.inta=5,b=5,c=5;D.a=b=c=5;7.已知ch是字符型变量,下面正确的赋值语句是(B)。A.ch='a+b';B.ch='\xff';C.ch='\08';D.ch=\;8.设x、y均为float型变量,则以下不合法的赋值语句是(B)。A.++x;B.y=(x%2)/10;C.x*=y+8;D.x=y=0;9.以下格式符中,不能用来输入实型数的是(B)A.fB.e(E)C.g(G)D.x10.若floatnum=123.456,以%+10.4d的格式输出,结果正确的是(B)A.123.456000B.123.4560C.123.4560D.+123.4560二、填空题1.以下程序的输出结果是x=1y=2*sum*=310squaredis:100。main(){intx=1,y=2;printf(x=%dy=%d*sum*=%d\n,x,y,x+y);printf(10squaredis:%d\n,10*10);}2.以下程序的输出结果是a=325x=3.14。main(){inta=325;doublex=3.1415926;printf(a=%2dx=%7.2f\n,a,x);}3.假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空:a+=b;b=a-b;a-=b;4.若x为int型变量,则执行以下语句后x的值是-14。x=7;x+=x-=x+x;5.C语句可以分为五类,含7种控制语句、声明语句、表达式语句、空语句和复合语句。6.赋值语句是由赋值表达式加上一个分号构成。7.a=12,n=5,表达式a%=(n%=2)值是0。8.有一个输入函数scanf(%d,k);则不能使float类型变量k得到正确数值的原因是k前无&和%d与k的类型不一致。9.putchar()函数可以向终端输出一个字符。10.已有定义inti,j;floatx;为将-10赋给i,12赋给j,410.34赋给x,则对应以下scanf()函数调用语句的数据输入形式是-12C410.34。scanf(%o%x%e,&i,&j,&x);11.pirntf()函数中用到格式符%5s,其中数字5表示输出的字符串占5列,如果字符串长度大于5,则按实际宽度输出。12.使用getchar()和putchar()函数必须在源程序中加#includestdio.h。三、简答及程序设计题1.解释输入输出的概念。2.已知圆柱高h=5,要求输入圆的半径,求出圆周长、圆面积和圆柱体积。找出错误,改正使其可以得出正确结果。main(){inth=5;floatr,d,s,v;d=2*3.14*r;s=3.14*r*r;v=s*h;printf(d=%f,s=%f,v=%f,d,s,v);}3.下面程序用来求解总电流I,要求保留两位小数,已知输入值为220,30,60,45,正解为15.89,请分析得到15.00的原因。找出错误后改正。main(){intU,R1,R2,R3;floatI;scanf(\n%d,%d,%d,%d,&U,&R1,&R2,&R3);I=U/R1+U/R2+U/R3;printf(\nI=%5.2f,I);}4.编写一个程序,从键盘上输入一个球的半径(实数),求此球的表面积和体积(保留两位小数)5.下面程序是用来输入三角形的三边长,求三角形面积的。请在【】处填入适当内容。#include【1】main(){floata,b,c,s,area;scanf(%f,%f,%f,【2】);s=1.0/2*(a+b+c);area=【3】;printf(area=%7.2f\n,area);}6.编写程序,输入两个整数,求出它们的商数和余数并输出。7.编写程序,读入三个双精度数,求它们的平均值,并保留此平均值小数点后的一位,对小数点后第二位进行四舍五入,输出结果。8.编写程序,读入三个整数a、b、c,然后交换它们中的数:把a中的值给b,把b中的值给c,把c中的值给a。习题四一、选择题1.执行下面的程序段后,b的值为(B)。intx=35;charz='A';intb;b=((x&&15)&&(z'a'));A.0B.1C.2D.32.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=ab)&&(n-cd)后n的值为(B)。A.1B.2C.3D.43.若k是int型变量,且有下面的程序段,输出结果是(A)。K=-3;if(k=0)printf(####);elseprintf(&&&&);A.####B.&&&&C.####&&&&D.有语法错误,无输出结果4.设A、B和C都是int型变量,且A=3,B=4,C=5,则下面表达式中值为0的达式是(D)。A.A&&BB.A=BC.A‖B+C&&BD.!((AB)&&!C‖1)5.阅读程序:#includestdio.hmain(){floatx,y;scanf(%f,&x);if(x0.0)y=0.0;elseif((x5.0)&&(x!=2.0))y=1.0/(x+2.0);elseif(x10.0)y=1.0/x;elsey=10.0;printf(%f\n,y);}若运行时从键盘上输入2.0,则上面程序的输出结果是(C)A.0.000000B.0.250000C.0.500000D.1.0000006.阅读程序:#includestdio.hmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y)
本文标题:C语言程序设计答案-(陈明晰)中国铁道出版社
链接地址:https://www.777doc.com/doc-3364279 .html