全国2005年1月高等教育自学考试
高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.C语言的保留字是( ) A. define C. main A. .0 C. 0.0
B. enum D. include B. 0.E0 D.0E+0.0 B.标识符 D.实型数 B.2 D.4 B.long D. float
2.错误的实型(浮点型)常数是( ) ..
3.无条件转移语句的一般形式是:goto语句标号;,其中的语句标号可以是( ) A.整型数 C.保留字 A.1 C.3
4.设int a;,则表达式a=2,4,a+1的值是( )
5.设int i; float f; double d; long int e;,则表达式10+′a′+i*f-d/e结果的类型是( ) A. double C. int ( ) A.0,0 C.1,0
B.0,1 D.1,1 B.只能是关系的 D.以上三种都可以 B.0,1 D.1,1
6.设int a;,则语句for(a=0;a= =0;a++);和语句for(a=0;a=0;a++);执行循环的次数分别是
7.if(表达式)和while(表达式)中的“表达式”( ) A.只能是逻辑的 C.只能是算术的 A.0,0 C.1,0
8.设int a=0,b=0,m=0,n=0;,则执行(m=a= =b)‖(n=b= =a)后m和n的值分别是( )
9.设int a,b;为使变量a和b分别获得数据10和20,则下列正确的是( ) A.scanf(″%d,%d″,&a,&b);输入数据:10,20<回车> B.scanf(″%d,%d″,&a,&b);输入数据:10 20<回车> C.scanf(″%d,%d″,&a,&b);输入数据:a=10,b=20<回车>
浙00342# 高级语言程序设计(一)试题 第 1 页 共 6 页
D.scanf(″%d,%d″,a,b);输入数据:10,20<回车> 10.对于函数,正确的说法是( ) A.可以嵌套定义
B.定义时有些函数名前可以带星号 C.必须有返回语句
D.必须有形式参数
11.设int a[3][4]; ,则与元素a[0][0]不.等价的表达形式是( ) A.*a B.* *a C.*a[0] D.*(*(a+0)+0) 12.设char s1[]={′a′,′b′,′c′},s2[]=″abc″; ,则数组s1和s2的长度分别是( A.2,3 B.3,3 C.3,4
D.4,4
13.设int(*p)( );,则p是( ) A.一维数组的指针变量 B.函数的指针变量 C.二级指针变量 D.字符串的指针变量 14.在C语言中,若定义函数时类型缺省,则类型隐含为( )
A. int B. char C. float
D. void
15.设char ch,str[4],*strp;,则正确的赋值语句是( ) A. ch=″MBA″; B. str=″MBA″; C. strp=″MBA″;
D. *strp=″MBA″;
16.设typedef char *POINT;
POINT p,q[3],*r;,则p、q和r分别是字符型的( ) A.变量、一维数组和指针变量 B.变量、二维数组和指针变量
C.指针变量、一维数组指针和二级指针变量 D.指针变量、一维指针数组和二级指针变量
17.若变量定义时未初始化,则其值不.确定的是( ) A.静态全局变量 B.局部变量 C.静态局部变量
D.全局变量
18.设struct{int a; char b;}Q,*p=&Q; ,则错误..的表达式是( ) A. *p.b B. (*p).b C. Q.a
D. p->a
19.在某文件中,若全局变量与局部变量同名,则( ) A.视为同一个变量 B.变量作用域不确定 C.不允许
D.允许
20.设宏定义#define P(x) x/x
浙00342# 高级语言程序设计(一)试题 第 2 页 共 6 页
)
则执行语句printf(″%d\\n″,P(4+6));后的输出结果是( ) A.1 C.11
B.8.5 D.11.5
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。错填、不填均无分。
21.在C语言中,预处理功能主要包括:________、文件包含和条件编译。 22.表达式4&5-3&&5的值是________。
23.设int j=5;,则执行语句j+=j-=j*j;后j的值是_______。 24.设int a,b=2,c=3;执行表达式a=(b>c)?(b+1):(c+2),3 后a的值是_______。
25.设int a[3][2]={2,4,6,8,10};则*(a[1]+1)的值是_______。 26.在C语言中,++运算符的结合性是_______。
27.在C语言中,若函数的形参是整型变量,而对应的实参是整型数,则形实结合的方式是_______传递。
28.在C语言中,数组名除名字的功能之外还代表数组的_______。 29.设enum en{a, b=3,c=4};,则a的序值是_______。 30.continue语句可以出现在for、while和_______语句中。 三、程序分析题(本大题共5小题,每小题5分,共25分)
阅读下列程序,将输出结果写到各题右侧的空白处。 31.main( )
{ int a=10,b=20,c=30;
if(a>b) if(a>c) printf(″a=%d\\n″,a); else printf(″b=%d\\n″,b); print(″c=%d\\n″,c); } 32.SUM(int n) { if (n==1) return 1;
else return n * n+SUM (n-1); } main( )
{ printf (″SUM=%d\\n″,SUM(5)); }
33.int fuc(int j) { static int k; return (++k+j); }
浙00342# 高级语言程序设计(一)试题 第 3 页 共 6 页
main( ) { int j;
for (j=1;j<=3,j++) printf (″]″,fuc(10)); printf (″\\n″); }
34.假定在DOS提示符下显示源程序如下 (相应的可执行程序name.exe也在C盘中) C>type name.c
main (int argc, char *argv[]) {
printf (″argc=%d\\n″,argc);
while (--argc>0) printf(″%s″,argv[argc]); printf (″\\n″); }
写出执行下列命令行后的输出结果。 C>name 1949 October First<回车> 35.struct { int a,b;
union {int M,N;char ch[10];}in; } Q,*p=&Q; main( ) {Q.a=3;Q.b=6;
Q.in.M=(*p).a+(*p).b;Q.in.N=p->a*p->b;
printf(″%d,%d,%d\\n″,sizeof(Q.in),Q.in.M,Q.in.N); }
四、程序填充题(本大题共3小题,每小题6分,共18分)
给出下列程序,将横线处缺少的部分补上,使其能正确运行。
36.输入一个英文字符串(换行符作为结束),分别统计并输出其中元音字母(大小写不加区别)各自出现的次数。
元音字母:(a,A),(e,E),(i,I),(o,O),(u,U) #include
int_________; /* 第一空 */ char c;
while(________!=′\\n′)/* 第二空 */ switch(_______)/* 第三空 */
浙00342# 高级语言程序设计(一)试题 第 4 页 共 6 页
相关推荐: