C 语言部分
一、选择题(每小题 2 分,共 10 分)
(下在各小题,分别有一个或多个正确答案,请将所有正确答案的编号,填写在
该小题题干后的括号内。错选或漏选均不得分)。
1、若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有( A,C,D,
E )
A、*(a+1)为元素 6 的地址
这里 a+1=a[1]的地址;*(a+1)的值是 6,故 A 正确。
B、*(a[1]+1)的值为 2
为 8,故 B 不正确
C、**(a+1)+2 的值为 8
这里 a+1 是一个指针,指向的是 a[1]. *(a+1)为 a[1],a[1]指向的是 a[1][0]. **(a+1)
为 6,加 2 得 8,故 C 正确;
D、a[0]与 a 相同
因二者都是指针,指针的地址都是指向数组中的第一个元素的地址,故 D 正确。
E、a[1][2]的值为 10
它是指第二行的第三个元素,为 10,正确
2、对函数的正确使用方法描述( A,C,D )。
A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组
B、实参数组元素和形参数组元素类型可以不一致
C、形参数组长度可以不指定 D、形参数组长度可以大于实参数组长度
E、数组名做参数属于值传递
3、对静态变量的正确描述( A,B,D,E )
A、静态局部变量在静态存储区内分配单元( )
B、静态外部变量可以赋初值,也可以不赋初值
C、静态外部变量的作用与外部变量相同
D、静态局部变量在函数调用结束时,仍保存其值,不会随着消失。
E、静态局部变量只赋一次初值
4、下列描述正确的是( A ,C)。
A、由 main 函数及其参数 argc 和* argv[]可以实现命令行方式
B、使用 fclose 关闭文件时,先释放文件指针,再写缓冲区数据到文件中
//先写缓冲区数据到文件中,再释放文件指针
C、字符数组并不要求它的最后一个字符是‘