点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题:本大题共15小题,每小题2分,共30分。在每小题列出的备选项中只有一项是最符合题目要求的,请将其选出。 1.正确的用户自定义标识符是( ) A.3ab B.float C.root-x D.s_1 2.错误的C语言常数是( ) A.012 B.'abc ' C.0x2f D.1.2e3 3.下列属于C语言运算符的是( ) A.?: B.# C.?= D.<> 4.表达式1+5==0的值是( ) A.0 B.1 C.5 D.6 5.设 float x;,能正确表达x属于区间(-5,10]的表达式是( ) A.-5 B.-5 C.x>-5&&x<=10 D.!(x>-5)&&(x<=10) 6.设int s=3;,表达式值为0的是( ) A.s/2 B.3-++s C.(s++)%3 D.s>3?2:5 7.设int a=4,b=5,c;,执行语句c=(a==b)||++a;后,a和c的值分别是( ) A.1,4 B.0,5 C.4,1 D.5,1 8.设int m=0;,语句do{m++;}while(!m);执行的循环次数是( ) A.0 B.1 C.2 D.无限 9.定义数组并初始化正确的是( ) A.int a[]=(2,4,6,8); B.int *a[3]={2,4,6,8}; C.int b[][3]={2,4,6,8}; D.int b[4][]={2,4,6,8}; 10.设int p[5][6];,该数组两个下标的取值范围分别是( ) A.0~4和0~5 B.0~5和0~6 C.1~5和1~6 D.1~4和1~5 11.设 typedef double Q[10];,与语句Q q;等价的是( ) A.double q; B.double *q; C.double *q[10]; D.double q[10]; 12.设 char strl[10]="World",*p=str;,能正确输出字符串的语句是( ) A.str=puts(); B.putchar(str); C.printf("%s\n",p); D.printf("%c\n",*p); 13.下列叙述正确的是( ) A.全局变量和局部变量不能同名 B.程序的执行必须从主函数开始 C.break只能出现在 switch语句中 D.一个函数中只能出现一个 return语句 14.设int b[10],*p=b;,与数组元素b[0]等价的是( ) A.*p B.p C.&b D.b 15.关于结构型说法正确的是( ) A.成员不能为数组 B.结构型不允许嵌套 C.所有成员的类型必须是整型 D.结构型变量占用的内存量是所有成员占用内存量总和 二、填空题:本大题共10小题,每小题2分,共20分。 11.设 float a,b,c,x;,将 ![]() 的值赋予c的赋值语句是_______。 12.连接两个字符串的系统函数名是_______。 13.静态型和寄存器型的存储类型符分别是_______。 14.条件运算符(?:)的结合性是_______。 15.设int a=12;,表达式a>>2的值是_______。 16.设 float m=1.9,n=0.8;,执行语句 printf("%1.f\n" ,(int)m+n);后输出结果是_______。 17.设int a=2;,表达式a,a+1,a+2的值是_______。 18.设char *q="facebook";,执行语句printf ("%s\n",q+4)后的输出结果是_______。 19.设 char s[ ]="Nobel_Prize\n";,执行语句 printf("%d\n",sizeof(s));,后的输出结果是_______。 110.设FILE *fp;,若fp指向文件尾部,则feof(fp)的返回值是_______。 三、程序分析题:本大题共4小题,每小题4分,共16分。阅读下列程序,写出输出结果。 21.#include int f(int a){ static int s=1; /*静态变量*/ s+=a*2; retum s;}void main(){ printf("f1=%d\n",f(3)); printf("f2=%d\n", f(5));} 22.#include< stdio.h>void main(){ int i; for(i=18;i>0;i--) { if(i%7==0) break; printf(" %5d",i); } printf("\n");} 23.#include void main(){ int i,j,s,a[][3]={{1,2,3},{4,5,6},{7,8,9}}; for(s=0,i=0;i<3;i++) switch (i) { case 1: break; default: for(j=0;j<3;j++) s+=a[i][j]; break; } printf("s=%dn"s);} 24.#include struct city{ int num; char name[20]; float temp;}a[]={{1,"Beijing",15.5},{2,"Tianjin",16.2},{3,"Jinan",17.3}},*p=a;void main(){ int i; for(i=0;i<3;i++,p+) printf("%d,%s,%.1fn",(*p).num, p->name, a[i].temp);} 四、程序填充题:本大题共3小题,每小题6分,共18分。请将下列程序横线处缺少的部分补上,使其能正确运行。 31.从键盘输入一串字符(以回车换行符作为结束标志)并写入文本文件note.txt#include< stdio.h>void main(){ FILE *fp; char ch; fp= fopen("note.txt",_______); /*第一空*/ do { ch=getchar(); _______; /*第二空*/ } while(ch!= _______); /*第三空*/ fclose(fp);} 32.利用冒泡排序法实现数组元素的降序排序。#include #define N 10void main(){ int i,j,t,aN]; for( i=0; i for(i=0; i < printf(?%d?,_______); i++) 33.利用递归法,按下列公式计算并输出函数fx的值。 ![]() 五、程序设计题:本大题共2小题,每小题8分,共16分。 41.从键盘任意输入三个正实数,若能构成三角形,计算并输出三角形的周长;否则输出“No Triangle!”。 42.利用循环结构输出下列乘法表。12 43 6 9……9 18 27 36 …… 81
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总
2020年自考报名有疑问、不知如何选择主考院校及专业,立即报考咨询>> |