全国自考《高级语言程序设计》试题及答案.docx

上传人:b****8 文档编号:28874058 上传时间:2023-07-20 格式:DOCX 页数:8 大小:18.03KB
下载 相关 举报
全国自考《高级语言程序设计》试题及答案.docx_第1页
第1页 / 共8页
全国自考《高级语言程序设计》试题及答案.docx_第2页
第2页 / 共8页
全国自考《高级语言程序设计》试题及答案.docx_第3页
第3页 / 共8页
全国自考《高级语言程序设计》试题及答案.docx_第4页
第4页 / 共8页
全国自考《高级语言程序设计》试题及答案.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

全国自考《高级语言程序设计》试题及答案.docx

《全国自考《高级语言程序设计》试题及答案.docx》由会员分享,可在线阅读,更多相关《全国自考《高级语言程序设计》试题及答案.docx(8页珍藏版)》请在冰豆网上搜索。

全国自考《高级语言程序设计》试题及答案.docx

全国自考《高级语言程序设计》试题及答案

2011年10月

一、单项选择题(本大题共15小题,每小题2分,共30分)

  在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1、自定义标识符由字母、数字或下划线组成,且第一个字符必须是(D)

  A.数字  B.字母或数字  C.数字或下划线  D.字母或下划线

2、运算符优先级符合由高到低排列的一组是(A)

  A.+、!

=、&&、=  B.&&、!

=、+、=  C.!

=、+、=、&&  D.&&、=、!

=、+

3、转义字符中正确的是(C)

  A.'\'  B.'\xyz'  C.'\\'  D.'\820'

4、下列程序段执行后x、y和z的值分别是(B)

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、下列程序段执行后的输出结果是(A)

intk=-4,a=3,b=2,c=l;

printf("%d/n",k

k:

c

c:

a);

  A.1  B.2  C.3  D.4

6、关于for(表达式1;表达式2;表达式3),叙述正确的是(D)

  A.表达式1不可以缺省  B.表达式2不可以缺省

  C.表达式3不可以缺省  D.三个表达式都可以缺省

7、设int*p[4];,则标识符p是(B)

  A.整型数组名  B.指针数组名  C.指针函数名  D.指向整型变量的指针

8、在循环结构中,continue语句的作用是(C)

  A.继续执行本次循环  B.提前退出多重循环

  C.提前结束本次循环  D.提前退出本重循环

9、数组定义及初始化正确的是(D)

  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)等价的是(C)

  A.while(m!

=0)  B.while(m=1)  C.While(m=0)  D.while(m!

=1)

11、设char*sl="12345",*s2="1234";,执行语句printf("%d\n",strlen(strcpy(sl,s2)));后的输出结果是(A)

  A.4  B.5  C.9  D.10

12、下列不属于C语言数据类型的保留字是(A)

  A.real  B.void  C.float  D.double

13、设inti,j=7,*p=&j;,与赋值语句i=j;等价的是(D)

  A.i=&p;  B.p=*&j;  C.p=&j;  D.i=*p:

14、正确表示数学关系式x≥y≥z的C语言表达式是(B)

  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)的值是(C)

  A.2  B.10  C.11  D.12

二、填空题(本大题共10小题,每小题2分,共20分)

  请在每小题的空格中填上正确答案。

错填、不填均无分。

16、设inta=2,b=3;floatx=3.5,y=2.5;,表达式(float)(a+b)/2+(int)x%(int)y的值是_3.5_。

17、设inti;,语句for(i=l;i=10;i++)++i;循环的次数是_0_。

18、数组名作为实参传给被调用的函数时,形参获得的是_数组元素的首地址_。

19、设intx=9;,执行语句printf("%d\n",x<<2);后的结果是_36_。

