二级C笔试题易错题总结

上传人:zhu****ng 文档编号:145370077 上传时间:2022-08-29 格式:DOCX 页数:7 大小:42.22KB
收藏 版权申诉 举报 下载
二级C笔试题易错题总结_第1页
第1页 / 共7页
二级C笔试题易错题总结_第2页
第2页 / 共7页
二级C笔试题易错题总结_第3页
第3页 / 共7页
资源描述:

《二级C笔试题易错题总结》由会员分享,可在线阅读,更多相关《二级C笔试题易错题总结(7页珍藏版)》请在装配图网上搜索。

1、1.下列叙述中正确的是_。A、一组对象所具有的相似性质B、一个对象具有另一个对象的性质C、各对象之间的共同性质D、类之间共享属性和操作的机制2软件测试的目的是_。A、评估软件可靠性B、发现并改正程序中的错误C、改正程序中的错误D、发现程序中的错误3下列叙述中正确的是_。A、线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B、线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C、线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D、上述三种说法都不对4有三个关系R、S和T如下:A、自然连接B、交C、投影D、并5有以下程序,程序中库函数islower(ch)用以判断ch中

2、的字母是否为小写字母#include #include void fun(char *p ) int i=0; while(pi ) if(pi= &islower(pi-1) pi-1=pi-1-a+A; i+; main() char s1100=ab cd EFG !; fun(s1); printf(%sn,s1);程序运行后的输出结果是_。A、ab cd EFG !B、Ab Cd EFg !C、aB cD EFG !D、ab cd EFg !6有以下程序#include void f(int *p);main() int a5=1,2,3,4,5,*r=a; f(r); printf

3、(%dn,*r);void f(int *p) p=p+3; printf(%d,*p);程序运行后的输出结果是_。A、1,4B、4,4C、3,1D、4,17有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母#include #include void fun(char *p ) int i=0; while(pi ) if(pi= &islower(pi-1) pi-1=pi-1-a+A; i+; main() char s1100=ab cd EFG !; fun(s1); printf(%sn,s1);程序运行后的输出结果是_。A、ab cd EFG !B、

4、Ab Cd EFg !C、aB cD EFG !D、ab cd EFg !8有以下程序#include void f(int *p);main() int a5=1,2,3,4,5,*r=a; f(r); printf(%dn,*r);void f(int *p) p=p+3; printf(%d,*p);程序运行后的输出结果是_。A、1,4B、4,4C、3,1D、4,1本题的考查点是指针作为函数参数。 在main函数中,语句*r=a;使得指针r指向数组a的起始地址,然后调用f函数,在f函数中语句p=p+3;是将p的指针后移3位,则p指向的是a3的值,即4。但是f函数改变的是形参的指针位置,实

5、参变量的指针位置并未改变,则*r的值仍为a0的值1,所以运行结果为:4,1。故本题答案为D。9有以下程序#include #include main() char x=STRING; x0=0; x1=0; x2=0; printf(%d %dn ,sizeof(x),strlen(x);程序运行后的输出结果是_。A、6 1B、7 0 C、6 3D、7 1 本题的考查点是字符数组。 C语言中字符串以0字符结束的,且strlen()函数计算的是0字符前的所有字符的个数。0字符的ASCII值为0。所以x0=0;使得数组x的第一个元素为字符串结束符。所以本题中strlen(x)应为0。数组定义以后系

6、统就为其分配相应大小的内存空间,而不论其中有没有内容。sizeof()函数是计算变量或数组的所分配到的内存空间的大小。其中字符串的结束标志0,也占一个存储空间,所以本题的sizeof(x)为7。故本题答案为B。10有以下程序#include #include main() int *a,*b,*c; a=b=c=(int *)malloc(sizeof(int); *a=1;*b=2,*c=3; a=b; printf(%d,%d,%dn,*a,*b,*c);程序运行后的输出结果是_。A、3,3,3B、2,2,3C、1,2,3D、1,1,3本题的考查点是指针的运用。 malloc(sizeof

