二级C语言上机与资料简介_第1页
二级C语言上机与资料简介_第2页
二级C语言上机与资料简介_第3页
二级C语言上机与资料简介_第4页
二级C语言上机与资料简介_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、上机改错1.请指出以下C程序的错误所在:#include sudio.h;main(); /*main function*/float f,s; /*/* r is radius */,/* s is area of circulat */*/r=5.0;s=3.14159*r*r;printf(“%fn”,s)2. 请指出以下C程序的错误所在:main /*main function*/float a,b,c,v; /* a,b,c are sides,v is volume of cube*/a=2.0 ; b=3.0;c=4.0v=a*b*c;printf(“%fn”,v)3.以下程序多

2、处有错。若指定必须按下面的形式输入数据,并且必须按下面指定的形式输出数据,请对该程序做相应的修改。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=%fn”,s,”v=%dn”,v);当程序执行时,屏幕的显示和要求输入形式如下:input a,b,c:2.0 2.0 3.0 此处的2.0 2.0 3.0 是用户输入的数据a=2.000000,b=2.000000,

3、c=3.000000 此处是要求的输出形式s=4.000000,v=12.000000第 1 章 C语言程序设计概述一、选择题1、以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D)C语言出现的最晚,具有其他语言的一切优点2、以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分3、C语言规定,在一个源程序中,main函数的位置A)必须在

4、最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后4、以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面5、C语言程序的基本单位是A)程序行B)语句C)函数D)字符6、以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符B)main() int x,y,z;x=0,y=x+1;z=x+y;

5、B)main() int x,y,z;x=0,y=x+1;z=x+y;A)main() int x,y,z;x=0;y=x-1;z=x+y;D)main() int x,y,z;x=0;y=x+1;D)main() int x,y,z;x=0;y=x+1;z=x+y, int x;intint y;x=0,y=x+1;z=x+y;8、以下4个选项中,不能看做一条语句的是A);B)a=5,b=2.5,c=3.6;C)if(a12?x+10:x-12;printf(%dn,y); A)0B)22C)12D)1020、在C语言中,运算对象必须是整型数的运算符是A)%B)C)%和D)*21、C语言中运

6、算对象必须是整型的运算符是A)%=B)/C)=D)=22、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是A)x%(-3)B)w+=-2 C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)23、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.500000B)2.750000C)3.500000D)0.00000024、请选出以下语句的输出结果printf(%dn,strlen(t065xffn);A)5B

7、)14C)8D)输出项不合法,无正常输出25、设有数组定义: char array=China; 则数组 array所占的空间为A)4个字节B)5个字节C)6个字节D)7个字节26、以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值27、sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式28、若x,i,j和k都是int型变量,

8、则计算表达式x=(i=4,j=16,k=32)后,x的值为A)4B)16C)32D)5229、下列程序的输出结果是main() double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf(%dn, d*y);A)3B)3.2C)0D)3.0730、设变量a是int型,f是float型,i是double型,则表达式10+a+i*f值的数据类型为A)intB)floatC)doubleD)不确定31、设以下变量均为int类型,表达式的值不为7的是A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(y

9、=6,y+1,x=y,x+1)32、若有条件表达式 (exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是A)(exp=0)B)(exp!=0)C)(exp=1)D)(exp!=1)33、以下选项中,与k=n+完全等价的表达式是A)k=n,n=n+1B)n=n+1,k=nC)k=+nD)k+=n+134、以下程序的输出结果是main() int a=21,b=11;printf(%dn,-a+b,-b+a);A)30B)31C)32D)3335、设x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf(%d,%dn,x-,-y);A)10,3B)9,3C)9

10、,2D)10,236、表达式ab|(c&d)中运算符优先级最高的是A)|B)&C)D)()37、在C语言中,int,char和short三种类型数据在内存中所占用的字节数A)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定38、若有以下定义,则能使值为3的表达式是int k=7,x=12;A)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5D)(x%=k)-(k%=5)39、下面程序的输出结果为main() int a,b;b=(a=3*5,a*4,a*5);printf(%d,b);A)60B)75C)65D)无确定值40、假定x和y为double型,则表

11、达式x=2,y=x+3/2的值是A)3.500000B)3C)2.000000D)3.00000041、以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子xyz的C语言表达式是A)x/y*zB)x*(1/(y*z)C)x/y*1/zD)x/y/z42、以下程序的输出结果是main() char c=z;printf(%c,c-25);A)aB)ZC)z-25D)y43、有以下程序#include main() char *p=abcde0fghjik0 ;printf(%dn ,strlen(p);程序运行后的输出结果是A)12B)15C)6D)544、设有int x=1

12、1;则表达式(x+*1/3)的值是A)3B)4C)11D)1245、若变量a是int类型,并执行了语句:a=A+1.6;,则正确的叙述是A)a的值是字符CB)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符A的ASCII值加上146、下列程序运行的结果是main()float x;int i;x=3.6;i=(int)x;printf(x=%f,i=%d ,x,i);A)x=3.600000,i=3B)x=3.6,i=3C)x=3,i=3D)x=3.600000,i=3.000000二、填空题1、在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个do

