C语言模拟考试错题集(个人)

上传人:壹****1 文档编号:509403466 上传时间:2024-01-26 格式:DOCX 页数:7 大小:20.20KB
返回 下载 相关 举报
C语言模拟考试错题集(个人)_第1页
第1页 / 共7页
C语言模拟考试错题集(个人)_第2页
第2页 / 共7页
C语言模拟考试错题集(个人)_第3页
第3页 / 共7页
C语言模拟考试错题集(个人)_第4页
第4页 / 共7页
C语言模拟考试错题集(个人)_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《C语言模拟考试错题集(个人)》由会员分享,可在线阅读,更多相关《C语言模拟考试错题集(个人)(7页珍藏版)》请在金锄头文库上搜索。

1、C语言模拟考试错题集2注:绿色字体代表有技巧性或我认为重要的题,蓝色字体代表不懂得题。1.下列叙述中正确的是()。A) 循环队列是队列的一种链式存储结构B) 循环队列是队列的一种顺序存储结构C) 循环队列是非线性结构D) 循环队列是一种逻辑结构B 【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式。2.下列关于线性链表的叙述中,正确的是()。A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B) 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C) 进行插入与删除时,不需要移动表中的元素D) 以上说法均不正确C 【解析】一般来说,在线性表的链

2、式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。3.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()A) 16B) 10C) 6D) 4A 【解析】根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是514个,所以度为1的结点的个数是255416个。4.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。A) 外模式 B) 内模式C) 概念模式D) 逻辑模式B 【解析】数据库系统的三级

3、模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,所以选择B)。5.在满足实体完整性约束的条件下()。A) 一个关系中应该有一个或多个候选关键字B) 一个关系中只能有一个候选关键字C) 一个关系中必须有多关键字个候选D) 一个关系中可以没有候选关键字A 【解析】实体完整性约束要求关系的主键中属性值不能为空值,所以选择A)。6.下面描述中,不属于软件危机表现的是()。A) 软件过程不规范B) 软件开发生产率

4、低C) 软件质量难以控制D) 软件成本不断提高A 【解析】软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A)。7.在黑盒测试方法中,设计测试用例的主要根据是()。A) 程序内部逻辑 B) 程序外部功能C) 程序数据结构D) 程序流程图B 【解析】黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B)。8.

5、在软件设计中不使用的工具是()。A) 系统结构图 B) PAD图C) 数据流图(DFD图) D) 程序流程图C 【解析】系统结构图是对软件系统结构的总体设计的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C)。9.以下程序的输出结果是()。main()i

6、nt a20;printf(%d,%o,%xn,a,a,a);A) 20, 024,0x14B) 20, 24,14C) 20, 0x14,024D) 20, 20,20A 【解析】本题的考查点是不同格式的数据输出。printf函数对不同类型的数据用不同的格式字符,%d是以带符号的十进制形式输出整数(正数不输出符号);%o以八进制无符号形式输出整数(不包括前导符0);%x以十六进制无符号形式输出整数(不包括前导符0x)。在使用标准输入输出库函数(除了printf和scanf)前,必须要用预编译命令#include将头文件stdio.h包括到用户源文件中。调用printf函数时可以没有输出项,比

7、如printf()是允许的。C语言中整数的输出形式中没有十二进制的形式。getchar函数读入字符时可以得到第一个输入字符的ASCII码,无法通过输入相应字符的ASCII得到该字符。10.若有以下说明和语句,请选出哪个是对c数组元素的正确引用()。int c45,(*cp)5;cpc;A) cp1B) *(cp 3)C) *(cp 1)3D) *(* cp2)D 【解析】本题的考查点是数组元素的引用。cpc这个语句是将数组c的首行元素地址赋给了指针数组cp。选项A),cp1是指将数组c的首行地址加1,即为第二行地址;选项B),*(cp3)是地址,等于数组c的首地址加3的那个内存单元的内容,不是

