第 1 页:选择题 |
第 3 页:程序填空题 |
第 4 页:程序改错题 |
第 5 页:程序设计题 |
点击查看:2015计算机二级《C语言》全真模拟试题及答案汇总
一、选择题
1以下叙述中错误的是( )。
A.gets函数用于从终端读人字符串
B.getehar函数用于从磁盘文件读人字符
C.fputs函数用于把字符串输出到文件
D.fwrite函数用于以二进制形式输出数据到文件
参考答案:B
参考解析:本题考查字符处理函数和文件操作函数。属于基础知识,其中B选项9etchar函数是用于从终端读人一个字符。
2设有表示学生选课的三张表,学生s(学号,姓名,性别,年龄,身份证号),课程c(课号,课名),选课SC(学号,课号,成绩),则表sc的关键字(键或码)为( )。
A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩
参考答案:C
参考解析:学号是学生表s的主键,课号是课程表c的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C。
3程序流程图中带有箭头的线段表示的是( )。
A.图元关系B.数据流C.控制流D.调用关系
参考答案:C
参考解析:在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。
4结构化程序设计的基本原则不包括( )。
A.多态性B.自顶向下C.模块化D.逐步求精
参考答案:A
参考解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用got0语句,所以选择A。
5算法的空间复杂度是指( )。
A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数
参考答案:A
参考解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择A。
6有以下程序:
以上程序执行后abc.dat文件的内容是( )。
A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina
参考答案:B
参考解析:本题考查文件操作函数,fwrite和rewind函数,题目中先是将s2字符串写入adc.dat中,然后将写指针回到文件开头,然后写入sl字符串,那么sl字符串就将前5个字符覆盖,所以最终结果为Chinan9,选项B正确。
7以下叙述中正确的是( )。
A.C语句必须在一行内写完
B.C程序中的每一行只能写一条语句
C.C语言程序中的注释必须与语句写在同一行
D.简单C语句必须以分号结束
参考答案:D
参考解析:C语句可以跨行来写,但是必须以分号结束,所以A选项错误。c程序中的一行可以有多条语句,所以B选项错误。C语言中的注释语句可以与原语句放在一行也可以不放在一行,所以C选项错误。
8对于循环队列,下列叙述中正确的是( )。
A.队头指针是固定不变的
B.队头指针一定大于队尾指针
C.队头指针一定小于队尾指针
D.队头指针可以大于队尾指针,也可以小于队尾指针
参考答案:D
参考解析:循环队列的队头指针与队尾指针都不是固定的,随着人队与出队操作要进行变化。因为是循环利用的队列结构,所以队头指针有时可能大于队尾指针,有时也可能小于队尾指针。
9有以下程序:
程序运行后的输出结果是( )。
A.2,3,1,6,8,7,5,4,10,9,
B.3,4,2,7,9,8,6,5,11,10,
C.2,4,3,9,12,12,11,11,18,9,
D.1,2,3,6,8,7,5,4,10,9,
参考答案:C
参考解析:题目中定义了一个结构体类型s,然后定义了一个结构体变量s并初始化,执行f函数后,将s中元素a的每个元素都加上i,这里需要注意最后一个元素没有加i,所以最终答案为C选项。
10有以下程序:
程序运行后的输出结果是( )。
A.2,3,1,6,8,7,5,4,10,9,
B.10,9,8,7,6,5,4,3,2,l,
C.1,2,3,4,5,6,7,8,9,10,
D.10,9,8,7,6,1,2,3,4,5,
参考答案:C
参考解析:本题的子函数f的功能是对结构体变量。中第二个成员数组中所有的数据进行从小到大的冒泡排序, 所以结果是C。
11有以下程序
程序运行后的输出结果是( )。
A.6,2,3,4,5,
B.2,2,3,4,5,
C.1,2,3,4,5,
D.2,3,4,5,6,
参考答案:A我
参考解析:本题考查的是函数的地址调用,将数组名作为数组首地址进行传递,然后取首个数组元素值进行加l运算,循环5次。因此A选项正确。
12若变量已正确定义,在if(W)埘ntf(”%d\n”,k);中,以下不可替代w的是( )。
A.a<>b+CB.ch=getcharC.a==b+CD.a++
参考答案:A
参考解析:选项A是非法的表达式,C语言中没有<>运算符。
13设有定义:char p E]={’1’,‘2’,’3’},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是( )。
A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
参考答案:A
参考解析:根据题目中的定义可以知道sizeof(p),计算的是数组P中所有元素所占用的字节数,而不是ch”型数据所占字节数。
14有以下程序:
程序执行后的输出结果是( )。
A.5,11B.5,5C.11,11D.11,5
参考答案:A
参考解析:声明静态局部变量:函数调用结束后,其占用的存储单元不释放,在下次该函数调用时,该变量保留上一次函数调用结束时的值。本题子函数tim中的变量i和m均为静态局部变量。所以第一次调用fun函数,返回m的值为5,第二次再调用fun函数时,i的值为3,nl的值已经是5了,所以执行i+=m+1,i的值变为9,nl=i+x+Y=9+1+l=11。
15下面结构体的定义语句中,错误的是( )。
A.struct ord{int x;int Y;int z;}struct ord a;
B.struct ord{int x;im Y;im z;};struct ord a;
C.struct ord{int x;int Y;int Z;}a;
D.struct{int x;int Y;int z;}a;
参考答案:A
参考解析:A选项stnlet onl{int x;int y;int 2;struet ora a;错误,不能在定义结构体的同时,又用结构体类型名定义变量。应该写成B选项或者D选项的格式。
16以下不构成无限循环的语句或语句组是( )。
参考答案:A
参考解析:选项A中d0后面的语句只执行了-次匣结束了循环;B选项中条件while(1)永远成立,所以是死循F;C选项中n的值为10,而循环体为空语句,所以while(n)永远为真,进入死循环;D选项中for语句第二个表达式为空,所1以没有判别条件,进入死循环。
17有以下程序:
程序运行后的输出结果是( )。
A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,1
参考答案:D
参考解析:intm=1,n=2,* P=&m,。q=&Il,*r;即指针变量P指向m,指针变量q指向n,r=P;P=q;q=。;即 通过指针变量r,将指针P和指针q的指向交换。因此最后输出1,2,2,1。
18有以下程序:
程序运行后的输出结果是( )。.
A.3,3B.1,1C.2,3D.1,2
参考答案:D
参考解析:该题目中首先区别++n和n++,第一次调用f函数时,将++n(n自增l后再参与运算)作为参数进行传递,此时变量m的值为1,执行n+=m;后,n=1,将l返回主函数,并输出。第二次调用f函数时,将n++(n参与运算后再自增1)作为参数进行传递,此时变量m的值为1,执行语句n+=m;,由于n是静态存储变量,因此n=2,将2返回主函数并输出。因此D选项正确。
19if语句的基本形式是:if(表达式)语句,以下关于“表=迭式”值的叙述中正确的是( )。
A.必须是逻辑值B.必须是整数值C.必须是正数D.可以是任意合法的数值
参考答案:D
参考解析:if语句中的表达式可以是任意合法的数值,如常量、变量表达式。所以D选项正确。
20有以下程序:
程序运行后的输出结果是( )。
A.1,2,3,4,5,6,7,8,9,0,
B.2,1,4,3,6,5,8,7,0,9,
C.0,9,8,7,6,5,4,3,2,1,
D.0,1,2,3,4,5,6,7,8,9,
参考答案:A
参考解析:函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组c中的元素的值并没有变化,选择A。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |