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

下载本文档

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

文档简介

c语言二级考试试题及答案解析

一、单项选择题(每题2分,共20分)1.在C语言中,合法的字符常量是()。A.'\084'B.'\x43'C.'ab'D."\0"答案:B。2.若有定义:inta=10;则表达式a+=a-=aa的值是()。A.-180B.-190C.10D.0答案:A。3.以下叙述中正确的是()。A.函数调用时,不必区分函数名称的大小写B.调用函数时,函数名必须与被调用的函数名完全一致C.函数名允许用数字开头D.在函数体中只能出现一次return语句答案:B。4.以下能正确定义一维数组的选项是()。A.intnum[];B.defineN100;intnum[N];C.intnum[0..100];D.intN=100;intnum[N];答案:B。5.若有以下定义:structstudent{intnum;charname[20];};则以下叙述中错误的是()。A.struct是结构体类型的关键字B.结构体类型名为studentC.num是结构体成员名D.结构体student有2个成员答案:D。6.若有定义:inta=5;则表达式a++1/3的值是()。A.1B.0C.2D.1.666667答案:A。7.在C语言中,若有以下定义:inta=10,b=20,c=30;则表达式a<b?a:c的值是()。A.10B.20C.30D.40答案:A。8.以下循环语句的执行次数是()。inti=0;do{i++;}while(i<0);A.0B.1C.2D.无限次答案:B。9.若有定义:intp,a=10;则以下语句中正确的是()。A.p=&a;B.p=a;C.p=a;D.a=p;答案:A。10.以下函数的功能是()。voidfun(ints,intn1,intn2){inti,j,t;i=n1;j=n2;while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}A.对数组s中的元素进行升序排列B.对数组s中的元素进行降序排列C.将数组s的前n1个元素和后n2个元素进行交换D.将数组s的元素从第n1个到第n2个进行逆序答案:D。二、多项选择题(每题2分,共20分)1.以下关于C语言数据类型的叙述中,正确的有()。A.基本数据类型包括整型、实型、字符型等B.数组属于构造类型C.指针是一种特殊的数据类型D.枚举类型是基本数据类型E.结构体类型属于用户自定义类型答案:ABCE。2.以下哪些是合法的C语言标识符()。A._abcB.123abcC.a_bcD.forE.ABC答案:ACE。3.若有定义:inta=10,b=20;则以下表达式的值为真的有()。A.a<bB.a+b>30C.a!=bD.!(a>b)E.a==b答案:ACD。4.关于函数的说法,正确的有()。A.函数可以有返回值也可以没有返回值B.函数可以有多个参数C.函数内部可以定义其他函数D.函数调用时实参和形参的类型要匹配E.函数的定义可以嵌套答案:ABD。5.以下关于数组的说法正确的有()。A.数组元素的下标从0开始B.数组名代表数组的首地址C.二维数组在内存中是按行存储的D.数组的大小在定义后可以改变E.可以用一个初始化列表对数组进行初始化答案:ABCE。6.以下关于指针的说法正确的有()。A.指针变量可以存储变量的地址B.可以通过指针间接访问变量的值C.指针变量在使用前必须初始化D.指针可以指向函数E.空指针的值为0答案:ABCDE。7.若有定义:struct{intnum;charname[20];}st;则以下操作正确的有()。A.st.num=10;B.scanf("%s",);C.="abc";D.printf("%d",st.num);E.structsts;答案:ABD。8.以下关于文件操作的说法正确的有()。A.可以用fopen函数打开一个文件B.fclose函数用于关闭文件C.可以用fread函数从文件中读取数据D.fwrite函数只能写入字符型数据E.文件操作完成后必须关闭文件答案:ABCE。9.以下哪些是C语言中的逻辑运算符()。A.&&B.||C.!D.&E.|答案:ABC。10.若有定义:inta[5]={1,2,3,4,5};则以下表达式中能正确表示数组元素的有()。A.a[0]B.(a+1)C.aD.a[5]E.&a[0]答案:ABC。三、判断题(每题2分,共20分)1.在C语言中,变量必须先定义后使用。()答案:对。2.一个C程序中可以有多个main函数。()答案:错。3.字符串常量"abc"在内存中占3个字节。()答案:错。4.函数的形参在函数调用时分配内存空间。()答案:对。5.全局变量在整个程序的所有函数中都可以直接使用。()答案:错。6.二维数组可以看作是由多个一维数组组成的数组。()答案:对。7.指针变量和它所指向的变量具有相同的数据类型。()答案:错。8.结构体中的成员可以是不同的数据类型。()答案:对。9.用define定义的常量在程序运行时其值不能改变。()答案:对。10.逻辑表达式a&&b,当a为假时,不再计算b的值。()答案:对。四、简答题(每题5分,共20分)1.简述C语言中函数的作用。答案:函数可以将程序分解为多个模块,提高代码的复用性、可读性和可维护性。可以实现特定功能,将复杂的任务分解为多个简单的函数来处理,并且可以通过函数的参数和返回值进行数据传递。2.简述指针在C语言中的用途。答案:指针可用于动态内存分配,通过指针间接访问变量的值,在函数间传递地址实现对多个数据的操作,还可用于构建复杂的数据结构如链表、树等。3.说明C语言中结构体的特点。答案:结构体可将不同类型的数据组合在一起。它允许用户自定义数据类型,方便对相关数据进行统一管理,结构体中的成员可以通过成员运算符“.”来访问。4.解释C语言中数组下标的含义。答案:数组下标用于标识数组元素在数组中的位置,从0开始计数,通过下标可以方便地访问数组中的特定元素。五、讨论题(每题5分,共20分)1.讨论在C语言中使用全局变量的优缺点。答案:优点是方便在多个函数间共享数据,减少函数间参数传递。缺点是会增加程序的耦合性,使程序的可维护性变差,且可能导致意外的修改,不易调试。2.讨论C语言中动态内存分配的意义。答案:动态内存分配可根据程序运行时的实际需求分配内存。避免了静态分配时可能出现的内存浪费或内存不足的情况,提高了内存的利用率,增加

温馨提示

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

评论

0/150

提交评论