7、(int)的作用是开辟一个长度为sizeof(int)存储空间,并通过强制类型转换(int *)将此存储空间的地址赋给了整型的指针变量a、b、c。使得a、b、c都指向同一个存储空间,执行*a=1;*b=2,*c=3;,存储空间最后一次存值为3。而a、b、c都指向同一个存储空间,所以*a,*b,*c的值都为3。 故本题答案为A。11以下程序段完全正确的是_。A、int *p; scanf(%d,&p);B、int *p; scanf(%d,p);C、int k,*p=&k; scanf(%d,p);D、int k,*p; *p=&k; scanf(%d,p);本题的考查点是scanf函数。 sc

8、anf函数是C语言提供的标准输入函数,其作用是从终端键盘上读入数据。scanf函数的一般调用形式为:scanf(格式控制,输入项1,输入项2,)。选项C中定义了整型变量k,且定义了指针变量p指向整型变量k,p代表的是变量k的地址,所以对整型变量k正确的输入语句应为:scanf(%d,p);,所以选项C正确。选项D中没有对指针p进行正确的初始化,它将p所指空间的内容赋值为k的地址,则p记录的是k的地址的地址,所以选项D不能正确地读入数据。 故本题答案为C。11以下关于简单程序设计的步骤和顺序的说法中正确的是_。A、确定算法后,整理并写出文档,最后进行编码和上机调试B、首先确定数据结构,然后确定算

9、法,再编码,并上机调试,最后整理文档C、先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D、先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构本题的考查点是程序设计步骤。简单的程序设计一般包含以下几个部分: 1、确定数据结构。根据任务书提出的要求、指定的输入数据和输出结果,确定存放数据的数据结构。 2、确定算法。针对存放数据的数据结构来确定解决问题,完成任务的步骤。 3、编码。根据确定的数据结构和算法,使用选定的计算机语言编写程序代码,输入到计算机并保存在磁盘上,简称编程。 4、在计算机上调试程序。消除由于疏忽而引起的语法错误或逻辑错误;用各种可能的输入数据对程序进

10、行测试,使之对各种合理的数据都能得到正确的结果,对不合理的数据能进行适当的处理。 5、整理并写出文档资料。 故本题答案为B。12以下程序#include main() int s,t,A=10; double B=6; s=sizeof(A); t=sizeof(B); printf(%d,%dn,s,t);在VC6平台上编译运行,程序运行后的输出结果是_。A、2,4B、4,4C、4,8D、10,6本题的考查点是sizeof()函数。 sizeof()函数是计算变量或数组所分配到的内存空间的大小。int变量所分配到的内存空间的大小为4,double型变量所分配到的内存空间的大小为8。所以运行结

11、果为4,8。 故本题答案为C。12仅由顺序、选择(分支)和重复(循环)结构构成的程序是_程序。结构化程序设计的三种基本控制结构是:顺序结构、选择结构、循环结构。13一个栈的初始状态为空,首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为_。1DCBA2345栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照

12、先进后出或后进先出的原则组织数据的,因此,栈也被称为先进后出表或后进先出表。14一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有_个结点。二叉树的性质3:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。本题中度为0的结点数为7+1=8,该二叉树中的总结点数为8+10+7=25。15以下程序运行后的输出结果是_ _。#include main() int a=200,b=010; printf(%d%dn,a,b);本题的考查点是进制转换。 b的值010是以0开头的,则为八进制数,用十进制表示为8,本题要以十进制形式输出a、b,输出函数的格式控制表示输出的

