C语言程序设计期末复习.docx

上传人:b****6 文档编号:7837183 上传时间:2023-01-26 格式:DOCX 页数:28 大小:23.43KB
下载 相关 举报
C语言程序设计期末复习.docx_第1页
第1页 / 共28页
C语言程序设计期末复习.docx_第2页
第2页 / 共28页
C语言程序设计期末复习.docx_第3页
第3页 / 共28页
C语言程序设计期末复习.docx_第4页
第4页 / 共28页
C语言程序设计期末复习.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

C语言程序设计期末复习.docx

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

C语言程序设计期末复习.docx

C语言程序设计期末复习

2011年C语言程序设计期末复习

一、选择题(每题3分)

1.以下说法正确的是(C)。

A)C语言程序总是从第一个定义的函数开始的。

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

C)C语言程序总是从main()开始执行的。

D)C语言程序中的main()函数必须放在程序的开始处。

2.在C语言中,合法的字符常量是(B)。

A)’\084’B)‘\x43’C)‘ab’D)“\0”

3.设有如下定义:

intx=10,y=3,z;

则语句:

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

的输出结果是(D)。

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

4.选出合法的C语言赋值语句(B)。

A)a=b=58B)i++;C)a=58,b=58D)k=int(a+b)

5.在下列选项中,不正确的赋值语句是(D)。

A)++t;B)n1=(n2=(n3=0));C)k=j==j;D)a=b+c=1;

6.设a=5,b=6,c=7,d=8,m=2,n=2,执行“(m=a>b)&&(n=c>d)”后n的值(B)。

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

7.阅读程序:

main()

{

intx=1,y=0,a=0,b=0;

switch(x)

{

case1:

switch(y)

{

case0:

a++;break;

case1:

b++;break;

}

case2;a++;b++;break;

}

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

}

上面程序的输出结果是(A)。

A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2

8.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为(B)。

if(a>b)x=1;

elseif(c>d)x=2;

elsex=3;

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

9.设有语句“intx=1,y=1;”,则表达式(!

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

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

10.下面程序段运行后的输出结果是(B)。

chars[18]=”abook!

”;

printf(“%.4s”,s);

A)abook!

B)aboC)ook!

D)格式描述不正确,没有确定输出

11.下面程序运行后的输出结果是(A)。

main()

{

intn[2],i,j,k;

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

k=2;

for(i=0;i

for(j=0;j

n[j]=n[i]+1;

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

}

A)不确定的值B)3C)2D)1

12.C语言规定,程序中各函数之间(A)。

A)既允许直接调递归用,也允许间接递归调用B)既不允许直接调递归用,也不允许间接递归调用C)允许直接调递归用,不允许间接递归调用D)不允许直接调递归用,允许间接递归调用

13.下面程序运行后的输出结果是(C)。

intabc(intu,intv)

main()

{

inta=24,b=16,c;

c=abc(a,b);

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

}

intabc(intu,intv)

{

intw;

while(v)

{

w=u%v;u=v;v=w;

}

returnu;

}

A)6B)7C)8D)9

14.定义如下变量:

intn=10;

则下列循环的结果是(B)。

while(n>7)

{

n--;

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

}

A)10B)9C)10D)9

9898

8787

76

15.C语言规定,在一个源程序中,main()的位置(C)。

A)必须在开始。

B)必须在系统调用的库函数的后面。

C)可以任意。

D)必须在最后。

16.下面程序段的输出结果是(B)。

inti=010,j=10;

Printf(“%d,%d\n”,++i,j--);

A)11,10B)9,10C)010,9D)11,9

17.合法的语言字符常量是(A)。

A)‘\t’B)“A”C)65D)A

18.阅读程序:

main()

{

inta;floatbc;

scanf(“%2d%d3f%4f”,&a,&b,&c);

printf(“\na=%d,b=%f,c=%f“,a,b,c);

}

