C语言考试题库精选及答案免费Word文档格式.docx

上传人:b****3 文档编号:17930368 上传时间:2022-12-12 格式:DOCX 页数:57 大小:36.52KB
下载 相关 举报
C语言考试题库精选及答案免费Word文档格式.docx_第1页
第1页 / 共57页
C语言考试题库精选及答案免费Word文档格式.docx_第2页
第2页 / 共57页
C语言考试题库精选及答案免费Word文档格式.docx_第3页
第3页 / 共57页
C语言考试题库精选及答案免费Word文档格式.docx_第4页
第4页 / 共57页
C语言考试题库精选及答案免费Word文档格式.docx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

C语言考试题库精选及答案免费Word文档格式.docx

《C语言考试题库精选及答案免费Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言考试题库精选及答案免费Word文档格式.docx(57页珍藏版)》请在冰豆网上搜索。

C语言考试题库精选及答案免费Word文档格式.docx

A、continue语句

B、空语句

C、break语句

D、return语句

8以下对一维整型数组a的正确说明是()。

A、inta(10);

B、intn;

scanf("

%d"

&

n);

inta[n];

C、intn=10,a[n];

D、#defineSIZE10(换行)inta[SIZE];

9以下定义语句中,错误的是()。

A、intn=5,a[n];

B、inta[]={1,2};

C、chars[10]="

test"

;

D、char*a[3];

10下面叙述中不正确的是().C

A、可以对字符型数组进行整体输入和输出.

B、不可以对浮点型数组进行整体输入和输出.

C、可以对整型数组进行整体输入和输出.

D、字符型数组可以存放字符串.

11下面叙述中不正确的是().C

12以下错误的描述是:

函数调用可以()。

A、出现在执行语句中

B、做为一个函数的实参

C、出现在一个表达式中

D、做为一个函数的形参

13以下不正确的说法是:

C语言规定()。

A、实参可以是常量,变量或表达式

B、实参可以为任何类型

C、形参可以是常量,变量或表达式

D、形参应与其对应的实参类型一致

14下列形式,不属于编译预处理命令的是().D

A、#ifdefM

B、#undefM

C、#if(M>

1)

