点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。 1.正确的自定义标识符是( ) A.2c B.x#y C.case D.Word_2 2.设int a=2, b=3, c;,正确的赋值语句是( ) A.(a+b)++; B.b=a%2.5; C.a+=b+=5; D.c=a+b=5; 3.设int a=1, b=3, c;,执行语句c=(a!=b)?++a:b++;后,c的值是( ) A.1 B.2 C.3 D.4 4.表达式3.6-1/2+5%2的值是( ) A.2.6 B.3.6 C.4.1 D.4.6 5.设int a=-1, b=3;,执行表达式++a&&(b=5)后,a和b的值分别是( ) A.-1,3 B.0,3 C.0,5 D.-1,5 6.正确的实型常数是( ) A.0 B.e2 C.0.871 D.3e-1.5 7.设int x=10,*p;,指针p指向x的正确语句是( ) A.p=x; B.*p=*x; C.*p=&x; D.p=&x; 8.设float a,b,c;,函数调用语句f(((a,b),a+c),5);中参数的个数是( ) A.1 B.2 C.3 D.4 9.设int m[]={5,4,3,2,1} ,i=2;,其值为1的数组元素是( ) A.m[i+2] B.m[i+3] C.m[i-1] D.m[m[i]] 10.下列叙述正确的是( ) A.while语句中的循环体至少被执行一次 B.do-while语句中的循环体至少被执行一次 C.switch语句中每个case后必须有break语句 D.continue和break在循环语句中的作用是相同的 11.设char s[2*5]="1234567";,数组s的长度是( ) A.10 B.9 C.8 D.7 12.下列二维数组定义并初始化正确的是( ) A.int a[3][3]=[0,3]; B.int a[2][]={{3,4},{5,6}}; C.int a[2,3]={2,3,4,5,6,7,8,9}; D.int a[][4]={{1,2,4,5},{2,3},{3,4,9}}; 13.设char s1[20]="China",s2[10]="Beijing";,执行下列语句后的输出结果是( ) strcat(s1, s2); printf("%s,%d\n",s1,strlen(s1)); A.China,5 B.Beijing,7 C.ChinaBeijing,12 D.BeijingChina,12 14.设typedef int ARRAY[10];,与语句ARRAY a, b;等价的是( ) A.int a,b; B.int a,b[10]; C.int a[10],b; D.int a[10],b[10]; 15.表示“回车”的转义字符是( ) A.'\r' B.'\t' C.'\0' D.'\n' 二、填空题(本大题共10小题,每小题2分,共20分) 11.执行语句printf ("%d",3^5);后的输出结果是__________。 12.在C语言的文件使用中,EOF的值是__________。 13.设float x, y, z;, ![]() 的C语言算术表达式是__________。 14.运算符+=、!和&&中优先级最高的是__________。 15.设int a,b;,与a*=5-b;等价的赋值语句是__________。 16.系统函数sqrt()应使用的文件包含命令是__________。 17.在C语言中,表示逻辑“假”的值是__________。 18.设char ch='A';,执行语句printf("%c,%d",ch+32,ch);后的输出结果是__________。 19.设int n=123;,执行语句printf("%d", n/10%10);后的输出结果是__________。 110.在C语言中,将圆周率(PI=3.1415926)定义为常量的宏定义命令是__________。 三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到答题纸上。 21.#include void main(){ char op; int a=10, b=20; for(op='a'; op<='d'; op+=2) switch(op) { case 'a': printf("a+b=%d\n", a+b); break; case 'b': printf("a-b=%d\n", a-b); break; case 'c': printf("a*b=%d\n", a*b); break; case 'd': printf("a/b=%d\n", a/b); break; }} 22.#include void sub (int x, int y, int *z) { *z=x+y; } void main( ) { int a=2, b=5, c; sub(a, b, &c); printf("%d,%d,%d\n", a, b, c);} 23.#include int x=1; /* 全局变量 */void fx(int p){ x=p+x; p++; }void main( ){ int a=3; fx(a); x++; printf("%d,%d\n", a, x);} 24.#include int power(int n) /* 递归函数 */ { if(n==0) return 1; else return 2*power(n-1); } void main( ) { printf("%d\n", power(5)); } 四、程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。 31.计算1!+2!+3!+4!+5!的值并输出。#include int f(int a){ static int c=1; c=c*a; return(_____①____); /* 第一空 */}void main(){ int i, k; k=-1; for(i=2; i<=5; i++) k+=_____②____; /* 第二空 */ printf("_____③____\n", k); /* 第三空 */} 32.设有30名学生,由键盘分别输入每个学生的姓名和两门课成绩,计算每个学生的总分,并输出总分最高者的姓名和总分。 ![]() 33.从键盘输入5个字符串,将其写到文本文件fs.txt中。#include #include void main(){ FILE *fp; char str[5][10]; int i; for(i=0; i<5; i++) gets(str[i]); /* 输入字符串 */ if((fp=fopen("fs.txt",_____①____)==NULL) /* 第一空 */ { printf("Can’t open file!\n"); exit(0); } for(i=0; i<5; i++) /* 写入文件 */ { fputs(_____②____, fp); /* 第二空 */ fputs("\n", fp); } fclose(_____③____); /* 第三空 */} 五、程序设计题(本大题共2小题,每小题8分,共16分) 41.从键盘输入一个正整数n,若能同时被3、5和7整除,则输出“Yes”,否则输出“No”。 42.利用循环结构输出以下图形。 ![]()
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总
2020年自考报名有疑问、不知如何选择主考院校及专业,立即报考咨询>> |