二级C语言分类模拟题517_第1页
二级C语言分类模拟题517_第2页
二级C语言分类模拟题517_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、二级 C 语言分类模拟题 517( 总分: 55.50 ,做题时间: 90 分钟 )一、选择题 (总题数: 35,分数: 55.50)1. 在数据库系统的内部结构体系中,索引属于 。(分数: 2.50 )A. 模式B. 内模式 VC. 外模式D. 概念模式解析: 解析 内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结 构、索引、集簇及 hash 等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未 深入到设备级上 ( 如磁盘及磁盘操作 ) 。2. 若有以下程序:#include < stdio.h >main( )int s12=

2、1,2,3,4,4,3,2,1,1,1,2,3,c5=0,i;for(i=0;i<12;i+ +)csi+ +;for(i=1;i< 5;i+ +)printf("%d",ci);printf("/n");则程序的运行结果是 。(分数: 2.50 )A. 2 3 4 4B. 4 3 3 2VC. 1 2 3 4D. 1 1 2 3解析: 解析 在 for(i=0;i < 12;i+)csi+; 语句中,数组元素 si 的值作为数组 c 的下标,当退出 循环时,数组c的4个元素的值分别为4、3、3、2。因此B选项正确。3. 下面描述中,不

3、属于软件危机表现的是 。(分数: 1.50 )A. 软件过程不规范 VB. 软件开发生产率低C. 软件质量难以控制D. 软件成本不断提高解析: 解析 软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质 量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件 的发展和应用需求的增长。因此本题答案为 A。4. 一个算法应该具有“确定性”等 5 个特性,下面对另外 4 个特性的描述中错误的是 ( ) (分数: 1.00 )A. 有零个或多个输入B. 有零个或多个输出 VC. 有穷性D. 可行性解析: 解析 算法应具有的 5 个特性:

4、有穷性, 确定性, 可行性, 有零个或多个输入, 有一个或多个输出。5. 若 fp 是指向某文件的指针,且已读到文件的末尾,则表达式 feof(fp) 的返回值是 。(分数: 1.00 )A. EOFB. -1C. 非零值 VD. NULL解析:解析因为fp的值就是1,故选项A和选项B皆不是正确答案。当文件读到结尾时, feof(fp)为 非零值,否则为 0 。6. 若有定义语句int b=2;,则表达式(b << 2)/(3|b) 的值是。(分数: 1.00 )A. 4B. 8VC. 0D. 2解析: 解析 2的二进制数为 010,移两位后的二进制数为 01000,转成十制数为

5、8,(3|2) 为真即 1,8/1=8, 所以结果为 8。7. 有以下程序#include < stdio.h >void fun(char *P)+p;printf("%s/n",*p);main()char *a="Morning","Afternoon","Evening","Night"fun(a);程序的运行结果是 。(分数: 1.00 )A. AfternoonVB. fternoonC. MorningD. orning解析: 解析 fun 函数将第二个字符串输出,所以

6、输出 Afternoon ,答案选择 A。8. 若变量已正确定义并赋值,则错误的赋值语句是 。(分数: 1.00 )A. a+=a+1;B. a=sizeof(double);C. a=d|c;D. a+1=a;V解析: 解析 赋值号“ =”的左边必须是一个变量名,不可以是表达式。9. 以下结构体类型说明和变量定义中正确的是 。(分数: 1.00 )A. typedef struct int n;char c; REC;REC t1,t2;VB. struct REC; int n;char c;REC t1,t2;C. typedef struct REC; int n=0;char c=&

7、quot;A" t1,t2;D. struct int n;char c; REC;REC t1,t2;解析:解析B选项和C选项中,REC后不应加分号,D选项,没有typedef , REC不能作为类型名。所以 答案选择 A。10. 以下选项中,能用作用户标识符的是 。(分数: 2.00 )A. _0_VB. 8_8C. voidD. unsigned解析: 解析 C 语言中的标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。B选项中以数字8开头,所以错误。C选项与D选项中用的是关键字void与unsigned ,所以错误。11. 有以下程序:vo

8、id ss(char *s,char t) while(*s)if(*s=t)*s=t-"a"+"A"S+;main() char strl100="abcddfefdbd",c="d":ss(strl,c);printf("% s/n" ,strl);程序运行后的输出结果是 () 。(分数: 2.00 )A. ABCDDEFEDBDB. abcDDfeDbD VC. abcAAfefAbAD. Abcddfefdbd解析:解析在内存中,字符数据以 ASQ码存储,它的存储形式与整数的存储形式类似