8、对数组元素的引用;选项C),*(cp1)3是地址,等于数组c的首地址加1的那个内存单元中存放的值加3,不是对数组元素的引用。11.有以下程序:#include main() char p20a,b,c,d,qabc,rabcde;strcat(p,r); strcpy(pstrlen(q),q);printf(%dn,strlen(p);程序运行后的输出结果是()。A) 9B) 6C) 11D) 7B 【解析】本题考查的是用于字符串处理的函数。题目中首先通过strcat(p,r)将r所指字符串的内容连接到p所指的字符串后面,p20a,b,c,d,a,b,c,d,e。然后通过pstrlen(q)

9、在数组元素p0地址的基础上向后移动三位,然后将q所指字符串的内容复制到p所指的存储空间中,从字符d往后全部覆盖,p20a,b,c,a,b,c。在输出语句中strlen(p)是求字符串的长度,值为6。12.有以下程序:#includevoid fun(char *p)p;printf(%sn,*p);main()char *aMorning,Afternoon,Evening,Night;fun(a);运行后的输出结果是()。A) AfternoonB) fternoonC) MorningD) orningA 【解析】语句void fun(char *p) 中的形参是一个指向指针的指针,在调用

10、函数fun(a)后,指针数组a加1,则指向了数组的第2个字符串Afternoon的A的地址。13.有以下程序:main()int a320,(*ptr)2,i,j;for(i0;i2;i)ptrai;scanf(%d,ptr);ptr;for(i0;i3;i)for(j0;j2;j)printf(%2d,aij);printf(n);#includevoid main()int a32=0,(*ptr)2,i,j;for(i=0;i2;i+)ptr=a+i;scanf(%d,ptr);ptr+;for(i=0;i3;i+)for(j=0;j2;j+)printf(%2d,aij);printf

11、(n);若运行时输入:1 2 3,则输出结果是()。A) 编译错误2 00 0B) 1 02 00 0C) 1 22 03 0D) 1 0B 【解析】首先二维数组a中的元素都初始化为0,其次定义了指向数组的指针ptr,并且依次将ptr指向二维数组a中的各行,循环语句for(i0;i2;i)等价于:scanf(%d,a0);scanf(%d,a1);其中ai即是数组ai的首地址,也是元素ai0的地址,故以上语句读入两个整数,分别存入二维数组a第1列中,在输入1 2 3后,a1,0,2,0,0,0。14.当用#define F 37.5f定义后,下列叙述正确的是()。A) F是float型数 B)

12、 F是char型数C) F无类型D) F是字符串D 【解析】字符替换定义格式为:#define 标识符(形参表)形参表达式。题中F是代表形参表达式的标识符(字符串)。15.阅读下列程序,则运行结果为()。#include stdio.hfun()static int x3;x;return x;main()int i,x;for(i0;i3;i)xfun();printf(%dn,x);A) 3B) 4C) 5D) 6D 【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久的存储单元,即使退出函数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元,静态局部变量的初值是

13、在编译的时候赋予的,在程序执行期间不再赋予初值。本题由于连续三次调用函数fun(),三次对静态变量x进行操作,x的值应依次为4,5,6。16.下列程序的输出结果是()。#include stdio.h#define N 3#define M 3void fun(int aMN)printf(%dn,*(a12);main()int aMN;int i,j;for(i0;iM;i)for(j0;jN;j)aijij(ij);fun(a);A) 3B) 4C) 5D) 6B 【解析】若有以下定义:int a34,i,j;且当0i3,0j4,则可以有以下几种方式来引用数组中的第i行,第j列的元素:aij,*(aij),*(*(ai)j),(*(ai)j,*(&a004*i+j)。赋值语句完成后数组中数据如下:0 2 4 0 2 4 0 2 4 因为func( )函数打印的是第1行第2列的数据,所以为4。17.有以下程序段:typedef

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号