点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。未涂、错涂或多涂均无分。 1.正确的用户自定义标识符是( ) A.x-y B.2x C.sizeof D.Main 2.设int a=5, b, 6;,正确的赋值语句是( ) A.b=a%6.8; B.a+=b+=8; C.++(a+b); D.a+b=9; 3.设int a=3, b=4, c;,执行语句c=(a>b)?--a:b++;后,c的值是( ) A.2 B.3 C.4 D.5 4.表达式4.8-1/2+5%3的值是( ) A.6.8 B.5.3 C.4.8 D.3.5 5.设int a=1, b=6;,执行表达式--a||(b=8)后,a和b的值分别是( ) A.0,6 B.0,8 C.1,6 D.1,8 6.正确的整型常数是( ) A.0 B.0.0 C.0E0 D.1.123 7.设int x=7, *p=&x;,表达式的值为7的是( ) A.P B.*p C.&x D.*x 8.设float x, y, z;,函数调用语句fun(z, ((x, y), x+z));中参数的个数是( ) A.4 B.3 C.2 D.1 9.设int a[]={1, 2, 3, 4, 5}, i=2;,其值为4的数组元素是( ) A.a[0] B.a[4] C.a[i-1] D.a[a[i]] 10.下列叙述正确的是( ) A.for语句中的循环体至少被执行一次 B.while语句中的循环体至少被执行一次 C.continue与break在循环语句中的作用相同 D.switch语句中case后可以不出现break语句 11.设char str[10]= "Computer";,执行prinff("%d\n",sizeof(str));,后输出结果是( ) A.8 B.9 C.10 D.11 12.定义数组并初始化正确的是( ) A.int a[]={0, 1, 2, 3}; B.int a[2]={{3, 4},{5, 6}}; C.int b[2][]={2, 3, 4, 5, 6, 7, 8, 9}; D.int b[2][4]={{1, 2, 4, 5}, {2}, {3,4}}; 13.设char s[20]= "World", t[20]= "Asia";,执行strcat(t,s); printf("%s, %d\n", t ,strlen(t));,后的输出结果是( ) A.Asia,4 B.World,5 C.WorldAsia,9 D.AsiaWorld,9 14.设typedef int ARRAY[10];,与ARRAY a, b;等价的是( ) A.int a, b; B.int a[10], b[10]; C.int a[10], b; D.int a, b[10]; 15.表示“回车换行”的转义字符是( ) A.'\n' B.'\0' C.'\\' D.'\t' 二、填空题(本大题共10小题,每小题2分,共20分) 11.执行语句printf("%d\n", 4&&5||6); 后的输出结果是_________。 12.设int n=10;,执行语句printf("%o,%x\n", n, n); 后的输出结果是_________。 13. ![]() 的C语言表达式是_________。 14.运算符+=、++和+中优先级最高的是_________。 15.设int a=2, b=5;,执行语句a%=10-b;后,a的值是_________。 16.系统函数pew()应使用的文件包含命令是_________。 17.关系表达式2<3<=4的值是_________。 18.设char ch=′b′;,执行语句printf("%c,%d\n", ch-32,ch);后的输出结果是_________。 19.设int=2, y=3;,执行语句printf("%d,%d\n", x++,++y);后的输出结果是_________。 110.将常数2.718定义为符号常量E的宏定义命令是__________。 三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序。将输出结果写到答题卡的相应位置。 21.#include void main(){ int year 2015, month=2; switch(month) { case 2: if(year%4==0&&year%100!=0||year%400==0) printf("day=29\n"); else printf( "day=28\n"); break; case 6: case 9: case 11: printi("day=30\n"); break; default: printf("day=31\n"); }} 22.#include void f (int x, int y, int *z){ *z-=x+y; }void main(){ int p=7, q=8, r=6; f(p, g, &r); printf("p=%d, q=%d, r=%d\n", p, q, r);} 23.#include int x=1; /*全局变量*/int fx(int p){ x+=p++; return p;}void main(){ int y=1; x++; printf("x=%d, fx=%d\n", x, fx(y));} 24.#includeint sum(int n) /*递归函数*/{ if(n==1) return 1; else return n+sum(n-1);}void main(){ printf("sum=%d\n", sum(10)); } 四、程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。 31.从键盘输入整数n(1≤n<10),分别计算并输出1!,2!,…,n!。 #include long int fac(__________)/*第一空*/ {static int c=1; c*=m; return (c); } void main() {int i, n; scanf("%d",__________);/*第二空*/ if(n>=1&&n<10) for(i=1; i< __________); i, printf(?%d!='9%ld\n",'> else printf("Input Error! \n"); } 32.将5tch0名学生的姓名和成绩由键盘输入,计算并输出平均成绩。 #include #define N 50 struct student { char name[20]; float score; }; void main() {struct student s(N]; int i; float average=__________;/*第一空*/ fon(i=0; i<> {scanf("%s%f", s[i].name, &s(i]. core); averger+=__________;/*第二空*/ } average=__________;/*第三空*/ printf("average=%7.2f\n", average); } 33.将文本文件r.txt中的字符逐一读出并显示在屏幕上。 #include #include void main() { FILE *fp; char ch; if((fp=fopen ("r.txt",__________))==NULL)/*第一空*/ {printf("can't open file!\n"); exit(0);} printf("读文件并显示:\n"); while(!feof(fp)) {ch=fgetc(fp); printf("%c",__________);/*第二空制*/ } printf("\n"); flose(__________);/*第三空*/ } 五、程序设计题(本大题共2小题,每小题8分,共16分) 41.从键盘输入一个非负整数n,若为奇数,输出"Odd";若为偶数,输出"Even"。 42.利用循环结构输出以下图形。
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总
2020年自考报名有疑问、不知如何选择主考院校及专业,立即报考咨询>> |