9、。C语言中,字符型数据和整型数据之间可以通用,也可以对字符型数据进行算术运算,此时相当于对它们的ASCI码进行算术运算,在本题中,s+相当于s=s+1,即让s指向数组中的下一个元素。在函数 SS(char*s ,char t) 中,当 *s=t 时, *s 通过运算变为大写,因此答案选择 B) 。12. 有以下程序:#include < stdio.h >#define N 4void fun(int aN, int b) int i;for(i=0; i <N; i+) bi=aii-aiN-1-i;main()int xNN=1, 2, 3, 4, 5, 6, 7, 8,

10、 9, 10, 11, 12, 13, 14, 15, 16, yN, i;fun(x, y);for(i=0; i <N; i+) printf("%d, ", yi); printf("n");程序运行结果为 。(分数: 1.00 )A. -12 , -3, 0, 0,B. -3 , -1 , 1, 3, VC. 0, 1, 2, 3,D. -3 , -3, -3, -3,解析:解析此题考查函数的调用以及数组的用法,由函数 fun可知,当i=0, i < N且N=4,执行i+和 bi=aii-aiN-1-i,经过运算得出结果为 -3, -

11、1 , 1, 3。13. 有以下程序:# include < stdio.h >void exch(int t) t0=ts; main() int x10=1,2,3,4,5,6,7,8,9,10,i=0;while(i < =4)exch( xi);i+;for(i=0;i < 5;i+)printf("%d",xi);printf("/n");程序运行后输出的结果是 。(分数: 1.00 )A. 2 4 6 8 10B. 1 3 5 7 9C. 1 2 3 4 5D. 6 7 8 9 10 V解析:解析 本题中 exch 函

12、数是用数组中的第 6 个元素对第 1 个元素进行赋值,所以数组的值应该为 6 78 9 10 。14. 下面描述中正确的是 。(分数: 1.00 )A. 好的软件设计应是高内聚低耦合 VB. 内聚性和耦合性无关C. 内聚性是指多个模块间相互连接的紧密程度D. 耦合性是指一个模块内部各部分彼此结合的紧密程度解析: 解析 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适 当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统 可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。故本题答案为A选项。15

13、. 执行下列程序时输入456<空格> 789<空格> 123<回车>,输出结果是 。#include < stdio.h >main()char m80;int c,i;scanf("%c",&c);scanf("%d",&i);scanf("%s",&m);printf("%c,%d,%s/n",c,i,m);(分数: 2.00 )A. 456,789,123B. 4,789,123C. 4,56,789,123D. 4 ,56,789 V解

14、析:16. 下面是对宏定义的描述,不正确的是 。(分数: 1.00 )A. 宏不存在类型问题,宏名无类型,它的参数也无类型B. 宏替换不占用运行时间C. 宏替换时先求出实参表达式的值,然后代入形参运算求值 VD. 宏替换只不过是字符替代而已解析:解析宏替换实质上就是字符替代,它不可能进行计算,故C错误。带参数的宏与函数相比,宏在程序编译之前已经将代码替换到程序内, 执行时不会产生类似于函数调用的问题, 可以说不占用运行时间。17. 已知下面的程序段,正确的判断是 。#define A3#define B(A) (A+1)*a)int a=3;X=3*(A+B(7);A. 程序错误,不允许嵌套定

15、义B. X=93C. )X=81VD. 程序错误,宏定义不允许有参数解析: 解析 本题的宏定义是合法的,宏定义展开为 3*(3+(A+1)*a)=3*(3+(7+1)*3)=8118. 以下是 while 语句的基本形式:while( 表达式 ) 语句; 其中“表达式” 。(分数: 2.50 )A. 必须是逻辑表达式B. 必须是关系表达式C. 必须是逻辑表达式或关系表达式D. 可以是任意合法的表达式V解析: 解析 本题考查 while 表达式。 while( 表达式 ) 中的表达式可以为任何合法的表达式,一般情况下 为逻辑、条件表达式,需要注意的是,当等号 (=) 误写为赋值号 (=) 时不会

16、报错的,但是其值恒为 1。19. 在面向对象方法中,实现信息隐蔽是依靠 。(分数: 1.00 )A. 对象的继承B. 对象的多态C. 对象的封装VD. 对象的分类解析: 解析 对象的封装性是指从外部看只能看到对象的外部特征,即只需知道数据的取值范围和可以对 该数据施加的操作,而不需要知道数据的具体结构以及实现操作的算法。20. 有以下程序:#include < stdio.h >main() char s="aeiou"), *ps;ps=s; printf("%c/n", *ps+4);程序运行后的输出结果是 ( ) 。(分数: 1.00

