2025年等级考试-计算机二级-C语言程序设计考试历年真题常考点试题带答案 .docx
2025年等级考试-计算机二级-C语言程序设计考试历年真题常考点试题带答案
(图片大小可任意调节)
第1卷
一.单选题(共15题)
1.若有说明:inta[10];则对a数组元素的正确引用是
A.a[10]
B.a[3.5]
C.a[5-3]
D.a[-1]
2.以下C语言标识符中,不合法的是
A._2
B.a_b
C.a--b
D.AaBc
3.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(),(注:_表示空格)
intal,a2,charc1,c2;
scanf(%d%c%d%c,a1,c1,a2,c2);
A.10A_20_B
B.10_A_20_B
C.10A20B
D.10A20_B
4.以下程序段
x=-1;
do
{
x=x*x;
}
while(!x);
A.是死循环
B.循环执行二次
C.循环执行一次
D.有语法错误
5.数字字符0的ASCII值为48,若有以下程序
main()
{
chara=1,b=2;
printf(%c,,b++);
printf(%d\n,b-a);
}
程序运行后的输出结果是。
A.3,2
B.50,2
C.2,2
D.2,50
6.有以下程序段
main()
{
intk=0;
while(k=1)k++;
}
则while循环执行的次数是()////赋值语句,只要不是0,一直循环
A.无限次
B.有语法错,不能执行
C.一次也不执行
D.执行1次
7.设charstr1[10]=“ABCDE”,str2[10]=“xyz”;
则执行语句printf(“%d”,strlen(strcpy(str1,str2)));后的输出结果就是
A.9
B.8
C.5
D.3
8.以下程序的输出结果是
#include
main()
{
inta=5,b=4,c=6,d;
printf(“%d”,d=ab?(ac?a:c):b);
}
A.5
B.4
C.6
D.不确定
9.有如下程序,输入数据:12345M678后(表示回车),x的值是
A.12345
B.123
C.45
D.345
10.若有定义int(*p)[3];则下列说法正确的是
A.定义了基类型为int的三个指针变量
B.定义了一个名为*pt、具有三个元素的整型数值
C.定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组
D.定义了基类型为int的具有三个元素的整型数组
11.以下对一维整形数组a的正确说明是
A.inta(10);
B.intn=10,a[n];
C.intn;
D.inta[10];
12.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是
A.*p表示的是指针变量p的地址
B.*p表示的是变量a的值,而不是变量a的地址
C.*p表示的是指针变量p的值
D.*p只能用来说明p是一个指针变量
13.有以下程序
main()
{inta=1,b=0;
if(!a)b++;
elseif(a==0)if(a)b+=2;
elseb+=3;
printf(“%d\n”,b);
}则程序输出
A.0
B.1
C.2
D.3
14.执行下列程序段后输出的结果就是
x=9;
while(x7)
{printf(“*”);x--;}
A.****
B.***
C.**
D.*
15.若有以下程序段,
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是
A.0
B.0.5
C.1
D.2
二.判断题(共5题)
1.形参为指针变量时,实参必须是数组名