文档详情

9月计算机等级考试二级c语言笔试考试练习题(答案).docx

发布:2025-04-27约2.86千字共10页下载文档
文本预览下载声明

9月计算机等级考试二级c语言笔试考试练习题(答案)

选择题

1.以下选项中,不合法的C语言标识符是()

A._123

B.int

C.abc

D.num_1

答案:B

解析:C语言标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线。同时,不能使用C语言的关键字作为标识符。选项B中的“int”是C语言的关键字,用于定义整型变量,所以不合法。

2.若有定义:inta=10;则执行语句a+=a=aa;后,a的值是()

A.180

B.180

C.10

D.100

答案:A

解析:根据运算符优先级,先计算aa=100,然后执行a=100,即a=a100=10100=90,最后执行a+=90,即a=a+(90)=90+(90)=180。

3.以下关于for循环的说法不正确的是()

A.for循环只能用于循环次数已经确定的情况

B.for循环是先判断循环条件,后执行循环体

C.for循环的三个表达式都可以省略

D.for循环可以嵌套使用

答案:A

解析:for循环不仅可以用于循环次数确定的情况,也可以用于循环次数不确定的情况,只要循环条件合适即可。选项B,for循环先判断循环条件,条件为真时执行循环体;选项C,for循环的三个表达式都可以省略,如for(;;)是一个无限循环;选项D,for循环可以嵌套使用,实现更复杂的逻辑。

4.若有定义:inta[5]={1,2,3,4,5};则对数组元素的正确引用是()

A.a[5]

B.a[0]

C.a(2)

D.a[10]

答案:B

解析:数组下标从0开始,对于数组a[5],合法的下标范围是0到4。选项A中a[5]超出了数组的范围;选项C中使用括号引用数组元素是错误的,应该用方括号;选项D中a[10]也超出了数组的范围。

5.以下函数调用语句中,含有的实参个数是()

func((exp1,exp2),(exp3,exp4,exp5));

A.1

B.2

C.4

D.5

答案:B

解析:逗号表达式的值是最后一个表达式的值。在函数调用func((exp1,exp2),(exp3,exp4,exp5));中,(exp1,exp2)是一个逗号表达式,其值为exp2,(exp3,exp4,exp5)是另一个逗号表达式,其值为exp5,所以实参个数是2。

填空题

1.若有定义:charch=A;则执行语句ch=ch+32;后,ch的值是______。

答案:a

解析:在ASCII码表中,大写字母和小写字母的差值为32。字符A的ASCII码值加上32后得到字符a的ASCII码值,所以ch的值变为a。

2.设intx=1,y=2;则表达式xy?x:y的值是______。

答案:2

解析:这是一个三目运算符表达式。先判断xy是否成立,由于12不成立,所以返回冒号后面的值,即y的值2。

3.若有定义:inta[3][4];则数组a中元素的个数是______。

答案:12

解析:二维数组a[3][4]表示有3行4列,元素个数为行数乘以列数,即34=12。

4.函数的返回值类型是由______决定的。

答案:函数定义时指定的返回值类型

解析:在定义函数时,需要指定函数的返回值类型,函数执行完后返回的值的类型必须与定义的返回值类型一致(在允许的类型转换范围内)。

判断题

1.在C语言中,所有变量在使用前都必须先定义。()

答案:正确

解析:C语言是一种静态类型语言,变量在使用前必须先定义,以确定变量的类型和存储空间。

2.数组名代表数组首元素的地址。()

答案:正确

解析:在C语言中,数组名通常表示数组首元素的地址。例如,对于数组inta[5];,a就代表a[0]的地址。

3.一个C语言程序可以有多个主函数。()

答案:错误

解析:一个C语言程序只能有一个主函数(main函数),程序从主函数开始执行。

4.用dowhile语句构成的循环,在while后的表达式为零时结束循环。()

答案:正确

解析:dowhile循环先执行循环体,再判断while后的表达式。当表达式的值为0(假)时,结束循环。

解答题

1.编写一个程序,输入一个整数,判断它是否为素数。

```c

includestdio.h

includemath.h

intmain(){

intnum,i,isPrime=1;

printf(请输入一个整数:);

scanf(%d,num);

if(num

显示全部
相似文档