13、a、b的值之间没有空格或逗号等,是相连的,所以输出结果为2008。15有两个关系R和T如下:则由关系R得到关系T的操作是_。A、选择B、投影C、交D、并从关系中找出满足给定条件的元组的操作称为选择。选择是从行的角度进行的运算,即从水平方向抽取记录。由图可知关系R通过运算得到关系T,关系T与关系R相比,属性的个数没有发生变化,记录的条数发生了变化。因此所使用的运算应该是选择。 故本题答案为A。16在学生管理的关系数据库中,存取一个学生信息的数据单位是_。A、文件B、数据库C、字段D、记录 实体是概念世界中的基本单位,属性附属于实体,它本身并不构成独立单位。属性有属性域,每个实体可取属性域内的值。

14、一个实体的所有属性取值组成了一个值集叫元组(或称记录)。在概念世界中,可以用元组表示实体,也可用它区别不同的实体。所以在学生管理的关系数据库中,存取一个学生信息的数据单位是元组(或记录)。 故本题答案为D。17数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的_。A、需求分析阶段B、逻辑设计阶段C、概念设计阶段D、物理设计阶段17以下关于C语言数据类型使用的叙述中错误的是_。A、若要准确无误差的表示自然数,应使用整数类型B、若要保存带有多位小数的数据,应使用双精度类型C、若要处理如人员信息等含有不同类型的相关数据,应自定义结构体类型D、若只处理真和假两种逻辑

15、值,应使用逻辑类型 本题的考查点是C语言数据类型。 C语言逻辑值真和假分别为非0和0,可作为普通的数值运算,则通常用int代替,没有逻辑类型,所以选项D的说法错误。 故本题答案为D。18以下关于C语言的叙述中正确的是_。A、C语言中的注释不可以夹在变量名或关键字的中间B、C语言中的变量可以在使用之前的任何位置进行定义C、在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D、C语言的数值常量中夹带空格不影响常量值的正确表示19A、1234B、12C、12 3D、12 34A、1234B、12C、12 3D、12 34 本题的考查点是C语言字符数据的输入和输出。 程序定义了四个字符型变量a

16、,b,c,d,字符型变量只能存放一个字符。getchar()函数的值就是从输入设备得到的字符,在输入时,空格、回车符将作为字符读入,请注意,getchar()只能接收一个字符。所以变量a被赋予1,变量b被赋予2,变量c被赋予回车符,变量d被赋予3,所以选项C正确。 故本题答案为C。20下列叙述中正确的是_。A、算法就是程序B、设计算法时只需要考虑数据结构的设计C、设计算法只需要考虑结果的可靠性D、以上三种说法都不对 算法是指解题方案的准确而完整的描述。但算法不等于程序,也不等于计算方法。当然,程序也可以作为算法的一种描述,但程序通常还需要考虑很多与方法和分析无关的细节问题,这是因为在编写程序时

17、要受到计算机系统运行环境的限制。通常,程序的编制不可能优于算法的设计。因此选项A不正确。作为一个算法,一般应具有可行性、确定性、有穷性、拥有足够情报四个基本特征。因此设计算法时不仅仅要考虑结果的可靠性,即不仅考虑算法结果的可行性,还要考虑步骤的确定性,时间和步骤的有穷性等。因此选项C不正确。因此,算法是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。一个算法通常由两种基本要素组成:一是对数据对象的运算和操作,二是算法的控制结构。因此设计算法时不仅需要考虑数据结构的设计,还要考虑数据的操作和运算及各操作之间的执行顺序。因此选项B也不正确。 故本题答

18、案为D。21有三个关系R、S和T如下则由关系R和S得到关系T的操作是_。A、自然连接B、差C、交D、并 连接运算将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足连接条件的元组。在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是指去掉重复属性的等值连接。关系R、S结构相同,无法进行连接运算。因此选项A不正确。传统的集合运算包括:并、差、交,且两个关系必须具有相同的关系模式,即相同结构。并是由属于这两个关系的元组组成的集合。因此选项D不正确。交运算的结果是这两个关系的共同元组。而关系R、S是共同元组有两个,且不是关系T中的元组。因此选项C也不正确。差运算的结

