C语言期末练习题Word文档下载推荐.docx

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

C语言期末练习题Word文档下载推荐.docx

《C语言期末练习题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言期末练习题Word文档下载推荐.docx(29页珍藏版)》请在冰点文库上搜索。

C语言期末练习题Word文档下载推荐.docx

(B)for(i=1;

){p=1;

p*=i;

i++;

}

(C)i=1;

p=1;

while(i<

=5){p*=i;

(D)i=1;

do{p*=i;

}while(i<

=5);

14.C语言规定else总是与配对。

(A)缩进位置相同的if(B)同一行上的if

(C)其之前最近的if(D)其之后最近的if

15.以下程序的运行结果为______。

main( )

{intn;

for(n=1;

n<

=10;

n++)

{if(n%3==0)continue;

printf(“%d”,n);

}

(A)12457810(B)369(C)12(D)12345678910

16.设x和y均为int型变量,则语句x+=y;

y=x-y;

x-=y;

的功能是。

(A)把x和y按从大到小排列(B)把x和y按从小到大排列

(C)无确定结果(D)交换x和y中的值

17.变量的指针,其含义是指该变量的_____

(A)值(B)地址(C)名(D)一个标志

18.以下函数调用语句中含有个实参。

func((e1,e2),(e3,e4,e5));

(A)2(B)3(C)5(D)语法错误

19.以下正确的描述是________

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

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

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

(D)goto语句只能用于退出多层循环

20.以下程序运行的结果是。

main()

{inta=2,b=3,c=2;

if(a<

b)

c)

c--;

else

c+=1;

printf(“%d\n”,c);

(A)0(B)1(C)2(D)3

21.inta[4]={2,3,4},I;

i=a[0]*a[1]+a[2]*a[3];

i的值为。

(A)2(B)4(C)6(D)10

22.以下正确的函数定义形式是。

(A)doublefun(intx,inty);

(B)doublefun(intx;

inty)

(C)doublefun(intx,inty)

(D)doublefun(intx,y)

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

(A)float型(B)int型(C)long型(D)double型

24.若有定义inta[4]={1,2,3};

请问a[a[a[0]]]的值是。

(A)1(B)2(C)3(D)4

25.以下正确的描述是____________

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

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

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

(D)函数的定义和函数的调用均可以嵌套

26.以下不正确的说法是____________

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

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

(C)形参是局部变量

(D)函数调用结束后,静态局部变量的值仍然保留。

27.已有定义:

intx=3,y=4,z=5;

则表达式!

(x+y)+z-1&

&

y+z/2的值是。

(A)6(B)0(C)2(D)1

28.main()

{intn[4]={1,2,3,4},k;

for(k=0;

k<

4;

k++)

{if(k/2)break;

n[k]++;

printf(“%d\n”,n[++k]);

执行后输出的结果是。

(A)2(B)3(C)4(D)5

29.判断字符串是否相等,应当使用。

(A)if(a==b)(B)if(a=b)(C)if(strcpy(a,b))(D)if(!

strcmp(a,b))

30.以下程序运行结果是。

voidsub(intx,inty,int*z)

{*z=y-x;

main()

{inta,b,c;

sub(11,7,&

a);

sub(5,a,&

b);

sub(a,b,&

c);

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

(A)-4,-9,-5(B)-4,9,5(C)4,-9,-5(D)-4,9,-5

31.以下程序运行结果是。

{inta[2][3]={1,3,5,4,7,6},i,j,b=a[0][0];

for(i=0;

2;

i++)

for(j=0;

j<

3;

j++)

if(b<

a[i][j])

b=a[i][j];

printf(“%d\n”,b);

(A)5(B)7(C)4(D)1

32.以下程序运行结果是。

{chars[50]=”Iamastudent”,c;

inti,num=0,word=0;

c=s[i];

if(c==’’)word=0;

elseif(word==0)

{word=1;

num++;

printf(“%d\n”,num);

33.以下程序运行结果是。

#include<

string.h>

{chars[50]=”1234567”,*p=s;

inti;

i=*(p+5)-*(p+2);

printf(“%d\n”,i*strlen(s));

(A)21(B)24(C)14(D)28

34.以下程序运行结果是。

{inta[]={1,2,3,4,5,6,7,8,9},i,j,k;

for(i=0,j=8;

j;

i++,j--)

{k=a[i];

a[i]=a[j];

a[j]=k;

printf(“%d\n”,a[1]+a[5]);

(A)11(B)12(C)13(D)14

35.以下程序运行结果是。

{intx[]={1,2,3},s,*p=x,i;

for(i=0,s=1;

i++,p++)

s*=*p;

printf(“%d\n”,s);

(A)2(B)4(C)6(D)8

36.设有语句:

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

以下对数组a

中的数组元素的不正确引用是()。

Aa[p-a]B*(&

a[i])Cp[i]D*(&

(a+i))

37.下列程序的输出结果是()

stdio.h>

#defineMIN(x,y)(x)<

(y)?

(x):

(y)

{inti,j,k;

i=10;

j=15;

k=10*MIN(i,j);

printf(“%d\n”,k);

A15B100C10D150

38.以下描述中不正确的是()。

A数组是一批类型相同的若干个元素的集合

B数组的各个元素的类型可以不同

C数组在内存中占用一块连续的存储空间

D数组是一种构造类型

39.可用作C语言用户标识的一组标识符()。

AviodBa3_b3CForD2a

define_123-abcDO

WORDIFCasesizeof

40.已知i,j,k为int型变量,若从键盘输入1,2,3回车,使i的值为

1,j的值为2,k的值为3,以下选项中正确的输入语句是()。

Ascanf(“%2d%2d%2d”,&

i,&

j,&

k);

Bscanf(“%d%d%d”,&

Cscanf(“%d,%d,%d”,&

Dscanf(“i=%d,j=%d,k=%d”,&

41.与y=(x>

0?

1:

x<

-1:

0);

的功能相同的if语句是()。

Aif(x>

0)y=1;

Bif(x)

elseif(x<

0)y=-1;

if(x>

elsey=0;

elseif(x<

Cy=-1;

Dy=0;

if(x)if(x>

=0)

elseif(x==0)y=0;

elsey=-1;

42.下列程序输出的结果是()。

{inta=0,i;

for(i=1;

5;

i++){

switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}}

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

A31B13C10D20

43.下列程序中,while循环次数是()。

{inti=0;

while(i<

10){

if(i<

1)continue;

if(i==5)break;

i++;

A1B10C6D死循环,不能确定次数

44.以下说法中正确的是()。

AC语言程序总是从第一个函数开始执行

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

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

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

45.C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是()。

A地址传递B值传递C由用户指定传递方式

D由实参传给形参,并由形参传回来给实参

46.设有:

int[10],i=5;

以下对数组元素引用不正确的是()。

Aa[9]BA[0]Ca[i]Da[i+5]

47.若有定义:

inti,j,*p=&

i,则与i=j等价的语句是()。

Ai=*p;

B*p=*&

Ci=&

Di=**p;

48.设a,b和c都是整型变量,且a=3,b=4,c=5;

则以下表达式中,值为0

的表达式是()。

Aa&

bBa<

=bCa||b+c&

b-cD!

((a<

b)&

!

c||1)

49、下面标识符中,不合法的用户标识符为()

A)PadB)a_10C)_12abD)int

50、调用scanf(“%d,%d”,&

a,&

时,正确的键盘输入是()

A)10,20B)a=10,b=20

C)10:

20D)1020

51、能表示条件0≤x≤100的表达式是()

A)0<

=x<

=100B.x>

=0,x<

=100

C)0≤x≤100D)x>

=0&

x<

52、设有:

inta=1,b=2,c=3,d=4,m=2,n=2;

执行(m=a>

b)&

(n=c>

d)后n的值为()

A)0B)1C)2D)3

53、下面不正确的字符串常量是()

A)'

abc'

B)"

12'

12"

C)"

0"

D)"

"

54、对字符串“Cat”进行完整赋值的操作是()

A)chars[3]={'

C'

'

a'

t'

};

B)chars[]="

Cat"

;

C)chars[3]={"

D)chars[3];

