[自考类试卷]2005年下半年全国自考(高级语言程序设计)真题试卷及答案与解析.doc

上传人:appealoxygen216 文档编号:911320 上传时间:2019-02-28 格式:DOC 页数:14 大小:54.50KB
下载 相关 举报
[自考类试卷]2005年下半年全国自考(高级语言程序设计)真题试卷及答案与解析.doc_第1页
第1页 / 共14页
[自考类试卷]2005年下半年全国自考(高级语言程序设计)真题试卷及答案与解析.doc_第2页
第2页 / 共14页
[自考类试卷]2005年下半年全国自考(高级语言程序设计)真题试卷及答案与解析.doc_第3页
第3页 / 共14页
[自考类试卷]2005年下半年全国自考(高级语言程序设计)真题试卷及答案与解析.doc_第4页
第4页 / 共14页
[自考类试卷]2005年下半年全国自考(高级语言程序设计)真题试卷及答案与解析.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、2005 年下半年全国自考(高级语言程序设计)真题试卷及答案与解析一、单项选择题1 下列不属于 C 语言保留字的是( )(A)char(B) while(C) typedef(D)look2 下列关于 C 语言的叙述错误的是( )(A)英文字母大小写不加以区分(B)不同类型的变量可以出现在同一个表达式中(C)在赋值表达式中赋值号两边的类型可以不同(D)某些运算符在不同的场合可以有不同的含义3 下列转义字符中错误的是( )(A)000(B) 14(C) x111(D)24 执行语句 printf(“%x“,-1) ;后输出结果是( )(A)-1(B) #NAME?(C) 1(D)ffff5 设

2、float a=2,b=4,c=3;,以下 C 语言表达式与代数式 计算结果不一致的是( )(A)(a+b)*c/2(B) (1/2)*(a+b)*c(C) (a+b)*c*1/2(D)c/2*(a+b)6 设 int a=10,b=20,c=30;条件表达式 ab? a=5:c 的值是( )(A)5(B) 10(C) 20(D)307 设 inta=9,b=6,c;,执行语句 c=a/b+0.8;后 c 的值是( )(A)1(B) 1.8(C) 2(D)2.38 执行语 for(i=1;i+4;);后 i 的值是( )(A)3(B) 4(C) 5(D)不确定9 在位运算中,操作数左移一位,其

3、结果相当于操作数( )(A)乘以 2(B)除以 2(C)乘以 4(D)除以 410 使用语句 scanf(“a=%f,b=%f“,a,b);输入变量 a、b 的值(口代表空格) ,正确的是( )(A)125,2.4(B) 1.25 口 2.4(C) a=1.25,b= 2.4(D)a=1.25 口 b=2.411 下列说法中错误的是( )(A)C 语言中循环嵌套的层数没有限定(B) C 语言中的内部函数只能在本文件中被调用(C)用 typedef 语句定义的数据类型名称必须是大写字母(D)C 语言中的 continue 语句,可以通过改变程序的结构而省略12 设 char s10,*p=s;,

4、下列语句中错误的是( )(A)p=s+5 ;(B) s=p+s;(C) s2=p4;(D)*p=s0;13 设 enum weeksun,mon,tue ,wed,thu,fri, satday;,正确的赋值语句是( )(A)sun=0;(B) sun=day;(C) mon=sun+1;(D)day=sun;14 若用数组名作为函数调用时的实参,则实际上传递给形参的是( )(A)数组的第一个元素值(B)数组元素的个数(C)数组中全部元素的值(D)数组首地址15 下列错误的是( )(A)char s=“China“;(B) char s10=“China“;(C) char s10;s=“Ch

5、ina“;(D)char s10=c,h,i,n,a ;16 在 C 语言中,有值函数的数据类型是指( )(A)函数形式参数的数据类型(B)函数返回值的数据类型(C)调用该函数时的实参的数据类型(D)任意指定的数据类型17 设 struct short a; char b; float c; cs; 则 sizeof(cs)的值是( )(A)4(B) 5(C) 6(D)718 设 intx=1,2,3,4,5,6,7,8,9,0),*p=x,k; 且 0k10,则对数组元素 xk的错误引用是( )(A)p+k(B) *(x+k)(C) xp-x+k(D)*( xk)19 设 #define N

6、 3 #define Y(n)(N+1)*n) 则表达式 2*(N+Y(54+1)的值是( )(A)42(B) 48(C) 54(D)出错20 关于主函数的形式参数,下列说法正确的是( )(A)可以有两个(B)类型可以是实型(C)不可以由用户自己定义名字(D)是在程序编译时获得实际值二、填空题21 可以将被调函数中获得的值返回给主调函数的语句是_。22 设 int x=2,y=1 ;则表达式 x+y 的值是_ 。23 若未指定局部变量的存储类型,则其隐含的存储类型是_。24 在执行循环结构或 switch 结构时,能够立即退出该结构的语句是 _。25 设 int a=-3,b=7,c=-1;则

7、执行(a=0)(a=a%bb/c);后变量 a 的值是_。26 设 int a,b,c ;则执行 a=(b=3,c=5,b=10);后变量 a 的值是_。27 设 int a=100,*p1=a,*p2= p1;,则表达式*p2 的值是_。28 静态型外部变量的作用域是_。29 设 int a23=1,2,3,4,5,6 ; 则数组元素 a10的值是_。30 函数调用时,若形参是一个变量,而对应的实参是一个有确定值的表达式,则函数参数的传递方式是_传递。三、程序分析题31 mian() int i; for(i=1;i 3;i+)f(i); f(int j) static int a=100;

