二级c语言题库及答案_第1页
二级c语言题库及答案_第2页
二级c语言题库及答案_第3页
二级c语言题库及答案_第4页
二级c语言题库及答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二级c语言题库及答案一、单项选择题(每题2分,共10题)1.以下关于C语言源程序的叙述中,错误的是()A.一个C语言源程序由一个或多个函数组成B.一个C语言源程序必须包含一个main函数C.C语言源程序的基本结构是函数结构D.注释只能位于程序中某语句的后面答案:D2.以下选项中合法的标识符是()A.1_2B.intC.a-bD._256答案:D3.若有定义:inta=10,b=20;,执行语句“a=a+b;b=a-b;a=a-b;”后,a和b的值分别为()A.10,20B.20,10C.10,10D.20,20答案:B4.以下能正确定义一维数组的选项是()A.inta[5]={0,1,2,3,4,5};B.chara[]={0,1,2,3,4,5};C.chara={'A','B','C'};D.inta[5]="0123";答案:B5.若有定义:inta[3][4];,则对数组元素引用正确的是()A.a[2][4]B.a[1,3]C.a[0][0]D.a(1)(2)答案:C6.以下函数调用语句中,含有的实参个数是()func((exp1,exp2),(exp3,exp4,exp5));A.1B.2C.3D.5答案:B7.以下关于指针的叙述中,正确的是()A.指针变量可以是全局变量也可以是局部变量B.指针变量的值是它所指向变量的值C.指针变量只能指向同一个数据类型的变量D.指针变量指向不同类型的变量时,必须进行强制类型转换答案:A8.若有定义:int*p,a=10;执行语句“p=&a;”后,*p的值是()A.变量p的地址B.变量a的地址C.10D.无确定值答案:C9.以下关于结构体的叙述中,错误的是()A.结构体是一种构造数据类型B.结构体中的成员可以是不同的数据类型C.结构体变量可以整体引用D.结构体变量的成员可以通过“.”运算符访问答案:C10.若有定义:structstudent{intnum;charname[20];floatscore;}stu;,则以下对结构体变量stu的成员num赋值正确的是()A.stu->num=1001;B.stu.num=1001;C.(*stu).num=1001;D.&stu.num=1001;答案:B二、多项选择题(每题2分,共10题)1.以下属于C语言数据类型的有()A.整型B.实型C.字符型D.结构体类型答案:ABCD2.以下运算符中,属于算术运算符的有()A.+B.-C.*D./答案:ABCD3.以下关于if语句的描述中,正确的有()A.if语句可以单独使用,也可以与else搭配使用B.if语句中条件表达式可以是任何合法的表达式C.if语句中可以嵌套if语句D.多重if-else语句可以用于多分支选择结构答案:ABCD4.以下循环语句中,哪些可能会执行0次循环体()A.for循环B.while循环C.do-while循环D.以上都不可能答案:AB5.以下能正确定义二维数组的有()A.inta[2][3];B.inta[][3]={1,2,3,4,5,6};C.inta[2][]={1,2,3,4,5,6};D.inta[2][3]={{1,2},{3,4}};答案:ABD6.以下关于函数的说法中,正确的有()A.函数可以提高程序的模块化和可维护性B.函数可以有返回值,也可以没有返回值C.函数调用时实参和形参的类型必须一致D.函数可以嵌套定义答案:ABC7.以下关于指针的操作中,正确的有()A.指针变量可以进行赋值操作B.指针变量可以进行比较操作C.指针变量可以进行算术运算D.指针变量可以指向数组元素答案:ABCD8.以下关于结构体和共用体的区别,正确的有()A.结构体所有成员同时存在内存中,共用体同一时刻只有一个成员占用内存B.结构体变量的大小是所有成员大小之和,共用体变量大小是最大成员的大小C.结构体和共用体都可以嵌套定义D.结构体和共用体定义方式相同答案:ABC9.以下文件操作函数中,用于打开文件的有()A.fopenB.openC.fcreateD.freopen答案:AD10.以下关于预处理命令的说法中,正确的有()A.预处理命令在编译之前执行B.include用于包含头文件C.define可以定义常量和宏D.预处理命令都以“”开头答案:ABCD三、判断题(每题2分,共10题)1.C语言中,变量必须先定义后使用。()答案:对2.字符型数据在内存中是以ASCII码形式存储的。()答案:对3.在C语言中,“=”和“==”的作用是相同的。()答案:错4.for循环的三个表达式都可以省略,但两个分号不能省略。()答案:对5.数组名代表数组的首地址。()答案:对6.函数的形参在函数定义时分配内存空间。()答案:错7.指针变量可以指向不同数据类型的变量。()答案:错8.结构体变量可以作为函数的参数进行传递。()答案:对9.文件操作结束后,必须关闭文件。()答案:对10.C语言源程序经过编译、连接后生成可执行文件。()答案:对四、简答题(每题5分,共4题)1.简述C语言中变量的存储类别有哪些?答案:C语言变量存储类别有auto(自动)、register(寄存器)、static(静态)、extern(外部)。auto为局部变量默认存储类别;register建议存寄存器;static使变量有固定存储位置;extern用于声明外部变量。2.简述数组和指针的关系。答案:数组名本质是指向数组首元素的指针常量。指针可指向数组元素,通过指针可像操作数组一样访问数组元素。指针运算可在数组元素间移动,数组和指针在很多操作上可相互替代,但本质有区别。3.简述函数调用过程中实参和形参的传递方式。答案:实参向形参传递有值传递和地址传递。值传递是将实参值复制给形参,形参改变不影响实参;地址传递是将实参地址传给形参,形参通过地址操作可改变实参值。4.简述文件操作的一般步骤。答案:一般步骤为:打开文件(用fopen等函数),指定打开方式;进行读写操作(用fread、fwrite等函数);操作结束后关闭文件(用fclose函数),防止数据丢失等问题。五、讨论题(每题5分,共4题)1.讨论C语言中const关键字的作用。答案:const用于定义常量,被修饰的变量值不能被修改。可修饰普通变量、指针变量等。如constinta=10;,a不可再赋值。修饰指针时,constint*p或intconst*p表示p指向的值不可改,int*constp表示p指针本身不可改,有助于提高代码安全性和可读性。2.讨论在C语言中如何实现动态内存分配。答案:可通过标准库函数实现动态内存分配,如malloc函数分配指定字节数内存,calloc函数分配并初始化为0的内存,realloc函数调整已分配内存大小。使用后需用free函数释放内存,防止内存泄漏。如int*p=(int*)malloc(10*sizeof(int));。3.讨论结构体和数组在存储和使用上的区别。答案:存储上,数组元素类型相同,连续存储;结构体成员类型可不同,按成员顺序存储。使用上,数组通过下标访问元素,操作较单一;结构体通过成员名访

温馨提示

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

评论

0/150

提交评论