2023年10月高等教育自学考试《13013高级语言程序设计》试题
13013高级语言程序设计
历年真题
共 34 题
1076 次浏览
更新于 2026-09-26
一、单选题
在每小题列出的四个备选项中只有一个是符合题目要求的。错选、多选或未选均无分。
1
下列属于C语言关键字的是( )。
- A.main
- B.break
- C.define
- D.include
2
回车换行的转义字符是( )。
- A.`\n`
- B.`\0`
- C.`\r`
- D.`\\`
3
正确的C语言常量是( )。
- A.0186
- B.1E0.5
- C.0xaf
- D.'abc'
4
设intx=1;,执行语句x/=1+2;后x的值是( )。
- A.0
- B.1
- C.2
- D.3
5
下列运算符优先级最高的是( )。
- A.+
- B.=
- C.,
- D.++
6
设int m=2;,下列表达式结果为1的是( )。
- A.0<m<1
- B.m>0
- m<1
- C.m>0&&m<1
- D.m>0,m<1
7
设int p=3,q=5;,则执行语句printf("%c\n",'A'+p/q);后输出结果是( )。
- A.65
- B.66
- C.A
- D.B
8
设intn=0;,下列循环语句不能输出5个"A"的是( )。
- A.for(;n<5;n++)printf("A");
- B.while(n<5){printf("A");n++;};
- C.do{n++;printf("A");}while(n<5);
- D.for(;n<5;n++){printf("A");if(n)break;};
9
设ints[][3]{1,2,3,4,5,6,7);,则数组元素s[2][1]的值是( )。
- A.0
- B.5
- C.6
- D.7
10
设charr[]="Zhong\nXing";,则执行语句printf("%d",sizeof(r));后输出结果是( )。
- A.5
- B.6
- C.10
- D.11
11
下列说法正确的是( )。
- A.函数必须有形参
- B.函数可以递归定义
- C.函数可以嵌套定义
- D.函数体中必须出现return语句
12
设intx=1,*q=&x;,可表示x值的是( )。
- A.*q
- B.q
- C.&x
- D.&q
13
定义函数为int*p(floatx,char c){…..},则该函数是( )。
- A.整型函数
- B.实型函数
- C.指针型函数
- D.字符型函数
14
设typedef float REAL;,则REAL是( )。
- A.float型变量
- B.REAL型变量
- C.typedef型变量
- D.float类型的别名
15
若到达文件尾,则库函数feof( )的返回值是( )。
- A.0
- B.非0
- C.1
- D.NULL
二、填空题
主观题不参与评分,请参考答案自行评分。
16
执行printf("%d\n",(int)1.5%5/2);后输出结果是_____。
17
C语言中,程序的执行从_____函数开始。
18
设char s[]="\\Computer\\";,则执行printf("%s\n",s);后输出结果是_____。
19
C语言中,唯一的三目运算符是_____。
20
执行printf("%d",8>>2);后输出结果是_____。
21
结构化程序的三种基本结构分别是循环结构、选择结构和_____结构。
22
变量的存储类型包括static型、extemn型、register型和_____型。
23
设int w[5],*p=w;,则w的最后一个元素的表示方法是_____。
24
设struct st{char name[10];char sex;int age;}s[100],*q=s;,当引用s的第三个元素的成员age时,与s[2].age等价的是_____。
25
使用库函数strcmp所需的文件包含命令是_____。
三、程序分析题
主观题不参与评分,请参考答案自行评分。
26
#include
int main(void)
{
int i,j,x=0;
for(i=0;i<2;i++)
{for(j=0;j<=3;j++)
{if(j%2)continue;
x++;
}
x++;
}
printf('x=%d\n',x);
}
return0;
}
int main(void)
{
int i,j,x=0;
for(i=0;i<2;i++)
{for(j=0;j<=3;j++)
{if(j%2)continue;
x++;
}
x++;
}
printf('x=%d\n',x);
}
return0;
}
27
#include
#include
int main(void)
{
char str[10];
strcpy(str,"中国");
strcat(str,"北京");
puts(str);
return0;
}
#include
int main(void)
{
char str[10];
strcpy(str,"中国");
strcat(str,"北京");
puts(str);
return0;
}
28


