c语言复习题有答案Word下载.docx

上传人:b****1 文档编号:3311992 上传时间:2023-05-01 格式:DOCX 页数:33 大小:30.04KB
下载 相关 举报
c语言复习题有答案Word下载.docx_第1页
第1页 / 共33页
c语言复习题有答案Word下载.docx_第2页
第2页 / 共33页
c语言复习题有答案Word下载.docx_第3页
第3页 / 共33页
c语言复习题有答案Word下载.docx_第4页
第4页 / 共33页
c语言复习题有答案Word下载.docx_第5页
第5页 / 共33页
c语言复习题有答案Word下载.docx_第6页
第6页 / 共33页
c语言复习题有答案Word下载.docx_第7页
第7页 / 共33页
c语言复习题有答案Word下载.docx_第8页
第8页 / 共33页
c语言复习题有答案Word下载.docx_第9页
第9页 / 共33页
c语言复习题有答案Word下载.docx_第10页
第10页 / 共33页
c语言复习题有答案Word下载.docx_第11页
第11页 / 共33页
c语言复习题有答案Word下载.docx_第12页
第12页 / 共33页
c语言复习题有答案Word下载.docx_第13页
第13页 / 共33页
c语言复习题有答案Word下载.docx_第14页
第14页 / 共33页
c语言复习题有答案Word下载.docx_第15页
第15页 / 共33页
c语言复习题有答案Word下载.docx_第16页
第16页 / 共33页
c语言复习题有答案Word下载.docx_第17页
第17页 / 共33页
c语言复习题有答案Word下载.docx_第18页
第18页 / 共33页
c语言复习题有答案Word下载.docx_第19页
第19页 / 共33页
c语言复习题有答案Word下载.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言复习题有答案Word下载.docx

《c语言复习题有答案Word下载.docx》由会员分享,可在线阅读,更多相关《c语言复习题有答案Word下载.docx(33页珍藏版)》请在冰点文库上搜索。

c语言复习题有答案Word下载.docx

p=&

a[2];

,则*--p的值是【1】.

5-4、下列程序的输出结果是【1】,main(){inta=011;

printf(“%d\n”,++a);

}

OK;

’\0’;

10

6-1、若宏定义为:

#definey(x)2+x,则表达式a=3*y(3)的值为【1】.

6-2、若宏定义为:

#definey(x)2+x,则表达式a=4*y

(2)的值为【1】.

6-3、若宏定义为:

#definey(x)2/x,则表达式a=4+3*y(3)的值为【1】.

9;

10;

6.

二、单项选择题

1-1、若以"

a+"

方式打开一个已存在的文件,则以下叙述正确的是()。

A:

文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作

B:

文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作

C:

文件打开时,原有文件内容被删除,只可作写操作

D:

以上各种说法皆不正确

1-2、若执行fopen函数时发生错误,则函数的返回值是()。

A:

地址值B:

0C:

1D:

EOF

1_3、若要打开A盘上user子目录下名为abc.txt的文件进行读、写操作,符合要求的是()。

fopen(“A:

\user\abc.txt”,“r”)B:

\\user\\abc.txt”,“r+”)

C:

\user\abc.txt”,“rb”)D:

\\user\\abc.txt”,“w”)

A;

B;

2-1、以下属于c语言预先规定的保留字是()。

intB:

scoreC:

averD:

sum

2-2、下列运算符中优先级最高的是()。

<

B:

+C:

&

D:

!

=

2-3、下面不正确的字符串常量是()。

‘abc’B:

’’12’12”C:

”0”D:

”“

2-4、运算对象必须是整型的运算符是()。

%B:

/C:

=D:

2-5、下面错误的常量是()。

0xffB:

1.2e0.5C:

2LD:

’\72’

2-6、下列变量定义语句中,正确的是()。

char:

abc;

chara;

b;

c;

C:

intx;

z;

intx,z;

2-7、sizeof(float)是()。

一个双精度型表达式B:

一个整型表达式C:

一种函数调用D:

不合法表达式

2_8、c语言的注释语句开头必须是()。

/B:

*C:

