第 1 页:选择题 |
第 3 页:程序填空题 |
第 4 页:程序改错题 |
第 5 页:程序设计题 |
点击查看:2015计算机二级《C语言》全真模拟试题及答案汇总
一、选择题
1下列叙述中正确的是( )。
A.在switch语句中,不-定使用break语句
B.在switch语句中必须使用default
C.break语句必须与switch语句中的case配对使用
D.break语句只能用于switch语句
参考答案:A
参考解析:default语句在swtch语句中可以省,所以8错误;switch语句中并非每个case后都需要使用break语句,所以c错误;break语句还可以用于for等循环结构中,所以D错误。
2有以下程序:
程序运行后的输出结果是( )。
A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World
参考答案:A
参考解析:P是指向二维字符数组第二行One+Dream!的数组指针,所以长度是l0,打印输出的也是该字符串。
3设有定义:char*C;以下选项中能够使C正确指向一个字符串的是( )。
A.char str( )=”string”;C=str;
B.scanf(”%s”,
C.;C.c=getchar( );
D.*c=”strin9”;
参考答案:A
参考解析:A选项为正确用法,先将字符串存于字符数组中,然后将数组名赋给字符指针(数组名代表数组首地址,定义数组时为其分配确定地址)。C选项错误,getchar()函数只能输入一个字符给字符型变量,而不是字符指针。B选项和D选项有类似的错误,两个选项并无语法错误,但运行时可能会出现问题。因为在B选项和D选项中,字符指针没有被赋值,是个不确定的值,指向一个不确定的内存区域,这个区域可能存放有用的指令或数据。在这个不确定的区域重新存放字符串,可能会发生无法预知的错误。因此A选项正确。
4在数据管理技术发展的三个阶段中,数据共享最好的是( )。
A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同
参考答案:C
参考解析:数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择C。
5一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
A.一对一B.一对多C.多对一D.多对多
参考答案:B
参考解析:因为一间宿舍可以住多个学生即多个学生住在一个宿舍中,但一个学生只能住一间宿舍,所以实体宿舍和学生之间是一对多的关系。
6有以下程序:
程序运行后的输出结果是( )。
A.3B.1C.2D.0
参考答案:A
参考解析:本愿考查位运算符以及相关运算,‘为按位或,&为按位与,部么a'b为3,再与c按位与仍然为3,所以答案为A选项。
7有以下程序:
程序运行后的输出结果是( )。
A.AbcdefB.ABCDEFC.aBcDeFD.AbCdEf
参考答案:D
参考解析:函数的含义是如果i的值能被2整除,以字符格式打印输出i+C的值,如果i的值不能被2整除,打印i+b的值。第一次i值为0,执行else语句打印字符‘A’,第二次i值为1,打印1+b的值即字符‘b符‘c’,依此类推选择D选项,第三次i值为2,打印字I.
8软件生命周期中的活动不包括( )。
A.市场调研B.需求分析C.软件测试D.软件维护
参考答案:A
参考解析:软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段、需求分析、软件设计、软件实现、软件测试、运行和维护,所以选择A。
9下列定义数组的语句中,正确的是( )。
参考答案:A
参考解析:数组说明的一般形式为:类型说明符数组名[常量表达式]。B选项中N是变量,不能用变量定义数组长度。c选项中数组长度是非法的一串数字。定义数组时必须为其指明长度,D选项中数组长度为空,所以非法。
10有以下程序:
程序运行后的输出结果是( )。
A.0B.一1C.1D.7
参考答案:B
参考解析:a一一的含义是先用后减l,所以当a的值为0时,跳出循环,但是仍要执行a一一,g的值变为一1。
11有以下程序:
程序运行后的输出结果是( )。
A.1.1.3B.2,2,3C.1,2,3D.3,3,3
参考答案:D
参考解析:maUoc函数动态分配一个整型的内存空间,然后把函数返回的地址用(int{)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,b,c都指向刚申请的内存空间。所以只有最后一个赋值语句+C=3的值保留在了该空间内,因为a、b、C三个指针变量均指向该空间,所以打印该空间内的数值为3。
12有以下程序(strcat函数用于连接两个字符串):
程序运行后的输出结果是( )。
A.U-KB.ABCDE\0FG\0UKC.ABCDUKD.EFGUK
参考答案:C
参考解析:字符数组a中包含两个‘、O’,遇到第一个‘O’时就表示字符串a结束。字符串处理函数由c吐(字符数组a,字符数组b),功能是连接两个字符数组中的字符串,把字符串b连接到a的后面,结果放在字符数组a中。连接时将字符串a后的‘、0’取消,只在新串最后保留一个‘、0’。本题相当于将“ABCD”和“IJK”连接。因此C选项正确。
13有以下程序:
程序运行后的输出结果是( )。
A.0 3 0 4B.2 0 5 0C.3 3 4 4D.3 0 4 0
参考答案:D
参考解析:第一次循环i为0,i%2为o,执行switch(a[O]%2)中的ca∞0语句后内容即a[0]++,a[0]的值变成3;第二次循环i的值为l,i%2为1,执行ca∞1:a[i]=0;所以a[1]的值变成0;第三次循环i的值为2,i%2为0,执行switch(a[2]%2)中的ca∞1语句后的内容a[2]一一,8[2]的值变成4;第四次循环i的值为3,i%2为1,执行casel:a[i]=0;所以a[3]的值变成0。
14有以下程序段:
以下选项中表达式的值为11的是( )。
A.++pt一>xB.pt一>xC.*pt一>yD.(pt++)一>x
参考答案:A
参考解析:本题考查结构体数组初始化以及结构体变量的引用,题目中定义了一个结构体数组C并初始化,指针pt指向c的第一个元素,那么pt一>x为10,++pt一>x为11,4 pt一>Y为1,(pt++)一>x为20,所以答案为A。
15某系统总体结构图如下图所示:
该系统总体结构图的深度是( )。
A.7B.6C.3D.2
参考答案:C
参考解析:根据总体结构图可以看出该树的深度为3,比如:XY系统——功能2——功能2.1,就是最深的度数的一个表现。
16以下不能将s所指字符串正确复制到t所指存储空间的是( )。
A.do{*t++=*8++;}while(*s);
B.for(i=0;t[i]=s[i];i++);
C.while(*t=*s){t++;s++;}
D.for(i=0,j=0;t[i++]=s[j++];);
参考答案:A
参考解析:do{*t++=}S++;}while(*S);不能因为当*s=’、0。时,while(* s)跳出循环,这样字符串结束标志’、0’没有复制给}t,造成}t不完整。注意,*t++=*s++是先执行t=*s,然后才进行t=t+1,s=s+1。B、C、D都能将。\0’复制过去
17数据流图中带有箭头的线段表示的是( )。
A.控制流B.事件驱动C.模块调用D.数据流
参考答案:D
参考解析:数据流图中带箭头的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。
18有以下程序:
程序运行后的输出结果是( )。
A.9B.8C.7D.10
参考答案:A
参考解析:题目中静态局部变量a,在静态存储区内分配存储单元,在程序整个运行期间都不释放。所以第-次调用函数执行n+=a++;时a先与n相加在再进行自增。n的值为4,a的值为2,且a变量执行完后空间没有释放。再执行s:。+f(a)时,s的值为4,调用f(a)函数时n的返回值为n=3+2=5,且此时a的值为3了。所以s的值为9。
19结构化程序所要求的基本结构不包括( )。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构
参考答案:B
参考解析:1966年Boehm和Jaeopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
20以下选项中,当x为大于1的奇数时,值为0的表达式是( )。
A.x%2==0B.x/2C.x%21=0D.x%2==1
参考答案:A
参考解析:算术运算符的优先级高于关系运算符的优先级,所以当x为大于1的奇数时,A选项的值为假,即0。B选项的值为不定值,但绝对不是0。c选项的值为真,即l。D选项的值为真,即l。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |