网站大量收购独家精品文档,联系QQ:2885784924

3月计算机等级考试二级C语言笔试试题及答案.docxVIP

3月计算机等级考试二级C语言笔试试题及答案.docx

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

3月计算机等级考试二级C语言笔试试题及答案

选择题

1.以下选项中,能作为C语言合法常量的是()

A.1.23e0.5

B.ABC

C.028

D.3.14L

答案:D

详细解答:

选项A:在科学计数法中,e后面必须是整数,1.23e0.5中e后面是0.5为小数,不合法。

选项B:单引号用于表示单个字符,ABC包含多个字符,应该用双引号表示字符串,所以不合法。

选项C:以0开头表示八进制数,但八进制数中只能包含07的数字,028中出现了8,不合法。

选项D:3.14L表示长双精度浮点数常量,是合法的。

2.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3(int)(x+y)%2/4的值是()

A.2.500000

B.2.750000

C.3.500000

D.0.000000

答案:A

详细解答:

首先计算a%3,a=7,7%3结果为1。

接着计算x+y,x=2.5,y=4.7,x+y=7.2,(int)(x+y)将7.2强制转换为整数7。

然后计算17=7,7%2结果为1,1/4由于两个操作数都是整数,结果为0(整数除法取整)。

最后计算x+0,x=2.5,所以最终结果为2.500000。

3.以下关于函数的说法正确的是()

A.函数必须有返回值

B.函数可以嵌套定义

C.函数的形参在函数未调用时不占内存

D.函数的实参和形参可以同名,它们代表同一个变量

答案:C

详细解答:

选项A:函数可以没有返回值,使用void类型来声明,所以该说法错误。

选项B:C语言中函数不能嵌套定义,但可以嵌套调用,所以该说法错误。

选项C:函数的形参只有在函数被调用时才会分配内存,未调用时不占内存,该说法正确。

选项D:函数的实参和形参同名时,它们是不同的变量,实参是调用函数时传递的值,形参是函数内部接收值的变量,所以该说法错误。

填空题

1.若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]的值为______。

答案:0

详细解答:

二维数组a[3][4]初始化时,第一行{1,2},未明确初始化的元素自动初始化为0,即第一行完整为{1,2,0,0};第二行{0},则第二行完整为{0,0,0,0};第三行{4,6,8,10}。所以a[1][2]是第二行第三列的元素,值为0。

2.以下程序段的输出结果是______。

```c

inti=5;

do{

if(i%3==1)

if(i%5==2){

printf(%d,i);

break;

}

i++;

}while(i!=0);

```

答案:7

详细解答:

首先i=5,i%3=2,不满足第一个if条件,i++后i变为6。

接着i=6,i%3=0,不满足第一个if条件,i++后i变为7。

然后i=7,i%3=1,满足第一个if条件,继续判断i%5=2,满足第二个if条件,输出i的值7,然后执行break跳出循环。

判断题

1.在C语言中,字符型数据和整型数据可以通用。()

答案:正确

详细解答:

在C语言中,字符型数据在内存中以ASCII码值存储,本质上是一个整数。所以字符型数据可以和整型数据进行混合运算,也可以相互赋值,因此可以通用。

2.数组名代表数组首元素的地址,是一个常量指针,不能对其进行自增自减等运算。()

答案:正确

详细解答:

数组名是数组首元素的地址,它是一个常量指针,其值在程序运行期间不能被改变,所以不能对数组名进行自增自减等会改变其值的运算。

解答题

1.编写一个函数,用于计算两个整数的最大公约数。

```c

includestdio.h

intgcd(inta,intb){

while(b!=0){

inttemp=b;

b=a%b;

a=temp;

}

returna;

}

intmain(){

intnum1=24,num2=36;

intresult=gcd(num1,num2);

printf(最大公约数是:%d\n,result);

return0;

}

```

文档评论(0)

乐乐 + 关注
实名认证
文档贡献者

乐乐

1亿VIP精品文档

相关文档