二级C语言笔试题库及答案.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

二级C语言笔试题库及答案

一、选择题(共20题)

以下关于C语言标识符的说法,正确的是()

A.标识符可以包含空格B.标识符必须以字母或下划线开头

C.标识符区分大小写,如a和A是同一个标识符D.标识符长度无限制

答案:B

解析:C语言标识符规则:由字母、数字、下划线组成,必须以字母或下划线开头,区分大小写,标准C规定标识符长度至少前31个字符有效,故选B。

若有定义:inta=10,b=20;则执行a+=b;后,a的值为()

A.10B.20C.30D.40

答案:C

解析:a+=b等价于a=a+b,即10+20=30,故选C。

以下循环语句中,循环体执行次数为5次的是()

A.for(inti=0;i5;i++)B.for(inti=1;i=5;i++)

C.inti=0;while(i5){i++;}D.以上都是

答案:D

解析:A选项i从0到4,共5次;B选项i从1到5,共5次;C选项i从0开始,每次循环i自增,直到i=5时退出,共5次,故选D。

以下关于指针的说法,错误的是()

A.指针变量存储的是变量的地址B.int*p;定义了一个指向整型变量的指针

C.指针变量可以直接赋值整数,如int*p=10;D.*p表示指针p指向的变量的值

答案:C

解析:指针变量必须存储有效内存地址,不能直接赋值整数(除非是NULL),直接赋值10会导致野指针,故选C。

若有数组定义:intarr[5]={1,2,3};则以下说法正确的是()

A.arr[3]的值为0B.arr[3]的值未定义

C.数组长度为3D.编译报错

答案:A

解析:数组初始化时,未赋值的元素默认初始化为0,arr[5]定义了5个元素,arr[0]=1、arr[1]=2、arr[2]=3、arr[3]=0、arr[4]=0,故选A。

以下函数定义中,语法正确的是()

A.intfun(inta,b){returna+b;}B.fun(inta,intb){returna+b;}

C.intfun(inta,intb){returna+b;}D.intfun(a,b)inta,b;{returna+b;}

答案:C

解析:函数定义需明确返回值类型,参数需分别指定类型,A选项b未指定类型,B选项无返回值类型,D是旧版KR语法(二级考试不考),故选C。

若有定义:structStudent{charname[20];intage;};则以下声明正确的是()

A.structStudents={Zhang,20};B.Students={Zhang,20};

C.structs={Zhang,20};D.structStudents={Zhang,20};

答案:A

解析:结构体变量声明需加struct关键字(除非typedef重定义),age是整型,不能赋值字符串,故选A。

以下关于文件操作的说法,正确的是()

A.打开文件需使用fopen函数,关闭文件需使用fclose函数

B.fscanf函数用于向文件写入数据C.fputs函数用于从文件读取字符串

D.文件操作无需判断打开是否成功

答案:A

解析:fscanf用于读取文件数据,fputs用于写入字符串,文件操作必须判断打开是否成功(避免文件不存在等错误),故选A。

若有定义:inta[3][4];则以下表示数组元素a[1][2]的地址的是()

A.a[1]+2B.*(a+1)+2C.a[1][2]D.以上都是

答案:D

解析:二维数组中,a[1]是第二行的首地址,a[1]+2等价于*(a+1)+2,均指向a[1][2],a[1][2]直接取地址,故选D。

以下程序的输出结果是()

#includestdio.h

intmain(){

intx=1,y=2;

if(x++y)

printf(%d,x);

else

printf(%d,y);

return0;

}

A.1B.2C.3D.4

答案:B

解析:x++是后置自增,先判断xy(12为假),再x自增

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档