全国年高等教育自学考试高级语言程序设计一考试试题

合集下载

全国年月高等教育自学考试高级语言程序设计一考试试题

全国年月高等教育自学考试高级语言程序设计一考试试题

全国2003年1月高等教育自学考试高级语言程序设计(一)试题课程代码:00342第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1.属于C语言基本数据类型的是( )A.指针型B.无符号整型C.数组型D.结构型语言的长整型数值在计算机中占用的字节个数是( )语言中,″\x3d″在内存中占用的字节数是( )4.设int x;则执行printf(″%x\n″,~x^x);的结果是( )5.对于while语句,错误的...说法是( )A.用条件控制循环体的执行次数B.循环体至少要执行一次C.循环体有可能一次也不执行D.循环体中可以包含若干条语句6.设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( ),19 ,20,19 ,207.执行下列语句int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf(″%d,%d,%d\n″,a,b,c);后输出的结果是( ),7,7 ,7,8,7,6 ,7,88.设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )数组的长度等于y数组的长度数组的长度大于y数组的长度数组的长度少于y数组的长度数组与y数组的存储区域相同9.设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);的输出结果是( )10.设int b[ ]={1,2,3,4},y,*p=b;则执行语句y=*p++;之后,变量y的值为( )11.设int a,*p;则语句p=&a;中的运算符“&”的含义是( )A.位与运算B.逻辑与运算C.取指针内容D.取变量地址12.若函数能被其它编译单位引用,那么函数定义时的存储类型应选用( )13.下面函数定义有错误的...是( )(x1,x2) (x1,x2)int x1,x2; int x1;int x2;{函数体} {函数体}(int x1,x2) (int x1,int x2){函数体} {函数体}语言中计算a3正确的表达是( )^3 (a,3)**3 (a,3)15.下列定义正确的是( )t={a,b}x; t{1,2}x;{′+′,′-′}x; t{a,b}x;16.设有定义:union u{int a[4];float b[3]};char c[16];}aa;则printf(″%d\n″,sizeof(aa));的输出是( )17.数据在文本文件中占用的字节个数是( )18.在下列有关宏替换的叙述中,正确的说法是( )A.宏替换占用运行时间B.宏名有类型C.带参数的宏替换和函数等价D.宏替换只是字符替换19.下列程序的运行结果是( )# define A 5# define B A+1main( ){int a;a=B;printf(″%d\n″a--);}D.出错20.为了向二进制文件尾部增加数据,打开文件的方式应采用( )A.″ab″B.″rb+″C.″wb″D.″wb+″第二部分非选择题二、填空题(本大题共10小题,每小题2分,共20分)21.设int y;执行表达式(y=4)||(y=5)||(y=6)后,y的值是______。

(全新整理)1月全国自考高级语言程序设计(一)试题及答案解析

(全新整理)1月全国自考高级语言程序设计(一)试题及答案解析

全国2018年1月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

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