若运行时,从键盘输入(回车),则程序的输出的结果是(B)。

A)a=98,b=765,c=4321B)a=98,b=765.,c=4321.

C)a=98,b=765.0,c=4321.0D)a=98.0,b=765.0,c=4321.0

19.若有以下语句:

charc1=’b’,c2=’e’;

printf(“%d,%c\n“,c2-c1,c2-‘a’+’A’);

则输出结果是(B)。

A)2,MB)3,EC)2,ED)输出结果不确定

20.若k是int型变量,且有下面程序段,其输出结果是(A)。

K=-3;

if(k<=0)printf(“####”);

Elseprintf(“&&&&“);

A)####B)&&&&C)####&&&&D)有语法错误,无法输出。

21.下面程序的输出结果(C)。

main()

{

inta=-1,b=4,k;

k=(a++<=0)&&(!

(b--<=0));

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

}

A)003B)012C)103D)112

22.当c的值不为0时,在下列选项中,能正确将c的值赋给变量a、b的是(C)。

A)c=b=a;B)(a=c)||(b=c);C)(a=c)&&(b=c);D)a=c=b;

23.设a、b、c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是(D)。

A)‘a’&&’b’B)a<=bC)a||b+c&&b-cD)!

((a

c||1)

24.下面程序段运行后的输出结果是(D)。

chars[12]=”abook”;

printf(“%d”,strlen(s));

1.12B)8C)7D)6

25.定义如下变量和数组:

inti,x[3][3]={1,2,3,4,5,6,7,8,9};

则下列语句的输出结果是(C)。

for(i=0;i<3i++)printf(“%d”,x[i][2-i]);

A)159B)147C)357D)369

26.下面程序运行后的输出结果是(B)。

f(intb[],intn)

{

inti,r;

r=1;

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

r=r*b[i];

returnr;

}

main()

{

intx,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

printf(“%d”,x);

}

A)720B)120C)24D)6

27.在一个C源程序文件中,如果定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量要使用的存储类型为(D)。

A)externB)registerC)autoD)static

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

for(j=10;j>3;j--)

{

if(j%3)j--;

--j;--j;

printf(“%d‘,j);

}

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

29.下面程序运行后的输出结果是(A)。

chars[]=”ABCD”;

main()

{

char*p;

for(p=s;p

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

}

A)ABCDB)AC)DD)ABCD

BCDBCABC

CDCBAB

DDAA

30.选出可用于C语言用户标示符的以组一组标示符(B)。

1.voidDefineWord

2.a3_b3_123iF

3.For-abcCase

4.2aDosizeof

31.已知在ASCii代码中,字母A的序号是65,以下程序输出结果是(D)。

main()

{

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

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

}

A)输出格式非法,输出错误信息B)65,90C)A,YD)65,89

32.若已定义x和y为double类型,则表达式“x=1,y=x+3/2”的值是(C)。

A)1B)2C)2.0D)2.5

33.已知字母A的ASCII码为十进制的65,下面程序的输出结果是(A)。

main()

{

charch1,ch2;

ch1=’A’+’5’-‘3’;

ch2=’A’+’6’-‘3’;

printf(“%d.%dc\n”,ch1,ch2);

}

A)67,DB)B,CC)C,DD)不确定的值

34.下列可作为C语言赋值语句的是(C)。

A)x=3,y=5B)a=b=6C)i--;D)y=int(x);

35.设A、B和C都是int型变量,且A=3,B=4,C=5,则下面表达式中值为0的表达式是(D)。

A)‘A’&&’B’B)A<=BC)A||B+C&&BD)!

((A

C||1)

36.为表示关系x≥y≥z,应使用C语言表达式(A)。

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)C)(x>=y>=z)D)(x>=y)&(y>=z)

37.设有语句“intx=1,y=1;”,则表达式(!

x||y--)的值是(B)。

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

38.C语言中,运算对象必须是整型的运算符是(C)。

