点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。错涂、多涂或未涂均无分。 1.C语言的保留字(又称关键字)是( ) A.sum B.main C.double D.longint 2.错误的实型(又称浮点型)常数是( ) A.2E0 B.0.0 C.0E0 D.0E+0.0 3.设 int a, b;,表达式a=2,b=5,b++,a+b--的值是( ) A.2 B.6 C.7 D.8 4.设int a;,循环次数为无限的语句是( ) A.for(a=0;a;a++); B.for(a=0;a==0;); C.for(a=0;a=0;a++); D.for(a=0;a==0;a++); 5.if(表达式)和while(表达式)中的“表达式”( ) A.只能是逻辑的 B.只能是关系的 C.只能是算术的 D.可以是任意的 6.设int a=1,b=2,c=3;,能将c的值同时赋给a和b的表达式是( ) A.a=b==c B.a==(b=c) C.(a=c)||(b=c) D.(a=c)&&(b=c) 7.函数中定义的变量,其作用域是( ) A.本函数 B.本程序的所有文件 C.本文件的所有函数 D.本文件的第一个函数 8.关于函数正确的说法是( ) A.必须有返回值 B.必须有形式参数 C.返回值的类型可以是指针 D.一个函数中可以定义另一函数 9.设int a[3][4]={1,2,3,4,5,6};,值为1的数组元素是( ) A.a[0][0] B.a[0][1] C.a[1][0] D.a[1][1] 10.下列为递归函数的是( ) A.int func(int n) { if(n==0) return 0; else return(n-1); } B.int func(int n) { if(n==0) return 0; else return func(n-1); } C.int func(int n) { if(n==0) return 0; else return sqrt(sqrt(n)); } D.int func(int n) { if(n==0) return 0; else return(--n); } 11.设int x=1,y=2,z=3;下列语句错误的是( ) A.if(x B.for(z=0;z C.for(z=0,z D.if(x 12.设 char ch;,下列语句错误的是( ) A.ch="a=b"; B.ch='\0'; C.ch='7'+'9'; D.ch=7+9; 13.正确定义一维数组的是( ) A.int a(10); B.int n=10, a[n]; C.#define N 10 int a[N]; D.int n; scanf("%d", &n); int a[n]; 14.设int m=5,n,*p1,*p2;,下列程序段正确的是( ) A.p1=&m; p2=p1; B.p1=&m; p2=*p1; C.p1=&m; p2=&p1; D.p1=&m; p2=&n; *p1=p2; 15.当文件未结束时,系统函数feof的返回值是( ) A.-1 B.0 C.1 D.非0 二、填空题(本大题共10小题,每小题2分,共20分) 11.设int s=6;,表达式s%2+(s+1)%2的值是_______。 12.C语言的三种逻辑运算符分别是&&、‖和_______。 13.设 char s[20]= "China";,执行语句 printf( "%d\n",strlen(m));输出结果是_______。 14.设int a[5]={1,2,3,4};,元素a['E'-A]的值是_______。 15.设 char a,b;,与表达式a^=b-2等价的另一表达形式是_______。 16.设 struct{ int a; char c;}m,*p=&m;,用指针引用成员a的形式是(*p).a或_______。 17.设int a=3,b=2,c=1;,表达式a>b>c的值是_______。 18.若在函数内部定义变量时省略存储类型,则默认的存储类型是_______。 19.若函数的类型为void,则函数_______返回值。 110.执行语句 print("%sn","1+2+3\0=6");后输出结果是_______。 三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,写出输出结果。 21.void main(){ int n; char *city[]={"Beijing","Tianjin","Shanghai","Chongqing"}; for(n=0; n<4; n+=2) printf("%s\n",city[n]);} 22.void main(){ int a=10,y=0; do { a+=2; y+=a; if(y>30) break; }while(-1); printf("a=%d, y=%d\n", a,y);} 23.int i=1;int f(int j){ static int k=0; return(++k+j+i);}void main(){ int j; for(j=1; j<=3; j++) printf("%5d",f(10)); printf ("\n");} 24.void main(){ int k; char *s=" ABCDE"; for(k=0;k<5;k+=2) pint("%s\n",s+k);} 四、程序填充题(本大题共3小题,每小题6分,共18分)请将每小题程序横线处①-③补上,使其能正确运行。请在答题卡上作答。 31.将从键盘输入的某个学生的学号、姓名和成绩保存至结构型变量并输出。include typedef struct student{ int no; char name[20]; float score;}___①____; /*第一空*/void main(){ STU st; scanf("%d%s%f", &st.no,___②____,&st.score); /*第二空*/ printf("No:%d\nName:%s\nScore:%.1f\n",___③____); /*第三空*/} 32.键入一串字符,以回车换行符为结束标志,统计并输出其中数字字符的个数。include void main(){ char ch; int n=0; ch=getchar(); while(ch!='\n') { if(___①____) n+; /*第一空*/ ___②____; / *第二空*/ } printf("n=%d\n",___③____); / *第三空*/} 33.为二维数组输入数据,输出其中最小的元素值及对应的两个下标。include#define M 3#define N 4void main(){ int a[M][N],i,j, row, col, ___①____; /*第一空*/ for(i=0;i < row, a[row][col], col="j;" row-="%d," printf(?min="%d," row="col=___②____;" min="a[0][0];" if(a[i][j] 五、程序设计题(本大题共2小题,每小题8分,共16分) 41.将26个大写英文字母写入新建的文本文件 ch.txt。 42.(1)编写函数fa,计算并输出圆的面积;(2)编写函数fb,计算并输出圆的周长;(3)编写主函数,键入圆的半径R和运算标志m。使用 switch语句,当m=1时调用fa;当m=2时调用fb;当m=3时调用fa和fb。输出结果保留两位小数
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总
2020年自考报名有疑问、不知如何选择主考院校及专业,立即报考咨询>> |