全国高等教育自学考试高级语言程序设计
Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】
2001年10月全国高等教育自学考试高级语言程序设计(一)
试卷
第一部分 选择题
一、单项选择题 (本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1. C语言程序编译时,程序中的注释部分 【 】A. 参加编译,并会出现在目标程序中B. 参加编译,但不会出现在目标程序中C. 不参加编译,但会出现在目标程序中D. 不参加编译,也不会出现在目标程序中 2. 下列表达式的值为0的是 【 】 A. 3﹪5 B. 3/C. 3/5D. 3<5
3. 正确的C语言用户自定义标识符是 【 】 A. print B. float C. when D. random﹪2
4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是 【 】A. 0和2B. 0和3C. 1和2D. 1和3
5. 下列叙述中,正确的是 【 】A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致B. 宏名必须用大写字母表示C. 宏替换不占用运行时间,只占编译时间D. 在程序的一行上可以出现多个有效的宏定义
6. 下列保留字中用于构成循环结构的是 【 】A. ifB. whileC. switchD. 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 = 97B. x = 97,y = aC. x = 97,y = 97D. x = a,y = a
9. 设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是【 】A. 2B. 3C. 4D. 无确定值
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. 0B. 1C. 2D. 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, * + + pB. p + = 2, * p + +C. p + = 3, * pD. p + = 2, + + * p
13. 在函数内,定义变量时存储类型符可省略的是 【 】A. autoB. staticC. externD. 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,4B. 11,1C. 11,4D. 11,6 15. 设有定义语句 struct
{int a;float b;} d[3]={{1,4},{2,5},{6,7}}; 则printf(″﹪ \\ n″,d[2]. a * d[2]. b/d[1]. b);的输出是 【 】 A. B. C. D.
16. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15}time;则枚举常量a2和a3的值分别为 【 】A. 1和2B. 2和3C. 7和2D. 7和8
17. 将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是 【 】A. 2和2B. 2和5C. 5和2D. 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. C. 14D.
20. main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为【 】A. int argv;B. char * argv[];C. char argv[];D. char ** argv[];
第二部分 非选择题
二、填空题 (本大题共10小题,每小题2分,共20分)
21. 初始化值是的双精度变量a的定义形式为_____________________。22. 表达式 !10! = 1的值是____________________。23. “20 三、程序分析题 (本大题共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 ″″ 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 7main(){int i,j,temp,a[N]={1,2,3,4,5,6,7};for(i = 0;i = 100; =′A′; printf(″﹪d,﹪d,﹪c \\n″,sizeof(M),,;} 四、程序填充题 (本大题共3小题,每小题6分,共18分) 给出下列程序,将横线处缺少的部分补上,使其能正确运行。36. 以下程序的功能是用选择法对数组a中的整数由小到大进行排序。void sort(int b[],int n){ int i,j,t;for(i = 0;i { 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. D2. C3. A4. B5. C6. B7. A8. D9. B10. D11. D12. B13. A14. C15. D16. D17. C18. A19. A20. B 二、填空题 21. Double a = ;22. 123. x>20&&x< = 30或者(x>20) && (x< = 30)24. 225. 026. 静态存储,或者static27. P - > no = 1234;或者( * p) .no = 1234;28. 字节29. 1630. a[1][0] 三、程序分析题31. 201,21202,22203,23204,24205,2532. Q33. 7 6 5 4 3 2 134. Li ning:19Lang ping:21Zhu jian hua:2035. 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″″main (){int i, n;static char str[80];gets(str);n = strlen(str);for(i = 0;i 课程代码:00342 一、单项选择题(本大题共20小题,每小题1分,共20分) 二、填空题(本大题共10小题,每小题2分,共20分) a= >20&&x<=30或者(x>20)&&(x<=30) 26.静态存储,或者static >no=1234;或者(*p).no=1234; 28.字节 30。a[1][0] 三、程序分析题(本大题共5小题,每小题5分,共25分) ,21 202,22 203,23 204,24 205,25 (若结果为Qhaw,只得3分) 6 5 4 3 2 1 ning:19 Lang ping:21 Zhu jian hua:20 ,65,A 四、程序填充题(本大题共3小题,每小题6分,共18分) 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小题5分,第40、41小题各6分,共17分) () { int i; for(i=10;i<=1000;i++) if((i%2==0)&&(i%3==0)&&(i%7==0)) printf(\"i=%d\\n\ } () { int a=0,b=0,i; for(i=2;i<=100;i+=2) {a+=i;b+=i-1;} printf(\"Sum of even number=%d\\n\ printf(\"Sum of odd number=%d\\n\ } 41.# include \"\" main () { int i,n;static char str[80]; gets(str);n=strlen(str); for(i=0;i 因篇幅问题不能全部显示,请点此查看更多更全内容