中国地质大学题库及答案-计算机高级语言(C)_第1页
中国地质大学题库及答案-计算机高级语言(C)_第2页
中国地质大学题库及答案-计算机高级语言(C)_第3页
中国地质大学题库及答案-计算机高级语言(C)_第4页
中国地质大学题库及答案-计算机高级语言(C)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1.软件与程序的区别是。(4分)

(A)程序价格便宜、软件价格昂贵

(B)程序是用户自己编写的,而软件是由厂家提供的

(C)程序是用高级语言编写的,而软件是由机器语言编写的

(D)软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序只是软件的一

部分

参考答案:D

2.C语言规定,必须用作为主函数名。(4分)

(A):Function

(B):include

(C):main

(D):stdio

参考答案:C

3.在C语言中,下列类型属于构造类型的是0(4分)

(A)整型

(B)字符型

(C)实型

(D)数组类型

参考答案:D

4.在C语言中,下列类型属于构造类型的是。(4分)

(A)整型

(B)字符型

(C)实型

(D)数组类型

参考答案:D

5.在C语言中,下列类型属于构造类型的是<.(4分)

(A)整型

(B)字符型

(C)实型

(D)数组类型

参考答案:D

6.在C语言中,下列类型属于基本类型的是o(4分)

(A)整型、实型、字符型

(B)空类型、枚举型

(C)结构体类型、实型

(D)数组类型、实型

参考答案:A

7.下列类型属于基本类型的是。(4分)

(A)结构体类型和整型

(B)结构体类型、数组、指针、空类型

(C)实型

(D)空类型和枚举类型

参考答案:C

8.在一个C程序中“(4分)

(A)用户标识符中可以出现卜划线和中划线(减号)

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