19、果是从一个关系中去掉另一个关系也有的元组。关系T中的元组是关系R中有而关系S中没有的元组。则由关系R和S得到关系T的操作是差。 故本题答案为B。22以下程序的主函数中调用了在其前面定义的fun函数#include main() double a15,k; k=fun(a); 则以下选项中错误的fun函数首部是_。A、double fun(double a15)B、double fun(double *a)C、double fun(double a)D、double fun(double a) 本题考查的是数组的引用。 在main函数中调用fun函数,fun函数的实参是一个数组的首地址,因此fu

20、n函数首部中的形参应该是一个表示地址的变量。当数组名作为实参时,对应的形参有以下三种形式: fun(double *a) fun(double a15) fun(double a) 故本题答案为D。23A、定义语句中的*号是一个间址运算符B、定义语句中的*号只是一个说明符C、定义语句中的p只能存放double类型变量的地址D、定义语句中,*p=&a把变量a的地址作为初值赋给指针变量pA、定义语句中的*号是一个间址运算符B、定义语句中的*号只是一个说明符C、定义语句中的p只能存放double类型变量的地址D、定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p 本题的考查点是指针变量的引用

21、。 *号是地址运算符,也是一个间址运算符。&:取地址运算符。&a为变量a的地址,*p为指针变量p所指向的存储单元。因此*p=&a是把变量a的地址作为初值赋给指针变量p。指针变量p的基类型是double,p只能存放double类型变量的地址。 故本题答案为B。24有以下程序#include #include typedef structchar name9; char sex; int score2; STU;STU f(STU a) STU b=Zhao,m,85,90; int i; strcpy(a.name,b.name); a.sex=b.sex; for(i=0;i2;i+) a.s

22、corei=b.scorei; return a;main() STU c=Qian,f,95,92,d;d=f(c);printf(%s,%c,%d,%d,d.name,d.sex,d.score0,d.score1);printf(%s,%c,%d,%dn,c.name,c.sex,c.score0,c.score1);程序运行后的输出结果是_。A、Zhao,m,85,90,Qian,f,95,92B、Zhao,m,85,90,Zhao,m,85,90C、Qian,f,95,92,Qian,f,95,92D、Qian,f,95,92,Zhao,m,85,90 本题的考查点是结构体的运用。

23、f函数的功能是将结构体变量b的元素赋给结构体变量a。在main函数中调用f(c),将已赋初值的结构体变量c作为实参传递给形参a,将b=Zhao,m,85,90中的元素值赋给了a,然后返回a的值给d。因此d.name,d.sex,d.score0,d.score1的值依次为Zhao,m,85,90。调用函数f,采取的是值传递的方式,结构体变量c的内容不发生变化,因此c.name,c.sex,c.score0,c.score1的值依次为Qian,f,95,92。 故本题答案为A。25有以下程序#include main() FILE *fp; int k,n,i,a6=1,2,3,4,5,6; f

24、p=fopen(d2.dat, w); for(i=0;i6;i+) fprintf(fp, %dn,ai); fclose(fp); fp=fopen(d2.dat, r); for(i=0;i3;i+) fscanf(fp, %d%d,&k,&n); fclose(fp); printf(%d,%dn,k,n);程序运行后的输出结果是_。A、1,2B、3,4C、5,6D、123,456 本题考查的是文件的输入输出。 本题首先以创建方式打开文件d2.dat,调用fprintf()函数把a0,a1,a2,a3,a4,a5的值写到文件d2.dat中,文件d2.dat的内容为:1,2,3,4,5,6。然后把该文件关闭再以只读方式打开,文件位置指针指向文件头,fscanf()函数的作用是从文件中读取两个整数到k和n中。本题通过for循环从文件中读了3次数据到k和n中,第一次k和n分别为1,2;第二次k和n分别为3,4;第三次k和n分别为5,6。因此输出的k的值为5,n的值为6。 故本题答案为C。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!