1.以下正确的C语言自定义标识符是()A._la B.2a_C.do D.a.122.在C语言中,错误..的常数表示是()A.0L B.-0x6aLC.′6′D.1.234E3.53.设int a,x=2;执行语句a=x>0?3*x(x=10);后,变量x的值是()A.1 B.2C.6 D.104.设有以下程序段:int x=2,y=2,z=0,a;a=++x||++y&&z++;printf(″%d,%d,%d\n″,x,y,z);执行后输出的结果是()A.2,2,0 B.3,3,1C.3,2,0 D.3,2,15.在C语言中,字符串″\\TOP\t\65\″″的长度是()A.5 B.7C.9 D.126.设float x;,由键盘输入:12.45,能正确读入数据的输入语句是()A.scanf(″%5f″,&x); B.scanf(″%5d″,&x);C.scanf(″%f″,x); D.scanf(″%s″,&x)7.逗号表达式a=2*6,a*3,a+5的值是()A.12 B.17C.36 D.4112 8.C 语言表达式3.26*exp(x)+(a+b)/3所表示的数学表达式是( )A .3.26x+)b a (31+B .3.26x e +3ba +C .3.26e x +)b a (31+ D .3.26lnx+3ba +9.在C 语言中,下列运算符中结合性属于自右向左的是( )A .&&B .--C .<<D .->10.设int (*p )[4];,则p 的含义是( )A .指向整型变量的指针数组B .指向4个整型变量的函数指针C .4个指向整型变量的指针变量D .指向具有4个整型元素的一维数组的指针11.设char x[][10]={″Windows ″,″dos ″,″unix ″};,执行pintf(″%c ″,x[1][2]);后输出的结果是() A .n B .iC .oD .s12.设int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(* ptr)[3]=a,*p=a[0];,则与数组元素a[1][2]等价的是()A .*((p+2)+3)B .*(*(p+3))C .(*ptr+1)+2D .*((ptr+1)[2])13.设int a=11,b=2;,执行下述程序段后,变量a 和b 的值分别是( )do{a/=b++;}while(a>b);A .1,3B .1,4C .2,3D .2,414.在C 语言中,下列错误..的说法是( )A .函数可以递归调用B .不允许在函数中再定义函数C .递归程序不可能用非递归算法实现D .对于continue 语句,可以通过改变程序的结构而不使用它15.设int a[2][3]={{1},{2,3}};,则元素a[1][0]的值是( )A .0B .1C .2D .316.若main()带参数,正确的是()A.main(int argc,char*argv) B.main(int argc,char*argv[])C.main(int argc,char argv[][]) D.main(int argc,char argv[])17.设struct student{ char name[10];int sex;int num;}s,*p=&s;以下对结构型变量s中成员num的非法引用是()A.p->num B.(*p).numC.s.num D.student.num18.下列说法中正确的是()A.C语言的预处理命令只有宏定义和文件包含B.预处理命令只能出现在主函数之前C.所有预处理命令都是以符号″#″开头D.有些预处理命令不是在源程序编译之前处理19.设enum week {mon,tue=2,wed,thu,sat=6}day;,则枚举常量mon和thu的值分别是()A.0和4 B.1和4C.0和3 D.1和520.下列属于文件包含的命令是()A.#define N 25 B.#endifC.#include ″stdio.h″D.#else二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

全国10月高等教育自学考试高级语言程序设计(一)试题及答案解析

全国10月高等教育自学考试高级语言程序设计(一)试题及答案解析

全国2018年10月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。

每小题1分,共20分)1.C语言不能选用的字母是( )A.wB.πC.ID.i2.构成一个C程序的是( )A.一个主函数和若干个非主函数B.若干个主函数和若干个非主函数C.一个主函数和最多一个非主函数D.若干个主函数和最多一个非主函数3.设int m1=5,m2=3;表达式m1>m2?(m1=1):(m2=-1)运算后,m1和m2的值分别是( )A.1和-1B.1和3C.5和-1D.5和34.设float m=4.0,n=4.0;使m为10.0的表达式是( )A.m-=n*2.5B.m/=n+9C.m*=n-6D.m+=n+25.表达式5&2||5|2的值是( )A.0B.1C.2D.36.对于do-while语句,错误..的.说法是( )A.先执行循环体后判断循环条件B.循环体至少要执行一次C.循环体有可能一次也不执行D.循环体中可以包含若干条语句7.设int x=-1;执行表达式++x||++x||++x后,x的值是( )A.0B.1C.2D.38.设int a=7,b=8;则printf(″%d,%d″,(a+b,a),(b,a+b));的输出是( )A.7,15B.8,15C.15,7D.出错9.设int a[10];则对a数组元素的错误..引用是( )A.a[5]B.*(a+1)C.a[10-10]D.a(5)10.设char c[5]={′a′,′b′,′\0′,′c′,′\0′};则printf(″%s″,c)的输出是( )A.′a′′b′B.abC.abcD.″ab\0c″11.设double * p[6];则( )A.p是指向double型变量的指针B.p是double型数组C.p是指针数组,其元素是指向double型变量的指针D.p是数组指针,指向double型数组12.设char *s=″china″;则printf(″%s,%c,%c\n″,s,*s,s[3]);的输出是( )A.china, c,nB.china,china,iC.c,c,nD.china,china,n13.全局变量的存储类型可以定义为( )A.auto或staticB.extern或registerC.auto或externD.extern或static14.函数调用语句fun((((1,2),3),4));中参数的个数是( )A.1B.2C.3D.415.对于下列定义的枚举型enum colorl {yellow,green,blue=5, red,brone};则枚举常量yellow和red的值分别是( )A.3,6B.1,6C.0,6D.0,316.设有定义struct ru{long x;float y;} time,*timep=&time;则对time中成员x的正确引用是( )A.rnu.time.xB.timep.xC.(* timep).xD.time->x17.设FILE*fp;若fp指向的文件未结束,则函数feof(fp)的返回值为( )A.0B.trueC.非0D.false18.C语言中,系统自动打开的文件是( )A.二进制文件B.随机文件C.非缓冲文件D.设备文件19.执行下列程序#define R 0.5#define AREA(x) R*x*xmain (){int a=1, b=2;printf (″%5。

