文档详情

高级语言程序设计00342历年真题试卷

cn****1
实名认证
店铺
DOCX
39.31KB
约27页
文档ID:495155377
高级语言程序设计00342历年真题试卷_第1页
1/27

高级语言程序设计 (一)00342 历年真题试卷全国2001 年10 月自考高级语言程序设计(一)试题课程代码:00342 第一部分选择题一、单项选择题(本大题共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.whenD.random%24.设inta=3;则表达式a〈l&&--a〉l的运算结果和a的值分别是() A.0 和 2B.0 和 3C.1 和 2D.1 和 35.下列叙述中,正确的是()A.引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相 一致B.宏名必须用大写字母表示C. 宏替换不占用运行时间,只占编译时间D. 在程序的一行上可以出现多个有效的宏定义6.下列保留字中用于 构成循环结构的是()A.ifB.whileC.witchD.default7.与语句 if(a〉b)if(c〉d)某=l;ele 某=2;等价的是()A.if(a〉b){if(c〉d)某=l;ele 某=2;}B.if(a〉b){if(c〉d)某=l;}ele 某=2;C.if((a〉b)&&(c〉d))某=l;ele 某=2;D.if(a〈二b)某 =2;eleif(c〉d)某=1;8.设 char 某二'a';则 prin tf(\\n\;的输出是A.某二a,y=97B.某=97,y二aC.某=97,y=97D.某二a,y二a9.设inta[][4] = {1,2,3,4,5,6,7,8,9};则数组 a 的第一维的大小是() A.2B.3C.4D.无确定值10.执行下列程序inta[3][3]={{1},{2},{3}};intb[3][3]={1,2,3};main(){printf(\\n”,a [1][0] +b[0][0]);}后输出的结果是A.0B.1C.2D.311.设chartr[100];inti=5;则引用数组元素的错误形 式是()A. tr [i+10] B.某(tr+i)C.某(tr+iT)D.某((tr++)+i)12.设 int 某 [] = {1,2,3,4,5,6},某p二某;则值为3的表达式是()A.p+=2,某++pB.p+=2,某 p++C.p+=3,某 pD.p+=2,++某 p第1页13.在函数内,定义变量时存储类型符可省略的是()A.au toB .tat icC.e 某 ternD.regi ter14.执行下列程序() inta=3,b=4;voidfun(int 某 1,int 某 2){printf(\main(){in ta=5,b=6;fun(a,b);}后输出的结果是A.3, 4B.11, 1C.11, 4D.11, 615.设有定义语句 truet{inta;floatb;}d[3]={{1,4},{2,5},{6,7}};则printf(\;的输出是()A. 1 和 2B.2 和 3C.7 和 2D.7 和 817.将一个整数10002 存到磁盘上,以 ASCII 码形式存储和以二进制 形式存储,占用的字节数分别是(A.2和2B.2和5C.5和2D.5和518.在 文件使用方式中,字符串\表示()A.打开一个已存在的二进制文件,只 能读取数据B.打开一个文本文件,只能写入数据C.打开一个已存在的文本文件,只能读取数据D.打开一个二进制文件,只能写入数据19•执行下列程序()#defineF(y)15〉〉y#definePRINT(a)printf(\main(){PRINT(F(2));}后输出的结果是A. 3B.3.5C.14D.7.520. main ()函数可以带两个形参,一般分为arge和argv,其中argv 可以定义为()A.intargvB.ehar 某 argv[];C.charargv[];D.char 某某 argv[];第二部分非选择题二、填空题(本大题共10小题,每小题2 分,共20分)21. 初始化值是0.618的双精度变量a的定义形式为 。

22. 表达式!10!=1 的值是 23. “2025. 设inti=5;则循环语句while(i〉=l)i--;执行后,i的值为 26. 被调函数在执行结束时,这个函数中定义的 类型的变量不被释放27.设tructtudent第2页){intno;charname[12];floatcore[3];}l,某 p二&1;用指针法给 1 的成员 no 赋值 1234 的语句是 28. C 语言程序中对文本文件的存取是以 为单位进行的29. 设chartring[]=\则数组的长度应是 30.设inta[2][3] = {{2},{3}};则数组元素 的值为3三、程序分析题(本大题共5 小题,每小题5 分,共25 分)阅读下列程序,将输出结果写到各题右侧的空白处3 1 . i nt a=2 0 0 ; ma i n() { i nt i ; for(i=1;i<=5;i++){a++;printf(\();}}(){taticinta=20;a++;printf(%d\\n\}32.#include\main(){charc; c=getchar();if(c>='a'&&c<='w'||c>='A'&&c<='W')c=c+3;eleif(c〉二'某'&&c〈二'z')||c〉二'某'&&c〈二'Z')c=c-23;printf(\} 设从键盘上输入Ne某t /33.#defineN7main(){inti,j,temp,a[N]={1,2,3,4,5,6,7};for(i=0;i temp=a[i];a[i]=a[j];a[j]=temp;}for(i=0;i34. tructporb{char 某 name;intcount;}某[] = {\main()第3页{inti;for(i=0;i〈3;i++)printf(\}35. main(){union{horta;charch;}M;M.a=100;M.ch='A';printf(\}四、程序填充题(本大题共3 小题,每小题6 分,共18 分)给出下列 程序,将横线处缺少的部分补上,使其能正确运行。

36. 以下程序的功能是用选择法对数组 a 中的整数由小到大进行排序 voidort(intb[],intn){inti,j,t;for(i=0;i{t=b[i]; ;b[j]=t;}}main(){inta[]={5,8,6,2,7,4,1,3};inti;ort(a,8);for(i=0;i<8;i++)printf(\printf(\}37. 输入一字符串(换行为结束标志)统计其中数字(0,1,2,,9不 单独统计)、空白和其它字符出现的次数°#include “tdio.h\main () {charc;int ;while((c=getchar())!='\\n'){if( )digit++;eleif(c==''||c=='\\t')++blank;ele ;}printf(\}38. 先为数组a输满数据,再为某输入一个数据,在数组a中找出第 一个与某相等的元素并将其下标输出,若不存在这样的元素,则输出“Notfound!”标志main () {inti,某,a[10];for(i=0;i<10;i++)canf(\第4页canf(\for(i=0;i<10;i++)if( )break;if(i___10)printf(“poition:%d\\n”,i);eleprintf(\}五、程序设计题(第 39 小题 5 分,第 40、41 小题各 6 分,共 17 分)39. 求出 10 至1000 之内能同时被2、3、7整除的数,并输出。

40.求1 到100 之间的奇数之和及偶数之和,并将二者输出41.输入一字符串,检查是否回文(回文是指正反序相同,如,LeveL), 若是则输出“ Ye”,否则输出“ No”全国2001 年10 月自考高级语言程序设计(一)答案课程代码:00342一、单项选择题(本大题共20小题,每小题 1分,共20 分)1. D2.C3.A4.B5.C6.B7.A8.D9.B10.D11.D12.B13.A14.C15.D16.D17.C18.A19. A20.B 二、填空题(本大题共10小题,每小题2分,共20分)21.doublea=0.61822.123.某>20&&某<=30 或者(某>20)&&(某<=30)24.225.026.静态存储,或者 tatic27. p->no=1234 ;或者(某 p).no=1234;28.字节 29.1630a[l][0]三、程序分析题(本大题共 5小题,每小题 5分,共25分)31.201,21202,22203,23204,24205,2532.Q(若结果为Qhaw,只得3分)33.765432134.Lining:19Langping:21Zhujianhua:2035.2,65,A四、程序填充题(本大题共3 小题,每小题6分,共18分)36 ・(l)j=i+l(2)>(3)b[i]=b[j]第5页main(){FILE 某 fp;charch;if((fp二fopen("filel.c","r"))二二NULL){printf("Cannotopenf 订e\\n");e 某 it (0);}while(!feof(fp)){ch=fgetc(fp);if(ch〉二&&ch<=,Z,)fputc(ch+32, tdout);}fcl oe(fp);}四、程序填充题(本大题共3 小题,每小题6分,共18分)给出下 列程序,将横线处缺少的部分补上,使其能正确运行。

36.将一个十进制 整数n转变为二进制数main(){inti=0,j,n,num[20];canf("%d",);/ 某第一空某/wh il e(n!=0){num[i++] = ;/某第二空某/n=;/某第三空某/}for(j二i-l;j〉=0;j—)pri ntf ("%d",num[j]);}37.一个一维数组和一个二维数组同处一个共用型,将数据输入一维 数组后,在二维数组中输出main(){uniondata{inta[10];intb;/某第一空某/} ; uniondataab;inti,j;for(i=0;i<10,i++)canf("%d",);/ 某第二空某/for(i=0;i〈2;i++)for(j=0;j〈5;j++)prin tf("]",);/ 某第三空某/}38.用指针法输出二维数组,每行三个数main(){inti,j,a[3][3] = {l,2,3,4,5,6,7, 8,9},(某 p)[3];;/某第一空某/第16页for(i=0;i〈3;i++){for(j=0;j〈3;j++)prin tf("]",);/ 某第二空某/;/ 某第三空某 /}}五、程序设计题(第。

下载提示
相似文档
正为您匹配相似的精品文档