2011年10月成人自考高级语言程序设计一考试真题

发布时间:2019-12-19 09:42:37   来源:自考网
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.自定义标识符由字母、数字或下划线组成,且第一个字符必须是(  )
A.数字
B.字母或数字
C.数字或下划线
D.字母或下划线
2.运算符优先级符合由高到低排列的一组是(  )
A.+、!=、&&、=
B.&&、!=、+、=
C.!=、+、=、&&
D.&&、=、!=、+
3.转义字符中正确的是(  )
A.'\'
B.'\xyz'
C.'\\'
D.'\820'
4.下列程序段执行后x、y和Z的值分别是(  )intx=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.下列程序段执行后的输出结果是(  )intk=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.chara[5]={};
B.inta[5]={0,1,2,3,4,5};
C.chara={"string"};
D.chara[]={'0','1','2','3','4','5'};
10.设intm;,与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.设inti,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.设structstudent{charname[10];charsex;}stu;,则sizeof(stu)的值是(  )
A.2
B.10
C.11
D.12
二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。
11.设inta=2,b=3;floatx=3.5,y=2.5;,表达式(float)(a+b)/2+(int)x%(int)y的值是_______。
12.设inti;,语句for(i=1;i=10;i++)++i;循环的次数是_______。
13.数组名作为实参传给被调用的函数时,形参获得的是_______。
14.设intx=9;,执行语句printf("%d\n",x<<2);后的结果是_______。
15.设charc[5]={'c','d','0','e','\0'};,执行语句printf("%s\n",c);后的结果是_______。
16.设inta[2][3],p;,将数组a的最后一个元素赋值给变量p的正确语句是_______。
17.字符串"A"在内存中占用的字节数是_______。
18.设intx=1,y=1;,则执行表达式--x&&y++后,y的值是_______。
19.函数的自我调用被称为_______调用。
110.设charw;intx;floaty;doublez;,则表达式w*x+z-y的值的类型是_______。
三、程序分析题(本大题共4小题,每小题4分,共16分)阅读下列程序,将输出结果写到各题右侧的空白处。
21.voidmain(){intn=9;if(n++<10)printf("%d\n",n);elseprintf("%d\n",n--);}
22.voidfun(intx,inty,intz){z=x*x+y*y;printf("%d\n",z);}voidmain(){inta=31;fun(5,2,a);printf("%d\n",a);}
23.voidmain(){inta[]={0,9,8,7,6,5,4,3,2,1),*p=a;printf("%d,%d\n",*p+9,*(p+9));}
24.func(inta){staticintm=0;m+=a;printf("%d\n",m);}voidmain(){intk=4;func(k);func(k);}
四、程序填充题(本大题共3小题,每小题6分,共18分)请将下列程序横线处缺少的部分补上,使其能正确运行。
31.求数组a的所有元素之和。#defineN3voidmain(){inti,j,sum=0;inta[N][N]={2,4,6,8,10,12,14,16,18};for(i=0;i<printf(?sum='%d\n",'sum="sum+__________;"__________;for(j="0;"ifor(i="0;"__________)>
32.键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。
33.输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。voidmain(){inti,n;scanf("%d",__________);/*第一空*/printf("%d",n);for(i=2;i<elseprintf(?Yes\n?);if(__________)if(n%i="=0)">
五、简答题
程序设计题(本大题共2小题,每小题8分,共16分)
41.从键盘输入一串字符(!作为结束标志),保存到文件“user.dat”中。
42.某幼儿园入园分班规定如下:
输入某个孩子的年龄后,输出其分班情况(要求使用switch语句)。<>
推荐文章