(全新整理)10月高级语言程序设计一全国自考试卷及答案解析

(全新整理)10月高级语言程序设计一全国自考试卷及答案解析
全国2018年10月高等教育自学考试
高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.可以作为自定义标识符的是( )
A.2xB.break
C.m-nD.m_n
2.正确的变量定义是( )
A.unsigned long d=1000;B.float m1=m2=10.0;
C.char c1=’A’,c2=A;D.double x=0.618,x=3.14;
3.表达式的值为0的是( )
A.5/5%5B.5>2
C.!4D.0x7&7
4.设int a=1,b=2;,则执行a=b+2,a++,a+b;后a和b的值分别是( )
34.(1)编写一个计算梯形面积的函数。函数头是:float area(float t,float b,float h)
其中变量t、b和h分别表示梯形的上底、下底和高。
(2)编写主函数从键盘输入梯形的上底、下底和高的值,调用上述函数输出梯形面积
(保留小数点后两位)。
case 3:
case 4:y=_____________;break; /*第三空*/
default :y=1/(x*x+1);
}
printf(〞x=%7.2f,y=%10.6f\n〞,x,y);
}
}
五、程序设计题(本大题共2小题,每小题8分,共16分)
33.从键盘输入100个整数,计算并输出大于等于零的数的平均值(保留小数点后两位)。
则执行语句printf(〞%s%d\n〞,p->name,stu[1].age);后输出结果是( )

自学考试高级语言程序设计历年真题和答案

自学考试高级语言程序设计历年真题和答案

