C语言考试试卷.doc_第1页
C语言考试试卷.doc_第2页
C语言考试试卷.doc_第3页
C语言考试试卷.doc_第4页
C语言考试试卷.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

西电09级C语言期末试卷A(理论闭卷部分)2009/2010学年第一学期2010年1月考班级 姓名 学号 一单项选择题(每题1分,共12分)1C语言中的标识符只能由字母、数字和下划线组成,且第一个字符( )A必须为字母B必须为字母或下划线C必须为下划线D必须为字母,数字或下划线中任一种。2若有说明:int a, b=10, *w=&b; 则能完成a=b赋值功能的语句是( )。Aa=*w;Bw=*&b;Ca=&b;D a=*w;3对一维数组int a8=8,7,6,5,4,3,2,1的元素a4的值为( )A7;B6;C5;D4;4以下4个选项中,不能看作一条语句的是( )A ; Bif(a0)m=0,n=2;Cif(a=0) a=1;b=2;Da=0,b=0,c=0;5判断char型变量ch是否为小写字母的正确表达式是( )AA=ch=a)&( ch=A)&( ch=Z)D(a=ch)6设有定义:int n, *pit=&n; 以下scanf语句中能正确为变量n读入数据的是( )Ascanf(%d,*pit);Bscanf(%d,n); Cscanf(%d,&pit);Dscanf(%d,pit);7语句while(e)中的条件e等价于( )Ae= =1BeCe=0De ! =08若用数组名作为函数调用时的实参,则实际上传递给形参的是( )A数组的第一个元素值B数组首地址C数组中全部元素的值D数组元素的个数9设a=1,b=2,c=3,d=4 则表达式 da? b: c 的值为( )A4B1C3D210以下符合C语言语法的实型常量是( )A1.5B20ChD “4g”11下列不正确的转义字符是( )AtBaCbD n12设有说明int q2= 5, 0,*p=q; 则下列错误的C语句是( )。Aq+=1;Bp+=1;C*p+;D(*p)+;二计算填空题(每题3分,共24分)1求算术表达式 x+a % 5* (int) (x+y) %3 /2 的值。设 a=9, x=2.5, y=5.3 2设a=2, b=7, 写出赋值表达式 a+=a; b*=4+3; 运算后a和b的值。3. 若变量x,y已定义为int类型并赋值23和35,要求用printf函数以x=23,y=35的形式输出,请写出完整的的输出语句。4已知字符a的ACSII码值为97,以下语句的输出结果是 char m=c; printf(%c %dn, m, m);5写出语句,定义一个整型变量,初值设为12。6指出下面程序段的输出结果。 int x=9, y=10;printf(“%d, %d, %dn”, x, y , +x);7. 指出下面程序段的输出结果。 int a=12,b=15,x,y; x=a+1,b+; y=(a+1,b+6); printf(“x=%d, y=%dn”,x,y);8指出下面程序段的输出结果。 int a, b, c,*p;a=10; b=20; c=30;p=&a; *p=c;p=&c;*p=b-10;printf(“%d,%d,%dn”,a,b,c);(11)以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)C函数定义的格式是K&R格式(12)结构化程序所规定的三种最基本控制结构是A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数(13)一个C语言程序是由A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成(14)请选出可用作C语言用户标识符的是A)void,define,WORDB)a3_b3,_123,IFC)FOR,-abc,CaseD)2a,Do,Sizeof(15)下列各数据类型不属于构造类型的是A)枚举型B)共用型C)结构型D)数组型(16)在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L(17)以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(18)sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式(19)若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A)4B)16C)32D)52(20)下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。#includemain() int i=0,j,k;doi+;k=316-13*i;while(_);j=k/11;printf(316=13*%d+11*%d,i,j);A)k/11B)k%11C)k/11=0D)k=0(21)设有定义:int n=0,*p=&n,*q=&p,则下列选项中正确的赋值语句是A)p=1;B)*q=2;C)q=p;D)*p=5;(22)下面程序的运行结果是#includemain() int y=10;doy-;while(-y);printf(%dn,y-);A)-1B)1C)8D)0(23)下面程序的输出结果是main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a;printf(%dn,*(p+2);A)3B)4C)1D)2(24)有如下程序int a10=1,2,3,4,5,6,7,8,9,10;int *p=&a3,b;b=p5;则b的值是A)5B)6C)9D)8(25)设有int x=11;则表达式(x+*1/3)的值是A)3B)4C)11D)1226)请选出以下语句的输出结果printf(%dn,strlen(t065xffn);A)5B)14C)8D)输出项不合法,无正常输出(27)下列程序的输出结果是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.07(28)下列程序的输出结果是int b=2;int func(int *a) b += *a; return(b);main() int a=2, res=2;res += func(&a);printf(%dn,res);A)4B)6C)8D)10(29)下面能正确进行字符串赋值操作的是A)char s5=ABCDE;B)char s5= A, B, C, D, E;C)char *s;s=ABCDE;D)char *s;char a; scanf(%s,&s);(30)执行以下程序后,a,b的值分别为main() int a,b,k=4,m=6,*p1=&k,*p2=&m;a=p1=&m;b=(*p1)/(*p2)+7;printf(a=%dn,a);printf(b=%dn,b);A)-1,5B)1,6C)0,7D)4,10(31)设有数组定义: char array=China; 则数组 array所占的空间为A)4个字节B)5个字节C)6个字节D)7个字节(32)若已定义:int a=0,1,2,3,4,5,6,7,8,9, *p=a,i;其中 0i9, 则对a数组元素不正确的引用是A)ap-aB)*(&ai)C)piD)a10(33)以下不正确的定义语句是A)double x5=2.0,4.0,6.0,8.0,10.0;B)int y5=0,1,3,5,7,9;C)char c1=1,2,3,4,5;D)char c2=x10,xa,x8;(34)若有以下程序#includeint a=2,4,6,8;main() int i;int *p=a;for(i=0;i4;i+)ai=*p;printf(%dn,a2);上面程序输出结果是A)6B)8C)4D)2(35)下面程序段的运行结果是char *format=%s,a=%d,b=%dn;int a=11,b=10;a+=b;printf(format,a+=b,a,b);A)for,a+=b,abB)format,a+=bC)a+=b,a=21,b=10D)以上结果都不对(36)C语言允许函数类型缺省定义,此时函数值隐含的类型是A)floatB)intC)longD)double(37)以下程序有语法错误,有关错误原因的正确说法是main() int G=5,k;void prt_char();.k=prt_char(G);.A)语句 void prt_char();有错,它是函数调用语句,不能用void说明B)变量名不能使用大写字母C)函数说明和函数调用语句之间有矛盾D)函数名不能使用下划线(38)以下叙述中不正确的是A)在不同的函数中可以使用相同的名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效(39)有以下程序:#includeunion pw int i;char ch2;a; main() a.ch0=13;a.ch1=0;printf(%dn,a.i);程序的输出结果是A)13B)14C)208D)209(40)在16位IBM-PC机上使用C语言,若有如下定义struct data int i;char ch;double f; b;则结构变量b占用内存的字节数是A)1B)2C)7D)11(41)下面程序的运行结果是#includemain() int a=1,b=10;dob-=a;a+;while(b-0);printf(a=%d,b=%dn,a,b);A)a=3,b=11B)a=2,b=8C)a=1,b=-1D)a=4,b=9(42)以下程序的输出结果是void reverse(int a,int n) int i,t;for(i=0;i t=ai; ai=an-1-i;an-1-i=t;main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0;reverse(b,8);for(i=6;i2)return(fib(n-1)+fib(n-2);else return(2);main() printf(%dn,fib(3);该程序的输出结果是A)2B)4C)6D)8(44)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL,则输出结果为main( int argc, char *argv) while(-argc0)printf(%s,argvargc);printf(n);A)ABCDEFGB)IJHLC)ABCDEFGHIJKLD)IJKLABCDEFGH(45)以下程序有错,错误原因是main() int *p,i;char *q,ch;p=&i;q=&ch;*p=40;*p=*q;.A)p和q的类型不一致,不能执行*p=*q;语句B)*p中存放的是地址值,因此不能执行*p=40;语句C)q没有指向具体的存储单元,所以*q没有实际意义D)q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果(46)函数 rewind 的作用是A)使文件位置指针重新返回文件的开始位置B)将文件位置指针指向文件中所要求的特定位置C)使文件位置指针指向文件的末尾D)使文件位置指针自动移至下一个字符位置(47)设有以下说明语句struct ex int x ; float y; char z ; example;则下面的叙述中不正确的是A)struct结构体类型的关键字B)example是结构体类型名C)x,y,z都是结构体成员名D)struct ex是结构体类型名(48)设有以下语句:char x=3,y=6,z;z=xy2;则z的二进制值是A)00010100B)00011011C)00011100D)00011000(49)阅读以下程序及对程序功能的描述,其中正确的描述是#includemain()FILE *in,*out;char ch,infile10,outfile10;printf(Enter the infile name:n);scanf(%s,infile);printf(Enter the outfile name:n);scanf(%s,outfile);if(in=fopen(infile,r)=NULL)printf(cannot open infilen);exit(0);if(out=fopen(outfile,w)=NULL)printf(cannot open outfilen);exit(0);while(! feof(in)fputc(fgetc(in),out);fclose(in);fclose(out);A)程序完成将磁盘文件的信息在屏幕上显示的功能B)程序完成将两个磁盘文件合二为一的功能C)程序完成将一个磁盘文件复制到另一个磁盘文件中D)程序完成将两个磁盘文件合并并在屏幕上输出(50)C语言中,能识别处理的文件为A)文本文件和数据块文件B)文本文件和二进制文件C)流文件和文本文件D)数据文件和二进制文件转贴于:计算机二级考试_考试大【责编:oyshaoli 纠错】 二、填空题(1)数据的逻辑结构有线性结构和 【1】 两大类。解析: 数据的逻辑结构有线性结构和非线性结构两大类。(2)顺序存储方法是把逻辑上相邻的结点存储在物理位置 【2】 的存储单元中。解析:常用的存储表示方法有4种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。(3)一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 【3】 。解析: 本题考查了继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。(4)软件工程研究的

温馨提示

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

评论

0/150

提交评论