C语言程序设计形成性考核册参考答案doc.docx

上传人:b****6 文档编号:7691982 上传时间:2023-05-11 格式:DOCX 页数:31 大小:220.86KB
下载 相关 举报
C语言程序设计形成性考核册参考答案doc.docx_第1页
第1页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第2页
第2页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第3页
第3页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第4页
第4页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第5页
第5页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第6页
第6页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第7页
第7页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第8页
第8页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第9页
第9页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第10页
第10页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第11页
第11页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第12页
第12页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第13页
第13页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第14页
第14页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第15页
第15页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第16页
第16页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第17页
第17页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第18页
第18页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第19页
第19页 / 共31页
C语言程序设计形成性考核册参考答案doc.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计形成性考核册参考答案doc.docx

《C语言程序设计形成性考核册参考答案doc.docx》由会员分享,可在线阅读,更多相关《C语言程序设计形成性考核册参考答案doc.docx(31页珍藏版)》请在冰点文库上搜索。

C语言程序设计形成性考核册参考答案doc.docx

C语言程序设计形成性考核册参考答案doc

一、选择题

1・在每个C语言程序中都必须包含有这样一个函数,该函数的函数名

为(A)。

A.mainB・MAINC・name

D・funtion

2.C语言原程序文件的缺省扩展名为

(A)o

A.cppB・exeC・objD

・c

3.由C语言目标文件连接而成的可执行的缺省扩展名为

(B)o

A.cppB・exeC・objD

・c

4.程序运行中需要从键盘输入多于一个数据时,各数据之间应使

用(D)符号作为分隔符。

A.空格或逗号B.逗号或回车

c.回车或分号

D・空

格或回车

5.每个C语言程序的编译错误分为

(B)类。

A.IB.2C.3D.4

6.设x和y均为逻辑值,则x&&y

为真的条件是(A)

O

A.它们均为真B•其中一个为真

C•它们均为假

D.其

中一个为假

7.设有语句"inta=12;a+=a*a;”,

则执行结束后,a

的值为

(C)o

A.12B.144C.156D

.288

8.x>0&&x<=10的相反表示式为(A)

O

A.

x<=0IIX>10B

・x<=0&&x>10

C・

x<=0IIx<=10

D.

x>0&&x>10

9.

字符串”a+b=12n”

的长度为(B)。

A.

6B・7C・8

D・9

10.

在下列符号常量定义中

0错误的定义语句格式为

(C)0

A.

constMl=10;B

constintM2=20;

C

・constM310

D.

constcharmark='

3,

J

11.

带有随机函数的表示式

rand()%20的值在(C)

区间内,

A.

1〜19B・1〜20

C

・0〜19D・

0〜20

12.当处理特定问题时的循环次数已知时

一般米用(A)循环来

解决。

13.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(B)语句。

A.forB・ifC・doD・while

14.for语句能够被改写为(D)语句。

A.复合B・ifC・switchD・while

15•下面循环语句执行结束后输出的i值为(B)。

for(inti=0;in/2){cout«i«endl;break;}

A.n/2B・n/2+1C・n/2・lD・n-1

16.在下面循环w语句中内层循环体S语句的执行次数为(D)。

for(inti=O;i

fbr(intj=i;j

A.n2B・(n+l)/2C・n(n-l)/2D・n(n+l)/2

17.在下面的do循环语句中,其循环体被执行的次数为(A)。

inti=0;doi++;while(i*i<10);

A.4B・3C・5D・2

1.在下面的一维数组定义中,(C)语句有语法错误。

A.inta[]={l,2,3};B

・inta[10]={0};C

・intaQ;

D.inta[5];n

2.在下面的二维数组定义中

(C)语句是正确的。

A.inta[5][];

B・inta[][5];

C・int

aD[3]={{l,3,5},{2}};

D

・inta[](10)

3.假定一

个二维

数组的定义语

句为”int

a[3][4]={{3,4},{2,8,6}};”,则元素a[l][2]的值为(C)。

A.2B・4C・6D・8

4.假定一个二维数组的定义语句为”inta[3][4]={{3,4},{2,8,6}};J则元素a[2][l]的值为(A)。

A.0B・4C・8D・6

5.将两个字符串连接起来组成一个字符串时,选用(C)函数。

A.strlen()B・strcap()C・strcat()D・strcmp()

1.在下面的(C)函数声明语句存在语法错误。

A.AA(inta,intb);B・AA(int,int)C・AA(inta;intb)

D-AA(inta,int)

2・在下面的(C)不能作为函数的返回类型。

A.voidB・intC・newD・long

3.

下面正确的函数原型语句是(B)。

•voidFunction(int);

A-intFunction(voida);B

4.函数调用func(expl,exp2),exp3*exp4-exp5)中所含实参的个

数为(B)个。

A・1B・2C・4D・5

5.下面的标识符中,(C)是文件级作用域。

A.函数形参B•语句标号C・外部静态类标识符D・自

动类标识符

6.下面的标识符中,(B)具有全局级作用域。

A.函数形参B.全局变量C.内部静态类标识符D.自

动变量符

7.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大(C)字节。

A.1B・2C・4D・8

8.假定a为一个字符数组名,则珂8]的地址比该数组的首地址大

