您现在的位置 :八百米考试网外语学历考试自学考试历年真题教育类历年真题2001年10月全国高等教育自学考试高级语言程序设计试卷

2001年10月全国高等教育自学考试高级语言程序设计试卷

日期:02-09 17:50:52|八百米考试网| http://www.babaimi.com |自学考试|人气:231

2001年10月全国高等教育自学考试高级语言程序设计试卷,本站还有更多关于自学考试时间,自学考试成绩查询,自学考试试题,历年自学考试试题及答案解析的文章。

第一部分 选择题

一、单项选择题 (本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1. C语言程序编译时,程序中的注释部分 【 】
A. 参加编译,并会出现在目标程序中
B. 参加编译,但不会出现在目标程序中
C. 不参加编译,但会出现在目标程序中
D. 不参加编译,也不会出现在目标程序中

2. 下列表达式的值为0的是 【 】
A. 3﹪5
B. 3/5.0
C. 3/5
D. 3<5

3. 正确的C语言用户自定义标识符是 【 】
A. print
B. float
C. when?
D. random﹪2

4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是 【 】
A. 0和2
B. 0和3
C. 1和2
D. 1和3

5. 下列叙述中,正确的是 【 】
A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致
B. 宏名必须用大写字母表示
C. 宏替换不占用运行时间,只占编译时间
D. 在程序的一行上可以出现多个有效的宏定义

6. 下列保留字中用于构成循环结构的是 【 】
A. if
B. while
C. switch
D. default

7. 与语句if(a>b)if(c>d)x = 1;else x = 2;等价的是 【 】
A. if(a>b){if(c>d) x = 1;else x = 2;}
B. if(a>b){if(c>d) x = 1;} else x = 2;
C. if((a>b) && (c>d)) x = 1;else x = 2;
D. if(a< =b) x = 2;else if (c>d) x = 1;

8. 设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \ n″,x,97);的输出是【 】
A. x = a,y = 97
B. x = 97,y = a
C. x = 97,y = 97
D. x = a,y = a

9. 设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是【 】
A. 2
B. 3
C. 4
D. 无确定值

10. 执行下列程序
int a[3][3]={{1},{2},{3}};
int b[3][3]={1,2,3};
main()
{printf(″﹪d \ n″,a[1][0] + b[0][0]);}
后输出的结果是 【 】
A. 0
B. 1
C. 2
D. 3

11. 设char str[100];int i = 5;则引用数组元素的错误形式是 【 】
A. str[i + 10]
B. (str + i)
C. (str + i - 1)
D. ((str + + ) + i)

12. 设int x[] = {1,2,3,4,5,6},* p = x;则值为3的表达式是 【 】
A. p + = 2, * + + p
B. p + = 2, * p + +
C. p + = 3, * p
D. p + = 2, + + * p

13. 在函数内,定义变量时存储类型符可省略的是 【 】
A. auto
B. static
C. extern
D. register

14. 执行下列程序
int a = 3, b = 4;
void fun(int x1, int x2)
{printf(″﹪d, ﹪d \ n″, x1 + x2, b);}
main()
{int a = 5, b = 6;fun(a, b);}
后输出的结果是 【 】
A. 3,4
B. 11,1
C. 11,4
D. 11,6

15. 设有定义语句
struct
{int a;float b;} d[3]={{1,4},{2,5},{6,7}};
则printf(″﹪3.1f \ n″,d[2]. a * d[2]. b/d[1]. b);的输出是 【 】
A. 2.5
B. 2.0
C. 8.0
D. 8.4

16. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15}time;
则枚举常量a2和a3的值分别为 【 】
A. 1和2
B. 2和3
C. 7和2
D. 7和8

17. 将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是 【 】
A. 2和2
B. 2和5
C. 5和2
D. 5和5

18. 在文件使用方式中,字符串″rb″表示 【 】
A. 打开一个已存在的二进制文件,只能读取数据
B. 打开一个文本文件,只能写入数据
C. 打开一个已存在的文本文件,只能读取数据
D. 打开一个二进制文件,只能写入数据

19. 执行下列程序
# define F(y) 15>>y
# define PRINT(a) printf(″﹪d″,a)
main()
{
PRINT(F(2));
}
后输出的结果是 【 】
A. 3
B. 3.5
C. 14
D. 7.5

20. main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为【 】
A. int argv;
B. char * argv[];
C. char argv[];
D. char ** argv[];

第二部分 非选择题

二、填空题 (本大题共10小题,每小题2分,共20分)

21. 初始化值是0.618的双精度变量a的定义形式为_____________________。
22. 表达式 !10! = 1的值是____________________。
23. “20<x≤30”的C语言表达式是____________________。
24. 表达式a = 1,a + 1,a + + 的值是___________________。
25. 设int i = 5;则循环语句while (i > = 1) i - -;执行后,i的值为_______________。
26. 被调函数在执行结束时,这个函数中定义的__________________类型的变量不被释放。
27. 设
struct student
{
int no;
char name[12];
float score[3];
} sl,* p = &sl;
用指针法给sl的成员no赋值1234的语句是___________________。
28. C语言程序中对文本文件的存取是以________________为单位进行的。
29. 设char string[] =″This_is_a_book!″;则数组的长度应是________________。
30. 设int a[2][3] = {{2},{3}};则数组元素_____________________的值为3。

三、程序分析题 (本大题共5小题,每小题5分,共25分) 阅读下列程序,将输出结果写到各题右侧的空白处

