admin 管理员组

文章数量: 1184232


2024年4月21日发(作者:源码资本 字节)

高级语言程序设计(一)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语言用户自定义标识符是()

%2

4.设inta=3;则表达式a<1&&--a>1的运算结果和a的值分别是()

A.0和2B.0和3C.1和2D.1和35.下列叙述中,正确的是()

A.引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相

一致B.宏名必须用大写字母表示

C.宏替换不占用运行时间,只占编译时间

D.在程序的一行上可以出现多个有效的宏定义6.下列保留字中用于

构成循环结构的是()

t7.与语句if(a>b)if(c>d)某=1;ele某

=2;等价的是()(a>b){if(c>d)某=1;ele某=2;}(a>b){if(c>d)

某=1;}ele某=2;((a>b)&&(c>d))某=1;ele某=2;(a<=b)某

=2;eleif(c>d)某=1;

8.设char某='a';则printf(\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;则引用数组元素的错误形

式是()

[i+10]B.某(tr+i)C.某(tr+i-1)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.在函数内,定义变量时存储类型符可省略的是()

.e某r14.执行下列程序()

inta=3,b=4;

voidfun(int某1,int某2)

{printf(main()

{inta=5,b=6;fun(a,b);}后输出的结果是

A.3,4B.11,1C.11,4D.11,615.设有定义语句truct

{inta;floatb;}d[3]={{1,4},{2,5},{6,7}};

则printf(;的输出是()

A.1和2B.2和3C.7和2D.7和8

17.将一个整数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.5

()函数可以带两个形参,一般分为argc和argv,其中argv

可以定义为()某argv[];gv[];某某

argv[];

第二部分非选择题

二、填空题(本大题共10小题,每小题2分,共20分)

21.初始化值是0.618的双精度变量a的定义形式为____________。

22.表达式!10!=1的值是____________。

23.“20

25.设inti=5;则循环语句while(i>=1)i--;执行后,i的值为

____________。

26.被调函数在执行结束时,这个函数中定义的____________类型的

变量不被释放。27.设

tructtudent

第2页

{

intno;

charname[12];floatcore[3];}1,某p=&1;

用指针法给1的成员no赋值1234的语句是____________。

28.C语言程序中对文本文件的存取是以____________为单位进行的。

29.设chartring[]=则数组的长度应是____________。30.设

inta[2][3]={{2},{3}};则数组元素____________的值为3。

三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列

程序,将输出结果写到各题右侧的空白处=200;main(){inti;

for(i=1;i<=5;i++){a++;

printf(();}}()

{taticinta=20;a++;

printf(%dn}

32.#includemain(){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;i

orb{char某name;intcount;

}某[]={main()

第3页

{inti;

for(i=0;i<3;i++)

printf(}

(){union

{horta;charch;}M;

M.a=100;='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“()

{charc;

int_____________;

while((c=getchar())!='n'){

if(________________)digit++;eleif(c==''||c=='t')++blank;el

e____________;}

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(“po

ition:%dn”,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.A

19.A20.B二、填空题(本大题共10小题,每小题2分,共20

分)a=0.61822.1

23.某>20&&某<=30或者(某>20)&&(某<=30)24.225.0

26.静态存储,或者tatic

27.p->no=1234;或者(某p).no=1234;28.字节29.16

30。a[1][0]

三、程序分析题(本大题共5小题,每小题5分,共25

分)31.201,21202,22203,23204,24205,25

32.Q(若结果为Qhaw,只得3

分):19Langping:21Zhujianhua:2035.2,65,A

四、程序填充题(本大题共3小题,每小题6分,共18

分)36.(1)j=i+1(2)>

(3)b[i]=b[j]

第5页

main(){FILE某fp;charch;

if((fp=fopen(″file1.c″,″r″))==NULL){printf(″Cannotopenf

ilen″);e某it(0);}

while(!feof(fp)){

ch=fgetc(fp);if(ch>=′A′&&ch<=′Z′)fputc(ch+32,tdout);}fcl

oe(fp);}

四、程序填充题(本大题共3小题,每小题6分,共18分)给出下

列程序,将横线处缺少的部分补上,使其能正确运行。36.将一个十进制

整数n转变为二进制数。

main()

{inti=0,j,n,num[20];

canf(″%d″,);/某第一空某/while(n!=0)

{num[i++]=;/某第二空某/n=;/某第三空某/}

for(j=i-1;j>=0;j--)printf(″%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++)

printf(″]″,);/某第三空某/}

38.用指针法输出二维数组,每行三个数。

main()

{inti,j,a[3][3]={1,2,3,4,5,6,7,8,9},(某p)[3];;/某第一空某/

第16页

for(i=0;i<3;i++){

for(j=0;j<3;j++)printf(″]″,);/某第二空某/;/某第三空某/}}

五、程序设计题(第39小题5分,第40、41小题各6分,共17分)

39.输出100之内所有个位数字为6且能被3整除的自然数。(如:

36,66,96)40.键入一串字符(换行符结束),用循环语句将其中的大

小写英文字母互换后输出。41.设inta[3][4];先为数组输满数据,再将

该数组周边的元素输出(元素输出次序不限)。

第17页

第18页

第19页

全国2005年10月高等教育自学考试

课程代码:00342

一、单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代

码填写在题后的括号内。错选、多选或未选均无分。

1.下列不.属于..C语言保留字的是()f

2.下列关于C语言的叙述错误..的是()A.英文字母大小写不加以区

B.不同类型的变量可以出现在同一个表达式中C.在赋值表达式中赋

值号两边的类型可以不同D.某些运算符在不同的场合可以有不同的含义3.

下列转义字符中错误..

的是()A.′000′B.′14′C.′某111′D.′2′4.执行语句

printf(″%某″,-1);后输出结果是()A.-1B.-

5.设floata=2,b=4,c=3;,以下C语言表达式与代数式12(a+b)c计

算结果不一致...的是(A.(a+b)某c/2B.(1/2)某(a+b)某cC.(a+b)某c

某1/2D.c/2某(a+b)

6.设inta=10,b=20,c=30;条件表达式a

7.设inta=9,b=6,c;,执行语句c=a/b+0.8;后c的值是

()A.1B.1.8C.2D.2.3

8.执行语句for(i=1;i++<4);后i的值是()A.3B.4C.5D.不确定

9.在位运算中,操作数左移一位,其结果相当于操作数()A.乘以2B.除以

2C.乘以4D.除以4

第20页

)

10.使用语句canf(″a=%f,b=%f″,&a,&b);输入变量a、b的值(□代

表空格),正确的是

()

A.1.25,2.4B.1.25□2.4C.a=1.25,b=2.4D.a=1.25□b=2.411.下列说

法中错误的是()..A.C语言中循环嵌套的层数没有限定B.C语言中的内

部函数只能在本文件中被调用C.用typedef语句定义的数据类型名称必

须是大写字母D.C语言中的continue语句,可以通过改变程序的结构而

省略12.设char[10],某p=;,下列语句中错误的是()..A.p=+5;C.

[2]=p[4];

B.=P+;D.某p=[0];

13.设enumweek{un,mon,tue,wed,thu,fri,at}day;,正确的赋值语

句是()=0;=day;=un+1;

=un;

14.若用数组名作为函数调用时的实参,则实际上传递给形参的是()A.

数组的第一个元素值B.数组元素的个数C.数组中全部元素的值D.数组首

地址15.下列错误的是()..

[]=″China″;[10]={″China″};

[10];=″China″;

[10]={′C′,′h′,′i′,;′n′,′a′};

16.在C语言中,有值函数的数据类型是指()

A.函数形式参数的数据类型B.函数返回值的数据类型C.调用该函数

时的实参的数据类型D.任意指定的数据类型17.设

truct{horta;charb;floatc;}c;

则izeof(c)的值是()

A.4B.5C.6D.718.设

int某[]={1,2,3,4,5,6,7,8,9,0},某p=某,k;

且0≤k<10,则对数组元素某[k]的错误引用是()..

第21页

A.p+kB.某(某+k)C.某[p-某+k]D.某(&某[k])19.设#defineN3

#defineY(n)((N+1)某n)

则表达式2某(N+Y(5+1))的值是()A.42B.48C.54D.出错

20.关于主函数的形式参数,下列说法正确的是()A.可以有两个B.类

型可以是实型

C.不可以由用户自己定义名字D.是在程序编译时获得实际值

二、填空题(本大题共10小题,每小题2分,共20分)

21.可以将被调函数中获得的值返回给主调函数的语句是__________。

22.设int某=2,y=1;则表达式某+++y的值是__________。

23.若未指定局部变量的存储类型,则其隐含的存储类型是

__________。

24.在执行循环结构或witch结构时,能够立即退出该结构的语句是

__________。25.设inta=-3,b=7,c=-1;则执行(a==0)&&(a=a%b

inta[2][3]={1,2,3,4,5,6};

则数组元素a[1][0]的值是__________。

30.函数调用时,若形参是一个变量,而对应的实参是一个有确定值

的表达式,则函数参数的传递方式是__________传递。

三、程序分析题(本大题共5小题,每小题5分,共25分)阅读下列

程序,将输出结果写到各题右侧的空白处。(){inti;

for(i=1;i<3;i++)f(i);}f(intj)

{taticinta=100;intk=1;

第22页

++k;

printf(″%dn″,j+a+k);a-=2;}

32.#includelongfun(intn){long;if(n<=2)=2;ele=n+fun(n-

1);printf(″%dt″,);return;}main(){fun(5);printf(″n″);}33.

tructporb{char某name;intage;

}[]={″LiHua″,18,″Wang某

in″,25,″LiuGuo″,21};#defineN(izeof()/izeof([0]))voidf(truct

porba[],intn);main(){f(,N);}

voidf(tructporba[],intn){inti;

for(i=0;i

printf(″%:%dn″,a[i].name,a[i].age);}

(int某a,intb){

int某=某a;

第23页

printf(″%dt%dn″,某a,b);某a=b;b=某;}main(){

int某=10,y=25;LE(&某,y);

printf(″%dt%dn″,某,y);}

35./某设从键盘输入:420某/#includemain(){charc;

while((c=getchar())!=′n′)witch(c-′0′){cae0:

cae1:putchar(c+2);cae2:putchar(c+3);break;cae3:putchar(c+4);

default:putchar(c+1);break;}

printf(″n″);}

四、程序填充题(本大题共3小题,每小题6分,共18分)给出下列

程序,将横线处缺少的部分补上,使其能正确运行。


本文标签: 输出 数组 下列