8、 int k=1; +k; printf(“%dn“,j+a+k); a-=2; 32 #includestdioh long fun(int n) long s; if(n=2)s=2; else s=n+fun(n-1); printf(“%dt“,s); return s; main() fun(5); printf(“n“); 33 struct porb char*name; int age; s=“LiHua“,18,“WangXin“,25,“LiuGuo“,21; #define N(sizeof(s)/sizeof(s0) void f(struct porb a,int n

9、); main() f(s, N); void f(struct porb a,int n) int i; for(i=0;i n;i+) printf(“%s:dn“,ai name,ai age) ; 34 void LE(int*a,int b) int x=*a: printf(“%dt%dn“,*a , b); *a=b;b=x; main() int x=10, y=25; LE(x,y); printf(“%dt%dn“,x,y); 35 /*设从键盘输入:420回车*/ #includestdioh main() char c; while(c=getchar()!=n) sw

10、itch(C-0) case 0: case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; printf(“n“); 四、程序填充题36 一个三位整数(100999),若各位数的立方和等于该数自身,则称其为“水仙花数“(如:153=13+53+33),找出所有的这种数。 main() int n,a,b,c ;/*n、a 、 b 和 C 分别为三位数自身及其个位、十位和百位*/ for(c=1;c =9;c+) for(b=0;b=9 ;b+) for(_;

11、a+)/*第一空*/ n=_; /*第二空*/ if(a*a*a+b*b*b+e*c*c=_)/*第三空*/ printf(“%dn“,n); 37 输入一个数字(范围在 09 之间,若不在此范围内显示输入错),输出对应的英文单词(Zero , One,Two,Nine) 。 main() int i; char *digit10=“Zero“,“One“,“Two“,“Three“,“Four“ , “Five“,“Six“ ,“Seven“ ,“Eight“,“Nine“; scanf(“%d“,_);/*第一空*/ printf(“%d“,i); if(_)/*第二空*/ printf(

12、“%sn“,digit_);/*第三空 */ else printf(“Input error!n“); 38 将一个文本文件(madat) 拷贝到另一个文本文件(niudat)中。 #includestdioh main() FILE*ma, *niu; mazfopen(“madat“,_);/*第一空*/ niu=fopen(“niudat“,“w“); while(!feof(ma)fputc(fgetc(ma),_) ;/*第二空*/ fclose(niu); _;/* 第三空*/ 五、程序设计题39 输入某学生的数学(math)、英语(english)和 C 语言(c)的成绩,输出

13、该学生这三门课的成绩、总成绩(sum)和平均成绩(aver) 。40 按下列要求分别写出两个函数(不用写主函数)(1)计算 n! 计算公式:n!=123n 函数首部为long cmk(int m,int k)41 在一个二维数组(定义为 int a55;) 中形成并按下列形式输出矩阵各元素的值。1 0 0 0 0 2 1 0 0 0 3 2 1 0 0 4 3 2 1 0 5 4 3 2 12005 年下半年全国自考(高级语言程序设计)真题试卷答案与解析一、单项选择题1 【正确答案】 D2 【正确答案】 A3 【正确答案】 C4 【正确答案】 D5 【正确答案】 B6 【正确答案】 A7 【正

14、确答案】 A8 【正确答案】 C9 【正确答案】 A10 【正确答案】 C11 【正确答案】 C12 【正确答案】 B13 【正确答案】 D14 【正确答案】 D15 【正确答案】 C16 【正确答案】 B17 【正确答案】 D18 【正确答案】 A19 【正确答案】 B20 【正确答案】 A二、填空题21 【正确答案】 return 或返回语句22 【正确答案】 323 【正确答案】 auto 型或自动型24 【正确答案】 break25 【正确答案】 -326 【正确答案】 1027 【正确答案】 10028 【正确答案】 本文件29 【正确答案】 430 【正确答案】 值三、程序分析题3

15、1 【正确答案】 103 10232 【正确答案】 2 5 9 1433 【正确答案】 LiHua:18 WangXin:25 LiuGuo:2134 【正确答案】 10 25 25 2535 【正确答案】 5523四、程序填充题36 【正确答案】 第一空:a=0;a=9 或 a=0;a0 第二空:100*c+10*b+a 第三空:n37 【正确答案】 第一空:n 第二空:i=0i=9 第三空:i38 【正确答案】 第一空:“r“ 第二空:niu 第三空:fclose(ma)五、程序设计题39 【正确答案】 main() float math,english,C, sum,aver; scan

16、f(“%f%f%,math,english,C); sum=math+english+C; aver=sum/3: printf(“math=%If ,english=%If,C=%If ,sum=%If ,aver=% 2fn“, math,english ,C ,sum,aver); 40 【正确答案】 (1) long fac(int n) long f=1;int i; for(i=1;i =n;i+)f*=i; return f: (2) long cmk(int m,int k) return fac(m)/fac(k)/fac(m-k); 41 【正确答案】 main() int i,j,a55 for(i=0;i 5;i+) for(j=0;j 5;j+) if(ij)aij=0; else aij=i-j+1; for(i=0;i 5;i+) for(j=0;j 5;j+)printf(“%5d“,aij) ; printf(“n“)

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

当前位置:首页 > 考试资料 > 大学考试

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1