C语言程序设计期末复习题学生用2文档格式.docx

上传人:b****8 文档编号:22537376 上传时间:2023-02-04 格式:DOCX 页数:38 大小:38.54KB
下载 相关 举报
C语言程序设计期末复习题学生用2文档格式.docx_第1页
第1页 / 共38页
C语言程序设计期末复习题学生用2文档格式.docx_第2页
第2页 / 共38页
C语言程序设计期末复习题学生用2文档格式.docx_第3页
第3页 / 共38页
C语言程序设计期末复习题学生用2文档格式.docx_第4页
第4页 / 共38页
C语言程序设计期末复习题学生用2文档格式.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

C语言程序设计期末复习题学生用2文档格式.docx

《C语言程序设计期末复习题学生用2文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计期末复习题学生用2文档格式.docx(38页珍藏版)》请在冰豆网上搜索。

C语言程序设计期末复习题学生用2文档格式.docx

14.定义fp为文件型指针变量的定义方法为_______FILE*fp 

______。

15.数组int 

a[3][4];

共定义了___12____个数组元素。

16、C源程序是由_函数__构成的。

一个C程序一般由若干个函数构成,其中至少应包含主函数(mian()函数)。

因此,函数C程序的基本单位。

17、三种基本程序结构是顺序结构__、_选择结构__、循环结构__。

18、C语言的三个循环语句分别是while__、_do-while__、_for__。

19.表示“x≥y≥z”的C表达式是_x>

=y&

y>

=z。

20.表达式!

!

5的值是1__。

21、在C程序中,指针变量能够赋地址_值或者空(0或NULL)__值。

22.下列程序段的输出是_5__。

int*p,*q,k=5,j=6;

q=&

k;

p=q;

j;

printf("

%d"

*p);

23.下列程序段的输出是_58__。

intf(intx)

{staticy=1;

y++;

x+=y;

returnx;

voidmain()

{intk;

k=f(3);

printf("

%d%dn"

k,f(k));

24、一个C程序总是从main()或主函数开始运行的。

25、三种基本程序结构是顺序结构__、_选择结构__、循环结构__。

26、一个char数据在内存中所占字节数为1,一个int数据在内存中所占字节数为2,一个long数据在内存中所占字节数为4,一个float数据在内存中所占字节数为4。

27、若有定义:

inta[]3[4]={{1,2}{0}{4,6,8,10}};

则初始化后a[1][2]的值为

0,a[2][1]得到的值为6

28.在C语言中,函数分为3种类型,分别是主函数、库函数和自定义函数。

29.下列程序段的输出是_*#*#____。

main()

for(k=1;

k<

5;

k++)

{if(k%2)printf("

*"

);

elsecontinue;

#"

}

30、下列程序的输出结果是:

Afterswap5,3。

swap(int*p,int*q)

{intt;

t=*p;

*p=*q;

*q=t;

}

voidmain()

{inta=3,b=5;

swap(&

a,&

b);

Afterswap%d,%d"

a,b);

二、选择题

1.执行intx=2,y=3;

后表达式x=(y==3)的值是(B)

A)0B)1

C)2D)3

2.在循环结构的循环体中执行break语句,其作用是(C)

A)结束本次循环,进行下次循环

B)继续执行break语句之后的循环体中各语句

C)跳出该循环体,提前结束循环

D)终止程序运行

3.以下程序运行结果是(A)

{chars[]=”\’Address\’”;

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

A)9B)10

C)11D)12

4.以下程序运行结果是(C)

{inta[]={2,4,6,8,10},y=1,x;

for(x=0;

x<

3;

x++)y=y+a[x+1];

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

A)17B)18

C)19D)20

5.设inta[][4]={0,0};

则以下错误的描述是(D)

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

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

C)数组a的行数为1

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

6.以下程序运行结果是(C)

fun3(intx)

{staticinta=3;

a=a+x;

returna;

{intk=2,m=1,n;

n=fun3(k);

n=fun3(m);

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

A)3B)4

C)6D)9

7.以下不正确的描述是(D)

A)在函数外部定义的变量是全局变量

B)在函数内部定义的变量是局部变量

C)函数的形参是局部变量

D)局部变量不能与全局变量同名

8.C语言的简单数据类型包括(D)

A)整型、实型、逻辑型B)整型、实型、字符型、逻辑型

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

9.数学关系式x≤y≤z可用C语言的表达式表示为(A)

A)(x<

=y)&

(y<

=z)B)(x<

=y)and(y<

=z)

C)(x<

=y<

=z)D)(x<

z)

10.要使以下程序的输出结果为4,则a和b应满足的条件是(A)

main()

{ints,t,a,b;

scanf(“%d%d”,&

b);

s=t=1;

if(a>

0)s=s+1;

b)t=s+t;

else

if(a==b)t=5;

elset=2*s;

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

A)a>

0并且a<

bB)a<

b

C)a>

0并且a>

bD)a<

b

11.下面程序的输出结果为(B)

{inti;

for(i=100;

i<

200;

i++)

{

if(i%5==0)continue;

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

break;

A)100B)101

