点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
第一部分 选择题 一、单项选择题 (本大题共 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<> 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< =‖′c> =z′′) X′ &&c< = ′ Z′- 23)c = c ; 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<> {j = N - 1 - i ; temp = a[i] ;a[i]=a[j] ;a[j]=temp ; } for(i = 0 ;i< ;i="" +=""> } 34. struct porb {char * name ; int count; }x[]={ ″ Li ning19,″,″ Lang ping 1,″″,2Zhu jian hua ;″ ,20} main() {int i ; for(i = 0 ;i<3;i + + )
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总
2020年自考报名有疑问、不知如何选择主考院校及专业,立即报考咨询>> |