17、)A. .aB. .eVC. .uD. 元素s4的地址解析:解析本题考查的知识点是指针。程序首先定义了一个字符数组s,然后让字符指针ps指向该数组的首地址。最后按字符形式输出 *ps+4 的值,即 s0+4 的值, "a"+="e" 。故应该选择 B)。21. 定义以下结构体 (联合)数组:char name15;int age;a10="ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17;执行语句 printf("%d,%c",

18、a2.age,*(+2) 的输出结果为 。(分数: 2.00 )A. 15,AB. 16,HC. 16, A VD. 17, H解析:22. 若变量已正确定义为 int 型,要通过语句 scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:代表一个空格符)。(分数: 5.00 )A. 1,2,3 V回车B. 1,2,3 V回车C. 1, 2, 3V 回车。.1口2口3 V回车V解析: 解析 scanf() 的格式控制串可以使用其他非空白字符,如本题中的逗号,但在输入时必须

19、输入这 些字符,以保证匹配。所以逗号必须输入。23. 已知在 ASCII 字符集中,数字 0 的序号为 48,下列程序的输出结果为 。main() char a="0",b="9";printf("%d,%c/n",a,b) ; (分数: 1.00 )A. 因输出格式不合法B. 48,57C. 0,9D. 48,9 V解析:解析注意输出控制符%d %C分别表示以十进制形式输出字符的ASCII码值和字符。24. 若有定义语句:“ int a=3, b=2, c=1; ”,以下选项中错误的赋值表达式是 。(分数: 1.00 )A. a=(

20、b=4)=3;VB. a=b=c+1;C. a=(b=4)+c;D. a=1+(b=c=4);解析:解析由等式的规则可知,A选项错误。先对括号的b进行等式运算,得出b=4,然后计算得出a=4=3, 所以会导致错误。答案选择A。25. 表达式 a+=a-=a=9 的值是 。(分数: 2.00 )A. 18B. -9C. 0 VD. 9解析:解析首先计算a=9,然后计算a-=9,即a=a-9,结果为0,然后计算a+=0,即a=a+0,所以最终 结果为 0。26. 若已包括头文件v stdio.h 和 string.h ,运行下面程序的输出结果是 。char s110="12345&quo

21、t;,s210="089",s3="67"strcat(strcpy(s1,s2),s3);puts(s1);(分数: 2.00 )A. 08967 VB. 0894567C. 089567D. 089567解析:27. 以下不构成无限循环的语句或语句组的是 。(分数:2.50 )A. n=0;do+ +n; while (n< =0); VB. n=0;whilen+ +; C. n=10;while(n); n-;D. for(n=0, i=1; ;i+ +) n+ =i;解析:解析A选项中do后面的语句只执行了一次便结束了循环;B选项中条件w

22、hile(1)永远成立,所以是死循环;C选项中n的值为10,而循环体为空语句,所以while(n)永远为真,进入死循环;D选项中for语句第二个表达式为空,所以没有判别条件,进入死循环。28. 以下不能用于实型数据的运算符是 。(分数:1.00 )A. % VB. /C. *D. +解析:解析“符号两边必须是整数,因此答案为A选项。29. 将E-R图转换为关系模式时,E-R图中的实体和联系都可以表示为 。(分数:1.00 )A. 属性B. .键C. 关系 VD. .域解析:解析采用E-R方法得到的全局概念模型是对信息世界的描述,并不适用于计算机处理,为了适合 关系数据库系统的处理,必须将E-R

23、图转换成关系模式。这就是逻辑设计的主要内容。E-R图是由实体、属性和联系组成,而关系模式中只有一种元素一一关系。故C选项正确。30. 以下选项中不合法的用户标识符是 。(分数:2.50 )A. _123B. printfC. .A$VD. Dim解析:解析C语言规定标识符只能由字母、数字、下划线组成,并且只能由字母或下划线开头,不能以 数字开头。C项中包含$特殊符号,所以C项不合法。31. 树是结点的集合,它的根结点的数目是 。(分数:2.00 )A. 有且只有1个B. 1或多于1C. 0 或 1 VD. 至少有2个解析:解析树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层

24、上。当树为非 空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为0。32. 有以下程序#include < stdio.h >int fun(int(*s)4,int n,int k)int m,i;m=s0k;for(i=1;i < n;i+) if(sik > m) m=sik;return m;main()int a44=1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34;printf("%d/n",fun(a,4,0);程序的运行结果是 。(分数: 1.00 )A. 31VB. 34C. 4D. 32解析: 解析 本题考查的是二维数组的定义、赋初值和对二维数组元素的引用。在fun() 函数中,首先将s0k的值赋

温馨提示

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

评论

0/150

提交评论