C)无限循环D)无输出结果

12.下列程序段的运行结果是(B)

inti=1,a[]={1,5,10,9,13,7};

while(a[i]<

=10){a[i]=a[i]+2;

i++;

for(i=0;

6;

i++)printf(“%d”,a[i]);

A)271211139B)171211137

C)171211139D)17129137

13.以下语句把字符串“abcde”赋初值给字符数组,不正确的语句是(D)

A)chars[]=“abcde”;

B)chars[]={’a’,’b’,’c’,’d’,’e’,’\0’};

C)chars[]={“abcde”};

D)chars[5]=“abcde”;

14.下面程序段的运行结果是(A)

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

for(i=0;

2;

for(j=0;

j<

j++)

{a[i][j]=a[i*j%2][j]+a[i][(i+j)%3];

printf(“%d,”,a[i][j]);

A)2,4,6,2,0,8,B)1,2,3,0,0,0,

C)1,2,3,2,0,6,D)2,4,6,2,0,6,

15、执行下面语句后,变量I的值是(C)。

for(I=1;

I++<

4;

);

A)3B)4C)5D)不定

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

A)整型变量表达式值B)实型变量值

C)字符串D)字符或字符型变量值

17、有一函数关系见下表:

x

y=

x<

x-1

x=0

x>

x+1

下面程序段中能正确表示上面关系的是(C)。

A)y=x+1;

B)y=x–1;

C)if(x<

=0)D)y=x;

if(x>

=0)if(x!

=0)if(x<

0)if(x<

=0)

if(x==0)if(x>

0)y=x-1;

if(x<

0)

y=x;

y=x+1;

elsey=x;

y=x–1;

elsey=x–1;

elsey=x+1;

elsey=x+1;

18、对for(表达式1;

;

表达式3)可理解为(B)

A)for(表达式1;

0;

表达式3)B)for(表达式1;

1;

表达式3)

C)for(表达式1;

表达式1;

表达式3)D)for(表达式1;

表达式3;

表达式3)

19、若i、j均为整型变量,则以下循环(D)

for(i=0,j=-1;

j=1;

i++,j++)

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

A)循环体只执行一次B)循环体一次也不执行

C)判断循环结束的条件不合法D)是无限循环

20、设j为int型变量,则下面for循环语句的执行结果是(B)

for(j=10;

j>

3;

j--)

{if(j%3)j--;

--j;

--j;

printf(“%d“,j);

A)63B)74C)62D)73

21、一个C程序的执行是从(A)。

A)本程序的main函数开始,到main函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main函数结束

22、下面四个选项中,合法的用户标识符是(D)

A)P_#$B)2haC)gotoD)_ab

23、要把整数67523赋与整型变量I,则应说明I的类型是(B)

A)intB)longC)shortD)unsigned

24、已知intI;

floatf;

正确的表达式是(D)

A)(intf)%IB)int(f)%IC)int(f%I)D)(int)f%I

25、判断char型变量c1是否为小写字母的正确表达式是(D)

A)’a’<

=c1<

=’z’B)(c1>

=a)&

(c1<

C)98<

=c1&

123>

=c1D)c1>

=’a’&

c1<

=’z’

26、执行以下语句后b的值为(B)。

inta=5,b=6,w=1,x=2,y=3,z=4;

b=(a=w>

x)&

(b=y>

z);

A)6B)0C)1D)4

27、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是(C)。

A)inta=b=c=5;

B)inta,b,c=5;

C)inta=5,b=5,c=5;

D)a=b=c=5;

28、已知:

chara;

intb;

floatc;

doubled;

执行语句c=a+b+c+d;

后,变量c的数据类型是(D)

A)int 

B)charC)floatD)double

29、已知字母A的ASCII码为65,以下程序段的输出结果是(C)

charc1=’A’,c2=’Y’;

printf(″%d,%d″,c1,c2);

A)65,90B)A,YC)65,89D)输出格式不合法

30、阅读以下程序,当输入数据的形式为:

25,13,10<

CR>

正确的输出结果为(D)。

(“CR”表示回车)

main()

{intx,y,z;

scanf(“%d%d%d”,&

x,&

y,&

z);

printf(“x+y+z=%d\n”,x+y+z);

A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值

31、以下错误的if语句是(C)

A)if(x>

y);

B)if(x==y)x+=y;

C)if(x!

=y)scanf(“%d”,&

x)elsescanf(“%d”,&

y)

D)if(x<

y){x++;

y++;

}

32、阅读以下程序:

{intx;

scanf(“%d”,&

x);

if(x--<

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

elseprintf(“%d\n”,x++);

程序运行后,如果从键盘上输入5,则输出结果是(B)

A、3B、4C、5D、6

33、若intI=10;

 执行下列程序后,变量I的正确结果是(D)

switch(I){case9:

I+=1;

case10:

case11:

default:

}

A)10B)11C)12D)13

34、C语言中while与do---while语句的主要区别是(A)

A)do---while的循环体至少无条件执行一次