s="

55、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()

A)–3B)9C)–12D)6

56、设x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是printf(“%d,%d\n”,x--,--y);

()

A)10,3B)9,3C)9,2D)10,2

57、在TurboC中,设inta[10];

假设数组a开始于内存2000单元,则a[2]的存储始于()

A)2002B)2004C)2006D)2008

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

A)整型常量B)整型表达式

C)整型常量或整型表达式D)任何类型的表达式

59、若有ints[4]={1,2,3,4};

,则s[s[0]+2*s[2]-s[3]]的值是()

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

60、用数组名作为函数的实参时,传递给形参的是()

A)数组的首地址B)数组的第1个元素

C)数组中的全部元素D)数组的元素个数

61、以下程序的输出结果是()

{charch[3][5]={"

AAAA"

"

BBB"

CC"

printf(“%s”,ch[1]);

A)"

BBBCC"

62、有以下程序段

intk=0;

while(k=1)k++;

while循环执行的次数是()

A)无限次B)有语法错,不能执行

C)一次也不执行D)执行1次

63、设有以下说明语句

structstu

{inta;

floatb;

}stutype;

则下面的叙述不正确的是()

A)struct是结构体类型的关键字B)structstu是用户定义的结构体类型

C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名

 

二、填空题

1、C语言程序的三种基本结构是、、。