(B)个字节。

A.4B・8C・16D・32

9.假定a为一个数组名,则下面的(B)表示有错误。

A.a[i]B.*a++C・*aD・*(a+l)

10.用calloc函数创立具有10个整型元素的一维数组的正确语句

是(C)。

 

(B)。

*p=m;

特别版1]变量p的正确语句为(B)。

 

(C)o

A.pb=b;B.pb=&b[O];C.pb=b+2;D.pb=b[5];

要释放P

•delete

D・free(p);

price;};structBOOK*book;,则彳、正确的语句为(A)。

资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。

15.假定指针变量p定义为”int*p=newint(lOO);”

所指向的动态内存,应使用语句(D)。

A.delete[p];B・delete*p;C・deleteD

□p;

16.假定指针变量p定义为,,int*p=calloc(30,sizeof(int));

要释放p所指向的动态内存、应使用语句(D)。

 

*x=&book;

D・structBOOK

C・structBOOKx=calloc(BOOK);

*x=BOOK;

A.

eofB・Eof

C

・EOF

D

・feof

4.

C语言中系统函数

fbpen()

是(D)

一个数据文件的函数。

A.

读取B・写入

C

・关闭

D

・打开

5.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)o

A.gets()B.fgets()C.getc()D.fgetc()

6.向一个二进制文件写入信息的函数fwrite()带有(D)参

数。

A.1B.2C.3D.4

二、填空题

1.C语言中的每条简单语句以一—;作为结束符。

2.C语言中的每条复合语句以___}作为结束符。

3.在C语言程序的每个程序行后面或单独一行的开始使用注释的

标记符为―一//_―o

4.单行或多行注释的结束标记符为__*/o

5.在一个C程序文件中,若要包含另外一个头文件或程序文件,

则应使用以―#include标识符开始的预处理命令。

6.在#include命令中所包含的头文件,能够是系统定义的头文件,

也能够是__用户___定义的头文件。

7.一个函数定义由__函数头和函数体两部分组成。

8・用于输出表示式的标准输岀函数是_printf()。

9.当不需要函数返回任何值时,则应使用__void标识符定

义函数类型。

10.执行”printf(”%d-%d=%d^,43,18,43-18);”语句后得到的

输出结果为—43-18=25。

11.每个C程序文件在编译时可能出现有警告性错误,其对应的标

识符为―warning。

12.每个C程序文件在编译时可能出现有致命性错误,其对应的标

识符为―error。

13.十进制数25表示成符合C语言规则的十六进制数为

―0x19―o

14.在C语言中,转义字符序列___\n___表示一个换行符。

15.执行”printf(”%c”,'F'-2);”语句后得到的输出结果为__D―o

16・已矢口,A'〜,Z'的ASCD码为65-90,当执行”intx='C'+5;”语句所x的值为___72___.

17.假定一个枚举类型的定义为”enumRB{ab,ac=3,ad,ae}x=ad;”,贝【Jx的值为4・

18.char类型的大小为个字节。

19.int类型的大小为__4__个字节。

20・float类型的大小为―4―个字节。

21.十进制数28类型为___int___o

22.十进制数3.26类型为double。

23.若需要定义一个符号常量,而且使C语言能够进行类型检查,则应

在定义语句的开始使用保留字const___o

24.使用const语句定义一个符号常量时,则必须对它同时进行__定义类型和赋初值__。

25-执行”intx=45,y=13;printf(”%d”,x%y);”语句序列后得

到的输出结果为6―o

26.假定x=5,则表示式2+X++的值为

27.表示式(float)25/4的值为___6.25___。

28.表示式(int)14.6%5的值为___4___。

29.表示式x=x+l表示成增量表示式为―x++o

30.增量表示式++y表示成赋值表示式为y+=l__o