D、while(M>

15下面判断正确的是()。

A、charc[4]="

abc"

d[4]="

等价于charc[4]=d[4]="

B、charstr[10]={"

china"

等价于charstr[10];

str[]={"

C、char*a="

等价于char*a;

*a="

D、char*s="

等价于char*s;

s="

16若有以下结构体定义:

structexample

{intx;

inty;

}v2;

则(D)是正确的引用或定义.

A、example.x=10;

B、structv2;

v2.x=10;

C、examplev2;

D、structexamplev2={10,3};

17若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数

feof(fp)的值为()。

A、-1

B、1

C、一个非0值

D、0

二、判断

1如果有一个字符串,其中第十个字符为'

\n'

,则此字符串的有效字符为9个。

【N】

2格式字符%o用来以十六进制形式输出整数.【N】

3已知a=3,b=4,c=5,则逻辑表达式!

(a>

b)&

!

c||1的值为1.【Y】

4已知x=2,y=2,执行分支语句if(x==y)y=1;

elsey=-1;

后,y=-1.【N】

5continue语句对于while和do-while循环来说,意味着转去计算While表达式.【Y】

6在do-while循环中,根据情况可以省略while.【N】

7对于字符数为n个的字符串,其占用的内存为n+1个字节空间.【Y】

8puts函数用来输出一个字符.【N】

9引用数组元素时,下标可以是整型表达式或整型常量.【Y】

10函数调用结束后,静态局部变量所占用的空间被释放.【N】

11在一个函数中定义的静态局部变量可以被另一个函数调用.【N】

12当全局变量与局部变量同名时,在局部变量的作用域范围之内,全局变量起作用.【N】

13计算机编译系统对宏定义在编译时进行语法检查.【N】

14若定义intarray[5],*p;

则赋值语句p=array;

是正确的.【Y】

15共同体变量所占的内存长度等于最长的成员的长度。

【Y】

16C语言中,打开一个文件就意味着产生了一个文件.【N】

三、填空

1设x的值为15,n的值为2,则表达式x%=(n+=3)运算后x的值是_____.0

2已知a=-13,b=6,a%b的十进制数值为_____.-1

3已知a=12,写出表达式0<

a&

a<

2的值是_____.0

4已知i=5,写出语句a=(i>

5)?

0:

1;

执行后整型变量a的值是_____.1

5C语言中,数组名是一个不可变的_____常量,不能对它进行加减和赋值运算.指针地址

6C语言中一个函数由函数首部和_____两部分组成.函数体

7设有以下共用体类型说明和变量定义,则变量c在内存所占字节数是__20___。

unionstud{shortintnum;

charname[10];

floatscore[5];

doubleave;

}c;

8在C语言中,关闭文件即是文件指针不再指向该_____.文件

四、程序设计

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:

计算并输出给定整数n的所有因子之和(不包括1与

自身)。

注意:

n的值不大于1000。

例如:

n的值为855时,应输出704。

------------------------------------------------*/

#include"

stdio.h"

intfun(intn)

{

/*********Begin**********/

/**********End**********/

}

voidTestFunc()

FILE*IN,*OUT;

intiIN,iOUT,i;

IN=fopen("

in.dat"

r"

);

if(IN==NULL)

{

printf("

PleaseVerifyTheCurrerntDir..ItMayBeChanged"

}

OUT=fopen("

out.dat"

w"

if(OUT==NULL)

PleaseVerifyTheCurrentDir..ItMayBeChanged"

for(i=0;

i<

5;

i++)

fscanf(IN,"

iIN);

iOUT=fun(iIN);

fprintf(OUT,"

%d\n"

iOUT);

fclose(IN);

fclose(OUT);

}

main()

s=%d\n"

fun(855));

TestFunc();

 

【参考代码】

ints=0,i;

for(i=2;

n;

if(n%i==0)s=s+i;

returns;

/*------------------------------------------------------

--------------------------------------------------------

删去一维数组中所有重复的数,只保留不同的数。

数组中的数已按由小到大的顺序排列,

函数返回删除后数组中数据的个数。

一维数组中的数据是:

2223445666677899101010。

删除后,数组中的内容应该是:

2345678910。

请勿改动主函数main和其它函数中的任何内容。

------------------------------------------------------*/

#defineN80

intfun(inta[],intn)

voidTestFunc();

inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20;

Theoriginaldata:

\n"

i++)printf("

%3d"

a[i]);

n=fun(a,n);

\n\nThedataafterdeleted:

\n\n"

inta[N];

intn;

inti;

ReadFileError"

WriteFileError"

i++)fscanf(IN,"

a[i]);

i++)fprintf(OUT,"

inti,j=1,k=a[0];

for(i=1;

if(k!

=a[i])

a[j++]=a[i];

k=a[i];

a[j]=0;

returnj;

=========================================================

五、程序改错

【程序改错】

函数fun的功能是:

求1到20的阶乘的和。

--------------------------------------*/

main()

{

intn,j;

floats=0.0,t=1.0;

for(n=1;

n<

=20;

n++)

{

/**********ERROR**********/

s=1;

for(j=1;

j<

=n;

j++)

t=t*n;

s+t=s;

jiecheng=%f\n"

s);

【改错1】

【参考答案】

t=1;

t=1.0;

============================================================

【改错2】

t=t*j;

t*=j;

t=j*t;

【改错3】

s=s+t;

s+=t;

s=t+s;

/*------------------------------------------------------

实现两个字符串的连接。

输入dfdfqe和12345时,则输出dfdfqe12345.

#include"

chars1[80],s2[80];

voidscat(chars1[],chars2[]);

gets(s1);

gets(s2);

scat(s1,s2);

puts(s1);

voidscat(chars1[],chars2[])

inti=0,j=0;

/**********ERROR**********/

while(s1[i]=='

\0'

)i++;

while(s2[j]=='

s2[j]=s1[i];

i++;

j++;

s2[j]='

while(s1[i]!

='

)i++;

while(s1[i])i++;

=NULL)i++;

=0)i++;

while(s2[j]!

while(s2[j])

=NULL)

=0)

【改错3】

s1[i]=s2[j];

【改错4】

s1[i]='

s1[i]=NULL;

*(s1+i)='

s1[i]=0;

六、程序填空

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

打印以下图形。

*****

*****

-------------------------------------------------------*/

main()

chara[5][9]={"

"

inti,j;

for(i=0;

/***********FILL***********/

for(j=i;

_____;

a[i][j]='

*'

for(_____;

for(j=0;

9;

%c"

_____);

【空1】

i+5

i+5>

j

=i+4

i+4>

5+i

【空2】

i=0

【空3】

a[i][j]

【空4】

printf("

【程序填空】

计算n门课程的平均分。

若有5门课程的成绩是:

90.5,72,80,61.5,55

则函数的值为:

71.80。

#include<

stdio.h>

floatfun(float*a,intn)

floatave=0.0;

/***********FILL***********/

for(i=0;

________;

i++)

ave=ave+a[i];

ave=ave/n;

_________;

intmain()

floatscore[30]={90.5,72,80,61.5,55},aver;

aver=fun(_______,5);

printf("

\nAveragescoreis:

%5.2f\n"

aver);

return0;

【空1】

n

n>

i

returnave;

score

第二套

一、选择题:

1sizeof(float)是(C)。

A、一个浮点表达式

B、一个不合法的表达式

C、运算结果是一个整型表达式。

D、一种函数调用

2下列数据中属于"

字符串常量"

的是(B)。

A、'

A'

B、"

C、ABC

D、'

ABC'

3用下面的scanf函数输入数据,使得i=10,k=15选择正确的键盘输入方法(B).

(用"

[CR]"

表示回车,U表示空格)

{inti,k;

i=%d,k=%d"

i,&

k);

A、i=10[CR]k=15[CR]

B、i=10,k=15[CR]

C、10U15[CR]

D、10,15[CR]

4逻辑表达式3<

2||-1&

4>

3-!

0的值为:

(A)

A、1

B、3

C、0

D、2

5语句while(!

E);

中的表达式!

E等价于(D)。

A、E==1

B、E!

C、E!

=1

D、E==0

6以下正确的描述是(A).

A、只能在循环体内和switch语句内使用break语句

B、continue语句的作用是终止整个循环的执行

C、从多层嵌套的外层循环中退出时,只能使用goto语句

D、在循环体内使用break和continue语句的作用相同

7下面各语句中,能正确进行赋字符串操作的语句是(B).

A、chars1[5][]={"

ABCDE"

B、chars2[6]={'

'

B'

C'

D'

E'

C、charst[][]={"

D、chars[5]={'

8若有说明:

inta[3][4]={0};

则下面正确的叙述是(A)。

A、数组a中每个元素均可得到初值0

B、只有元素a[0][0]可得到初值0

C、数组a中各元素都可得到初值,但其值不一定为0

D、此说明语句不正确

9执行下面程序后,输出结果是(D)。

{inta,b,c;

a=45,b=27,c=0;

c=max(a,b);

c);

intmax(intx,inty)

{intz;

if(x>

y)z=x;

elsez=y;

return(z);

A、72

B、18

C、27

D、45

10以下正确的描述是:

在C语言程序中(B)。

A、函数的定义可以嵌套,但函数的调用不可以嵌套

B、函数的定义不可以嵌套,

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1