全国计算机等级考试二级C语言试题集(二))_第1页
全国计算机等级考试二级C语言试题集(二))_第2页
全国计算机等级考试二级C语言试题集(二))_第3页
全国计算机等级考试二级C语言试题集(二))_第4页
全国计算机等级考试二级C语言试题集(二))_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机二级C语言试题集(二)一、选择题(1)已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG(2)树是结点的集合,它的根结点数目是A)有且只有1B)1或多于1C)0或1D)至少2(3)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D)任意顺序(4)在设计程序时,应采纳的原则之一是A)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解(5)程序设

2、计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分B)变量成分C)语句成分D)传输成分(6)下列叙述中,不属于软件需求规格说明书的作用的是A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析(7)下列不属于软件工程的3个要素的是A)工具B)过程C)方法D)环境(8)单个用户使用的数据视图的描述称为A)外模式B)概念模式C)内模式D)存储模式(9)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(10)SQL语言又称为A)结构化定义语言B)结构化控制语言C)结

3、构化查询语言D)结构化操纵语言(11)下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义 D)C语言的函数可以嵌套调用(12)在C语言中,退格符是A)nB)tC)fD)b(13)以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义(14)在C程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又用“0”表示逻辑值“假”。 在求逻辑值时,用()表示逻辑表达式值为“真”, 又用()表示逻辑表达式值为“假”。A)1 0B)0 1C)非

4、0 非0D)1 1(15)在C语言中,运算对象必须是整型数的运算符是A)%B)C)%和D)*(16)字符型数据在机器中是用ASCII码表示的,字符“5”和“7”在机器中表示为A)和 B)和C)和D)和(17)若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a=25&b-=2&c?printf(*a=%d,b=%d,c=%dn,a,b,c):printf(#a=%d,b=%d,c=%dn,a,b,c);程序输出的结果是A)*a=25,b=13,c=19B)*a=26,b=14,c=19C)# a=25,b=13,c=19D)# a=26,b=14,c=19

5、(18)若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.B)2.C)3.D)0.(19)下列程序段的输出结果是:int a=1234;float b=123.456;double c=12345.54321;printf(-,%2.1f,%2.1f,a,b,c);A)无输出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.5(20)若运行以下程序时,从键盘输入 ADescriptor(表示回车),则下面程序的运行结果是#include main()char

6、c;int v0=1,v1=0,v2=0;doswitch(c=getchar()case a:case A:case e:case E:case i:case I:case o:case O:case u:case U:v1+=1;default:v0+=1;v2+=1; while(c!=n); printf(v0=%d,v1=%d,v2=%dn,v0,v1,v2);A)v0=7,v1=4,v2=7B)v0=8,v1=4,v2=8C)v0=11,v1=4,v2=11D)v0=13,v1=4,v2=12(21)设有以下程序段int x=0,s=0;while(!x!=0)s+=+x;prin

7、tf(%d,s);则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次(22)有如下程序 main() float x=2.0,y;if(x10.0)y=1.0/x;else y=1.0;printf(%fn,y);该程序的输出结果是A)0.B)0.C)0.D)1.(23)执行下面的程序段后,变量k中的值为int k=3, s2;s0=k; k=s1*10;A)不定值B)33C)30D)10(24)以下程序段的描述,正确的是x=-1;dox=x*x;while(!x);A)是死循环 B)循环执行两次C)循环执行一次D)有语法错误(25)以下选项错误

8、的是A)main() int x,y,z;x=0;y=x-1;z=x+y;B)main() int x,y,z;x=0,y=x+1;z=x+y;C)main() int x;intint y;x=0,y=x+1;z=x+y;D)main() int x,y,z;x=0;y=x+1;z=x+y,(26)有如下程序段int a=14,b=15,x;char c=A;x=(a&b)&(cB);执行该程序段后,x的值为A)tureB)falseC)0D)1(27)下列程序执行后的输出结果是void func1(int i);void func2(int i);char st=hello,friend!

9、;void func1(int i) printf(%c,sti);if(i3)i+=2;func2(i);void func2(int i) printf(%c,sti);if(i3)i+=2;func1(i);main() int i=0; func1(i); printf(n);A)helloB)helC)hloD)hlm(28)以下函数返回a所指数组中最大值所在的下标值fun(int *a,int n) int i,j=0,p;p=j;for(i=j;iap)_;return(p);在下划线处应填入的内容是A)i=pB)ap=aiC)p=jD)p=I(29)下面说明不正确的是A)cha

10、r a10=china;B)char a10,*p=a;p=chinaC)char *a;a=china;D)char a10,*p;p=a=china(30)以下程序的输出结果是#include void prt (int *x, int *y, int *z)printf(%d,%d,%dn,+*x,+*y,*(z+);main()int a=10,b=40,c=20;prt (&a,&b,&c);prt (&a,&b,&c);A)11,42, 3112,22,41B)11,41,2012,42,20C)11,21,4011,21,21D)11,41,2112,42,22(31)若有函数内

11、部说明:int a34;则数组a中各元素A)可在程序的运行阶段得到初值0B)可在程序的编译阶段得到初值0C)不能得到确定的初值D)可在程序的编译或运行阶段得到初值0(34)定义如下变量和数组:int k;int a33=9,8,7,6,5,4,3,2,1;则下面语句的输出结果是for(k=0;k3;k+)printf(%d,akk);A)7 5 3B)9 5 1C)9 6 3D)7 4 1(35)下列程序执行后的输出结果是main() char arr24;strcpy(arr,you); strcpy(arr1,me);arr03=&;printf(%sn,arr);A)you&meB)yo

