




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国家计算机二级c试题及答案
一、单项选择题(每题2分,共10题)1.在C语言中,合法的字符常量是()A.'\084'B.'\x43'C.'ab'D."\0"答案:B2.若有定义:inta=5;则表达式a+=a-=aa的值是()A.-40B.-20C.-15D.20答案:A3.以下不能正确定义二维数组的选项是()A.inta[2][2]={{1},{2}};B.inta[][2]={1,2,3,4};C.inta[2][2]={1,2,3};D.inta[2][]={{1,2},{3,4}};答案:D4.以下程序的输出结果是()include<stdio.h>intmain(){inta=1,b=2,c=3;if(a>b)if(a>c)printf("%d",a);elseprintf("%d",b);elseprintf("%d",c);return0;}A.1B.2C.3D.无输出答案:C5.以下函数调用语句中实参的个数是()func((e1,e2),(e3,e4,e5));A.2B.3C.5D.语法错误答案:A6.在C语言中,函数返回值的类型最终取决于()A.return语句中的表达式类型B.调用该函数时的主调函数类型C.定义函数时所指定的函数类型D.实参的数据类型答案:C7.若有以下定义和语句:chars1[10]="abcd",s2[10]="efgh";strcat(s1,s2);printf("%s\n",s1);则输出结果是()A.abcdB.efghC.abcdefghD.abcdefgh答案:C8.以下叙述中错误的是()A.C程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过return语句返回D.函数形参的值也可以传回给对应的实参答案:D9.以下关于宏的叙述中正确的是()A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间答案:C10.若有定义:inta=10,b=9,c=8;按照从大到小的顺序输出a、b、c的值,以下程序段正确的是()A.if(a>b)if(b>c)printf("%d%d%d",a,b,c);elseprintf("%d%d%d",a,c,b);elseif(a>c)printf("%d%d%d",b,a,c);elseprintf("%d%d%d",b,c,a);B.if(a>b){if(a>c)printf("%d%d%d",a,c,b);elseprintf("%d%d%d",a,b,c);}else{if(b>c)printf("%d%d%d",b,c,a);elseprintf("%d%d%d",c,b,a);}C.if(a>b){if(a>c)printf("%d%d%d",a,b,c);elseprintf("%d%d%d",c,a,b);}else{if(b>c)printf("%d%d%d",b,a,c);elseprintf("%d%d%d",c,b,a);}D.if(a>b){if(a>c)printf("%d%d%d",a,b,c);elseprintf("%d%d%d",a,c,b);}else{if(b>c)printf("%d%d%d",b,c,a);elseprintf("%d%d%d",c,b,a);}答案:D二、多项选择题(每题2分,共10题)1.以下哪些是C语言中的基本数据类型()A.intB.charC.floatD.doubleE.struct答案:ABCD2.以下关于指针的说法正确的是()A.指针变量可以存放地址B.指针变量可以进行算术运算C.可以定义指向函数的指针D.指针变量可以直接赋值给普通变量E.空指针不指向任何对象答案:ABCE3.以下关于数组的描述正确的是()A.数组元素的类型必须相同B.数组名代表数组的首地址C.可以动态定义数组的大小D.二维数组在内存中是按行存储的E.数组下标从1开始答案:ABD4.在C语言中,以下哪些可以作为函数的返回值类型()A.intB.charC.voidD.structE.double答案:ABCDE5.以下哪些属于C语言中的逻辑运算符()A.&&B.||C.!D.&E.|答案:ABC6.若有定义:inta=1,b=2;以下哪些表达式的值为真()A.a<bB.a==bC.a&&bD.a||bE.!a答案:ACD7.以下关于结构体的说法正确的是()A.结构体成员可以是不同类型的数据B.结构体变量占用的内存空间是其成员占用空间之和C.可以定义结构体数组D.结构体成员不能是结构体类型E.结构体变量可以整体赋值答案:ABCE8.在C语言中,以下哪些是合法的变量名()A._abcB.123abcC.abc123D.intE.a-b答案:AC9.以下关于文件操作的说法正确的是()A.可以用fopen函数打开一个文件B.fread函数用于从文件中读取数据C.fwrite函数用于向文件中写入数据D.fclose函数用于关闭文件E.可以随机读写文件答案:ABCDE10.以下哪些是C语言中的循环语句()A.forB.whileC.do-whileD.if-elseE.switch-case答案:ABC三、判断题(每题2分,共10题)1.在C语言中,所有函数都是平行的,即在定义函数时是互相独立的,一个函数并不从属于另一个函数。()答案:正确2.若有定义:inta=10;则表达式a++和++a的值相同。()答案:错误3.数组名作为函数参数传递时,传递的是数组的所有元素。()答案:错误4.在C语言中,函数可以嵌套定义。()答案:错误5.一个C程序可以包含多个源文件。()答案:正确6.结构体中的成员变量不能有相同的名字。()答案:正确7.指针变量在未初始化时,可以直接使用。()答案:错误8.逻辑运算符&&和||的求值顺序是从左到右。()答案:正确9.在C语言中,字符串常量以'\0'作为结束标志。()答案:正确10.可以用typedef定义新的数据类型。()答案:错误四、简答题(每题5分,共4题)1.简述C语言中函数的作用。答案:函数的作用主要有:一是实现程序的模块化,将一个大程序分解为多个功能相对独立的小模块(函数),便于代码的编写、阅读、调试和维护;二是代码复用,一个函数可以在程序的多个地方被调用,避免重复编写相同功能的代码。2.说明指针在C语言中的用途。答案:指针在C语言中有多种用途。一是可以直接访问内存地址,通过指针可以对内存中的数据进行高效的操作;二是用于函数间传递地址,实现数据在函数间的双向传递;三是构建复杂的数据结构如链表、树等。3.解释C语言中数组下标的含义。答案:数组下标用于定位数组中的元素。在C语言中,数组下标从0开始,通过下标可以准确地访问数组中的某个特定元素,下标是一个整数值,表示元素在数组中的相对位置。4.描述C语言中文件操作的基本步骤。答案:基本步骤为:首先用fopen函数打开文件,根据操作需求选择合适的打开模式;然后使用fread或fwrite等函数进行数据的读写操作;最后使用fclose函数关闭文件以释放相关资源。五、讨论题(每题5分,共4题)1.讨论在C语言中使用结构体和数组的区别。答案:结构体可包含不同类型成员,数组元素类型相同。结构体表示多种相关数据的集合,数组是相同类型数据的有序集合。结构体变量按成员访问,数组按下标访问。结构体大小为成员之和,数组大小为元素类型大小乘元素个数。2.分析C语言中全局变量和局部变量的优缺点。答案:全局变量可在多个函数间共享数据,方便函数间通信,但易被误修改且使程序耦合性变强。局部变量仅在定义函数内有效,安全性高、独立性强,不会被其他函数意外修改,但函数间不能直接共享其数据。3.阐述在C语言中如何避免指针的错误
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论