(C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头

(D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

参考答案:B

9.以下选项中不合法的标识符是o(4分)

(A):print

(B):FOR

(C):&a

(D):_00

参考答案:C

10.以下选项中不属于C语言类型的是o(4分)

(A):signedshortint

(B):unsignedlongint

(C):unsignedint

(D)Jongshort

参考答案:D

11.C语言中的基本数据类型包括o(4分)

(A)整型、实型、逻辑型

(B)整型、实型、字符型

(C)整型、逻辑型、字符型

(D)整型、实型、逻辑型、字符型

参考答案:B

12.以下选项中正确的定义语句是(4分)

(A):doublea;b;

(B):doublea=b=7;

(C):doublea=7,b=7;

(D):double,a,b;

参考答案:C

13.下列常数中,合法的C语言常量是。(4分)

(A)

(B)e-310

(C)DEF

(D)'1234'

参考答案:A

14.下列符号中,可以作为变量名的是。(4分)

(A)+C

(B)*X

(C)_DAY

(D)nextday

参考答案:C

15.已知intj,i=l;执行语句上=7++;后,j的值是。(4分)

(A)1

(B)2

(0-1

(D)-2

参考答案:C

16.字符串"\\\22a,0\n”的长度。(4分)

(A)8

(B)7

(C)6

(D)5

参考答案:C

17.己知:chara='\7G;则变量a中。(4分)

(A)包含1个字符

(B)包含2个字符

(C)包含3个字符

(D)说明非法

参考答案:A

18.不能进行++和--运算的数据类型是。(4分)

(A):指针

(B):double

(C):int

(D):long

参考答案:B

19.已知:floatx=l,y;则:y=++x*++x的结果为。(4分)

(A)y=9

(B)y=6

(C)y=l

(D)表达式是错误的

参考答案:D

20.以下是错误的转义字符。(4分)

(A)'\\'

(B)'\',

(C)'\81'

(D)'\0'

参考答案:C

21.下列可以正确表示字符型常数的是。(4分)

(A)"a"

(B)'\t'

(C)"\n"

(D)297

参考答案:B

22.a、b是整型变量,执行语句scanf(”a=%d,b=%d",&a,&b);使a和b的值分别

为1和2,正确的输入是o(4分)

(A)12

(B)1,2

(C)a=l;b=2;

(D)a=lb=2

参考答案:C

23.下面程序的输出结果是o

mian()

{

intx=2zy=0,z;

x*=3+2;printfC'%dw,x);

x*=y=z=4;printf(''%d",x);

}(4分)

(A)840

(B)1040

(C)10,4

(D)8,4

参考答案:B

24.运行以下程序后,输出o

main()

{

intk=-3;

if(k<=0)printf("****\n")elseprintf("&&&&\n");

}(4分)

(A)****

(B)&&&&

(C)####&&&&

(D)有语法错误不能通过编译

参考答案:D

25.已知在ASCH集中,字母A的序号为65,下面程序的输出结果为。

main()

{

charcl="B;c2=V;

p「intf(''%d,%d\n〃,++cl,--c2);

}(4分)

(A)输出格式不合法,输出错误信息

(B)67,88

(C)66,89

(D)CZX

参考答案:B

1.下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是o(5分)

(A):if(u>s)t=u;t=s;

(B):t=s;if(u>s)t=u;

(C):if(u>s)t=s;elset=u;

(D):t=u;if(u>s)t=s;

参考答案:B

2.C语言中调用printf进行输出时需要注意,在格式控制吊中,格式说明与输出项的个数

必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将;如果格式说

明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。(5分)

(A)不予输出

(B)输出空格

(C)照样输出

(D)输出不定值或0

参考答案:A

3.设inta=2,b=-l,c=2;执行语句if(avb)if(b<0)c=0;elsec+=l;后,变量c

的值是0(5分)

(A)0

(B)1

(C)2

(D)3

参考答案:C

4.以下程序段的输出结果是

intij,m=O.

・•・for"1;jv=15;j+=4)”

(5分)

for(j=3;j<=19;j+=4)m++;

••••printf("%d\n",m);“

(A)12

(B)15

(C)20

(D)25

参考答案:C

5.下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是。(5分)

(A):if(u>s)t=u;t=s;

(B):t=s;if(u>s)t=u;

(C):if(u>s)t=s;elset=u;

(D):t=u;if(u>s)t=s;

参考答案:B

6.在C语言中,多分支选择结构语句为:(5分)

(A):nJ以是任意类型

(B):只能为整型

(C):可以是整型或字符型

(D):可以为整型或实型

参考答案:C

7.以下能对一维数组a进行正确初始化的语句是。(5分)

(A)inta[10]=(0z0z0,0,0);

(B)inta[10]=<};

(C)inta[]={0};

(D)inta[10]={10*l);

参考答案:C

8.不是给数组的第一个元素赋值的语句是o(5分)

(A):inta[2]={l};

(B):inta[2]={l*2};

/Z

(C):inta[2];scanfC'%dza);

(D):a[l]=l;

参考答案:D

9.以下对一维整型数组a的正确说明是。(5分)

(A):inta(10);

(B):intn=10za[n];

(C):intn;scanf(''%d",&n);inta[n];

(D):#defineSIZE10inta[SIZE];

参考答案:D

10.设有charstr[10],下列语句正确的是。(5分)

(A)scanf("%s"z&str);

(B)printf("%c",str);

(C)printf("%s"/str[O]);

(D)printf("%s”,str);

参考答案:D

11.执行语句"for(i=0;i++v3;);"后,变量i的值______。(5分)

(A)2

(B)3

(C)4

(D)5

参考答案:C

12.与语句、'while(!x)"等价的语句是0(5分)

(A)while(x==0)

(B)while(x!=0)

(C)while(x!=l)

(D)while(~x)

参考答案:A

13.在while(x)中的x与下面条件表达式等价的是o(5分)

(A)x==0

(B)x==l

(C)x!=l

(D)x!=0

参考答案:D

14.以下程序的输出结果是:。

main()

{

inti=10zj=12zk=0xl2;

printf(''%d,%d,%d\n〃,i,j,k);

)(5分)

(A)10z12,18

(B)12f12,12

(C)10,12,12

(D)12,12,18

参考答案:A

15.判断下面的循环体执行多少次。

i=0;k=10;while(i=8)i=k--;(5分)

(A)8次

(B)10次

(C)2次

(D)无数次

参考答案:D

16.以下程序的输出结果是o

#include<stdio.h>

voidmain()

{

inti;

for(i=l;i<=5;i++)

{

if(i%2)

printf("*");

else

continue;

printf("#");

}

printf("$\n");

)(5分)

(A)*#*#*#$

(B)#*#*#*$

(C)*#*#$

(D)#*#*$

参考答案;A

17.运行以下程序后,输出

main()

{

intk=-3;

if(k<=0)printf("****\n")elseprintf("&&&&\n");

)(5分)

(A)****

(B)&&&&

(C)####&&&&

(D)有语法错误不能通过编译

参考答案:D

18.下列定义正确的是o(5分)

(A)staticinta[]={l/2/3/4/5)

(B)intb[l]={2z5}

(C)inta(10)

(D)int4e[4]

参考答案:A

19.已知:inta,b:对于下列if语句:if(a=b)printf("AisequaltoB\n");在编译

时,C编译程序。(5分)

(A)能指出该语句有语法错误

(B)不能指出该语句有语法错误

(C)编译该程序时会产生错误

(D)编译该程序时不会产生错误,因为程序没有语法问题

参考答案:B

20.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式

为o(5分)

(A):a<>0

(B):!a

(C):a=0

(D):a!=0

参考答案:D

1.以下说法中正确的是。(4分)

(A)C语言程序总是从第一个定义的函数开始执行。

(B)在C语言程序中,要调用的函数必须在main函数中定义。

(C)C语言程序总是从main函数开始执行。

(D)C语言程序中的main函数必须放在程序的开始部分。

参考答案:C

2.下列各叙述中,正确的叙述项是。(4分)

(A)定义函数时,必须要有形参。

(B)函数中可以没有return语句,也可以有多条return语句。

(C)函数f可以用f(f(x))形式调用,这种调用形式是递归调用。

(D)函数必须有返回值。

参考答案:B

3.下列各叙述中,不正确的叙述项是。(4分)

(A):函数调用时,形参只有在被调用时才被创建(分配存储单兀)。

(B):函数调用时,实参可以是常量、变最或表达式。

(C):定义局部变量时,省略对变量的存储类别定义,则变量是自动型变量。

(D):语句「eturn(a,b);则函数可以返回两个值。

参考答案:D

4.如果在函数的复合语句中定义一个变量,有关该变量作用域正确的是。(4分)

(A)只在该复合语句中有效

(B)在该函数中有效

(C)在本程序中有效

(D)为非法变量

参考答案:A

5.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是:。(4分)

(A)地址传递;

(B)单向值传递;

(C)双向值传递;

(D)由用户指定传递方式

参考答案:B

6.以下关于C语言程序中函数的说法正确的是:o(4分)

(A):函数的定义可以嵌套,但函数的调用不可以嵌套

(B):函数的定义不可以嵌套,但函数的调用可以嵌套

(C):函数的定义和调用均不可以嵌套

(D):函数的定义和点用都可以嵌套

参考答案:B

7.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是。(4分)

(A)float型

(B)int型

(C)long型

(D)double型

参考答案:B

8,若用数组名作为函数调用的实参,传递给形参的是。(4分)

(A)数组的首地址

(B)数组第一个元素的值

(C)数组中全部元素的值

(D)数组元素的个数

参考答案:A

9.以下不正确的说法为“(4分)

(A)在不同函数中可以使用相同名字的变量

(B)形式参数是局部变量

(C)在函数内定义的变量只在本函数范围内有效

(D)在函数内的复合语句中定义的变量在木函数范围内有效

参考答案:D

10.若有定义:intx,*pb:,则以下正确的赋值表达式是o(4分)

(A):pb=&x

(B):pb=x

(C):*pb=&x

(D):*pb=*x

参考答案:A

11.下列语句定义p为指向float型变量d的指针,其中正确的是o(4分)

(A):floatd,*p=d;

(B):float*p=&d,d;

(C):floatd,*p=&d;

(D):floatd,p=d:

参考答案:C

12.变量的指针,其含义是指该变量的。(4分)

(A)值

(B)地址

(。名

(D)一个标志

参考答案:B

13.设有说明int(*ptr)[M];其中ptr是。(4分)

(A)M个指向整型变显的指针

(B)指向M个整型变量的函数指针

(C)一个指向具有M个整型元素的一维数组的指针

(D)具有M个指针元素的一维指针数组,每个元素都只能指向整型最

参考答案:C

14.已有定义intk=2,*ptrl产ptr2;且ptrl和ptr2均已指向同一个变量k,下面不

正确执行的赋值语句是:。(4分)

(A):k=*ptrl+*ptr2;

(B):ptr2=k;

(C):ptrl=ptr2;

(D):k=*ptrl*(*ptr2);

参考答案:B

15.调用strlen(”abcd\0ef\0g“)的返回值为。(4分)

(A)4

(B)5

(C)8

(D)9

参考答案:A

16.在C语言中,引用数组元素时,其数组下标的数据类型允许是o(4分)

(A)整型常量

(B)整型表达式

(C)整型常量或整型表达式

(D)任何类型的表达式

参考答案:C

17.己知int则对a数组元素的正确引用是。(4分)

(A):a[10]

(B):a[3.5]

(C):a(5)

(D):a[10-10]

参考答案:D

18.已知inta[3][4];则对数组元素引用正确的是。(4分)

(A):a[2][4]

(B):a[1.3]

(C):a[l+l][O]

(D):a(2)(l)

参考答案:C

19.下列程序段的运行结果为。

chars[]="ab\Ocd";printf("%s",s):(4分)

(A):abO

(B):ab

(C):abed

(D):abcd

参考答案:B

20.有如下函数调用语句

func(rec1,rcc2+rcc3,(rcc4zrcc5);

该函数调用语句中,含有的实参个数是(4分)

(A)3

(B)4

(C)5

(D)有语法错

参考答案:A

21.以下错误的描述是。

困数调用可以(4分)

(A)出现在执行语句中

(B)出现在一个表达式中

(C)做为一个函数的实参

(D)做为一个函数的形参

参考答案:D

22.以下正确的说法是o

如果在一个函数中的复合语句中定义了一个变最,则该变量(4分)

(A)只在该好合语句中有效

(B)在该函数中有效

(C)在本程序范围内有效

(D)为非法变量

参考答案:A

23.对下面函数f,选出f(f(3))的值是o

intf(intx)

{

staticintk=0;

x+=k-;

returnx:

}(4分)

(A)5

(B)3

(C)2

(D)4

参考答案:C

24.若有以下定义,则对a数组元素的正确引用是o

inta[5],*p=a;(4分)

(A)*&a⑸

(B)a+2

(C)*(p+5)

(D)*(a+2)

参考答案:D

25.若有以下定义,则*(p+5)表示o

inta[6]z*p=a;(4分)

(A):元素a[5]的地址

(B):元素况5]的值

(C):元素a[6]的地址

(D):元素a[6]的值

参考答案:B

1.对于基类型相同的两个指针变最之间,不能进行的运算是。(4分)

(A):<

(B):=

(C):+

(D):-

参考答案:C

2.设intx;,则经过_____后,语句*px=O;可将x值置为0。(4分)

(A):ini*px:

(B):int*px=&x;

(C):float*px;

(D):float*px=&x;

参考答案:B

3.若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,则不能表示a[l]地

址的表达式是o(4分)

(A):p+l

(B):a+1

(C)*a++

(D):++p

参考答案:C

4.已建立一单向链表,指针变量pl指向链表中某一结点,p2指向下一结点,将p2所指

结点从链表中删除并释放的语句为o(4分)

(A):pl=p2;free(p2);

(B):pl->ncxt=p2->ncxt;frcc(p2);

(C):*pl.next=*p2.next;free(p2);

(D):pl=p2->next;free(p2);

参考答案:B

5.已建立一单向链表,指针变量pl指向链表中某一结点,p2指向下一结点;指针变量p

指向新申请结点,将p所指结点插入到链表中pl与p2之间的语句为o(4分)

(A):p->next=p2;pl->next=p;

(B):pl=p;p=p2;

(C):p=p2;pl->next=p;

(D):pl=p;p->next=p2;

参考答案:A

6.f「ead(buf,64,2,fp)的功能是。(4分)

(A):从fp文件流中读出整数64,并存放在buf中;

(B):从fp文件流中读出整数64和2,并存放在buf中;

(C):从fp文件流中读出64个字节的字符,并存放在buf中;

(D):从fp文件流中读出2个64个字节的字符,并存放在buf中;

参考答案:D

7.系统的标准输出文件stdout是指<.(4分)

(A):键盘

(B):显示器

(C):软盘

(D):硬盘

参考答案:B

8,若执行fopen函数时发生错误,则函数的返回值是。(4分)

(A)地址值

(B)0

(C)1

(D)EOF

参考答案:B

9.为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当为o(4分)

(A)"r+"

(B)"w+"

(C)"wb+"

(D)"ab+H

参考答案:A

10.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字

符串应该是o(4分)

(A)"ab+"

(B)"wb+"

(C)"rb+"

(D)"ab"

参考答案:B

11.在C语言中,从计算机内存中将数据写入文件中,称为0(4分)

(A)输入

(B)输出

(C)修改

(D)删除

参考答案:B

12.以下定义语句中,错误的是。(4分)

(A):inta[]={lz2);

(B):char*a[3];

(C):chars[10]="test";

(D):intn=5za[n];

参考答案:D

13.执行以下程序段后y的值为<.

staticinta[]={l,3,5,7,9};

inty,x,*ptr;

y=i;

ptr=&a[l];

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

y*=*(ptr+x);(4分)

(A):105

(B):15

(C):945

(D):无确定值

参考答案:A

14.执行以下程序段后,m的值为。

staticinta[2][3]={l,2,3,4,5,6);

intm产ptr;

ptr=&a[O][O];

m=(*ptr)*(*(ptr+2))*(*(ptr+4));(4分)

(A):15

(B):48

(C):24

(D):无定值

参考答案:A

15.以下程序的功能是。

main()

<

FILE*fp;

charstr[]=''HELLO〃;

fp=fopen(''PRNTw/,);

fpus(strzfp);

fclose(fp);

}(4分)

(A):在屏幕上显示"HELLO”

(B):把''HELLO”存入PRN文件中

(C):在打印机上打印出"HELLO”

(D):以上都不对

参考答案:C

16.若fp是指向某文件的指针,且己读到此文件末尾,则库函数feof(fp)的返回值是

。(4分)

(A)EOF

(B)0

(C)非零值

(D)NULL

参考答案:C

17.若fp为文件指针,且文件已正确打开,i为long型变最,以下程序段的输出结果是

fseek(fp,0,SEEK_END);

i=ftell(fp);

printf("i=%ld\n"zi);(4分)

(A):-1

(B):fp所指文件的长度,以字节为单位

(C):0

(D):2

参考答案:B

18.以下对C语言中联合类型数据的叙述正确的是。(4分)

(A):可以对联合变量名直接赋值

(B):使用联合变量的目的是为了节省内存

(C):对一个联合变量,可以同时引用联合中的不同成员

(D):联合类型定义中不能出现结构类型的成员

参考答案:B

19.若有以下说明和语句:

structworker

{intno;char♦name;}workz♦p=&work;

则以下引用方式不正确的是(4分)

(A):work.no

(B):(*p).no

(C):p->no

(D):work->no

参考答案:D

20.有如下定义:

structdate{intyear,month,day;

structworklist{

charname[20];

charsex;

structdatebirthday;

Jperson;

对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是。(4分)

(A)year=1958

(B)birthday.year=1958

(C)person,birthday.year=1958

(D)person.year=1958

参考答案:C

21.有以下定义涪句:structnode{intn;structnode*next;}x,yz*p=&x,*q

=&y;

则能将y结点链接到x结点之前的语句为o(4分)

(A)x.next=p;

(B)x.next=q;

(C)y.next=p;

(D)y.next=q;

参考答案:C

22.有以下的结构体变量定义语句:

structstudent{intnum;charname[9];}stu;

则下列叙述中错误的是o(4分)

(A):结构体名为student

(B):结构体类型名为stu

(C):num是结构体成员名

(D):struct是C的关键字

参考答案:B

23.以下程序的输出结果是。

#include<stdio.h>

voidmain()

{

structcmplx{intx;inty;}cnum[2]={l,3z2z7};

printf("%d\n"zcnum[O].y/cnum[O].x*cnum[l].x);

}(4分)

(A)0

(B)1

(C)3

(D)6

参考答案:D

24.以下程序的输出结果为。

#include<stdio.h>

voidmain()

{

structnode{intn;structnode*next;}a[4];

inti;

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

{(a+i)->n=i+l;(a+i)->next=a+i+l;J

(a+i)->nexl=d;

printf("%dz%d\n"z(a[l].next)->nza[3].next->n);

}(4分)

(A)1,2

(B)2,1

(C)1,3

(D)3,1

参考答案:D

25.若要利用卜.面的程序片段使指制变量p指向一个存储整型变量的存储单元,则应向空

格处填入以下哪一选项o(4分)

(A)int

(B)int*

(C)(*int)

(D)(int*)

参考答案:D

1.在下面几组数据类型中,全为最常用的基本数据类型的是哪一组:。(2分)

(A)整型实型字符型

(B)整型数组指针

(C)数组结构体共用体

(D)指针逻辑型空类型

参考答案:A

2.C语言中,运算对象必须是整型数的运算符是。(2分)

(A)%

(B)\

(C)%和'

(D)**

参考答案:A

3.C语言中文件的存储方式。(2分)

(A)只能顺序存取

(B)只能随机存取(或直接存取)

(C)可以顺序存取,也可随机存取

(D)只能从文件的开头进行存取

参考答案:C

4.设inta=2,b=・l,c=2;执行语句if(avb)if(b<0)c=0;elsec+=l;后,变量c

的值是。(2分)

(A)0

(B)1

(C)2

(D)3

参考答案:C

5.在C语言中,引用数沮元素时,其数组下标的数据类型允许是。(2分)

(A)整型常量

(B)整型常量或整型表达式

(C)整型表达式

(D)任何类型的表达式

参考答案:B

6.以下程序的运行结果是:o

main()

{

inta=2,i;

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

printf(''%4d〃,f(a));

}

f(inta)

{

intb=0zc=3;

b++;C++;

return(a+b+c);

}(2分)

(A)71013

(B)777

(C)7911

(D)789

参考答案:B

7.程序段如下

intk=0;

while(k++<=2);printf("last=%d\n"zk);

则执行结果是last=_(l)_o(2分)

(A)2

(B)3

(C)4

(D)无结果

参考答案:C

8.已知字母A的ASCH码为65,以下语句段的输出结果是。

charcl='A'zc2='Y';printf("%dz%d\n",cl,c2);(2分)

(A)输出格式非法,输出错误信息

(B)65,90

(C)AZY

(D)65,89

参考答案:D

9.设有两字符串''Beijing"、''China〃分别存放在字符数组strl[10]zstr2[10]+,下面语

句中能把"China"连接到''Beijing〃之后的为:(2分)

(A)strcpy(strl,str2);

(B)strcpy(strl,''China");

(C)strcat(strl,''China")

(D)sircd1("Beijing”,str2);

参考答案:C

10.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是o(2

分)

(A)只写

(B)追加

(C)读或读写

(D)答案B和C都正确

参考答案:C

11.若有定义:int*p[4];则标识符po(2分)

(A)是一个指向整型变量的指针

(B)是一个指针数组名

(C)是一个指针,它指向一个含有四个整型元素的一维数组

(D)说明不合法

参考答案:B

12.以下能对二维数组a进行正确初始化的语句为。(2分)

(A)inta[2][]={4,5});

(B)inta[2][3]={l,2,3,4,5,6,7);

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

(D)inta[][3]=<1,2,3,4,5};

参考答案:D

13.若有说明:inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是。(2分)

(A)i=*p;

(B)*p=*&j;

(C)i=&j;

(D)i=**p;

参考答案:B

14.若二维数组a有m列,贝ij元素前的数组元素个数为:。(2分)

(A)j*m+i

(B)i*m+j

(C)i*m+j-112

(D)i*m+j+l

参考答案:D

15.下列叙述中不正确的是o(2分)

(A)main函数在C程序中必须有唯一一个

(B)C程序的执行从main函数开始,所以main函数必须放在程序最前面

(C)函数可以带参数、也可以不带参数

(D)每个困数执行时,按出数体中语句的先后次序,依次执行每条语句

参考答案:B

16.C语言结构体类型变量在程序执行期间o(2分)

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

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

(C)部分成员驻留在内存中

(D)没有成员驻留在内存中

参考答案:A

17.在C语言程序中,若未在函数定义时说明函数类型,则函数默认的类型为:。(2

分)

(A)void

(B)double

(C)int

(D)char

参考答案:C

18.下面有关for循环的正确描述是o(2分)

(A)for循环只能用于循环次数已经确定的情况

(B)for循环是先执行循环体语句,后判断表达式

(C)在for循环中,不能用break语句跳出循环体

(D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

参考答案:D

19.若有说明语句:charc='\64';则变量C包含:。(2分)

(A)1个字符

(B)2个字符

(C)3个字符

(D)说明不合法,C值不确定

参考答案:A

20.若有说明staticinta口[4]={0,0};则下列叙述不正确的是。(2分)

(A)数组a的每个元素都可以得到初值0

(B)二维数组a的第一维的大小为1

(C)因为对二维数组a的第二维大小的值除以初值个数的商为0,故数组a的行数为

1

(D)只有元素a[0][0]和可得到初值0,其余元素均得不到初值

参考答案:D

填空题

21.c语言本身不提供输入输出语句,其输入和输出操作是由O)来实现的。(1

分)

⑴.参考答案:函数

22.continue语句可以出现在for、while和(2)语句中(1分)

⑴.参考答案:do-while

23.若a、b都是结构体变量,语句a=b;能够执行的条件是一(3)。(1分)

(1).参考答案:两者struct类型相同

24.在执行switch结构时,能够立即退出该结构的语句是(4)o(1分)

(1).参考答案:break

25.在C语言中,当定义一个函数的类型为void时,说明执行该函数(5)。(1

分)

⑴.参考答案:不返何值

26.可以将被调函数中获得的值返回给主调函数的语句是一(6)。(1分)

(1).参考答案:return

27.c语言程序是由(7)构成的,但有且只能有一个(8)。(2分)

⑴.参考答案:函数

⑵.参考答案:主函数

28.在scanf函数调用语句中,可以在格式字符和%号之间加一星号,它的作用是(9)

—。(1分)

⑴.参考答案:跳过对应的输入数据

29.循环功能最强的循环语句是(10)o(1分)

⑴.参考答案:for语句

30.若有定义:int&[3][4]={{1,2},{0},{4,6,8,10}};则初始化后现1][2]的值为_

(11),得到的值为(12)o(2分)

⑴.参考答案:0

⑵.参考答案:6

31.执行语句Drintf(''%d〃,NULL):后的输出结果是(13)。(1分)

⑴.参考答案:0

32.C语言允许定义由不同数据项组合的数据类型,称为(14)、(15)

和(16)都是C语言的构造类型。(3分)

⑴.参考答案:结构体

⑵.参考答案:数组

⑶.参考答案:结构体

33.计算机程序设计语言一般可以分为(17)、(18)和(19)(3

分)

⑴.参考答案:机器语言

⑵.参考答案:汇编语言

⑶.参考答案:高级语言

34.C语言数组的下标总是从(20)开始,不可以为负数。(1分)

⑴.参考答案:()

判断题

35.在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。

(1分)

正确错误

参考答案:错误

解题思路:

36.数组名也可作为函数参数使用,此时数组名代表数组的起始地址。(1分)

正确错误

参考答案:正确

解题思路:

37.C程序中函数不可以嵌套定义但可以嵌套调用。(1分)

正确错误

参考答案:正确

解题思路:

38.对链表进行插入和删除操作时,不必移动结点。(1分)

正确错误

参考答案:正确

解题思路:

39.ANCI(:规定了标准输入输出函数库,用fseek。函数来实现打开文件。(1分)

正确错误

参考答案:错误

解题思路:

40.在函数内的复合语句中定义的变量在本函数范围内有效。(1分)

正确错误

参考答案:错误

解题思路:

41.for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。(1分)

正确错误

参考答案:错误

解题思路:

42.字符串可以用来给数组赋值,在C程序的执行语句中可以直接用字符串给数组名(1

分)

正确错误

参考答案:错误

解题思路:

43.C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。(1分)

正确错误

参考答案:正确

解题思路:

44.声明一个结构体类型的一般形式为struct结构体名{成员表列}。(1分)

正确错误

参考答案:正确

解题思路:

阅读理解

45.下面程序的功能是使一个一维数组和一个二维数组同处一个共用型,将数据输入一维

数组后,在二维数组中输出。请填空使程序完整、正确。

1#include<stdio.h>4J

2voidmainO^

3{•uniondata/

4inta[10];^

5int.(l)j.

wwwv

6・…上

7uniondataab>

8-inti,j>

WVS/VS/V

9--for(i=0;i<10;i++X

10scanf("%d”,&ab._(2)).

11for(i=0;i<2;i++)^

12for(j=0;j<5;j++)^

(6分)

13……师世("%昉刖0]5);

14--卜

l:b[2][5];2:a[i],

参考答案:

解题思路:

46.下面函数fun的返叵值为一个整数m的所有因子之和。请填空使程序完整、正确。

iintfunUDJ-

2{s/iwnwwts=lj“

3--for(i=l;i<=m/2;i++)^

(6分)

4if(_(2))s=s+ij

5-••returns;^

63

l:intm;2:m%i==0*

参考答案:

解题思路:

47.下面程序执行后的输出结果是261,请填空使程序完整、正确。

1#include<stdio.h>

2voidmain。.

3{inta=177;^(3分)

4.Ml世("_(1),a);・

5}“

1:%。.

参考答案:

解题思路:

48.下面程序执行后的输出结果是16.00,请填空使程序完整、正确。

1#include<stdio.h>^

2voidmainO^

3{inta=9zb=2;p

4•floatx=_(lLy=l.Lz>(3分)

5•■z=a/2+b*x/y+l/2;p

6••printf(“%5.2f\n",z),

7},

1:66

参考答案:

解题思路:

49.下面程序执行后的输出结果是a=21,b=55,请填空使程序完整、正确。

[L#include<stdio.h><

IVWWWSWWWVW

2voidmainQp

3{inta=21,b=55;p©分)

4…一⑴:

5卜

1:printf(ua=%db=%d,\ab)

考否合案:z/

解题思路:

50.以下程序输入一个学生的成绩(在0-100分之间,超出此范围显示错误)进行五级评

分并显示。请填空使程序完整、正确。

1#include<stdio.h“

2voidmainO^

3{intscores

4•seanf("%d”,&score);printf(“%d->”,score);.

5-牝⑴)

6switch(_(2)_){“

7case10>

8case9:printf(“优秀\n");break»

9case8:printf(“良好\n”);break”

10case7:printf(“一般\n");break.

11case6:printf(“及格\n")二⑶;

12default:printf("不及格\n");〃

g……卜

14••elseprintf("输入错误\n");(9分)

15••卜

l:score>=0&&score<=100;2:score/10;3:break

参考答案:

1.在说明•个结构体变量时系统分配给它的存储空间是o(2分)

(A):该结构体中第一个成员所需存储空间

(B):该结构体中最后一个成员所需存储空间

(C):该结构体中占用最大存储空间的成员所需存储空间

(D):该结构体中所有成员所需存储空间的总和

参考答案:D

2.下列说法正确的是o(2分)

(A):在C语言中,可以使用动态内存分配技术定义元素个数可变的数组

(B):在C语言中,数组元素的个数可以不确定,允许随机变动

(C):在C语言中,数组元素的数据类型可以不一致

(D):在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素

的个数

参考答案:D

3.系统的标准输入文件是指。(2分)

(A):键盘

(B):显示器

(C):硬盘

(D):软盘

参考答案:A

若有下列说明和语句:则对口数组元素的正确引

4.inta[4][5]z(*p)[5];p=a;

用是o(2分)

(A):P+1

(B):*(p+3)

(C):*(p+l)+3

(D):*(*p+2)

参考答案:B

5.以下能对二维数组a进行正确说明和初始化的语句是:o(2分)

(A):inta()(3)={(1,0,1),(2,4,5)};

(B):inta[2][]={{3,2,1},{5,6,7}};

(C):inta[][3]={{3,2,1},{5,6,7}};

(D):inta(2)()={(1,0,1),(2,4,5)};

参考答案:C

6.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总

是从开始执行。(2分)

(A):过程

(B):主函数

(C):函数

(D)include

参考答案:B

7.以下叙述中正确的是。(2分)

(A)C程序中的注释只能出现在程序的开始位置和语句的后面

(B)C程序书写格式严格,要求一行内只能写一个语句

(C)C程序书与格式自由,一个语句可以写在多行上

(D)用C语言编写的程序只能放在一个程序文件中

参考答案:C

8.以下不能对二维数组a进行正确初始化的语句是o(2分)

(A):inta[2][3]=0,1;

(B):inta[][3]={{lz2}z{0}};

(C):inta[2K3—{3,4},{5,6}};

(D):inta[][3]={l,2,3,4,5,6};

参考答案:A

9.下列说法正确的是(2分)

(A):main函数必须放在C程序的开头

(B):main函数必须放在C程序的最后

(C):main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行

(D):main函数可以放在C程序的中间部分,但在执行C程序时是从main的数

开始的

参考答案:D

10.当已存在一个abc.txt文件时,执行函数fopen(vabc.txtz;''「+〃)的功能是

_。(2分)

(A)打开abc.txt文件,清除原有的内容

(B)打开abc.txt文件,只能写入新的内容

(C)打开abc.txt文件,只能读取原有内容

(D)打开abc.txt文件,可以读取和写入新的内容

参考答案:D

11.以下叙述中不正确的是o(2分)

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

(B):C语言中对二进制位的访问速度比文本文件快

(C):C语言中,随机读写方式不使用于文本文件

(D):C语言中,顺序读写方式不使用于二进制文件

参考答案:C

12.下列程序的执行结果是

#include<stdio.h>

#definesum10+20

main()

{

intb=0zc=0;

b=5;

c=sum*b;

pnntf("%d",c);

}(2分)

(A):100

(B):110

(C):70

(D):150

参考答案:B

13.C语言程序的基本单位是o(2分)

(A):函数

(B):过程

(C):子程序

(D):子例程

参考答案:A

14.若有一些定义和语句

#include<stdio.h>

inta=4,b=3,*p,*q,*w;

p=&a;q=&b;w=q;q=NULL;

则以下选项中错误的语句是(2分)

(A):*q=0;

(B):w=p;

(C):*p=&a;

(D):*p=*w;

参考答案:C

15.是非法的C语言转义字符。(2分)

(A):*\b'

(B):'\0xf'

(C):'V

(D):'\037'

参考答案:B

16.设有以下说明语句

structstu

{inta;floatb;}stutype;(2分)

(A):struct是结构体类型的关健字

(B):structstu是用户定义的结构体类型

(C):stutype是用户定义的结构体类型名

(D):a和b都是结肉体成员名

参考答案:C

17.有以下程序

main()

{

chara,b,c,*d;

a='\';b='\xbc';

c='\Oxab';d="\0127";

printf("%c%c%c%c\n"/azbzcz*d);

编译时出现错误,以下叙述中正确的是(2分)

(A):程序中只有a=";语句不正确。

(B):b='\xbc';语句不正确。

(C):d="\0127”;语句不正确。

(D):a=";和c='\Oxab';语句都不正确。

参考答案:D

填空题

18.己知inta「l=<0,L2,3,4,5);它的最大下标是一(1)。(1分)

⑴.参考答案:5

19.在switch语句中出现的break语句的功能是(2)。(1分)

(0.参考答案:退出switch语句

20.函数fQets(str,

温馨提示

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

评论

0/150

提交评论