2、一个C程序有且仅有一个函数。

3、C语言描述“x和y都大于或等于z”的表达式是。

4、C语言可以用来实现循环的结构化语句是、、。

5、数组名表示数组在内存的。

6、inta=3,*p=&

a;

*p+2的值是。

7、变量的作用域是指变量的有效范围,在作用域内可以引用该变量。

按作用域来说,变量可以分为__________变量和______变量。

8、如果程序中已有定义:

intk;

通过指针变量,将数值10赋值给k的

句是___________。

9、设a,b,c,d,m,n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则

逻辑表达式(m=a<

(n=c<

d)运算后,m,n的值分别为_________。

10、当函数的返回值的类型与函数定义的类型不一致时,系统

11、C语言中,变量是指

12、指针变量是把内存中另一个数据的_______作为其值的变量。

13、C语言源程序文件的后缀是,经过编译后,生成文件的后缀是,经过连接后,生成文件的后缀是。

14、若x为double型变量,请写出运算x=3.2,++x后表达式的值和

变量的值。

15、若有定义:

intx,a;

则语句x=(a=3,a+1);

运行后,x=,a=。

16、有下列程序段:

s=1.0;

for(k=1;

=10;

s=s+1.0/(k*(k+1));

printf(“%f\n”,s);

试填空,使下列的程序段的功能完全与之等同。

s=0.0;

__________;

d=0.0;

do{s=s+d;

_____________;

d=1.0/(k*(k+1));

}while(__________);

17、如果不指定精度,格式字符e,E和f默认输出小数点后____位小数。

18、下列程序的输出结果是()。

#include<

string>

{charb[30];

strcpy(&

b[0],”AB”);

b[1],”CDE”);

b[2],”FGH”);

printf(“%s\n”,b);

n

19、下列程序的功能是计算s=∑k!

请填空。

k=0

longf(intn)

{inti;

longs;

s=1;

_______;

i++)s*=i;

return_______;

{longs;

intk,n;

scanf(“%d”,&

n);

s=___________;

=n;

k++)s+=_______;

printf(“%ld\n”,s);

20、下列程序的输出结果是___________。

#defineN20

#defines(x)x*x

#definef(x)(x*x)

{inti1,i2;

i1=800/s(N);

i2=800/f(N);

printf(“%d%d\n”,i1,i2);

21、下列程序由两个文件组成,其运行结果是__________。

/*文件1*//*文件2*/

intx;

staticintx=5;

sub()main()

{{

x=8;

sub()

}printf(“x=%d\n”,x);

22、补充以下缺省的程序,实现求两个整型数的和:

intsum(intx,inty)

{

intz;

z=x+y;

return;

inta,b,s;

printf(“pleaseenteraandb:

”);

scanf(“%d%d”,&

s=

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

三、阅读题(每小题5分,共20分)

1.写出下列程序的运行结果()。

{inta=100;

=50)

printf(“%d\n”,a<

=50);

elseif(a>

50)

printf(“%d\n”,a>

50);

2.写出下列程序的输出结果()。

{intn=‘b’;

switch(n)

{default:

printf(“error\n”);

break;

case‘a’:

case‘b’printf(“good\n”);

case‘c’:

printf(“pass\n”);

case‘d’:

printf(“warn\n”);

3.写出下列程序的运行结果()。

{inti,s=0;

i++)

s+=i;

4.写出下列程序的输出结果()。

{inti=10,j=0;

do

{j=j+1;

i--;

while(i>

2);

printf(“%d\n”,j);

5.有下列程序段,请写出运行结果。

func(intx)

{inty=13;

x=x+y;

returnx;

{intx=3;

func(x);

printf("

%d"

x+x);

输出:

6.有下面程序段,请写出运行结果

{intsum,j;

for(j=1;

=100;

j++){sum=0;

sum=sum+j;

printf(“sumis%d”,sum);

7.有下面程序段,请写出运行结果

floata=3.4;

intb;

b=a*3;

printf(“%d”,b);

8.

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

当前位置:首页 > 小学教育 > 语文

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

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