2001年10月自考高级语言程序设计(一)试题第一部分选择题一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1.C语言程序编译时,程序中的注释部分A.参加编译,并会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.不参加编译,也不会出现在目标程序中2.下列表达式的值为0的是()A.3%5B.3/5.0C.3/5D.3<53.正确的C语言用户自定义标识符是()A.printB.floatC.when?D.random%24.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是()A.0和2B.0和3C.1和2D.1和35.下列叙述中,正确的是()A.引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致B.宏名必须用大写字母表示C.宏替换不占用运行时间,只占编译时间D.在程序的一行上可以出现多个有效的宏定义6.下列保留字中用于构成循环结构的是()A.ifB.whileC.switchD.default7.与语句if(a>b)if(c>d)x=1;else x=2;等价的是()A.if(a>b){if(c>d)x=1;else x=2;}B.if(a>b){if(c>d)x=1;}else x=2;C.if((a>b)&&(c>d))x=1;else x=2;D.if(a<=b)x=2;else if(c>d) x=1;8.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是A.x=a,y=97B.x=97,y=aC.x=97,y=97D.x=a,y=a9.设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是()A.2B.3C.4D.无确定值10.执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf("%d\n”,a[1][0]+b[0][0]);}后输出的结果是A.0B.1C.2D.311.设char str[100];int i=5;则引用数组元素的错误形式是()A.str[i+10]B.*(str+i)C.*(str+i-1)D.*((str++)+i)12.设int x[]={1,2,3,4,5,6},*p=x;则值为3的表达式是()A.p+=2,*++pB.p+=2,*p++C.p+=3,*pD.p+=2,++*pA.autoB.staticC.externD.register14.执行下列程序()int a=3,b=4;void fun(int x1,int x2){printf("%d,%d\n",x1+x2,b);}main(){int a=5,b=6;fun(a,b);}后输出的结果是A.3,4B.11,1C.11,4D.11,615.设有定义语句struct{int a;float b;} d[3]={{1,4},{2,5},{6,7}};则printf("%3.1f\n",d[2].a*d[2].b/d[1].b);的输出是()A.2.5B.2.0C.8.0D.8.416.设有定义语句:enum t1 {a1,a2=7,a3,a4=15}time; ( )则枚举常量a2和a3的值分别为A.1和2B.2和3C.7和2D.7和817.将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是()A.2和2B.2和5C.5和2D.5和518.在文件使用方式中,字符串"rb"表示()A.打开一个已存在的二进制文件,只能读取数据B.打开一个文本文件,只能写入数据C.打开一个已存在的文本文件,只能读取数据D.打开一个二进制文件,只能写入数据19.执行下列程序()# define F(y) 15>>y#define PRINT(a) printf("%d",a)main(){PRINT(F(2));}后输出的结果是A.3B.3.5C.14D.7.520.main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为()A.int argvB.char * argv[];C.char argv[];D.char **argv[];第二部分非选择题二、填空题(本大题共10小题,每小题2分,共20分)21.初始化值是0.618的双精度变量a的定义形式为____________。

月全国高等教育自学考试高年级语言程序设计试卷考卷精编WORD版

月全国高等教育自学考试高年级语言程序设计试卷考卷精编WORD版

月全国高等教育自学考试高年级语言程序设计试卷考卷精编W O R D版IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】2001年10月全国高等教育自学考试高级语言程序设计试卷第一部分选择题一、单项选择题 (本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

1. C语言程序编译时,程序中的注释部分【】A. 参加编译,并会出现在目标程序中B. 参加编译,但不会出现在目标程序中C. 不参加编译,但会出现在目标程序中D. 不参加编译,也不会出现在目标程序中2. 下列表达式的值为0的是【】A. 3﹪5B. 3/5.0C. 3/5D. 3<53. 正确的C语言用户自定义标识符是【】A. printB. floatC. when?D. random﹪24. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是【】A. 0和2B. 0和3C. 1和2D. 1和35. 下列叙述中,正确的是【】A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致B. 宏名必须用大写字母表示C. 宏替换不占用运行时间,只占编译时间D. 在程序的一行上可以出现多个有效的宏定义6. 下列保留字中用于构成循环结构的是【】A. ifB. whileC. switchD. default7. 与语句if(a>b)if(c>d)x = 1;else x = 2;等价的是【】A. if(a>b){if(c>d) x = 1;else x = 2;}B. if(a>b){if(c>d) x = 1;} else x = 2;C. if((a>b) && (c>d)) x = 1;else x = 2;D. if(a< =b) x = 2;else if (c>d) x = 1;8. 设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \ n″,x,97);的输出是【】A. x = a,y = 97B. x = 97,y = aC. x = 97,y = 97D. x = a,y = a9. 设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是【】A. 2B. 3C. 4D. 无确定值10. 执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf(″﹪d \ n″,a[1][0] + b[0][0]);}后输出的结果是【】A. 0B. 1C. 2D. 311. 设char str[100];int i = 5;则引用数组元素的错误形式是【】A. str[i + 10]B. (str + i)C. (str + i - 1)D. ((str + + ) + i)12. 设int x[] = {1,2,3,4,5,6},* p = x;则值为3的表达式是【】A. p + = 2, * + + pB. p + = 2, * p + +C. p + = 3, * pD. p + = 2, + + * p13. 在函数内,定义变量时存储类型符可省略的是【】A. autoB. staticC. externD. register14. 执行下列程序int a = 3, b = 4;void fun(int x1, int x2){printf(″﹪d, ﹪d \ n″, x1 + x2, b);}main(){int a = 5, b = 6;fun(a, b);}后输出的结果是【】A. 3,4B. 11,1C. 11,4D. 11,615. 设有定义语句struct{int a;float b;} d[3]={{1,4},{2,5},{6,7}};则printf(″﹪3.1f \ n″,d[2]. a * d[2]. b/d[1]. b);的输出是【】A. 2.5B. 2.0C. 8.0D. 8.416. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15}time;则枚举常量a2和a3的值分别为【】A. 1和2B. 2和3C. 7和2D. 7和817. 将一个整数10002存到磁盘上,以ASCII码形式存储和以二进制形式存储,占用的字节数分别是【】A. 2和2B. 2和5C. 5和2D. 5和518. 在文件使用方式中,字符串″rb″表示【】A. 打开一个已存在的二进制文件,只能读取数据B. 打开一个文本文件,只能写入数据C. 打开一个已存在的文本文件,只能读取数据D. 打开一个二进制文件,只能写入数据19. 执行下列程序# define F(y) 15>>y# define PRINT(a) printf(″﹪d″,a)main(){PRINT(F(2));}后输出的结果是【】A. 3B. 3.5C. 14D. 7.520. main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为【】A. int argv;B. char * argv[];C. char argv[];D. char ** argv[];第二部分非选择题二、填空题 (本大题共10小题,每小题2分,共20分)21. 初始化值是0.618的双精度变量a的定义形式为_____________________。

