计算机二级c类考试试题及答案_第1页
计算机二级c类考试试题及答案_第2页
计算机二级c类考试试题及答案_第3页
计算机二级c类考试试题及答案_第4页
计算机二级c类考试试题及答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

计算机二级c类考试试题及答案

一、单项选择题(每题2分,共20分)1.在C语言中,合法的字符常量是()。A.'\084'B.'\x43'C.'ab'D."\0"答案:B2.若有定义:inta=5;则表达式a+=a-=aa的值是()。A.-40B.40C.-20D.20答案:A3.以下能正确定义一维数组的选项是()。A.intnum[];B.defineN100;intnum[N];C.intnum[0..100];D.intN=100;intnum[N];答案:B4.设变量已正确定义,则以下能正确计算f=n!的程序段是()。A.f=0;for(i=1;i<=n;i++)f=i;B.f=1;for(i=1;i<n;i++)f=i;C.f=1;for(i=n;i>1;i++)f=i;D.f=1;for(i=1;i<=n;i++)f=i;答案:D5.以下函数调用语句中实参的个数是()。func((e1,e2),(e3,e4,e5));A.2B.3C.5D.语法错误答案:A6.若有以下定义和语句:ints[4][5],(ps)[5];ps=s;则对s数组元素的正确引用形式是()。A.ps+1B.(ps+3)C.ps[0][2]D.(ps+1)+3答案:C7.在C语言中,函数返回值的类型最终取决于()。A.return语句中表达式类型B.函数定义时在函数首部所说明的函数类型C.调用函数时主调函数所传递的实参类型D.函数定义时形参的类型答案:B8.以下叙述中错误的是()。A.可以给指针变量赋一个整数作为地址值B.函数可以返回地址值C.改变函数形参的值,不会改变对应实参的值D.当在函数的开头包括头文件stdio.h时,可以给指针变量赋NULL答案:A9.若有以下说明语句:structstudent{intnum;charname[30];};structstudentstu[3]={{1001,"ZhangSan"},{1002,"LiSi"},{1003,"WangWu"}};则以下引用形式错误的是()。A.stu[0].numB.(stu+1)->nameC.stu[2].name[4]D.答案:D10.若有以下定义和语句:FILEfp;fp=fopen("test.txt","w");则以下不可以向文件写入数据的语句是()。A.fputc('a',fp);B.fputs("hello",fp);C.fprintf(fp,"%d",10);D.fread(&i,4,1,fp);答案:D二、多项选择题(每题2分,共20分)1.以下关于C语言数据类型的描述,正确的有()。A.基本数据类型包括整型、实型、字符型等B.数组属于构造数据类型C.指针是一种特殊的数据类型D.结构体和共用体属于用户自定义数据类型答案:ABCD2.下列关于C语言中运算符优先级的说法,正确的有()。A.单目运算符优先级高于双目运算符B.算术运算符优先级高于关系运算符C.逻辑非运算符优先级高于逻辑与运算符D.赋值运算符优先级最低答案:ABCD3.以下关于函数的说法,正确的有()。A.函数可以嵌套调用B.函数可以递归调用C.函数可以没有返回值D.函数形参可以是指针类型答案:ABCD4.在C语言中,关于数组的操作,正确的有()。A.可以用一个数组初始化另一个数组B.数组名代表数组的首地址C.可以对数组元素进行逐个赋值D.数组大小在定义后不能改变答案:ABCD5.以下关于指针的说法,正确的有()。A.指针变量可以指向基本数据类型变量B.指针变量可以指向数组元素C.可以通过指针变量访问所指向的变量的值D.指针变量可以进行算术运算答案:ABCD6.以下关于结构体的描述,正确的有()。A.结构体成员可以是不同的数据类型B.可以定义结构体数组C.可以通过结构体指针访问结构体成员D.结构体变量可以整体赋值答案:ABCD7.在C语言中,关于文件操作的说法,正确的有()。A.文件操作分为顺序文件操作和随机文件操作B.可以用fopen函数打开一个文件C.可以用fclose函数关闭一个文件D.可以用fwrite函数向文件写入数据答案:ABCD8.以下关于宏定义的说法,正确的有()。A.宏定义是一种预处理命令B.宏定义可以带参数C.宏定义不进行类型检查D.宏定义在程序编译时进行替换答案:ABC(宏定义在预编译阶段进行替换,不是编译时)9.以下关于循环结构的说法,正确的有()。A.C语言中有for循环、while循环和do-while循环B.for循环适合已知循环次数的情况C.while循环先判断条件再执行循环体D.do-while循环至少执行一次循环体答案:ABCD10.在C语言中,关于字符串的操作,正确的有()。A.可以用字符数组存储字符串B.字符串以'\0'作为结束标志C.可以用strcpy函数复制字符串D.可以用strlen函数获取字符串长度答案:ABCD三、判断题(每题2分,共20分)1.在C语言中,变量必须先定义后使用。()答案:对2.C语言中的注释部分可以出现在程序中的任何地方。()答案:对3.逻辑运算符两侧运算对象的数据类型只能是0或1。()答案:错4.在C语言中,数组下标从1开始。()答案:错5.函数的形参和实参可以同名。()答案:对6.指针变量只能指向同类型的变量。()答案:对7.结构体中的成员变量名可以与程序中的其他变量名相同。()答案:对8.在C语言中,所有的函数都是平行的,即在定义函数时是互相独立的。()答案:对9.一个C程序中只能有一个main函数。()答案:对10.在文件操作中,读操作和写操作不能同时进行。()答案:错四、简答题(每题5分,共20分)1.简述C语言中变量的作用域。答案:变量的作用域分为局部作用域和全局作用域。局部变量在函数内部定义,作用域局限于定义它的函数内部。全局变量在函数外部定义,作用域从定义位置开始到整个程序结束,可以被多个函数访问,但在函数内部使用时如果有同名局部变量则局部变量优先。2.描述C语言中函数递归的概念。答案:函数递归是指在函数的定义中使用函数自身的方法。一个函数在它的函数体内调用它自身,必须有结束条件,否则会陷入无限递归。递归函数通常把一个大型复杂的问题层层转化为与原问题相似的规模较小的问题来求解。3.说明C语言中指针和数组的关系。答案:数组名是数组的首地址,是一个常量指针。可以用指针来访问数组元素,指针的算术运算可以方便地在数组中移动。数组元素可以通过指针的间接访问来操作,而且可以用指针来动态分配数组内存等。4.解释C语言中文件操作的基本步骤。答案:首先用fopen函数打开文件,根据需要选择打开模式(如读、写等)。然后可以进行读或写等操作,如用fread、fwrite等函数。操作完成后,用fclose函数关闭文件以释放相关资源。五、讨论题(每题5分,共20分)1.讨论在C语言中使用结构体的好处。答案:结构体可以将不同类型的数据组合在一起,方便表示复杂的数据结构。例如表示一个学生信息,包含学号、姓名、年龄等不同类型数据。提高程序的可读性和可维护性,便于数据的整体处理。2.如何提高C语言程序的效率?答案:选择合适的算法和数据结构,避免不必要的计算和循环嵌套。合理使用指针,减少函数调用的开销,优化内存管理,例如避免频繁的动态内存分配和释放等。3.阐述C语言中宏定义和函数的区别。

温馨提示

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

评论

0/150

提交评论