29
#include
#include
int main(void)
{
int i;
char*city[]={"北京","上海","广州","深圳"};
for(i=1;i<4;i+=2)printf("%s\n",city[i]);
return0;
}
#include
int main(void)
{
int i;
char*city[]={"北京","上海","广州","深圳"};
for(i=1;i<4;i+=2)printf("%s\n",city[i]);
return0;
}
四、程序填空题
主观题不参与评分,请参考答案自行评分。
30
输入四则运算表达式后,计算(零不能做除数)并输出其结果。
#include
int main(void)
{char oper;float a,b;
scanf("%f%c%f",&a,&oper,&b);/*输入四则运算表达式*/
switch(__________)/*第一空*/
{
case'+':printf("a+b=%.2f\n",a+b);
break;
case'-':printf("a-b=%.2f\n",a-b);
_______________;/*第二空*/
case'*':printf("a*b=%.2f\n",a*b);
break;
case'/':if(__________)printf("a/b=%.2f\n",a/b);/*第三空*/
else printf("除数为0,不能计算!\n");
break;
default:print("不是四则运算符!\n");
}
return0;
}
#include
int main(void)
{char oper;float a,b;
scanf("%f%c%f",&a,&oper,&b);/*输入四则运算表达式*/
switch(__________)/*第一空*/
{
case'+':printf("a+b=%.2f\n",a+b);
break;
case'-':printf("a-b=%.2f\n",a-b);
_______________;/*第二空*/
case'*':printf("a*b=%.2f\n",a*b);
break;
case'/':if(__________)printf("a/b=%.2f\n",a/b);/*第三空*/
else printf("除数为0,不能计算!\n");
break;
default:print("不是四则运算符!\n");
}
return0;
}
31
输入一个字符串,以回车换行作为结束标志,分别统计数字字符0,1,2,······,9出现的次数并保存至数组元素num[0]、num[1]、num[2]······中,输出统计结果。
#include
int main(void)
{
int i,num[10]={0};
char ch;
while((ch=getchar( )!=__________)*/第一空*/
if(__________)num[ch-'0']++;/*第二空*/
for(i=0;i<10;i++)
printf('%d->%od\n',i,__________);/*第三空*/
return0;
}
#include
int main(void)
{
int i,num[10]={0};
char ch;
while((ch=getchar( )!=__________)*/第一空*/
if(__________)num[ch-'0']++;/*第二空*/
for(i=0;i<10;i++)
printf('%d->%od\n',i,__________);/*第三空*/
return0;
}
32
从键盘输入若干个学生的姓名和考试成绩,若高于或等于80分,则显示字母等级为A,若低于60分则显示字母等级为C,其余显示字母等级为B。
#define N10
#include
typedef struct stu
{
char name[10];
int score;
char grade;
}__________;/*第一空*/
int main(void)
{
int i;ST stud[N];
for(i=0;i{
scanf('%s%d',stud[i].name,&stud[i].score);
if(stud[i].score>=80)stud[i].grade='A';
else if(__________)stud[i].grade='C';/*第二空*/
else__________;/*第三空*/
}
for(i=0;ipintf('%-10s%5d%3c\n',stud[i].name,stud[i].score,stud[i].grade);
return0;
}
#define N10
#include
typedef struct stu
{
char name[10];
int score;
char grade;
}__________;/*第一空*/
int main(void)
{
int i;ST stud[N];
for(i=0;i{
scanf('%s%d',stud[i].name,&stud[i].score);
if(stud[i].score>=80)stud[i].grade='A';
else if(__________)stud[i].grade='C';/*第二空*/
else__________;/*第三空*/
}
for(i=0;ipintf('%-10s%5d%3c\n',stud[i].name,stud[i].score,stud[i].grade);
return0;
}
五、程序设计题
主观题不参与评分,请参考答案自行评分。
33
利用二重循环输出如下图形。
1
12
123
1234
……
123456789
1
12
123
1234
……
123456789
34
从键盘输入x的值,计算并输出
的近似值,直到公式中最后一项的绝对值小于10-4为止,其中n是大于等于0的自然数。
的近似值,直到公式中最后一项的绝对值小于10-4为止,其中n是大于等于0的自然数。输入阅读码
查看答案与解析需要输入阅读码