10月全国自考高级语言程序设计(一)试题及答案解析

10月全国自考高级语言程序设计(一)试题及答案解析
{
int x=*a;
printf(″%d\t%d\n″, *a, b);
*a=b;b=x;
}
main( ){ຫໍສະໝຸດ int x=10, y=25;
LE(&x, y);
printf(″%d\t%d\n″, x, y);
}
35. /*设从键盘输入:420<回车> */
#include <stdio. h>
main( )
void f (struct porb a[], int n);
main( )
{
f (s, N);
}
void f (struct porb a[], int n)
{
int i;
for (i=0;i<n;i++)
printf (″%s:%d\n″, a[i]. name, a[i]. age);
}
34. void LE(int*a, int b)
全国2018年10月高等教育自学考试
高级语言程序设计(一)试题
课程代码:00342
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。
1.下列不属于C语言保留字的是( )
A. charB. while
22.设int x=2, y=1;则表达式x+++y的值是__________。
23.若未指定局部变量的存储类型,则其隐含的存储类型是__________。
24.在执行循环结构或switch结构时,能够立即退出该结构的语句是__________。

全国高等教育自学考试高级语言程序设计一试题精编WORD版

全国高等教育自学考试高级语言程序设计一试题精编WORD版

全国高等教育自学考试高级语言程序设计一试题精编W O R D版IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】全国2009年1月高等教育自学考试高级语言程序设计(一)试题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

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

