2024 学年第一学期《 C 语言程序设计》期末试卷
[单项选择题]若有说明语句 int a[5], *p=a;对数组元素的正确引用是( )
A.a
B.p[a]
C.*(p+2)
D.p+2
答案是: C
[单项选择题]对语句“int a[10],*p=a;”,下列表述中正确的是( )
A.*p 被赋初值为 a 数组的首地址
B.*p 被赋初值为数组元素 a[0]的地址
C.p 被赋初值为数组元素 a[1]的地址
D.p 被赋初值为数组元素 a[0]的地址
答案是: D
[单项选择题]在递归函数调用时,正确的是( )
A.函数用其值经过修改的参数调用自身
B.会提高程序的执行效率
C.会克服对 for 循环调用函数的次数的限制
D.提高应用程序的性能
答案是: A
[单项选择题]全局变量的作用域限于( )
A.整个程序包括的所有文件
B.从定义该变量的语句所在的函数
C.本程序文件
D.从定义该变量的位置开始到本程序结束
答案是: C
[单项选择题]int a= 10,*p=&a;语句中,p 的值是( )
A.10
B.变量 p 的地址值
C.变量 a 的地址值
D.无法确定
答案是: C
[单项选择题]下列关于指针变量赋空值的说法错误的是( )
A.当赋空值的时候,变量指向地址为 0 的存储单元
B.赋值语句可以表达为:变量名=′\0′;
C.赋值语句可以表达为:变量名=0;
D.一个指针变量可以被赋空值
答案是: A
[单项选择题]( )不是有效的标识符。
A.current
B.lastName
C.xingming
D.goto
答案是: D
[单项选择题]一个 C 程序可以包含任意多个不同名的函数,但有且仅有一个( ),一个 C 程序总是从此开始执行。
A.过程
B.主函数
C.函数
D.include
答案是: B
[单项选择题]要输出结果 4*4=16,下列语句不正确的是( )
A.printf("4*4=16\n");
B.printf("4*4=%d",16);
C.printf("4*4=%d",4*4);
D.printf("4*4=%d,16");
答案是: D
[单项选择题]设有以下说明语句
typedef struct
{
int n;
char ch[8];
}PER;
则下面叙述中正确的是( )
A.PER 是结构体变量名
B.PER 是结构体类型名
C.typedef struct 是结构体类型
D.struct 是结构体类型名
答案是: B
[单项选择题]若 y 是整型变量,语句 while(!y)语句 1;若要执行语句 1,则表达式!y 成立等价于( )
A.y==0
B.y!=1
C.y!=0
D.y==1
答案是: A
[单项选择题]以下程序段描述正确的是( )
for(m=1;m < =100;m++)
{
canf("%d",&y);
if(y <0) continue;
printf("%3d",m);
}
A.当 y < 0 时整个循环结束
B.y > =0 时什么也不输出
C.printf 函数永远也不执行
D.最多允许输出 100 个非负整数
答案是: D
[单项选择题]若变量 m 已定义,以下程序段中的 do-while 循环次数是( )
m=-1;
do{m=m*m;}while(!m);