/*D:

2_9、设以下变量均为int类型,则值不等于7的表达式是()。

(x=y=6,x+y,x+1)B:

(x=y=6,x+y,y+1)C:

(x=6,x+1,y=6,x+y)D:

(y=6,y+1,x=y,x+1)

2_10、C程序的语句结束符是()。

A:

;

:

.D:

换行

2_11、C语言中用于结构化程序设计的三种基本结构是()。

顺序结构、选择结构和循环结构B:

if、switch、break

for、while、do-whileD:

if、for、continue

2_12、C语言中,int、char和short三种类型的数据在内存中占用的字节数()。

由用户自己定义B:

均为两个字节C:

是任意的D:

由所用机器的字长决定

D;

C;

C;

A;

3-1、在一个c程序中()。

main函数必须出现在所有函数之前B:

main函数的位置没有特别限制

main函数必须出现在所有函数之后D:

main函数必须出现固定位置

3-2、已知函数原形声明为:

floatwww(chara,charb);

该函数的类型为()。

指向字符型的指针B:

字符型C:

浮点型D:

指向浮点型的指针

3-3、与实际参数为整型数组名相对应的形式参数不可以定义为()。

inta[];

int*a;

inta;

inta[3];

3_4、全局变量的定义不可能在()。

函数内部B:

函数外面C:

文件外面D:

最后一行

3_5、putchar函数可以向终端输出一个()。

整型变量表达式的值B:

实型变量的值C:

字符串D:

字符或字符型变量值

3_6、数组名作为实际参数传给函数时,数组名被处理为()。

数组的长度B:

数组的元素个数C:

数组的首地址D:

数组中各元素的值

3_7、C语言中,当调用函数时()。

实参和虚参本身各占一个独立的存储单元B:

实参和虚参可以共用存储单元

实参和虚参可以由用户指定是否共用存储单元D:

由计算机自动确定是否共用存储单元

3_8、调用函数时,实参和虚参必须保持一致的是()。

在个数上B:

在类型上C:

在顺序上D:

在个数、类型、顺序上

4-1、inta=3,b=2,c=1;

if(a>

c)a=b;

elsea=c;

则a的值为()。

3B:

2C:

4-2、下列程序的输出为()。

main()

{inty=10;

while(y--);

printf("

y=%d\n"

y);

}

y=0B:

while构成无限循环C:

y=1D:

y=-1

4-3、假设所有变量都为整型,表达式(a=2,b=5,a>

b++,a+b)的值是().

7B:

8C:

9D:

2

4-4、以下程序的输出结果是()。

{inti=010,j=10;

%d,%d\n"

++i,j--);

11,10B:

9,10C:

10,9D:

10,9

4_5、设a=2,且a定义为整型变量,执行语句a+=a-=a*=a;

后,a的值为()。

12B:

144C:

0D:

132

4-6、inta=1,b=2,c=3;

a=c;

c=b;

则c的值为()。

1B:

3D:

不一定

4-7、若变量a与i已正确定义,且i已正确赋值,合法的语句是()。

a==1B:

++i;

a=a++=5;

a=int(i);

4_8、strlen(“12\0345\n”)与strlen(“12\0845\n”)的测试结果分别是。

相同B:

2和5C:

5和2D:

5和5

4_9、设chars[10]="

\ta\017bc"

则数组s所占的字节数是()。

9B:

10C:

6D:

7

4_10、设char*s="

则指针变量s指向的字符串所占的字节数是()。

5C:

4_11、若i=3,则printf("

%d"

-i++);

输出的值和i的值分别为()。

-3和4C:

B;

C;

B;

5-1、一维数组定义的格式为:

类型说明符数组名()。

[常量表达式]B:

[整型表达式]C:

[整型常量]或[整型表达式]D:

[整型常量]

5-2、以下能正确定义数组并正确赋初值的邮局语句是()。

intN=5,b[N][N];

B:

inta[1][2]={{1},{3}};

intc[2][]={{1,2},{3,4}};

D:

intd[3][2]={{1,2},{34}};

5_3、以下不正确的定义语句是()。

doublex[5]={2.0,4.0,6.0,8.0,10.0};

B:

inty[5]={0,1,3,5,7,9};

charc1[]={‘1’,’2’,’3’,’4’,’5’};

D:

charc2[]={‘\x10’,’\xa’,’\x8’};

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

A:

整型常量B:

整型表达式C:

整型常量或整型表达式D:

任何类型的表达式

5_5、若有说明:

inta[10];

则对a数组元素的正确引用是()。

a[10]B:

a[3,5]C:

a(5)D:

a[10-10]

3_6、下列数组定义中,正确的是()。

inta[][4];

inta[][];

inta[][][5];

inta[3][];

5_7、若有说明:

a[3>

1]

6-1、相同结构体类型的变量之间可以()。

相加B:

赋值C:

比较大小D:

地址相同

6_2、结构体类型的定义允许嵌套是指()。

成员是已经或正在定义的结构体型B:

成员可以重名

结构体型可以派生D:

定义多个结构体型

6_3、有如下定义:

structstudent{charname[20];

intage;

}wang,*p;

p=&

wang;

以下不合法的引用为()。

p.ageB:

wang.ageC:

p->

ageD:

(*p).age

6_4、在定义构造数据类型时,不能()。

说明变量B:

说明存储类型C:

初始化D:

末尾不写分号

6_5、当定义一个结构体变量时,系统分配给它的内存是()。

各成员所需内存量的总和B:

结构中第一个成员所需内存量

结构中最后一个成员所需内存量D:

成员中占内存量最大者所需的容量

6_6、enuma{sum=9,mon=-1,tue};

定义了()。

枚举变量B:

3个标识符C:

枚举数据类型D:

整数9和-1

6_7、以下各选项企图说明一种新的类型名,其中正确的是()。

typedefv1int;

B:

typedefv2=int;

typedefintv3;

typedefv4:

int;

7-1、若宏定义为:

#definey2+3,则表达式y*3+3的值为().

14B:

16C:

18D:

20

7-2、若宏定义为:

#definey2+3,则表达式2+y*3的值为().

11B:

13C:

15D:

17

7_3、有宏定义为#defineY(a,b)a+b,则表达式2+Y(2,3)*3的值为().

13C:

8-1、如有int*p,a=5,b;

定义,则以下正确的程序段为()。

b;

scanf(“%d’,&

p);

B:

scanf(“%d’,*p);

scanf(“%d’,&

b);

p=b;

D:

p=a;

8-2、若有语句:

inta[3][4],*p[3]={a[0],a[1],a[2]};

不能表示a[2][3]的元素的是()。

*(*(a+2)+3)B:

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

(p[2]+3)D:

(*(p+2))

8_3、p1,p2为指向浮点的指针变量,则下列运算错误的是()。

*p1-*p2B:

p1++C:

*p1%*p2D:

p1-p2

8_4、有以下定义:

inta[2][3];

,则对数组元素的正确引用()是。

*(*(a+i)+j)B:

(a+i)[j]C:

*(a+i+j)D:

a[i]+j

8_5、若有定义:

int(*p)();

,则该指针为()。

指向整型的指针B:

指向字符型的指针C:

指向整型函数的指针D:

指向字符型函数的指针

8_6、下列正确的定义是()。

1inti,*p=&

i;

②int*p=&

i,i;

③int*p,i;

④int*p,i;

p=i;

⑤int*p,i,p=&

①③B:

②④C:

②⑤D:

④①

三、多项选择题

1_1、下列选项中合法的标识符有()。

good_morningB:

mainC:

stdio.hD:

8abc

AB;

1_2、下列选项中合法的用户标识符有()。

pageB:

shortC:

_3comD:

int

AC;

1_3、下列选项中合法的用户标识符有()。

returnB:

f2_G3C:

a3-3D:

abc

BD;

1_4、以下叙述正确的是()。

C语言严格区分大小写英文字母。

C语言用“;

”作为语句分隔符。

C程序书写格式自由:

一行内可以写几个语句,一个语句也可以写在几行。

D:

可以使用/*…*/对C程序中的任何部分作注释。