20、设charc[5]={'c','d','\0','e','\0'};,执行语句printf("%s\n”,c);后的结果是_cd_。

21、设inta[2][3],p;,将数组a的最后一个元素赋值给变量P的正确语句是_P=a[1][2]_。

22、字符串"A"在内存中占用的字节数是_2_。

23、设intx=l,y=1;,则执行表达式--x&&y++后,y的值是_1_。

24、函数的自我调用被称为_递归_调用。

25、设charw;intx;floaty;doublez;,则表达式w*x+z-y的值的类型是_double_。

三、程序分析题(本大题共4小题,每小题4分,共16分)

阅读下列程序,将输出结果写到各题右侧的空白处。

26、voidmain()

{intn=9;

if(n++

elseprintf("%d\n",n--);

}

运行结果:

10

27、voidfun(intx,inty,intz)

{z=x*x+y*y;

printf("%d\n",z);

}

voidmain()

{inta=31;

fun(5,2,a);

printf("%d\n",a);

}

运行结果:

29\n31

28、voidmain()

{inta[]={O,9,8,7,6,5,4,3,2,1},*p=a;

printf("%d,%d\n",*p+9,*(p+9));

}

运行结果:

9,1

29、func(inta)

{staticintm=O;

m+=a;

printf("%d\n",m);

}

voidmain()

{intk=4;

func(k);func(k);

}

运行结果:

4\n8

四、程序填充题(本大题共3小题,每小题6分,共18分)

请将下列程序横线处缺少的部分补上,使其能正确运行。

30、求数组a的所有元素之和。

#defineN3

voidmain()

{inti,j,sum=0;

inta[N][N]={2,4,6,8,10,12,14,16,18};

for(i=0;i

for(j=O;______j++)/*第二空*/

sum=sum+______;/*第三空*/

printf("sum=%d\n",sum);

}

第一空:

i++;第二空:

j

a[i][j]

31、键入一个字符串(不超过80个字符)存至字符数组s中并对各元素升序排序。

#include

voidmain()

{inti,j,len;

chars[81],t;

gets(s);

puts(s);

len=strlen(s);

for(i=O;i

for(j=i+1;j

if(______)/*第二空*/

{t=s[i];s[i]=s[j];______;}/*第三空*/

puts(s);

}

第一空:

j++;第二空:

s[i]>s[j];第三空:

s[j]=t

32、输入一个正整数,若是素数(或称质数)则输出“Yes”,否则输出“No”。

voidmain()

{inti,n;

scanf("%d",______);/*第一空*/

printf("%d",n);

for(i=2;i

if(n%i==0)______;/*第二空*/

if(______)printf("Yes\n");/*第三空*/

elseprintf(”No\n”);

}

第一空:

&n;第二空:

break;第三空:

i>n+1

五、程序设计题(本大题共2小题,每小题8分,共16分)

33、从键盘输入一串字符(!

作为结束标志),保存到文件“user、dat”中。

解题思路:

按照文件读取的方法操作即可,步骤1:

定义FILE的指针变量保存打开文件时的指针,步骤2:

使用fopen打开文件,步骤3:

循环读取输入的一串字符并依次写入到文件中,步骤4:

关闭文件。

代码如下:

#include

#include

voidmain()

{charch;

FILE*fp;/*定义FILE的指针变量*/

if((fp=fopen("user.bat","wb"))==NULL)/*使用fopen打开文件并判断是否打开成功*/

{printf("Cannotopenfile!

\n");

exit(0);

}

while((ch=getchar())!

='!

')/*循环读取输入的一串字符并写入到文件中*/

fputc(ch,fp);

fclose(fp);/*关闭文件*/

}

34、某幼儿园入园分班规定如下:

输入某个孩子的年龄后,输出其分班情况(要求使用switch语句)。

解题思路:

用scanf输入年龄后将这个值保存在age中。

然后将age写在switch后的圆括号中,接着在switch后的大括号中使用case考虑age为1-6的每种情况,1-3对应一种情况输出内容后并使用break结束,其他情况以此类推。

代码如下:

#include"stdio.h"

voidmain()

{intage;

printf("inputage:

");/*提示输入年龄*/

scanf("%d",&age);/*输入年龄*/

switch(age)/*根据输入的年龄做判断*/

{case1:

case2:

case3:

    printf("Lowerclass\n");break;/*考虑1-3岁的情况*/

case4:

    printf("Middleclass\n");break;/*考虑4岁的情况*/

case5:

case6:

    printf("Higherclass\n");break;/*考虑5-6岁的情况*/

default:

    printf("Cank'tenter\n");break;/*除开上述情况的其他情况*/

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1