第 1 页:选择题 |
第 5 页:程序填空题 |
第 6 页:程序改错题 |
第 7 页:程序设计题 |
31以下能正确定义二维数组的是( )。
A.
B.
C.
D.
参考答案:B
参考解析:选项A中对于二维数组,必须通过赋值的个数来确定其长度,没有赋值则无法确定。选项C中赋的是空值,也不能确定其行下标。选项D中定义的两行三列,而赋值的却是三行两列。
32下面for语句的循环次数为( )。
for(x=l,y=0;(y!=19)&&.(x<6);x++);
A.是无限循环B.循环次数不定C.最多执行6次D.最多执行5次
参考答案:D
参考解析:本题考查for循环的使用。根据条件考虑x的取值变化,x从1取到5,可以循环5次,但并不知道y如何变化,有可能出现y=19提前跳出循环的情况,所以最多执行5次。
33以下选项中正确的整型常量是( )。
A.12.B.-20C.1.000 D.4 56
参考答案:B
参考解析:选项A,为float类型;选项c,中间有逗号不是一个常量;选项D,中间有空格,是三个连续的整形常量。
34下列叙述中正确的是( )。
A.用E—R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系
B.用E—R图只能表示实体集之间一对一的联系
C.用E—R图只能表示实体集之间一对多的联系
D.用E—R图表示的概念数据模型只能转换为关系数据模型
参考答案:A
参考解析:用E—R图可以描述实体及其相互之间的联系,还可以描述多个实体集之间的联系和一个实体集内部实体之间的联系。用E—R图表示的概念数据模型不仅能转换为关系数据模型,还可以转换为其他数据模型,如网状模型和层次模型等。所以A的说法正确。
35有以下程序,其中函数f的功能是将多个字符串按字典顺序排序( )。
程序运行后的输出结果是( )。
A.2B.3C.6D.4
参考答案:D
参考解析:函数void f的功能是将字符指针数组*p[]中的每个字符串按照从小到大的顺序排列。在主函数main()中,调用f(p,5)后,字符指针数组*p[5]中的字符串按照字典顺序从小到大排列为如下形式,即*p[5]-{″aab-dfg″,″abbd″,″abc″,″cd″,″dcdbe″),因此P[1]=″abdb″,strlen(p[1])=4。
36下列叙述中错误的是( )。
A.线性表是由n个元素组成的一个有限序列
B.线性表是一种线性结构
C.线性表的所有结点有且仅有一个前件和后件
D.线性表可以是空表
参考答案:C
参考解析:线性表可以是空表,在线性表中,第一个结点没有前驱结点(前件),最后一个结点没有后继结点,其他结点有且只有一个前驱点(后继点)。
37不合法的main()函数命令参数形式是( )。
A.
B.
C.
D.
参考答案:C
参考解析:在C语言中,main()函数也可以有参数,例如,main(int argc,char*argv),argc是指字符串的指针数组,而其他几项表达不正确。
38若已定义:
则能够正确表示数组元素a[1][2]的表达式是( )。
A.*((*prt+1)[2])B.*(*(p+5))C.(*prt+1)+2D.*(*(a+1)+2)
参考答案:D
参考解析:A:多了外层的*()。B:P是行地址,加5越界。C:少了外层的*()。
39若有以下的定义:“int t[3][2];”,能正确表示t数组元素地址的表达式的是( )。
A.
B.
C.
D.
参考答案:C
参考解析:数组的下标是从0开始的,选项A中越界,行下标和列下标都不能越界;选项B中,虽然是个地址,但是也同样越界了;选项C中表示的是第一个的首地址;选项D表示的是其元素的值,并不是地址。
40若有定义和语句:
则输出结果是( )。
A.20.10B.20,20C.10,20 D.10,10
参考答案:D
参考解析:本题考查指针变量的赋值。**pp是定义一个指针变量,语句pp=&P是将pp指向指针p,*p和**pp都是指针P所指的内存空间的内容,即b的值。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |