高级语言程序设计(C)-普卷(一)_第1页
高级语言程序设计(C)-普卷(一)_第2页
高级语言程序设计(C)-普卷(一)_第3页
高级语言程序设计(C)-普卷(一)_第4页
高级语言程序设计(C)-普卷(一)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

盐城师范继续教育学院

高级语言程序设计(C)普通用卷

学习方式:业余时间:无限制

考试科目:《高级语言程序设计(C)》(总

分)100分

集中开卷考试

特别提醒:

1、所有答案均须填写在答题卷上,否则无效。

2、每份答卷上均须准确填写专业、身份证号码、

所属学习中心名称、学号、姓名等。

一单选题(共50题,总分值75分)

1.有以下程序

voidf(intv,intw)

{intt;

t=v;v=w;w=t;

)

main()

{intx=l,y=3,z=2;

if(x>y)f(x,y);

elseif(y>z)f(y,z);

elsef(x,z);

printf(〃%d,%d,%d\n〃,x,y,z);

}

执行后输出结果是()。

(1.5分)

A.1,2,3

B.3,1,2

C.1,3,2

D.2,3,1

2.数组名作为参数传递给函数,此时作为实在参数的数

组名被处理为()。(1.5分)

A.该数组的长度

B.该数组的元素个数

C.该数组中各元素的值

D.该数组的首地址

3.有以下程序

main()

{inti=l,j=l,k=2;

if((j++iik++)&&i++)printf("%d,%d,%d\n",ij,k);

)

执行后输出结果是()。(1.5分)

A.1,1,2

B.2,2,1

C.2,2,2

D.2,2,3

4.若有以下说明:

inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a;

则数值为6的表达式是()。

(1.5分)

A.*p+6

B.*(p+6)

C.*p+=5

D.p+5

5.以下不能正确定义二维数组的选项是()o(1.5分)

A.inta[2][2]={{l}z{2}};

B.inta[][2]={l,2,3,4);