B)do---while允许从外部转到循环体内

C)do---while的循环体不能是复合语句

35、以下的for循环(B)

for(x=0,y=100;

(y!

=123)&

(x<

=3);

x++);

A)执行3次B)执行4次C)循环次数不定D)是无限循环

36、执行”for(I=1;

);

”后,变量I的值为(C)

A)3B)4C)5D)不定

37、以下程序段(C)

x=-2;

do

{x=x*x;

while(!

x);

A是死循环B循环执行两次C循环执行一次D有语法错误

38、设x和y均为int型变量,则执行下面循环后,y的值为(C)。

for(y=1,x=1;

y<

=50;

y++)

{if(x==10)break;

if(x%2==1)

{x+=5;

continue;

x-=3;

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

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

main()

{intI,j,x=0;

for(I=0;

I<

I++)

{x++;

j++)

{if(j%3)continue;

x++;

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

x=4B)x=8C)x=6D)x=12

40、以下程序的输出结果(D)

{intx=10,y=10,I;

for(I=0;

8;

y=++I)

printf(“%d,%d”,x--,y);

A)10,19,2B)9,87,6C)10,99,0D)10,109,1

41、以下正确的描述是(B)。

在C语言程序中:

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

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

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

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

42、以下正确的说法是(B)。

建立函数的目的之一是:

A)提高程序的执行效率B)提高程序的可读性C)减少程序的篇幅D)减少程序文件所占内存

43、以下正确的说法是(B)。

A)用户若需调用标准库函数,调用前必须重新定义

B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C)系统根本不允许用户重新定义标准库函数

D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调

44、下列定义不正确的是(C)

A)#definePI3.141592B)#defineS354

C)intmax(intx,inty);

D)staticcharc;

45、下列程序运行结果是(A)

#defineP3

#defineS(a)P*a*a

{intar;

ar=S(3+5);

printf(“%d”,ar);

A)192B)29C)27D)25

46、以下能对二维数组a进行正确初始化的语句是(B)。

A)inta[2][]={{1,0,1},{5,2,3}}B)inta[][3]={{1,2,3},{4,5,6}}

C)inta[2][4]={{1,2,3},{4,5},{6}}D)inta[][3]={{1,0,1}{},{1,1}}

47、下列描述中不正确的是(C)

A)字符型数组中可以存放字符串

B)可以对字符型数组进行整体输入、输出

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

D)不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值

48、设有定义”inta=3,b,*p=&

a;

”,则下列语句中使b不为3的语句是(B)

A)b=*&

B)b=*a;

C)b=a;

D)b=*p;

49、若有说明:

inti,j=2,*p=&

i;

则能完成i=j赋值功能的语句是(B)

A、i=*p;

B、*p=*&

j;

C、i=&

D、i=**p;

50、C语言程序中每个语句和数据定义的最后必须有一个(A)

A分号B逗号C空格D冒号

51.设intx=1,y=1;

表达式(!

x++||y——)的值是(B)

  A.0 

B.1 

C.2 

D.-1

52.main()

  { 

intn;

  (n=6*4,n+6),n*2;

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

  } 

此程序的输出结果是(B)

  A.30 

B. 

24 

C. 

60 

D. 

48

53.若有如下定义,则(D)是对数组元素的正确的引用。

  int 

a[10],*p;

  p=a;

p=a;

  A. 

*&

a[10] 

a[11] 

*(p+10) 

D.*p

54.设整型变量n的值为2,执行语句“n+=n-=n*n;

”后,n的值是(C)

-4 

2

55.以下不能正确定义二维数组的语句是(D)

  A.inta[2][2]={{1},{2}};

B.inta[][2]={1,2,3,4};

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

D.inta[2][]={{1,2},{3,4}};

56.(C)程序段的功能是将变量u、s中的最大值赋给变量t.

if(u>

s)t=u;

t=s;

t=u;

if(t) 

t=s;

  C. 

s)t=s;

elset=u;

D. 

if(u) 

57.下列程序段的输出结果是(A) 

.

  voidmain()

intk;

  for(k=1;

k<

5;

k++〉

  { 

if(k%2!

=0)printf(“#”);

  else  printf(“*”);

  }

  A.#*#* 

B.*#*# 

## 

D.以上都不对

58.设变量定义为inta[3]={1,4,7},*p=&

a[2],则*p的值是(C) 

  A.&

a[2] 

B.4 

C.7 

D.1

59.能正确表示a和b同时为正或同时为负的逻辑表达式是(D).

  A.(a>

=0||b>

=0)&

(a<

0||b<

0) 

B.(a>

=0&

b>

0&

b<

0)

  C.(a+b>

0)&

(a+b<

=0) 

D.a*b>

60.C语言中,合法的字符型常数是(A).

  A.‘A’ 

B.“A” 

C.65 

D.A

61.设有数组定义:

chararray[]=“China”;

则数组所占的空间是(C).

  A.4个字节 

B.5个字节 

C.6个字节 

D.7个字节

62.若变量c为c

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

当前位置:首页 > 自然科学 > 物理

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

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