12、uC)meD)err(36)有以下函数char fun(char *p)return p;该函数的返回值是A)无确切的值B)形参p中存放的地址值 C)一个临时存储单元的地址D)形参p自身的地址值(37)以下正确的说法是A)定义函数时,形参的类型说明可以放在函数体内B)return后边的值不能为表达式C)如果函数值的类型与返回值类型不一致,以函数值类型为准D)如果形参与实参类型不一致,以实参类型为准(38)有以下程序int f(int n) if(n=1)return 1;else return f(n-1)+1;main() int i,j=0;for(i=1;ij共执行的次数是main()i

13、nt i=0, j=10, k=2, s=0;for (;)i+=k;if(ij)printf(%d,s);break;s+=i;A)4B)7C)5D)6(43)以下4个选项中,不能看做一条语句的是A);B)a=5,b=2.5,c=3.6;C)if(ax);A)10B)11C)51D)60(48)若有运算符,sizeof,&=,则它们按优先级由高至低的正确排列次序是A)sizeof,&=,B)sizeof,&=C),sizeof,&=D)b?a:b)+1main () int i=6,j=8,k;printf (%dn,MAX(i,j);解析: 本题考查宏定义与三目运算符的综合用法,宏定义是原

14、样替换,本题中,如果ab成立,则a+1的值为整个表达式的值,否则为b+1的值为整个表达式的值,(应注意后面的加1)。(7)以下程序的功能是从健盘输入若干学生的成绩,并输出最高成绩和最低成绩,当输入负数时结束。请填空。main ()float x,amax,amin;scanf (%f,&x);amax=x;amin=x;while (【7】)if (xamax)amax=x;elseif【8】amin=x;else scanf (%f,&x);printf (n amax=%fn amin=%fn,amax,amin);解析: 本题先从键盘接受数值,并分别赋给amax(用于保存最高成绩)和am

15、in(用干保存最低成绩),然后通过while循环控制是否结束输入,并且通过if语句来给amax和amin赋值和进行下一次的输入。(8)在对文件操作的过程中,若要求文件的位置指针回到文件的开始处,应当调用的函数是【9】。答案;rewind()(9)在计算机中,字符的比较是对它们的【10】进行比较。解析: C语言中,字符也可以进行比较运算,且是按照ASCII码值进行的。(10)在内存中,存储字符x要占用1个字节,存储字符串X要占用【11】个字节。解析: 计算机存储一个字符用1个字节,存储字符串时,每个字符用占用1个字节,另在字符串的有效字符之后存储1个字符串的结束标记符。所以存储字符串“X”要占用

16、2个字节,存储字符x只要1个字节。(11)下列程序的输出结果是16.00,请填空。main()int a=9, b=2;float x=【12】, y=1.1,z;z=a/2+b*x/y+1/2;printf(%5.2fn, z ); 解析: 本题最后一条语句,表示以浮点格式输出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。(12)设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出f

17、un函数的首部【13】。要求形参名为b。main()double s1022;int n; fun(s);解析: 本题中,为了明确表示“不带回值”,可以用“void”定义“无类型”(或称“空类型”)。这系统就保证不使函数带回任何值,二维数组的第一维可以省略。(13)下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0,请填空。main()int i, x, y=1;scanf(%d, &x);for(i=2; i=x/2; i+)if【14】 y=0; break;printf(%dn, y);解析: 为判数x是否是素数,预置变量y的值为1(x可能是素数),然后用循环,用2

18、至x/2的整数i测试对x的整除性,若能被其中的某个整数整除,则x是合数,置y的值为0(x不是素数),结束测试循环。若都不能整除,则x为素数。i能否整除x,可用求余运算x%i等于0来判定。所以程序中的空框可填x%i = 0。测试x为素数的代码可写成:y = 1;for(i=2; i =x/2; i+)if(x%i = 0) y = 0; break; (14)下面程序的功能是将一个字符串str的内容颠倒过来,请填空。#includemain() int i,j,【15】;char str=;for(i=0,j=strlen(str)【16】;iJ;I+,J-)k=stri;stri=strj;s

19、trj=k;printf(%sn,str);解析: 颠倒一个字符串中的字符,就是首尾对应的元素两两交换。简单地可用两个游标变量i和j,i是前端元素的下标,j是后端元素的下标,交换以这两个变量值为下标的元素stri和strj。开始时,i的值为0,j的值为字符串末元素的下标(字符串长度减1)。每次交换后,i增1,j减1。继续交换的条件是stri还位于strj的前面,即i=0;-i)d=ci;printf(%c,b【18】);printf(n);解析: 程序中,字符数组b存储十六进制的16个数字符,整型数组c存储译出的十六进制数的各位数值。从整数n译出它的各位十六进制数值,需采用除16取余的方法,即求n除16的余,得到它的十六进制的个位数,接着将n除以16。在n不等于0的情况下循环,能顺序求出n的十六进制的个位数、十位数、百位数等等。程序中变量base已预置16,所以在第1个空框处可填代码nse。当n的十六进制数的个位、十位、百位等依次存放于数组c中后,就从最高位至最低位,参照数组ci的内容d(以其内容为下标),取十六进制数字符表中的字符bd输出。所以在第2个空框处可填入代码d。(16)若给fun函数的形参s传送字符串:“

温馨提示

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

评论

0/150

提交评论