ABCD;

1_5、下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是()。

只能是0或1;

B:

只能是0或非0正数;

C:

可以是整型或字符型数据;

D:

可以是任何类型的数据;

1_6、以下对switch语句和break语句中描述错误的有()。

在switch语句中必须使用break语句;

B:

break语句只能用于switch语句;

在switch语句中可以根据需要使用或不使用break语句;

break语句是switch语句的一部分;

ABD;

2_1、已定义c为字符型变量,则下列语句中错误的是()。

c=’97’;

c=”97”;

c=97;

c=”a”;

3_1、以下正确的是()。

预处理命令行必须以‘#’开始。

以‘#’开始的都是预处理命令行。

程序在执行过程中对预处理命令行进行处理。

#defineABCD是正确的宏定义。

4_1、在定义inta[2][3]之后,对a[i][j]的正确引用有()。

a[0][2]B:

a[1,3]C:

a[1>

2][!

1]D:

a[2][0]

4_2、以下对二维数组a正确初始化的是()。

staticcharword[]=’Turbo\0’;

staticcharword[]={‘T’,’u’,’r’,’b’,’o’,’\0’};

staticcharword[]={“Turbo\0”};

staticcharword[]=”Turbo\0”;

BCD;

5_1、以下4个选项中可以看作是一条语句的有()。