A)&&B)/C)%D)*

39.下面程序段运行后的输出结果是(C)。

chars[12]=”ab\n\\012\\\””;

printf(“%d”,strlen(s));

A)14B)7C)9D)10

40.若有下列说明:

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc=’a’,d,g;

则数值为4的表达式是(D)。

A)a[g-c]B)a[4]C)a[‘d’-‘c’]D)a[‘d’-c]

41.下面程序运行后的输出结果是(D)。

f(inta)

{

intb=0;staticintc=3;

a=c++;b++;

return(a);

}

main()

{

inta=2,i,k;

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

k=f(a++);

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

}

A)3B)0C)5D)4

42.执行下面程序段的结果是(B)。

intx=23;

do

{

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

}while(!

x);

A)打印出321B)打印出23C)不打印任何内容D)陷入死循环

43.执行下面语句后,变量i的值是(C)。

for(i=1;i++<4;);

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

44.下面程序运行后的输出结果是(C)。

#include

main()

{

char*p1=”abc”,*p2=”ABC”,str[50]=”xyz”;

strcpy(str+2,strcat(p1,p2));

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

}

A)xyzabcABCB)zabcABCC)xyabcABCD)yzabcABC

45.C语言中,最简单的数据类型包括(B)。

A)整型、实型、逻辑型

B)整型、实型、字符型

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

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

46.若x和y都是int型变量,x=100,y=200,且有以下程序段:

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

则,输出结果是(A)。

A)200B)100C)100,200D)输出格式不够,输出不确定的值

47.3.若t为double类型,表达式“t=1,t+5,t++”的值是(D)。

A)1B)6.0C)2.0D)1.0

48.设有如下定义:

intx=10,y=3,z;

则语句:

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

的输出结果是(D)。

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

49.执行下面程序后,b的值为(B)。

intx=25,b;

charz=’A’;

b=((x&&15)&&(z<’a’));

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

50.阅读程序:

main()

{

floatx,y;

scanf(“%f”,&x);

if(x<0.0)y=0.0;

elseif((x<5.0)&&(x!

=2.0))

y=1.0/(x+2.0);

elseif(x>10.0)y=1.0/x;

elsey=10.0;

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

}

若运行时从键盘上输入2.0(回车),则上面程序的输出结果是(D)。

A)0.B)0.C)0.D)10.

51.在下面的运算符中,优先级最高的运算符是(C)。

A)<=B)=C)%D)&&

52.设a=1,b=2,c=3,d=4,则表达式“a

a:

c

a:

d”的结果为(D)。

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

53.下面程序的运行结果是(D)。

main()

{

inta[8]={0},i,j,k=8;

for(i=0;i

for(j=0;j

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

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

}

A)6B)7C)8D)不确定的值

54.下面程序运行后的输出结果是(D)。

main()

{

chara[7]=”abcdef”;

charb[4]=”ABC”;

strcpy(a,b);

printf(“%c”,a[5]);

}

A)空格B)\0C)eD)f

55.C语言中,形参的缺省存储类型是(A)。

A)自动(auto)B)静态(static)C)寄存器(register)D)外部(extern)

56.下面程序运行后的输出结果是(B)。

Voidfun(inta,intb,intc)

{

a=456;b=567;c=678;

}

main()

{

intx=10,y=20,z=30;

fun(x,y,z);

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

}

A)30,20,10B)10,20,30C)456,567,678D)678,567,456

57.阅读下面程序:

#include

main()

{

floatx,y,z;

scanf(“%f%f”,&x,&y);

z=x/y;

while

(1)

{

if(fabs(z)>1.0)

{

x=y;y=z;z=x/y;

}

elsebreak;

}

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

}

若从键盘输入3.6和2.4并回车,则输出结果是(B)。

A)1.B)1.C)2.D)2.

58.下面程序的输出结果是(D)。

main()