13、uble型数据在内存中所占的字节数为【 】。2、以下程序的输出结果是 【 】 。main ()int i=010,j=10; pirntf (%d,%dn,i,j);3、已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-3的值为 【 】 。4、下列程序的输出结果为 【 】 。main ()int x=3,y=5;printf (d,x=(x-)*(-y);5、设y是int型,请写出y为奇数的关系表达式 【 】 。6、设int a=5,b=6,表达式(a=b-)?+a:-b的值是【 】 。7、以下程序的输出结果是【 】。main()int a=0;a+=(a=8

14、);printf(%dn,a);8、在计算机中,字符的比较是对它们的【 】进行比较。9、在内存中,存储字符x要占用1个字节,存储字符串X要占用【 】个字节。10、下列程序的输出结果是16.00,请填空。main()int a=9, b=2;float x=【 】, y=1.1,z;z=a/2+b*x/y+1/2;printf(%5.2fn, z ); 11、以下程序段的输出结果是【 】。main ()int a=2,b3,c=4;a*=16+(b+)-(+c);printf(%d,a);12、以下程序段的输出结果是【 】 。int x=17,y=26;printf (d,y/=(x%=6);1

15、3、将以下程序写成三目运算表达式是【 】 。if(ab)max=a;else max=b;14、下列y的值是 【 】。int y; y=sizeof (2.25*4);15、下列x的值是 【 】 。int x;x=sizeof 2.25*4;16、设x和y均为int型变量,且x=1,y=2,则表达式double(1+x/y)的值为【 】。17、把数学表达式 改写成C语言的表达式是【 】。18、若有以下定义:char a;int b;float c; double d;则表达式a*b+d-c值的类型为【 】 。19、若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执

16、行后,c3中的值是【 】 。三、部分填空题解析2、解析: 以0开头的是八进制数。3、解析: 在C语言中,整型,实型,字符型数据间可以混合运算,在进行运算时,不同类型的数据要先转换成同一类型,然后再进行运算。我们可以这样计算本题,97+8-3=102,即102所对应的字母为f。4、解析: x-的值为3,-y的值为4;注意前缀-和后缀-的区别。8、解析: C语言中,字符也可以进行比较运算,且是按照ASCII码值进行的。9、计算机存储一个字符用1个字节,存储字符串时,每个字符用占用1个字节,另在字符串的有效字符之后存储1个字符串的结束标记符。所以存储字符串“X”要占用2个字节,存储字符x只要1个字节

17、。10、解析: 本题最后一条语句,表示以浮点格式输出z的值,宽度为5,其中所含2位小数,应该注意的是,两个整型运算结果仍为整型,如1/2的结果为0,对本题可逐步求解:16.00=9/2+2*x/1.1+1/216.00=4+2*x/1.1+012.00=2*x/1.1所以,x的值为6.6。11、解析: a*16(b+)-(+c)等价于a=a*(16(b+)-(+c),b+的值为3,+c的值为5,请注意前缀和后缀的用法。12、解析: 是取余运算,操作数为整型,所以最后的结果也为整型,运算过程如下:y/=(x%-6);y/=(x=x%6);y/=5;y=y/5;y=5;13、解析: 本题考查三目运

18、算符的用法,条件运算符要求有三个操作对象,称三目(元)运算符,它是C语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式1?表达式2:表达式3 所以,我们可以写成(ab)?a:b,它是一个“条件表达式”。执行顺序是:如果(ab)条件为真,则条件表达式取值a,否则取值b。14、解析: sizeof (2.25*4)为sizeof (10.00)值为8,C语言规定浮点型常量当双精度处理(以IBM-PC机为例)。15、解析: sizeof运算符高于算术运算符,所以sizeof 2.25*4等价于(sizeof 2.25)*4为8432(以IBMPC机为例)。16、解析: 本题考查两个知识点一是

19、x/y的值为整型即为0,二是数字1存放在double中是double类型。18、解析: C语言中,如果运算符两边的数据类型不同,将进行类型转换,根据转换规则,短整型转为长整型;整型转换为实型。19、解析: 在赋值运算中,如果表达式中变量和常量的数据类型不一致就会自动进行类型转换。系统会计算1.0/c2,由于1.0是实型,所以均先转化为双精度型0.500000,再和c1转化后的双精度数相乘得0.500000。但其要赋值给整型变量c3,故要进行强制转换,c3的值为0。第 3 章 顺序程序设计一、选择题1、结构化程序所规定的三种最基本控制结构是A)输入、处理、输出B)树形、网形、环形C)顺序、选择、

20、循环D)主程序、子程序、函数2、若说明int *p,n;则通过语句scanf能够正确读入数据的程序段是A)p=&n;scanf(%d,&p);B)p=&n;scanf(%d,*p);C)scanf(%d,n);D)p=&n;scanf(%d,p);3、以下程序段的输出结果是int a=1234;printf(%2dn,a);A)12B)34C)1234D)提示出错、无结果4、已有定义int a=-2;和输出语句 printf(%8lx,a);以下正确的叙述是A)整型变量的输出形式只有%d一种B)%x是格式符的一种,它可以适用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度5、对下面程序描述正确的一项是 (每行程序前面的数字表示行号)1 main()2 3 float a3=0.0;4 int i;5 for(i=0;i3;i+)scanf(%d

温馨提示

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

评论

0/150

提交评论