31. int a = 200;
main()
{int i;
for(i = 1;i< = 5;i + +)
{a + + ;
printf(″﹪d,″,a);
s()
}
{
s()
{static int a = 20;
a + + ;
printf(″﹪d \ n″,a);
}

32. # include ″stdio.h″
main()
{char c;
c = getchar();
if(c> =′a′&&c< =′z′) ‖c> =′X′&&c< =′Z′)c = c - 23;
printf(″﹪c \ n″,c);
}
设从键盘上输入Next ↙

33. # define N 7
main()
{int i,j,temp,a[N]={1,2,3,4,5,6,7};
for(i = 0;i<N/2;i + + )
{j = N - 1 - i;
temp = a[i];a[i]=a[j];a[j]=temp;
}
for(i = 0;i<N;i + + ) printf(″﹪5d″,a[i]);
}

34. struct porb
{char * name;
int count;
}x[]={″Li ning″,19,″Lang ping″,21,″Zhu jian hua″,20};
main()
{int i;
for(i = 0;i<3;i + + )
printf(″﹪s: ﹪d \ n″,x[i].name,x[i].count);
}

35. main()
{union
{short a;char ch;
}M;
M.a = 100;M.ch =′A′;
printf(″﹪d,﹪d,﹪c \n″,sizeof(M),M.a,M.ch);
}

四、程序填充题 (本大题共3小题,每小题6分,共18分) 给出下列程序,将横线处缺少的部分补上,使其能正确运行。

36. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。
void sort(int b[],int n)
{ int i,j,t;
for(i = 0;i<n - 1;i ++ )
for(______;j<n;j ++ )
if(b[i]_____b[j])
{t = b[i];_____________;b[j]=t;}
}
main()
{ int a[]={5,8,6,2,7,4,1,3};
 int i;
sort(a,8);
for(i = 0;i<8;i ++ )
printf(″﹪5d″,a[i]);
printf(″\ n″);
}

37. 输入一字符串(换行为结束标志)统计其中数字(0,1,2,…,9不单独统计)、空白和其它字符出现的次数。
# include ″stdio.h″
main()

{ char c;
int ___________________________;
while((c = getchar())! =′\ n′)
{
if(__________________________)digit + + ;
else if(c = =′′‖c = =′\ t′) ++ blank;
else __________________________;
}
printf(″digit =﹪d,blank =﹪d,other =﹪d \ n″,digit,blank,other);
}

38. 先为数组a输满数据,再为x输入一个数据,在数组a中找出第一个与x相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found!”标志。
main()
{int i,x,a[10];
for(i = 0;i<10;i ++ )scanf(″﹪d″,___________);
scanf(″﹪d″,&x);printf(″﹪d″,x);
for(i = 0;i<10;i ++) if(_________________)break;
if (i _________10)printf(″ position:﹪d \ n″,i);
else printf(″ Not found! \ n″,x);
}

五、程序设计题 (第39小题5分,第40、41小题各6分,共17分)。

39. 求出10至1000之内能同时被2、3、7整除的数,并输出。
40. 求1到100之间的奇数之和及偶数之和,并将二者输出。
41. 输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL),若是则输出“Yes”,否则输出“No”。

高级语言程序设计试题 参考答案

一、单项选择题
1. D
2. C
3. A
4. B
5. C
6. B
7. A
8. D
9. B
10. D
11. D
12. B
13. A
14. C
15. D
16. D
17. C
18. A
19. A
20. B

二、填空题
21. Double a = 0.618;
22. 1
23. x>20&&x< = 30或者(x>20) && (x< = 30)
24. 2
25. 0
26. 静态存储,或者static
27. P - > no = 1234;或者( * p) .no = 1234;
28. 字节
29. 16
30. a[1][0]

三、程序分析题
31. 201,21
202,22
203,23
204,24
205,25
32. Q
33. 7 6 5 4 3 2 1
34. Li ning:19
Lang ping:21
Zhu jian hua:20
35. 2,65,A

四、程序填充题
36. (1) j = i + 1
(2) >
(3) b [i] = b [j]
37. (1) digit = 0, blank = 0, other = 0
(2) c> =′0′&&c< = ′9′
(3) ++ other或者other ++
38. (1) &a[i] 或者a + i
(2) x = = a[i]
(3) <

五、程序设计题
下述答案仅供参考,若采用其它方法答案,只要正确实现题目要求即可。
39. main ()
{int i
for(i = 10;i< = 1000;i ++ )
if((i﹪2 = = 0)&&(i﹪3 = = 0)&&(i﹪7 = = 0))
printf(″i = ﹪d \ n″,i);
}
40. main ()
{int a = 0, b = 0, i;
for(i = 2;i< = 100;i + = 2)
{ 2 + = i;b + = i - 1;}
printf(″Sum of even number = ﹪d \ n″,a);
printf(″Sum of odd number = ﹪d \ n″,b);
}
41. # include″string.h″
main ()
{int i, n;static char str[80];
gets(str);n = strlen(str);
for(i = 0;i<n/2;i ++ )
if(str[i]! = str[n - 1 -i])
{printf(″No! \ n″);break;}
if(i = = n/2) printf(″Yes! \ n″);

www.babaimi.com
如果觉得2001年10月全国高等教育自学考试高级语言程序设计试卷不错,可以推荐给好友哦。
本文Tags:自学考试 - 历年真题 - 教育类历年真题,,自学考试试题,自学考试真题,自学考试科目,自学考试题型
联系我们 | 热门专题 | 建筑工程 | 会计财务 | 职业资格 | 医学考试 | 外语学历 | 下载中心 | 范文中心 | 作文大全 |


Copyright www.babaimi.com
共享资料考试资料共享公务员考试试题会计从业资格考试试题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16