点击查看:全国自考00342高级语言程序设计历年真题及部分答案汇总
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.自定义标识符由字母、数字或下划线组成,且第一个字符必须是( ) A.数字 B.字母或数字 C.数字或下划线 D.字母或下划线 2.运算符优先级符合由高到低排列的一组是( ) A.+、!=、&&、= B.&&、!=、+、= C.!=、+、=、&& D.&&、=、!=、+ 3.转义字符中正确的是( ) A.'\' B.'\xyz' C.'\\' D.'\820' 4.下列程序段执行后x、y和Z的值分别是( )int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z; A.10,20,30 B.20,30,30 C.20,30,10 D.20,30,20 5.下列程序段执行后的输出结果是( )int k=4,a=3,b=2,c=1;printf("%d\n",k< p> A.1 B.2 C.3 D.4 6.关于for(表达式1; 表达式2; 表达式3),叙述正确的是( ) A.表达式1不可以缺省 B.表达式2不可以缺省 C.表达式3不可以缺省 D.三个表达式都可以缺省 7.设int *p[4];,则标识符p是( ) A.整型数组名 B.指针数组名 C.指针函数名 D.指向整型变量的指针 8.在循环结构中,continue语句的作用是( ) A.继续执行本次循环 B.提前退出多重循环 C.提前结束本次循环 D.提前退出本重循环 9.数组定义及初始化正确的是( ) A.char a[5]={}; B.int a[5]={0,1,2,3,4,5}; C.char a={"string"}; D.char a[]={'0','1','2','3','4','5'}; 10.设int m;,与while(!m)等价的是( ) A.while(m!=0) B.while(m==1) C.while(m==0) D.while(m!=1) 11.设char *s1="12345",*s2="1234";,执行语句printf("%d\n", strlen(strcpy(s1,s2)));后的输出结果是( ) A.4 B.5 C.9 D.10 12.下列不属于C语言数据类型的保留字是( ) A.real B.void C.float D.double 13.设int i,j=7,*p=&j;,与赋值语句i=j;等价的是( ) A.i=&p; B.p=*&j; C.p=&j; D.i=*p; 14.正确表示数学关系式x≥y≥z的C语言表达式是( ) A.x>=y>=z B.(x>=y)&&(y>=z) C.(x>=y)&(y>=z) D.(x>=y)‖(y>=z) 15.设struct student{char name[10]; char sex;}stu;,则sizeof(stu)的值是( ) A.2 B.10 C.11 D.12 二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。 11.设int a=2,b=3; float x=3.5,y=2.5;,表达式(float)(a+b)/2+(int)x%(int)y的值是_______。 12.设int i;,语句for(i=1; i=10; i++) ++i;循环的次数是_______。 13.数组名作为实参传给被调用的函数时,形参获得的是_______。 14.设int x=9;,执行语句printf("%d\n",x<<2);后的结果是_______。 15.设char c[5]={'c','d','0','e','\0'};,执行语句printf("%s\n",c); 后的结果是_______。 16.设int a[2][3],p;,将数组a的最后一个元素赋值给变量p的正确语句是_______。 17.字符串"A"在内存中占用的字节数是_______。 18.设int x=1,y=1;,则执行表达式--x&&y++后,y的值是_______。 19.函数的自我调用被称为_______调用。 110.设char w; int x; float y; double z;,则表达式w*x+z-y的值的类型是_______。 三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到各题右侧的空白处。 21.void main(){ int n=9; if(n++<10) printf("%d\n",n); else printf("%d\n",n--);} 22.void fun(int x,int y,int z){ z=x*x+y*y; printf("%d\n",z);}void main(){ int a=31; fun(5,2,a); printf("%d\n",a);} 23.void main(){ int a[]={0,9,8,7,6,5,4,3,2,1), *p=a; printf("%d,%d\n",*p+9,*(p+9));} 24.func(int a){ static int m=0; m+=a; printf("%d\n",m);}void main(){ int k=4; func(k); func(k);} 四、程序填充题 (本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。 31.求数组a的所有元素之和。#define N 3void main(){ int i,j,sum=0; int a[N][N]={2,4,6,8,10,12,14,16,18}; for(i=0; i< printf(?sum='%d\n",' sum="sum+__________;" __________; for(j="0;" i for(i="0;" __________)> 32.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。 ![]() 33.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。void main(){ int i,n; scanf("%d", __________); /*第一空*/ printf("%d",n); for(i=2; i < else printf(?Yes\n?); if(__________) if(n%i="=0)"> 五、简答题 程序设计题 (本大题共2小题,每小题8分,共16分) 41.从键盘输入一串字符(!作为结束标志),保存到文件“user.dat”中。 42.某幼儿园入园分班规定如下: ![]() 输入某个孩子的年龄后,输出其分班情况(要求使用switch语句)。 <>
热点关注:2020年各省自考报名时间及入口 |2019年4月各省自考考试真题及答案汇总
2020年自考报名有疑问、不知如何选择主考院校及专业,立即报考咨询>> |