31.关系表示式(x!

=0)的等价表示式为xo

32.假定不允许使用逻辑非操作符,则关系表示式x+y>5的相反表

示式为x+y<=5―o

33.假定不允许使用逻辑非操作符,则逻辑表示式a>bIIb==5的

相反表示式为___a<=b&&(b>5llb<5)o

34.若x=5,y=10,则x>y逻辑值为___false___。

35.若x=5,y=10,则xv=y逻辑值为true。

36.假定x=5,则执行”a=(x?

10:

20);”语句后a的值为。

37.执行"typedefintDataType;"语句后,在使用int定义整型变量的地方都能够使用___DataType___来定义整型变量。

38.在switch语句中,每个语句标号所含保留字case后面的表示

式必须是__整型__。

39.作为语句标号使用的C保留字case和default只能用于

―switch―语句的定义体中。

40.在switch语句时,在进行作为条件的表示式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/

不停止)___不停止―执行。

41•若do循环的”尾”为”while(++i<10)”,而且i的初值为0,同时在循环体不会修改i的值,由循环体将被重复执行_」0___次后正常结束。

42.当在程序执行到___break___语句时,将结束本层循环语句或switch语句的执行。

43.在程序中执行到―return__语句时,将结束所在函数的执行过程,返回到调用该函数的位置。

44.在程序执行完__主(main)__函数调用后,将结束整个程序的执行过程,返回到操作系统或C语句集成开发环境界面窗口。

1.假定一维数组的定义为”char*a[8];”,则该数组所含元素

的个数为8o

2.假定一维数组的定义为”char*a[8];”,则该数组所占存储

空间的字节数为___32o

3.假定二维数组的定义为”inta[3][5]”,则该数组所占存储空

间的字节数为__60o

4.假定二维数组的定义为”chara[M][N];”,则该数组所所含元

素的个数为__M*No

5.假定二维数组的定义为”doublea[M][N];”,则每个数组元素的行下标取值范围在__0〜M-1___之间。

6.假定二维数组的定义为”doublea[M][N];”,则每个数组元素的列下标取值范围在__0〜N-1___之间。

7.使用”typedefcharBB[10][50];”语句定义__BB为含

有10行50列的二维字符数组类型。

8.存储字符'a'需要占用存储器的」个字节空间。

9.空字符串的长度为__0o

10.存储一个空字符串需要占用__1___个字节。

11.字符串”a:

数据”的长度为___11。

12.用于存储一个长度为n的字符串的字符数组的长度至少为

―n+1o

13.strcmp函数用于进行两个字符串之间的__大小比较__。

14.Strcpy函数用于把一个字符串__复制到__另一个字符数组空间中。

15.—个二维字符数组a[10][20]能够存储__10___个字符串。

16.一个二维字符数组a[10][20]能够存储的每个字符串的长度至多为19.

1.在C语言中,一个函数由函数头和___函数体组成。

2.在函数外定义的变量称为全局变量,若没有被初始化则系统隐

含对它所赋的初值为___0。

3.如果一个函数只允许同一程序文件中的函数调用,则应在访函

数定义前加上的C保留字为为___statico

4.如果一个函数直接或间接地调用自身,这样的调用被称为__递

归调用。

5.调用系统函数时,要先使用#include命令包含该函数的原型语句所在__头___文件。

6.函数形参的作用域是该函数的__内部o

7.假定p所指对象的值为25,p+l所指对象的值为46,则*p++的值

为__25o

8.假定p所指对象的值为25,p+l所指对象的值为46,则*++卩的

值为__46o

9.假定p所指对象的值为25,p+l所指对象的值为46,则执

行”%P++);”语句后,P所指对象的值为__46o

10.假定a是一个指针数组,则a+1所指对象的地址比a地址大__4___字节。

11.若要把一个整型指针p转换为字符指针,则采用的强制转换表

资料内容仅供您学习参考,如有不当或考侵权,请联系改正或者删除。

示式为(char*)po

12.假定一个数据对象为int*类型,则指向该对象的指针类型为

―int**o

量P的地址。

14.若p指向x,则*p与x的等价的。

15.NULL是一个符号常量,一般作为空指针值,它值为0'(ASCH码0)—。

1.假定一个结构类型的定义为”structA{inta,b;A叱;};”,则

该类型的大小为___12字节。

2.假定一个结构类型的定义为”structB{inta[5],char

*b;};”,则该类型的大小为—_24字节。

3.假定一个结构类型的定义为"structD{inta;union{int