{

intx=10,y=10,i;

for(i=0;x>8;y=++i)

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

}

A)10192B)9876C)10990D)101091

59.下面程序运行后的输出结果是(B)。

main()

{

char*alpha[6]={“ABCD”,“EFGH”,“IJKL”,“MNOP”,“QRST”,“UVWX”};

char**p;

inti;

p=alpha;

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

printf(“%s”,p[i]);

printf(“\n”);

}

A)ABCDEFGHIJKLB)ABCDEFGHIJKLMNOPC)ABCDD)AEIM

60.合法的C语言字符常量是(A)。

A)'\t'B)"A"

C)65D)A

1.

61.若有以下说明语句

inta=5;a++;

a++的值是(C)。

A)7B)6

C)5D)4

62.若t为double类型,表达式“t=1,t+5,t++”的值是(D)。

A)1B)6.0C)2.0D)1.0

63.设a为整型变量,不能正确表达数学关系10

A)10

C)a>10&&a<15D)!

(a<=10)&&!

(a>=15)

64.已知字母A的ASCii码为十进制的65,下面程序的输出结果是(A)。

#include"stdio.h"

main()

{charch1,ch2;

ch1='A'+'5'-'3';

ch2='A'+'6'-'3';

printf("%d,%c\n",ch1,ch2);}

A)67,DB)B,CC)C,DD)不确定的值

 

65.阅读程序:

main()

{

floatx,y;

scanf(“%f”,&x);

if(x<0.0)y=0.0;

elseif((x<5.0)&&(x!

=2.0))

y=1.0/(x+2.0);

elseif(x>10.0)y=1.0/x;

elsey=10.0;

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

}

若运行时从键盘上输入2.0(回车),则上面程序的输出结果是(D)。

A)0.B)0.C)0.D)10.

66.在下面的运算符中,优先级最高的运算符是(C)。

A)<=B)=C)%D)&&

67.设a=1,b=2,c=3,d=4,则表达式“a

a:

c

a:

d”的结果为(D)。

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

68.下面程序的运行结果是(D)。

main()

{

inta[8]={0},i,j,k=8;

for(i=0;i

for(j=0;j

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

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

}

A)6B)7C)8D)不确定的值

69.下面程序运行后的输出结果是(D)。

main()

{

chara[7]=”abcdef”;

charb[4]=”ABC”;

strcpy(a,b);

printf(“%c”,a[5]);

}

A)空格B)\0C)eD)f

70.C语言中,形参的缺省存储类型是(A)。

A)自动(auto)B)静态(static)C)寄存器(register)D)外部(extern)

71.下面程序运行后的输出结果是(B)。

Voidfun(inta,intb,intc)

{

a=456;b=567;c=678;

}

main()

{

intx=10,y=20,z=30;

fun(x,y,z);

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

}

A)30,20,10B)10,20,30C)456,567,678D)678,567,456

72.阅读下面程序:

#include

main()

{

floatx,y,z;

scanf(“%f%f”,&x,&y);

z=x/y;

while

(1)

{

if(fabs(z)>1.0)

{

x=y;y=z;z=x/y;

}

elsebreak;

}

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

}

若从键盘输入3.6和2.4并回车,则输出结果是(B)。

A)1.B)1.C)2.D)2.

73.下面程序的输出结果是(D)。

main()

{

intx=10,y=10,i;

for(i=0;x>8;y=++i)

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

}

A)10192B)9876C)10990D)101091

74.下面程序运行后的输出结果是(B)。

main()

{

char*alpha[6]={“ABCD”,“EFGH”,“IJKL”,“MNOP”,“QRST”,“UVWX”};

char**p;

inti;

p=alpha;

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

printf(“%s”,p[i]);

printf(“\n”);

}

A)ABCDEFGHIJKLB)ABCDEFGHIJKLMNOPC)ABCDD)AEIM

75.当a=1,b=3,c=5,d

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

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

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

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