全国年高等教育自学考试高级语言程序设计一考试试题.docx
- 文档编号:28921626
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:10
- 大小:21.07KB
全国年高等教育自学考试高级语言程序设计一考试试题.docx
《全国年高等教育自学考试高级语言程序设计一考试试题.docx》由会员分享,可在线阅读,更多相关《全国年高等教育自学考试高级语言程序设计一考试试题.docx(10页珍藏版)》请在冰豆网上搜索。
全国年高等教育自学考试高级语言程序设计一考试试题
做试题,没答案?
上自考365,网校名师为你详细解答!
全国2006年1月高等教育自学考试
高级语言程序设计
(一)试题
课程代码:
00342
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.可以用作C程序标识符的一组是( )
A.printB.i\am
oodbone-half
aBc3pai
C.PxqD.Cpp
line#pow
His.agewhile
2.以下叙述正确的是( )
A.宏名必须用大写的英文字母表示
B.宏定义不仅是符号替换,也可以赋值
C.宏替换是在程序编译时完成的,不占用程序运行时间
D.引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致
3.设chara='\70';则变量a中( )
A.包含1个字符B.包含2个字符
C.包含3个字符D.是非法表示
4.设longi=65539;,执行语句printf("%d",i);后的输出结果是( )
A.-3B.3
C.65539D.数据不确定
5.设floatc,f;,将数学表达式C=
(F-32)能正确表示成C语言赋值表达式的是( )
A.c=5*(f-32)/9B.c=5/9(f-32)
C.c=5/9*(f-32)D.c=5/(9*(f-32))
6.设inti=10;,表达式30-i<=i<=9的值是( )
A.0B.1
C.9D.20
7.以下不能看作一条C语句的是( )
A.{;}B.a=5,b=5,c=5;
C.if(x>=0&&y=0);D.if(x==0)a=5;b=10;
8.在函数调用时,以下说法正确的是( )
A.函数调用后必须带回返回值
B.实际参数和形式参数可以同名
C.函数间的数据传递不可以使用全局变量
D.主调函数和被调函数总是在同一个文件里
9.设intx=7;,执行语句x=x<<2;后,变量x的值是( )
A.1B.3
C.14D.28
10.执行语句printf("|%9.4f|\n",12345.67);后的输出结果是( )
A.|2345.6700|B.|12345.6700|
C.|12345.670|D.|12345.67|
11.以下说法中正确的是( )
A.字符型变量可以存放字符串
B.递归调用是指函数调用自己
C.所有的外部函数只能在本文件中被调用
D.在循环体中break语句和continue语句的作用都是结束循环
12.设chars[6],*ps=s;,则正确的赋值语句是( )
A.s="12345";B.*s="12345";
C.ps="12345";D.*ps="12345";
13.设inta[]={1,2,3,4,5},*p=a;
则数组元素的正确表示是( )
A.a[2]B.&(a+1)
C.a[5]D.&p
14.对二维数组的正确定义是( )
A.inta[][]={1,2,3,4,5,6};B.inta[2][]={1,2,3,4,5,6};
C.inta[][3]={1,2,3,4,5,6};D.inta[2,3]={1,2,3,4,5,6};
15.字符数组s不能作为字符串使用的是( )
A.chars[]="happy";
B.chars[]={"happy"};
C.chars[6]={'h','a','p','p','y'};
D.chars[4]={'h','a','p','p','y'};
16.若定义函数:
fun(inta,floatb)
{returna+b;
}
则该函数的数据类型是( )
A.intB.void
C.floatD.不确定
17.设
structst
{inta;
floatb;
}s,*p=&s;
则正确的引用是( )
A.(*).s.aB.(*p).a
18.设enumcolor{red,yellow=2,blue,white,black}r=white;,执行printf("%d",r);后的输出结果是( )
A.0B.1
C.3D.4
19.以下说法中错误的是( )
A.共用型数据中所有成员的首地址都是同一个
B.可以用已定义的共用型来定义数组或指针变量的类型
C.共用型数据中的成员可以是结构型,但不可以是共用型
D.用typedef定义新类型取代原有类型后,原类型仍可有效使用
20.设#defineL(x)2*3.14*x
则L(x)是( )
A.函数名B.函数调用
C.无参的宏名D.带参的宏名
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
21.设inta[10];则数组a的首元素是__________________。
22.设inta=0,b=0,c;,则执行c=(a-=b-5),(a=b,b=3);后变量c的值是__________________。
23.设inta=0,b=0,c=2,d=4;,则执行(c=a==b)||(d=b==a);后变量d的值是__________________。
24.设inta[]={1,2,3,4,5,6,7,8},*s=a;
则*(s+1)的值是__________________。
25.设chars[]="apple";,则数组s的长度是__________________。
26.被调用函数执行结束时,此函数中定义的__________________类型的变量不被释放。
27.表达式的运算对象可以是常量、函数调用和__________________。
28.设intx;,则将x强制转换为双精度类型应写成__________________。
29.语句if(!
k)a=3;中!
k与__________________等价。
30.函数调用时,若形参是一个指针变量,而对应的实参是一个数组名,则函数参数的传递方式是__________________传递。
三、程序分析题(本大题共5小题,每小题5分,共25分)
阅读下列程序,将输出结果写到各题右侧的空白处。
31.main()
{
inta[3][3]={{1},{2},{3}};
intb[3][3]={1,2,3};
printf("%5d",a[1][0]+b[0][1]);
printf("%5d\n",a[0][1]+b[1][0]);
}
32.inta=10;
structdata{inta,b;}s;
main()
{intc;
s.a=20;s.b=30;
c=f(s.a+s.b);
printf("%d,%d,%d\n",s.a,s.b,c);
}
f(intb)
{
printf("%d,%d\n",a,b);
return(a+b);
}
33.#include
fun()
{inty=1;
staticintz=4;
z++;++y;
return(y*z);
}
main()
{inti;
for(i=1;i<3;i++)
printf("%5d\n",fun());
}
34.main()
{char*p,s[]="6543210";
for(p=s;*p!
='\0';)
{printf("%s\n",p);
p++;
if(*p!
='\0')p++;
elsebreak;
}
}
35.main()
{
longf();
printf("%5ld\n",f(5));
}
longf(intb)
{
if(b==1||b==2)return1;
elsereturnf(b-1)+f(b-2);
}
四、程序填充题(本大题共3小题,每小题6分,共18分)
给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。
intneg=0,pos=0,zero=0;
voidsele(intnum)
{
if(num>0)neg++;
elseif(num<0)pos++;
else______________;/*第一空*/
}
main()
{
inti,a[10];
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
printf("%5d",a[i]);
self(_________________);/*第二空*/
}
printf("\nneg=%d,pos=%d,zero=%d\n",_______________);/*第三空*/
}
37.输入一个学生的成绩(在0~100分之间,超出此范围显示错),进行五级评分并显示。
main()
{
intscore;
scanf("%d",&score);printf("%d->",score);
if(__________________)/*第一空*/
switch(___________________)/*第二空*/
{
case9:
case10:
printf("Excellent\n");break;
case8:
printf("Good\n");break;
case7:
printf("Middle\n");break;
case6:
printf("Pass\n");_______________;/*第三空*/
default:
printf("Nopass\n");
}
elseprintf("Inputerror!
\n");
}
38.键入一个字符串(换行作为结束标志),将该字符串分别写到文本文件(te.dat)和二进制文件(bi.dat)中。
#include
main()
{
_______________;/*第一空*/
charstr[80];
gets(str);puts(str);
te=fopen("te.dat"_______________);/*第二空*/
bi=fopen("bi.dat",_______________);/*第三空*/
fputs(str,te);fwrite(str,sizeof(str),1,bi);
fclose(te);fclose(bi);
}
五、程序设计题(第39小题5分,第40、41小题各6分,共17分)。
39.输入一个圆半径(r),计算并输出圆的面积(s)和周长(l).
40.计算当sum=1+
时,输出N的值。
41.用循环语句输出下列字母编排的三角形。
a
ab
abc
abcd
………
abcde………xyz
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 年高 教育 自学考试 高级 语言程序设计 考试 试题