b;doublec;};structD*d[2];};,则该类型的大小为20

子m

4.假定要动态分配一个类型为structWorker的具有n个元素的

数组,并由r指向这个动态数组,则使用语句的表示式为struct

Worker*r=__(Worker*)malloc(n*sizeof(Worker));。

5.假定要访问一个结构x中的由a指针成员所指向的对象,则表

示方法为__x・(*a)___o

6.假定要访问一个结构指针p所指向对象中的b指针成员所指的

对象,则表示方法为*(p->b)___

7.与结构成员访问表示式(*fp).score等价的表示式是―lp->scoreo

三、写出下列每个程序运行后的输出结果

1.#include

voidmain()

{

intx=5;switch(2*x-3){case

4:

printf(n%dn,x);case

7:

printf(n%d蔦2*x+l);

case10:

printf(n%d",3*x-l);break;

default:

printf("%sn,ndefault\nn);

}

printf(H%s\nnswitchend.”);

}

输出结果为:

1114switchend・

Pressanykeytocontinue

2.#include

voidmain()

{

inti,s=0;

fbr(i=l;i<=6;i++)

s+=i*i;printf(Hs=%d\n'\s);

}

输出结果为:

s=91・

Pressanykeytocontinue

3.#include

voidmain()

{

inti,sl=0,s2=0;

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

if(i%2)sl+=i;

elses2+=i;

printf(H%d%d\nn,sl,s2);

输岀结果为:

2520.

Pressanykeytocontinue

4.#include

voidmain()

{

intn=10,y=l;

while(n—){y++;y++;}printf(,,y=%d\n,\y);

}

输出结果为:

y=21・

Pressanykeytocontinue

5.#include

voidmain()

{

fl=£2=1;

printf(n%d%dH,fl,f2);

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

f=fl+f2;

printf(n%dn,f);if(i%5==0)printf(n\nn);

fl=£2;

f2=f;

}

printf(H\nu);

}

输出结果为:

11235

813213455

Pressanykeytocontinue

6.#include

#include

voidmain()

{

inti,n;

并取整

for(i=2;i<=temp;i++)

if(n%i==O)break;

if(i>temp)printf(H%dn,n);

}

printf(n\nn);

}

输出结果为:

235711131719

Pressanykeytocontinue

7.#include

#include

constintM=20;

voidmain()

{

inti,c2,c3,c5;

c2=c3=c5=0;

for(i=l;i<=M;i++){

if(i%2=0)c2++;

if(i%3==0)c3++;

if(i%5==0)c5++;

printf(H%d%d%d\nn,c2,c3,c5);

输岀结果为:

1064

Pressanykeytocontinue

8.#include

#include

constintM=20;

voidmain()

{

inti,s;

fbr(i=1,s=0;iv15;i++){

if(i%2==0IIi%3==0)continue;

printf(H%di);

s+=i;

资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。

printf(n%d\nn,s);

}

输出结果为:

157111337

Pressanykeytocontinue

1.#include

voidmain()

{

inta[10]={12,39,26,41,55,63,72,40,83,95};

inti,订=0,i2=0;

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

if(a[i]%2==l)il++;elsei2++;

printf(H%d%d\nH,il,i2);

}

输岀结果为:

64

Pressanykeytocontinue

2.#include

#includevoidmain()

inti;

char

*a[5]={nstudentn,Hworkern,ncadren,Hsoldier,V,peasant,'}

char*pl,*p2;

pl=p2=a[0];

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

if(strcmp(a[i],p1)>0)p1=a[i];

if(strcmp(a[i],p2)<0)p2=a[i];

printf(H%s%s\nH,pl,p2);

输出结果为:

workercadre

Pressanykeytocontinue

3.#includeinta[10]={4,5,6,15,20,13,12,7,8,9};

voidmain()

inti,sO,sl,s2;

s0=sl=s2=0;

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

switch(a[i]%3){

caseO:

sO+=a[i];break;

case1:

sl+=a[i];break;

case2:

s2+=a[i];break;

}

printf(H%d%d%d\nn,s0,sl,s2);

输出结果为:

422433

Pressanykeytocontinue

4.#includevoidmain()

chara[]=nabcdbfbgacd";

int订=0,i2=0,i=0;

while(a[i]){

if(a[i]=='a‘)订++;

if(a[i]==,b,)i2++;

i++;

}

printf(H%d%d%d\n”,il,i2,i);

}

输出结果为:

2311

Pressanykeytocontinue

5.#include

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2