C.inta[2][2]={{lU3};

D.inta[2][]={{1,21X3,4)};

6.若有如下说明,则()的叙述是正确的。

structst

{inta;

intb[2];

}a;

(1.5分)

A.结构体变量a与结构体成员a同名,定义是非法的

B.程序只在执行到该定义时才为结构体st分配存储单

C.程序运行时为结构体st分配6个字节存储单元

D.类型名structst可以通过extern关键字提前引用

(即引用在前,说明在后)

7.以下叙述中错误的是()。(1.5分)

A.二进制文件打开后可以先读文件的末尾,而顺序文

件不可以

B.在程序结束时,应当用fclose函数关闭已打开的文

C.在利用fread函数从二进制文件中读数据时,可以用

数组名给数组中所有元素读入数据

D.不可以用FILE定义指向二进制文件的文件指针

8•在C语言中,设a和x都为整型变量,执行赋值表达式

x二(a=3,6*3)后,x的值为()。(1.5分)

A.54

B.3

C.18

D.21

9.设有定义:inta,*pA=&a;以下scanf语句中能正确为

变量a读入数据的是()。(1.5分)

A.scanf(〃%d",pA);

B.scanf("%d〃,A);

C.scanf(〃%d”,&pA);

D.scanf(〃%d〃,*pA);

10.以下枚举类型的定义中正确的是()。(1.5分)

A.enuma={one,two,three};

B.enuma{one=9,two=-l,three};

C.enuma={//one,/,〃two〃,“three"};

D.enuma{〃one〃,"two","three"};

11.若有定义:int*p[3];,则以下叙述中正确的是()o

(1.5分)

A.定义了一个基类型为int的指针变量p,该变量具有三

个指针

B.定义了一个指针数组p,该数组含有三个元素,每个

元素都是基类型为int的指针

C.定义了一个名为*p的整型数组,该数组含有三个int

类型元素

D.定义了一个可指向一维数组的指针变量p,所指一维

数组应具有三个int类型元素

12.下列判断char类型变量Cl是为数字的最简单且正

确的表达式()。(1.5分)

A.'0'<=Cl<=9'

B.(C1>='O,)&&(C1<='9,)

C.(C1>=O)&&(C1<=9)

D.(,0'<=Cl)&&(,9'<=Cl)

13.若有以下程序:

main()

{intk=2,i=2,m;

m=(k+=i*=k);

printf(〃%d,%d\n〃,m,i);}

执行后的输出结果是()。(1.5分)

A.8,6

B.8,3

C.6,4

D.7,4

14.下列关于C语言用户标识符的叙述中正确的是()。

(1.5分)

A.用户标识符中可以出现在下划线和中划线(减号)。

B.用户标识符中不可以出现中划线,但可以出现下划

线。

C.用户标识符中可以出现下划线,但不可以放在用户

标识符的开头。

D.用户标识符中可以出现在下划线和数字,它们都可

以放在用户标识符的开头。

15.C语言中数组下标的下限是()。(1.5分)

A.1

B.0

C.视说明语句而定

D.无固定下限

16.若以下选项中的变量已正确定义,则正确的赋值语

句是()。(1.5分)

A.xl=26.8%3

B.l+2=x2

C.x3=0xl2

D.x4=l+2=3

17.若已定义的函数有返回值,则以关于该函数调用的

叙述中错误的是()。(1.5分)

A.调用可以作为独立的语句存在

B.调用可以作为一个函数的实参

C.调用可以出现在表达式中

D.调用可以作为一个函数的形参

18.函数

AAA(s,t)

char

{while(*t++);

while(*t++=*s++);

}

的功能是()。

(1.5分)

A.求串的长度

B.比较两个串的大小

C.将串s复制到串t中

D.将串s连接到串t中

19.有以下程序

#include

main()

{char*p=〃abcde\Ofghjik\0”;

printf(z/%d\n\strlen(p));

)

程序运行后的输出结果是()。

(1.5分)

A.12

B.15

C.6

D.5

20.有以下程序

Sinclude

main()

{FILE*fp;inti,k=0,n=0;

fp=fopen(/zdl.dat,7,w");

for(i=l;i<4i=fprintf=fp二"”d="">

fclose(fp);

fp=fopen("dl.dat,7,r");

fscanf(fp,〃%d%d〃,&k,&n);

printf(z/%d%d\n\k,n);

fclose(fp);

执行后输出结果是()。

(1.5分)

A.12

B.1230

C.123

D.00

21.若fp是指向某文件的指针,且已读到此文件末尾,

则库函数feof(fp)的返回值是()。(1.5分)

A.EOF

B.0

C.非零值

D.NULL

22.若变量都已正确说明,则以下程序段输出为()。

a=10;b=50;c=30;

if(a>b)a=b;

b=c;c=a;

printf(zza=%db=%dc=%d\n,,,a,b,c);(1.5分)

A.a=10b=50c=10

B.a=10b=30c=10

C.a=50b=30c=10

D.a=50b=30c=50

23.以下正确的描述是()。(1.5分)

A.continue语句的作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句或continue语句的作用相

D.从多层循环嵌套中退出时,只能使用got。语句

24.在C语言中,引用数组元素时,其下标的数据类型

允许是()。(1.5分)

A.整型常量

B.整型表达式

C.整型常量或整型表达式

D.任何类型的表达式

25.a的初值为10,执行表达式语句a+二a-=a*a;后,a

的值为()。(1.5分)

A.-80

B.-180

C.-90

D.-100

26.阅读下面程序,并给出结果()。

main()

unionEXAMPLE{struct{

intx;inty;Jin;

inta,b;

}e;

e.a=l;e,b=2;

e.in.x=e.a*e.b;

e.in.y=e.a+e.b;

printf("%d%d"/e.in.x/e.in.y);

)

(1.5分)

A.38

B.48

C.47

D.25

27.若有如下程序段,其中s、a、b、c均已定义为整型

变量,且a、c均已赋值(c大于0)

s=a;

for(b=l;b<=c;b++)s=s+l;

则与上述程序段功能等价的赋值语句是()。(1.5

分)

A.s=a+b;

B.s=a+c;

C.s=s+c;

D.s=b+c;

28.C语言结构体类型变量在程序执行期间()。(1.5

分)

A.所有成员一直驻留在内存中

B.只有一个成员驻留在内存中

C.部分成员驻留在内存中

D.没有成员驻留在内存中

29.已知i、j、k为int型变量,若从键席输入:1,2,

3〈回车〉,使i的值为1、j的值为2、k的值为3,以下

选项中正确的输入语句是()。(1.5分)

A.scanf(〃%2d%2d%2d〃,&i,&j,&k);

B.scanf(〃%d%d%d〃,&i,&j,&k);

C.scanf(〃%d,%d,%d〃,&i,&j,&k);

D.scanf(〃i=%d,j=%d,k=%d〃,&i,&j,&k);

30.以下叙述中不正确的是()。(1.5分)

A.C语言中的文本文件以ASCII码形式存储数据

B.C语言中对二进制文件的访问速度比文本文件快

C.C语言中,随机读写方式不适用于文本文件

D.C语言中,顺序读写方式不适用于二进制文件

31.在C语言中,逻辑值〃真〃用()表示?(1.5分)

A.true

B.正数

C.非0整数

D.非。的数

32.以下程序的输出结果是用()表示。

main()

{intk=17;

printf("%d,%o,%x\n",k,k,k);

}(1.5分)

A.17,021,0x11

B.17,17,17

C.17,0x11,021

D.17,21,11

33.以下选项中合法的实型常数是()。(1.5分)

A.5E2.0

B.E-3

C..2E1

D.1.3E

34.若有代数表达式(5ae)/(bc),则不正确的C语言表达式

()o(1.5分)

A.a/b/c*e*5

B.5*a*e/b/c

C.5*a*e/b*c

D.a*e/c/b*5

35.以下程序输出的结果是()。

#include<stdio.h>

main()

{inti=0,j=0,a=6;

if((++i>0)||(十十>jO))a十+;

printf(z/i=%d,j=%d,a=%d\n,,,i,j,a);

}(1.5分)

A.i=0,j=0,a=6

B.i=lj=l,a=7

C.i=l,j=0,a=7

D.i=0j=l,a=7

36.执行以下程序段后,变量a,b,c的值为()。

intx=ll,y=10,a,byc;

a=(-x==y++)?-x:++y;

b=x++;c=y;(1.5分)

A.a=10,b=10,c=9

B.a=9,b=9,c=12

C.a=9,b=9,c=ll

D.a=l,b=9,c=ll

37.以下叙述中正确的是()。(1.5分)

A.全局变量的作用域一定比局部变量的作用域范围大

B.静态(static)类别变量的生存期贯穿于整个程序的运

行期间

C.函数的形参都属于全局变量

D.未在定义语句中赋初值的auto变量和static变量的初

值都是随机值

38.若有以下的说明,则对初值中字符言的引用方式为

()O

staticstructst

{charch;doublex;chara[];}

structst

c[2][2]二{{'a',3.5,'be'},{'c',4.5,'de},{*m,,8.6

,'abc,}};

(1.5分)

A.c.ch

B.c[0][0].ch

C.c[l]El].ch

D.a[0]

39.下面对结构数据类型的叙述中,()是错的。(1.5

分)

A.结构变量可以在说明结构类型后定义,也可在说明

结构时定义

B.结构可由若干个成员组成,各成员的数据类型可以

不同

C.定义一个结构类型后,编译程序要为结构的各成员

分配存储空间

D.结构变量的各成员可通过结构变量名和指向结构变

量的指针引用

40.下面程序段的运行结果是()o(注:口表示空格)

z,z,

charc[6]={a7b/c7\07d7\0};

printf("%s”,c);

(1.5分)

A.abc

d

B.'a'b'c'

'd'

C.abcud

D.abc

41.下面的for循环最多可执行()次。

for(x=0;y=0;(y!=99)&&(x<4);x++);(1.5分)

A.4次

B.5次

C.99次

D.0次

42.函数调用可以……,以下错误的是()。(1.5分)

A.出现在执行语句中

B.出现在一个表达式中

C.作为一个函数的实参

D.作为一个函数的形参

43.若程序中定义了以下函数

doublemyadd(doublea,doubleB)

{return(a+B);}

并将其放在调用语句之后,则在调用之前应该对该函数

进行说明,以下选项中错误的说明是()。

(1.5分)

A.doublemyadd(doublea,B);

B.doublemyadd(double,double);

C.doublemyadd(doubleb,doubleA);

D.doublemyadd(doublex,doubley);

44.C语言的编译系统对宏命令是()时候处理的。(1.5

分)

A.在程序运行

B.在程序连接时

C.和源程序其它C语言同时进行编译时

D.对源程序其它成份正式编译之前进行处理的

45.有以下程序

main()

H,,

{char*s[]={"one/"two7three"),*p;

P=s[l];

printf("%c/%s\n"/*(p+l)/s[O]);

)

执行后输出结果是()。

(1.5分)

A.n,two

B.t,one

C.w,one

D.o,two

46.有以下程序

main()

{chars[]="\nl23\\";

printf("%d,%d\n”,strlen(s),sizeof(s));

}

执行后输出结果是()。

(1.5分)

A.赋初值的字符串有错

B.6,7

C.5,6

D.6,6

47.对于用〃r〃方式打开文件下列说法正确的是()。

(1.5分)

A.用〃r〃方式打开的文件只输入不能输出

B.用〃r〃方式打开的文件只能输出,不能输入

C.用〃r〃方式可以打开任何文件

D.以上均不对

48.C语言中对于嵌套if语句规定else总是与()配对?

(1.5分)

A.第一个if

B.其之前最近的if

C.缩进位值相同的if

D.其之前最近的不带else的if语句

49,设有如下程序段,其结果是()。

inta=100,b=100;

for(;a!=b;++a,b++)

printf("—\n〃);(1.5分)

A.输出一

B.输出100行…

C.死循环

D.该for循环一次也不执行

50.在函数调用过程中,如果函数funA调用了函数

funB,函数funB又调用了函数funA,则()。(1.5分)

A.称为函数的直接递归调用

B.称为函数的间接递归调用

C.称为函数的循环调用

D.C语言中不允许这样的递归调用

一单选题(共50题,总分值75分)

1.答案:C

解析过程:

2.答案:D

解析过程:

3.答案:C

解析过程:

4.答案:I)

解析过程:

5.答案:D

解析过程:

6.答案:D

解析过程:

7.答案:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论