二级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类考试试题及答案

一、选择题(每题2分,共20分)

1.以下关于C语言变量声明的描述中,正确的是()。

A.变量声明必须在函数体的最开始处

B.局部变量未初始化时,其值为0

C.全局变量未初始化时,其值为随机数

D.同一作用域内不能声明同名变量

答案:D

解析:C语言允许在函数体内任意位置声明变量(C99标准),因此A错误;局部变量未初始化时,值为内存中的随机值,全局变量未初始化时默认初始化为0,故B、C错误;同一作用域内同名变量会引发重复声明错误,D正确。

2.若有定义“inta=5,b=3;”,则表达式“(a++b)2”的结果是()。

A.4

B.6

C.8

D.10

答案:C

解析:a++先取值5,再自增为6;b先自减为2,再取值2;52=3,32=8,故结果为8。

3.以下逻辑表达式中,能正确表示“x和y中至少有一个大于0且不超过10”的是()。

A.(x0||y0)(x=10||y=10)

B.(x0x=10)||(y0y=10)

C.(x0y0)||(x=10y=10)

D.(x0||x=10)(y0||y=10)

答案:B

解析:“至少一个”需用逻辑或(||)连接两个条件,每个条件需同时满足“大于0”和“不超过10”(即=10),因此正确形式为(x0x=10)||(y0y=10)。

4.执行以下程序段后,输出结果是()。

```c

inti,sum=0;

for(i=1;i=5;i++){

if(i%2==0)continue;

sum+=i;

}

printf(%d,sum);

```

A.5

B.6

C.9

D.15

答案:C

解析:循环中i取1、2、3、4、5。当i为偶数(2、4)时,执行continue跳过sum累加;i=1时sum=1,i=3时sum=4,i=5时sum=9,最终输出9。

5.若有定义“intarr[3][4]={{1,2},{3,4,5},{6}};”,则arr[1][2]的值是()。

A.0

B.4

C.5

D.6

答案:C

解析:二维数组按行初始化,第一行补0至4列(1,2,0,0),第二行(3,4,5,0),第三行(6,0,0,0)。arr[1][2]即第二行第三列元素,值为5。

6.若有定义“intp,a[5]={10,20,30,40,50};p=a;”,则以下表达式中与“a[2]”等价的是()。

A.(p+2)

B.p[2]

C.(a+2)

D.以上都是

答案:D

解析:数组名a是首地址,p指向a的首元素,p+2和a+2均指向第三个元素(下标2),(p+2)、p[2]、(a+2)均等价于a[2]。

7.以下关于函数参数传递的描述中,错误的是()。

A.数组作为参数传递时,传递的是数组首地址

B.指针变量作为参数传递时,函数内修改指针指向的内容会影响实参

C.基本数据类型作为参数传递时,函数内修改形参不会影响实参

D.结构体变量作为参数传递时,函数内无法修改结构体成员的值

答案:D

解析:结构体变量作为参数传递时,传递的是副本,但函数内可以修改副本的成员值,只是不会影响原结构体变量。若要修改原变量,需传递结构体指针。

8.若有定义“structStudent{charname[20];intage;}s={LiMing,20};”,则以下访问s中age成员的正确方式是()。

A.sage

B.Student.age

C.s.age

D.s.age

答案:C

解析:s是结构体变量,用“.”访问成员;若s是结构体指针,则用“”。因此正确方式为s.age。

9.以下关于文件操作的描述中,正确的是()。

A.fopen函数的第二个参数“w”表示以只读方式打开文本文件

B.fgets函数读取字符串时,会自动添加结束符\0

C.fwrite函数的参数“sizeof(int)”表示要写入的元素个数

D.文件操作结束后不需要关闭文件,程序会自动处理

答案:B

解析:“w”是写模式(覆盖),A错误;fwrite的第三个参数是元素个数,第二个参数是单个元素大小,C错误;文件必须用fclose关闭,否则可能丢失数据,D错误;fgets读取n1个字符后自动添加\0,B正确。

10.

文档评论(0)

183****5731 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档