1. 设int a,b;,则表达式(b=2, a=5, b++, a+b)的值是()A. 2B. 5C. 7D. 82. 设int a=7; float x=2.5, y=4.7;, 则表达式x+3%(int)(x+y)/4的值是()A. 2.75B. 3.5C. 2.5D. 0.03. 设char cl; , 则cl中为小写英文字母字符的正确表达式为()A. ’a’<=c1=’z’B. (cl>=’a’)&&(cl<=’z’)C. (cl>=a)&&(c1<=z)D. (’a’<=c1)| |(’z’>=c1)4. 一维数组a的正确说明语句为()A. int a(10);B. int n=10, a[n];C. int n;D. #define SIZE 10scanf(″%d″,&n);int a[SIZE];int a[n];5. 已知字符’A’的ASCII码值是65,且char cl=’A’, c2=’D’;则执行语句printf(″%d,%d\n″,cl,c2-2);后的输出结果是()A. A, D B. A, BC. 65, 68D. 65, 666. 正确的条件语句为()A. if((a=b;)>0)t=a;B. if((a=b)>0)then t=a;C. if(a>b)t=a;D. if(a<b={a++;b++});7. 若有下列程序段:int x=l, y=2;x=x+y;y=x-y;x=x-y;则执行后x和y的值分别为()A. 1和2B. 2和2C. 2和1D. 1和18. 设int k,a,b;unsigned long w=5;double x=1.42;则不.符合类型要求的表达式是( ) A. x %(-3) B. w+=2C. k=(a=2,b=3)D. a+=(b=4)*(a=3)9. 设int a=3,b=4;,则printf (‘‘%d,%d,”(a,b ),(b,a ));的输出结果是( )A. 3,4B. 4,3C. 3,4,4,3D. 4,3,3,410. 设int i=l, k=2;, 则错误..的循环语句是( )A. for (i=0,k=-1;i++,k++);B. for (;k-1;i++);C. for (i=1,k=4;k--;i++);D. for (;k--;);11. 设typedef struct{int a;char s[10];} TYPE ;TYPE u1;则printf (‘‘%d\n”,sizeof(u1));的输出结果是( )A. 2B. 12C. 14D. 1612. 设char sl[ ]=“string 1”,s2[8], *s3, *s4=“string2”;,则对系统函数strcpy 的错误..调用是( )A. strcpy(s1, “string1”);B. strcpy(s4, “string2”);C. strcpy(“strin g2”,s2);D. strcpy(s3, “string1”);13. 正确的数组定义及初始化的是()A. char a[10]={“string”};B. int a[5]={0,1,2,3,4,5};C. char a={“string”};D. int a[ ]={x,y,z};14. 在循环体中用来强制继续循环的语句是()A. breakB. continueC. exitD. return15. 在C语言中,标准的输入设备stdin是指()A. 软盘B. 硬盘C. 显示器D. 键盘二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

做试题,没答案?上自考365,网校名师为你详细解答!全国2006年1月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

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

1.可以用作C程序标识符的一组是()A.printB.i\amoodb one-halfaBc 3paiC.PxqD.Cppline# powHis.age while2.以下叙述正确的是()A.宏名必须用大写的英文字母表示B.宏定义不仅是符号替换,也可以赋值C.宏替换是在程序编译时完成的,不占用程序运行时间D.引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致3.设char a='\70';则变量a中()A.包含1个字符B.包含2个字符C.包含3个字符D.是非法表示4.设long i=65539;,执行语句printf("%d",i);后的输出结果是()A.-3B.3C.65539D.数据不确定5(F-32)能正确表示成C语言赋值表达式的是()5.设float c,f;,将数学表达式C=9A.c=5*(f-32)/9B.c=5/9(f-32)C.c=5/9*(f-32)D.c=5/(9*(f-32))6.设int i=10;,表达式30-i<=i<=9的值是()A.0B.1C.9D.207.以下不能..看作一条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.设int x=7;,执行语句x=x <<2;后,变量x的值是()A.1B.3C.14D.2810.执行语句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.设char s[6],*ps=s;,则正确的赋值语句是()A.s="12345";B.*s="12345";C.ps="12345";D.*ps="12345";13.设int a[ ]={1,2,3,4,5},*p=a;则数组元素的正确表示是()A.a[2]B.&(a+1)C.a[5]D.&p14.对二维数组的正确定义是()A.int a[ ] [ ]={1,2,3,4,5,6};B.int a[2] [ ]={1,2,3,4,5,6};C.int a[ ] [3]={1,2,3,4,5,6};D.int a[2,3]={1,2,3,4,5,6};15.字符数组s不能..作为字符串使用的是()A.char s[ ]="happy";B.char s[ ]={"happy"};C.char s[6]={'h','a','p','p','y'};D.char s[4]={'h','a','p','p','y'};16.若定义函数:fun(int a,float b){return a+b;}则该函数的数据类型是()A.intB.voidC.floatD.不确定17.设struct st{ int a;float b;}s, *p=&s;则正确的引用是()A.(*).s.aB.(*p).a18.设enum color {red,yellow=2,blue,white,black}r=white;,执行printf("%d",r);后的输出结果是()A.0B.1C.3D.419.以下说法中错误..的是()A.共用型数据中所有成员的首地址都是同一个B.可以用已定义的共用型来定义数组或指针变量的类型C.共用型数据中的成员可以是结构型,但不可以是共用型D.用typedef定义新类型取代原有类型后,原类型仍可有效使用20.设#define L(x) 2*3.14*x则L(x)是()A.函数名B.函数调用C.无参的宏名D.带参的宏名二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

