《自考视频课程》名师讲解,轻松易懂,助您轻松上岸!低至399元/科!
全国2010年1月高等教育自学考试高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内.错选、多选或未选均无分.
1. 下列不属于保留字的是( )
A. default
B. register
C. sruct
D. unsign
2. 下列不能作为常量的是( )
A. 0582
B. 0xa5
C. ’\n’
D. 2.5e-2
3. 设typedeflong class;,则class是( )
A. 整型变量
B. 长整型变量
C. 长整型数据类型的新标识符
D. 新的而非长整型数据类型的标识符
4. 设char c=’A’;int i=l, j;,执行j=!c&&i++;后,i和j的值分别是( )
A. 1和0
B. 1和1
C. 2和0
D. 2和l
5. 设int a;,执行表达式(a=1,2,3),a+1后,a和表达式的值分别是( )
A. 1和2
B. 2和3
C. 3和4
D. 4和5
6. 下列关于函数定义正确的是( )
A. fun(int x,y){int z;return z;}
B. void fun(int x,int y){return x+y;}
C. fun(x,y){int x,y;double z;z=x+y;return z;}
D. double fun(int x,int y) {double z;z=x+y;return z;)
7. 下列用户自定义标识符正确的是( )
A. 4a
B. b_1
C. -&
D. *p
8. 下列程序段中循环体执行的次数是( )
int x=-1;
do
{
x=x*x;
}while(! x);
A. 0
B. 1
C. 2
D. 无限
9. 实现字符串连接的系统函数名是( )
A. strcat
B. strcmp
C. strcpy
D. strlen
10. 若实参是一个数组名,在调用函数时,实参向形参传递的是( )
A. 数组的长度
B. 数组的首地址
C. 数组每个元素的值
D. 数组每个元素的地址
11. 设int a[ ][4]={l,2,3,4,5,6,7};,则a[1][3]的值是( )
A. 0
B. 3
C. 4
D. 7
12. 若定义一个只限本源文件使用的全局变量,则该变量的存储类别是( )
A. extern
B. register
C. static
D. auto
13. 设chark=’a’;float j=2.0;,执行k+=5/j;printf("%c", k);后,输出结果是( )
A. a
B. b
C. c
D. d
14. 下列程序段正确的是( )
A. char s[ ]={‘xyz’};
scanf(‘‘%s",s);
B. float*p,i;
p=*p+i;
C. char s[5]=‘word’;
puts(s);
D. int a[5]={0},*p=a;
*p=*(p+1);
15. 关于编译预处理命令,叙述正确的是( )
A. 预处理命令都以"#"开头
B. 预处理命令必须位于程序的首部
C. 预处理命令只能实现宏定义和条件编译的功能
D. 每个程序必须在开头使用预处理命令#include<stdio. h>
三、程序分析题(本大题共4小题,每小题4分,共16分)
阅读下列程序,将输出结果写到各题右侧的空白处.
26.
void main()
{
int color=2;
switch(color)
{
case l:printf("red\n");break;
case 2:printf("yellow\n");
case 3:printf("blue\n");
}
}
27.
void main()
{
int m,n;
for(m=1;m<=3;m++)
{
for(n=1;n<=2*m-l;n++)printf "*");
printf("\n");
}
}
28.
void main()
{
float x=3.6;
int i;
i=x;
printf(‘x=%5.3f, i=%d\n",x,i);
}
29.
void main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
for(i=0;i<=1;i++)
{
for (j=0;j<=2;j++)
{ printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf(‘‘\n");
}
printf("array b:\n");
for (i=0;i<=2;i++)
for (j=0;j<=1;j++)
printf("%5d",b[i][j]);
}
四、程序填充题(本大题共3小题,每小题6分,共18分)
请将下列程序横线处缺少的部分补上,使其能正确运行.
30. 从键盘输入10个学生的姓名、性别和成绩,计算并输出这些学生的平均成绩.
#define N 10
struct student
{
char name [20];
char sex;
int score;
} stu[N];
void main( )
{
int i;
float aver,sum=0;
for(i=0;i<N;i++)
{ scanf("%d,%c%s",_________);/*第一空*/
sum=sum+_________; /*第二空*/
}
aver=___________; /*第三空*/
printf("aver=%6. 2f\n",aver);
}
31. 从键盘输入一串字符(以"?"作为结束标志),保存到文本文件text. txt中.
#include "stdio.h"
void main()
{
FILE _______; /*第一空*/
char ch;
if( (fp=fopen ("text. txt’’,_______) )==NULL) exit(0); /*第二空*/
while( (ch=getchar( ))!=’?’) fpute (ch,_________); /*第三空*/
fclose(fp);
}
32. 用递归方法计算学生年龄,已知第一位学生年龄为10岁,其余学生一个比一个大2岁,求第5位学生的年龄.
递归公式如下:
age(n)=
int age(int n)
{
if (n==1) return (________); /*第一空*/
else return(_________); /*第二空*/
}
void main()
{
printf(‘‘%d\n",_________); /*第三空*/
}
五、程序设计题(本大题共2小题,每小题8分,共16分)
33. 从键盘输入三个整数a、b和c,按照由小到大的顺序输出.
34. (1)编写一函数,将指针变量pl和p2所指向的整数值交换.
其中:函数头是void swap (int *pl,int *p2)
(2)编写一个主程序,从键盘输入两个整数,调用上述函数实现两个数据的交换并输出.
本文标签:中山自考 历年真题 全国2010年1月高等教育自学考试高级语言程序设计
转载请注明:文章转载自(http://www.zszkw.cn)
《中山自考网》免责声明:
1、由于考试政策等各方面情况的调整与变化,本网提供的考试信息仅供参考,最终考试信息请以省考试院及院校官方发布的信息为准。
2、本站内容部分信息均来源网络收集整理或来源出处标注为其它媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com