{;

}B:

a=0,b=0,c=0;

0);

if(b==0)m=1;

n=2;

ABC;

5_2、若a、b、c、d都是int型变量且已赋初值0,则正确的赋值语句是()。

a=b=c=d=100;

d++;

c+b;

d=(c=22)-(b++);

5_3、设有以下定义:

inta=0;

doubleb=1.25;

charc=’A’;

#difined2,则正确的语句是()。

a++;

b++;

c++;

6_1、以下述说中正确的是()。

一个c源程序可以由一个或多个函数组成。

一个c源程序必须包含一个main()函数。

c源程序的基本组成单位是函数。

在c源程序中,注释说明只能位于一条语句的最后。

6_2、以下对C语言中的函数描述不正确的是()。

可以嵌套定义,不可以嵌套调用。

不可以嵌套定义,可以嵌套调用。

可以嵌套定义,也可以嵌套调用。

嵌套定义和嵌套调用都不允许。

ACD;

四、程序填空

1、功能:

计算平均成绩并统计90分以上人数。

成绩数据以一负数作为结束标志。

#include<

stdio.h>

voidmain(void)

{

intn,m;

floatgrade,average;

/***********SPACE***********/

average=n=m=【?

】;

while

(1)

{

【?

("

%f"

&

grade);

if(grade<

0)break;

n++;

average+=grade;

90)

【?

m++;

if(n)printf("

%.2f%d\n"

average/n,m);

1).0或0.02).scanf3).Continue

2、功能:

找出一维数组中最大值和此元素的下标,数组元素的值由键盘输入。

#include"

stdio.h"

voidmain()

inta[10],*p,*s,i;

for(i=0;

10;

i++)

scanf("

【?

】);

for(p=a,s=a;

】<

p++)

if(*p>

*s)s=p;

max=%d,index=%d\n"

【?

】,s-a);

1).a+i或&

a[i]2).p-a或-a+p3).*s

3、功能:

输入学生成绩并显示。

#include<

structstudent

charnumber[6];

charname[6];

intscore[3];

}stu[2];

voidoutput(structstudentstu[2]);

inti,j;

i<

2;

】)

请输入学生%d的成绩:

\n"

i+1);

学号:

"

);

%s"

】.number);

姓名:

stu[i].name);

for(j=0;

j<

3;

j++)

成绩%d."

j+1);

】.score[j]);

output(stu);

voidoutput(structstudentstu[2])

学号姓名成绩1成绩2成绩3\n"

i++)

%-6s%-6s"

stu[i].number,stu[i].name);

%-8d"

stu[i].score[j]);

1).i++或++i或i=i+1或i+=1

2).stu[i]

3).&

stu[i]

4、功能:

输入两个整数x,y,请把这两个数由小到大输出。

intx,y,t;

%d%d"

if(【?

{【?

】}

smalltobig:

%d%d\n"

x,y);

1).&

x,&

y或&

y,&

x

2).x>

y或x>

=y或y<

x或y<

=x

3).t=y;

y=x;

x=t;

或t=y,y=x,x=t;

或t=x;

x=y;

y=t;

或t=x,x=y,y=t;

 

5、功能:

输出结果为:

*****

*****

*****

staticchar【?

】={'

*'

'

};

inti,j,k;

charspa

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

当前位置:首页 > 初中教育 > 语文

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

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