错填、不填均无分。

21.设int a[10];则数组a的首元素是__________________。

22.设int a=0,b=0,c;,则执行c=(a-=b-5),(a=b,b=3);后变量c的值是__________________。

23.设int a=0,b=0,c=2,d=4;,则执行(c=a= =b)||(d=b= =a);后变量d的值是__________________。

24.设int a[ ]={1,2,3,4,5,6,7,8},*s=a;则*(s+1)的值是__________________。

25.设char s[ ]="apple";,则数组s的长度是__________________。

26.被调用函数执行结束时,此函数中定义的__________________类型的变量不被释放。

27.表达式的运算对象可以是常量、函数调用和__________________。

28.设int x;,则将x强制转换为双精度类型应写成__________________。

29.语句if(!k)a=3;中!k与__________________等价。

30.函数调用时,若形参是一个指针变量,而对应的实参是一个数组名,则函数参数的传递方式是__________________传递。

三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列程序,将输出结果写到各题右侧的空白处。

31.main( ){int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};printf("%5d",a[1][0]+b[0][1]);printf("%5d\n",a[0][1]+b[1][0]);}32.int a=10;struct data {int a, b;} s;main ( ){ int c;s.a=20;s.b=30;c=f (s.a+s.b);printf("%d,%d,%d\n", s.a, s.b, c); }f (int b){printf ("%d,%d\n",a, b);return (a+b);}33.#include <stdio. h>fun ( ){ int y=1;static int z=4;z ++; ++ y;return (y*z);}main ( ){ int i;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 ++;else break;}}35.main( ){long f( );printf("%5ld\n",f(5));}long f(int b){if(b= =1| |b==2)return 1;else return f(b-1)+f(b-2);}四、程序填充题(本大题共3小题,每小题6分,共18分)给出下列程序,将横线处缺少的部分补上,使其能正确运行。

36.键入10个整数,统计其中正数(neg)、负数(pos)和零(zero)的个数并将三者输出。

int neg=0,pos=0,zero=0;void sele(int num){if(num>0)neg ++;else if(num<0)pos ++;else ______________ ;/ * 第一空 */}main ( ){int i,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 ( ){int score;scanf ("%d",&score); printf ("%d->",score);if(__________________) / * 第一空 * /switch (___________________) / * 第二空 */{case 9:case 10: printf (" Excellent \ n");break;case 8: printf ("Good \ n");break;case 7: printf ("Middle \ n"); break;case 6: printf ("Pass \ n ");_______________;/* 第三空 */default: printf ("No pass \ n ");}else printf ("Input error! \ n ");}38.键入一个字符串(换行作为结束标志),将该字符串分别写到文本文件(te.dat )和二进制文件(bi.dat )中。

#include<stdio.h>main ( ){_______________;/* 第一空 */char str [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+10N 13121>+++K K 时,输出N 的值。

相关文档
最新文档