第 1 页:选择题 |
第 3 页:程序填空题 |
第 4 页:程序修改题 |
第 5 页:程序设计题 |
一、选择题(每小题1分,共40分)
1 [单选题] 下列关于线性链表的叙述中,正确的是( )。
A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C.进行插入与删除时,不需要移动表中的元素
D.以上说法均不正确
参考答案:C
参考解析:
一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的.并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。
2 [单选题] 以下关于字符串处理的叙述正确的是( )。
A.进行字符串复制时,目的串的存储空间必须足够大
B.两个字符串进行比较时,短的一个必定比长的一个小
C.计算一个字符串的长度时,应包含串尾的结束标志
D.两个字符串连接时,对存储空间的大小没有要求
参考答案:A
参考解析:
两个字符串进行比较时,按照字符串中相同位置的字符ASCII码顺序进行比较,故选项B错误;字符串需要包含串尾的结束标志,但是计算字符串长度时,不包含串尾的结束标志,故选项c错误;要将字符串s2连接到s1后面,串s1所在存储空间必须可以存储字符串s1、字符串s2连接后构成新串的字符,故选项D错误。答案选A。
3 [单选题] 有以下程序:
程序运行后的输出结果是( )。
A.57,39
B.57,57
C.9,9
D.39,39
参考答案:A
参考解析:
本题考查宏定义。宏定义是在程序预处理阶段直接进行文本替换,所以本题中S(k+j)、S(j+k)可以替换为:S(k+j)=(k+j/k+j) ×k+j=(6+3/6+3)×6+3=57;S(j+k)=(j+k/j+k)×j+k=(3+6/3+6)× 3+6=39,故答案为A。(注:宏定义中的形参一定要使用小括号括起来,以避免出错)
4 [单选题] 设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为( )。
A.0
B.'\0'
C.非0值
D.NULL
参考答案:C
参考解析:
本题考查文件的定位,feof函数的用法是从输人流读取数据,如果到达文件末尾(遇文件结束符),eof函致值为非零值,否则为0,所以选项C正确。
5 [单选题] 有以下程序:
程序运行后的输出结果是( )。
A.2
B.4
C.6
D.8
参考答案:D
参考解析:
本题考查位运算符,题目中将a向左移两位,左移两位表示乘以4,所以答案为8,选项D正确。
6 [单选题] 以下叙述中错误的是( )。
A.C程序在运行过程中所有计算都以二进制方式进行
B.C程序在运行过程中所有计算都以十进制方式进行
C.所有C程序都需要编译链接无误后才能运行
D.C程序中字符变量存放的是字符的ASCII码值
参考答案:B
参考解析:
C程序在运行过程中的所有计算都以二进制方式进行,所以B选项错误。
7 [单选题] 设有定义和语句(假设short int型数据占2字节)nt型数据占2字节)
则以下叙述正确的是( )。
A.pi和pj指向了同一个short int型存储单元
B.pi和pj指向了2个连续的short int型存储单元的首地址
C.pi和pj分别指向了一个short int型存储单元
D.pi和pj分别指向了2个short int型存储单元
参考答案:A
参考解析:
语句pi=pj=(short*)ma11oc(2)首先使用动态分配函数ma11oc分配2个字节的内存空间,然后将内存首地址转换为short·类型并返回,赋值给pj,再将pj的值赋给pi,所以指针pi和pj的值是相同的,指向同一个short int型的存储单元,故选项A正确。
8 [单选题] 以下语句中存在语法错误的是( )。
参考答案:A
参考解析:
二维数组第一维的大小在初始化时可以不指定,当第一维的大小初始化没有指定时按如下规则确定:若初值个数能被第二维大小整除,所得的商就是第一维的大小,若不能整除。则所得的商加1作为第一维的大小,所以选项B相当于:char ss[1][20]={"right?"};其中ss[0][0]=‘r’、ss[0][1]=‘i’…,故选项B正确;选项中声明一个字符指针数组ss,ss中每个元素都是—个字符指针,ss[1]=“right?”相当于将字符串“right?”的首地址赋值给字符指针ss[1],故选项C正确;选项D声明一个字符指针数组ss,并初始化第一个元素,使它指向字符串“right?”,故选项D正确;选项A定义二维字符数组ss,所以s[1]可看作是一个字符数组,ss[1]=“right?”相当于将一个字符串的首地址赋值给一个字符数组,这是错误的,字符数组如果没有初始化,则只有对数组中的每个元素逐个赋值,因此答案为A。
9 [单选题] 设有定义:double x;,以下选项中不能将输入数据3.14读入赋给变量x的是( )。
A.scanf(“%4.2f”,&x);
B.scanf(“%If”&x);
C.scanf(“%le”,&x);
D.scanf(“%41f”,&x);
参考答案:A
参考解析:
scanf()函数格式字符串的一般形式为:%[*][输入数据宽度][长度]类型。输入数据宽度必须是十进制的整数,它没有精度控制,%4.2f是错误的,不能企 图用此语句输入小数点为2位的实数,故选项A错误:scanf()函数的长度格式符为1和h,%If表示用小数形式输入双精度浮点数,满足条件,故选项B正确;%le表示用指数形式输入双精度浮点数,满足条件,故选项C正确;%41f表示用小数形式输入宽度为4的双精度浮点数,故选项D正确,因此答案为A。
10 [单选题] 以下选项中,不合法的C语言用户标识符是( )。
A.a_b
B.AaBc
C.a—b
D.1
参考答案:C
参考解析:
C语言规定,变量命名必须符合标识符的命名规则,C选项中包含了非法字符"一",所以错误。标识符由字母、数字或下划线组成,且第一个字符必须是大小写英文字母或者下划线,而不能是数字。
11 [单选题] 有以下程序:
程序运行后的输出结果是( )。
A.10,20,14
B.20,20,20
C.10,10,10
D.14,14,14
参考答案:A
参考解析:
本题考查宏定义,宏定义在程序的预编译阶段直接进行文本替换,所以本题中宏定义展开如下:
程序输出结果为10,20,14答案为A。(注:宏定义中的形参一定要使用小括号括起来,以避免出错)
12 [单选题] 结构化程序所要求的基本结构不包括( )。
A.顺序结构
B.GOT0跳转
C.选择(分支)结构
D.重复(循环)结构
参考答案:B
参考解析:
l966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
13 [单选题] 有以下程序:
程序运行后的输出结果是( )。
A.4321098765
B.5678901234
C.0987654321
D.0987651234
参考答案:B
参考解析:
该程序首先给一维数组赋值,然后三次调用fun函数,其中fun(a,0,3);功能是将一维数组中第1个元素和第4个元素互换,第2个元素和第3个元素互换;其中fun(a,4,9);功能是将一维数组中第5个元素和第10个元素互换,第6个和第9个元素互换,第7个元素和第8个元素互换;其中fun(a,0,9);功能是将将一维数组中第1个元素和第10个元素互换,第2个元素和第9个元素互换……依此类推。因此B选项正确。
14 [单选题] 建立表示学生选修课程活动的实体联系模型,其中的两个实体分别是( )。
A.课程和课程号
B.学生和课程
C.学生和学号
D.课程和成绩
参考答案:B
参考解析:
实体是概念世界中的基本单位,是客观存在并可以相互区别的事物。要建立表示学生选修课程活动的实体联系模型,能互相区别并可以联系起来的实体是学生和课程。故本题答案为B选项。
15 [单选题] 下列关于栈叙述正确的是( )。
A.栈顶元素最先能被删除
B.栈顶元素最后才能被删除
C.栈底元素永远不能被删除
D.栈底元素最先被删除
参考答案:A
参考解析:
栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先入栈却最后被删除。所以选择A。
16 [单选题] 有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是( )。
A.自然连接
B.并
C.交
D.差
参考答案:D
参考解析:
关系T中的元组是关系R中有而关系S中没有的元组的集合,即从关系R中除去与关系S中相同元组后得到的关系T。所以做的是差运算。
17 [单选题] 有以下程序:
程序运行后的输出结果是( )。
A.0
B.4
C.1
D.9
参考答案:D
参考解析:
由程序可知,for循环中a的取值为0~6,其中若if条件满足,则b+=a不会执行,所以当a取值为1,3,5时,b+=a才会被执行,所以循环结束,b=1+3+5,输出结果为9,故答案选D。
18 [单选题] 以下能正确定义字符串的语句是( )。
参考答案:B
参考解析:
C语言中,字符串是用一对双引号括起来的字符序列,并用字符型数组来存放,故C选项和D选项不属于字符串,A选项定义的是一个字符变量str,却用来存放字符串,显然也不正确,因此B选项正确。
19 [单选题] 软件生命周期中的活动不包括( )。
A.市场调研
B.需求分析
C.软件测试
D.软件维护
参考答案:A
参考解析:
软件生命周期可以分为软件定义、软件开发与软件运行维护三个阶段。主要活动阶段是:可行性研究与计划阶段、需求分析、软件设计、软件实现、软件测试、运行和维护.所以选择A。
20 [单选题] 设文件指针fp已定义,执行语句fp=fopen(“file”,“w”);后,以下针对文本文件file操作叙述的选项中正确的是( )。
A.只能写不能读
B.写操作结束后可以从头开始读
C.可以在原有内容后追加写
D.可以随意渎和写
参考答案:A
参考解析:
考查文件操作函数fopen的基础知识,以”w”方式打开文件,只能写不能读。选项A正确。
微信搜索"考试吧"了解更多考试资讯、下载备考资料
相关推荐: