C语言(答案-编辑时间2013.6.11).doc

上传人:wj 文档编号:234661 上传时间:2023-04-28 格式:DOC 页数:25 大小:124.50KB
下载 相关 举报
C语言(答案-编辑时间2013.6.11).doc_第1页
第1页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第2页
第2页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第3页
第3页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第4页
第4页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第5页
第5页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第6页
第6页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第7页
第7页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第8页
第8页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第9页
第9页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第10页
第10页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第11页
第11页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第12页
第12页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第13页
第13页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第14页
第14页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第15页
第15页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第16页
第16页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第17页
第17页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第18页
第18页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第19页
第19页 / 共25页
C语言(答案-编辑时间2013.6.11).doc_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言(答案-编辑时间2013.6.11).doc

《C语言(答案-编辑时间2013.6.11).doc》由会员分享,可在线阅读,更多相关《C语言(答案-编辑时间2013.6.11).doc(25页珍藏版)》请在冰点文库上搜索。

C语言(答案-编辑时间2013.6.11).doc

C语言程序设计复习资料

一、填空题

1、C语言程序是函数构成的,其中有且只有1个主函数,程序的的执行总是从该函数开始。

2、用条件运算符写出求两个整数x,y中大数的表达式z=x>y?

x:

y。

3、定义一个符号常量PI,其值为3.1415926,格式是#definePI3.1415926。

4、设整型变量X=5,Y=6,Z=7,执行X%=Y+Z后,X=5。

5、执行语句“for(j=15;j>=5;j--);”后,变量j的值为4。

6、在一个函数中有定义inta=60,*p=&a;执行*p=*p+15;后,a的值为75。

7、结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构。

8、定义一个长度为100的整形一维数组a,且前5个元素的初值为3,6,9,12,15,定义的格式为:

inta[100]={3,6,9,12,15}。

9、写出表达式25>15&&65<25||88>75的值1。

10、函数的传值调用中,实际参数把它的值传递给形式参数。

11、表达式(int)(20+2.5*3+6+5.3)的值是38。

12、若有以下定义:

chara;intb;floatc;doubled;则表达式a*b+d-c的值的类型是double。

13、写出表达式66>65&&65<85||85>95的值1。

14、在C语言中,允许在程序中用typedef来定义新的类型名代替已有的类型名,例如   typedefintINTEGER; 。

15、C语言采用编译方式将源程序转换为二进制的目标代码,编写好一个C程序到完成运行一般经过以下几个步骤:

编辑、编译、连接、执行;

16、C程序是由函数组成的,一般情况下函数体由说明部分和执行部分组成,其中说明部分的作用是确定调用形式;

17、表达式m=a>b?

a+b:

b+5当a=15,b=11时,m的值为:

26;

18、函数的传值调用中,实际参数把它的值传递给形式参数;

19、写出表达式1<4&&7<5的值0;

20、在C语言中,字符串是用双引号引起来的一串字符。

在机器中,字符串"ABcdEFg\n"需占用  8   字节的内存空间;

21、结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构;

22、定义一个长度为2行3列的整形二维数组a,元素的初值为6,12,18,24,30,36定义的格式为:

inta[2][3]={6,12,18,24,30,36};

23、表达式(int)(5.5*3+11+5.5)的值是33;

二、选择题:

1.下列各组字符序列中,可用作C语言程序标识符的一组字符序列上(D )。

(A)M.b,sum,average,_above(B)class,day,lotus_1,2day

(C)#md,&12x,month,student_n1(d)D56,r_1_2,name,st_1

2.下列变量说明语句中,正确的是( D)。

(A)char:

abc;(B)chara;b;c;

(C)intx;y;(D)intx,y;

3.设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为(A)。

(A)2.5(B)7

(C)4.7(D)2.75

4.下列语句中,不正确的( D)。

A、staticinta[2][3]={1,2,3,4,5,6};

B、staticinta[2][3]={{1},{4,5}};

C、staticinta[][3]={{1},{4}};

D、staticinta[][]={{1,2,3},{4,5,6}};

5.下列定义数组的语句中正确的是(A)。

(A)#definesize10(B)charstr[];

charstr1[size],str2[size+2];

(C)intnum[‘10’];(D)intn=5;

inta[n][n+2];

6.以下程序的输出结果是(D )。

#include

main()

{ inti,j,k,a=3,b=2;

i=(--a==b++)?

--a;++b;

j=a++;k=b;

Printf(“i=%d,j=%d,k=%d\n”,i,j,k);

}

(A)i=2,j=1,k=3(B)i=i,j=1,k=2

(C)i=4,j=2,k=4(D)i=1,j=1,k=3

7.一个C语言的源程序中( C )。

(A)必须有主函数和其它函数(B)可以有多个主函数

(C)必须有一个主函数(D)可以没有主函数

8.写出程序的运行结果( A )。

main()

{ intn;

for(n=1;n<=10;n++)

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

printf("%d",n);

}

}

(A)12457810(B)369

(C)12(D)12345678910

9.若输入ab,程序运行结果为( C )。

main()

{ staticchara[2];

scanf("%s",a);

printf("%c,%c",a[1],a[2]);

}

(A)a,b(B)a,

(C)b,(D)程序出错

10.下列函数定义不正确的有( A )。

intmax()(B)intmax(x,y)

{intx,y,z;intx,y;

z=x>y?

x:

y;{intz;

}z=x>y?

x:

y;

(C)intmax(x,y)return(z);

{intx,y,z;}

z=x>y?

x:

y;(D)intmax()

return(z);{}

}

11. 在函数内,定义变量时存储类型符可省略的是 (A  )

  A. auto  B. static  C. extern  D. register

12. 下列表达式的值为0的是 ( C)

  A. 3﹪5  B. 3/5.0  C. 3/5  D. 3<5

13. 正确的C语言用户自定义标识符是 ( A )

  A. print  B. float  C. when?

  D. random﹪2

14. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是 (C )

  A. 0和2  B. 0和3  C. 1和2  D. 1和3

15. 设 char x =′a′;则printf(″x = ﹪c, y = ﹪c \ n″,x,97);的输出是(D )

  A. x = a,y = 97  B. x = 97,y = a

  C. x = 97,y = 97  D. x = a,y = a

16.设char str[100];int i = 5;则引用数组元素的错误形式是 (D )

  A. str[i + 10]  B. (str + i)  C. (str + i - 1)  D. ((str + + ) + i)

17.执行下列程序

  int a[3][3]={{1},{2},{3}};

  int b[3][3]={1,2,3};

  main()

  {printf(″﹪d \ n″,a[1][0] + b[0][0]);}

  后输出的结果是 ( D )

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

18.执行下列程序

  int a = 3, b = 4;

  void fun(int x1, int x2)

{printf(″﹪d, ﹪d \ n″, x1 + x2, b);}

  main()

  {int a = 5, b = 6;fun(a, b);}

  后输出的结果是 ( C )

  A. 3,4  B. 11,1  C. 11,4  D. 11,6

19.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf("i=%d,f=%f",&i,,&f);

为了把100和765.12分别赋给i和f,则正确的输入为(B)

A)100765.12B)i=100,f=765.12C)100765.12D)x=100y=765.12

20.设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

21为表示关系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)

22设有如下定义:

intx=10,y=3,z;

则语句

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

的输出结果是__D__________

A)1B)0

C)4D)3

23以下程序的输出结果是___D_____

main()

{intx=10,y=10;

printf("%d%d\n",x--,--y);

}

A)1010B)99

C)910D)109

24定义如下变题和数组:

inti;

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

则下面语句的输出结果是__C_________

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

A)159B)147

C)357D)369

25若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为D

A)a<>0B)!

a

C)a=0D)a

26以下说法中正确的是C

A)C语言程序总是从第一个的函数开始执行

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

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

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

27执行下面的程序后,a的值为_B__

main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1)

{b+=3;

continue;

}b-=5;

}}

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

28能正确表示a和b同时为正或同时为负的逻辑表达式是_B_____

A、(a>=0||b>=0)&&(a<0||b<0)

B、(a>=0&&b>=0)&&(a<0&&b<0)

C、(a+b>0)&&(a+b<=0)

D、a*b>0

29定义如下变量:

intn=10;

则下列循环的输出结果是D

while(n>7)

{n--;

printf("%d",n);

}

A)10987B)9876C)1098D)987

30两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是_____A_______

main()

{intx;

scanf("%d",&x);

if(x++〉5)printf("%d",x);

elseprintf("%d\n",x--);

}

A)7和5B)6和3C)7和4D)6和4

31C语言中运算对象必须是整型的运算符是__A____

A)%=B)/C)=D)〈=

31若有以下程序段,

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是__A____

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

32能正确表示逻辑关系:

“a≥10或a≤0”的C语言表达式是___D___

A)a>=10ora<=0B)a>=0|a<=10C)a>=10&&a<=0D)a>=10‖a<=0

32有如下程序

main0

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

switch(x){

case0:

b++;

case1:

a++

case2:

a++;b++

}

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

33阅读下列程序:

main()

{intn[3],i,j,k;

for(i=0;i〈3;i++)

n[i]=0;

k=2;

for(i=0;i〈k;i++)

for(j=0;j〈k;j++)

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

printf("%d\n",n[1]);

上述程序运行后输出结果是___D__________

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

34在函数内,定义变量时存储类型符可省略的是 ___A_____

  A. auto

  B. static

  C. extern

  D. register

35下列程序的输出结果是_____C______________

main()

{inta[5]={2,4,6,8,10},*P,**k;

p=a;

k=&p;

printf("%d",*(p++));

printf("%d\n",**k);

}

A)44B)22C)24D)46

36以下程序的输出结果是__C____

main()

{inti;

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

  switch(i){

  case0:

printf("%d",i);

  case2:

printf("%d",i);

  default:

printf("%d",i);

  }  }

022111B)021021C)000122D)012

37以下程序的输出结果是__A_______

  main()

  {inta=3,b=4,c=5,d=2;

  if(a>b)

  if(b>c)

  printf("%d",d+++1);

  else

  printf("%d",++d+1);

  printf("%d\n",d);

  }

  A)2B)3C)43D)44

38执行下列程序

  int a = 3, b = 4;

  void fun(int x1, int x2)

  {printf(″﹪d, ﹪d \ n″, x1 + x2, b);}

main()

  {int a = 5, b = 6;fun(a, b);}

  后输出的结果是___C______

  A. 3,4  B. 11,1  C. 11,4  D. 11,6

39.下列标识符中,合法的标识符是( C )

A、123abc B、-123abc C、_123abc D、do

40.C语言源程序文件的扩展名是( D )

A、.com B、.obj C、.exe D、.c

41.在C语言中,不合法的int型常量是( D )

A、32767 B、0678 C、0XABC D、32768L

42.设有语句chara=`\72`;则变量( A )

包含1个字符 B、包含2个字符 C、包含3个字符 D、包含4个字符

43.以下所列语句中,合法的语句是( B)

A、a=1,b=2 B、++a; C、a=a+1=5; D、y=int(a);

44.若有定义:

inta=10,b=9,c=8;执行下面两条语句c=(a-=(b-5));c=(a%11)+(b=3);后,变量b的值为( A )

A、9 B、4 C、3 D、2

45.设x,y,z和k都是int型变量,则执行表达式:

x=(y=4,z=16,k=32)后,x的值为( B )

A、52 B、32 C、16 D、4

46.假设已说明I为整型变量,f为单精度实型变量,d为双精度实型变量,则表达式10+'a'+I*f-d最后所得值的数据类型为( D )

A、字符型 B、整型 C、单精度实型 D、双精度实型

47.设x为int型变量,则执行以下语句后,x的值为( B  )

 x=10;x+=x-=x-x;

A、10 B、20 C、30 D、40

48.已知inti=1,j;执行语句j=-i++;后,i和j的值分别为( C )

A、1,1 B、1,-1 C、2,-1 D、2,-2

49.若有定义:

inta,b;使用语句scanf("%d,%d",&a,&b);给变量a,b分别赋值10和20,则

正确的输入格式为( A )

A、10,20 B、10 20 C、10<回车>20 D、a=10,b=10

50.设x,y,t均为int型变量,则执行语句:

x=y=3;t=++x||--y;后y的值为( B )

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

51.以下关于if语句的错误描述是( B)

条件表达式可以是任意的表达式

条件表达式只能是关系表达式或逻辑表达式

条件表达式的括号不可以省略

与else配对的if语句是其之前最近的未配对的if语句

52.以下程序的输出结果是(B)

 main()

{intm=5;

if(m++>5)printf("%d\n",m);

elseprintf("%d\n",m--);

}

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

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

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

54.使条件表达式(year%4==0&&year%100!

=0)||(year%400==0)结果为假的值是( A)

A、1950 B、2000 C、1996 D、2004

55.当执行以下程序段时(A )

 x=-1;

 do

{x=x*x;} while(!

x);

A、循环体将执行一次 B、循环体将执行两次

C、循环体将执行无限次 D、系统将提示有语法错误

56.已知有语句:

for(x=0,y=0;(y!

=123)&&(x<4);x++);则此for循环( C)

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

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

main()

{inta=5,b=4,c=6,d;

printf("%d\n",d=a>b?

(a>c?

a:

c):

(b));

}

A、6 B、5 C、4 D、不确定

58.以下程序段循环体的执行次数是(B )

 main()

{inti,j;

 for(i=0,j=1;i<=j+1;i+=2,j--)

printf("%d\n",i);

}

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

三.判断题

1、C语言中,变量名只能是小写字母表示,符号常量名可用大写表示 ( 错)

2、在C语言中,变量可以不要定义,直接使用 ( 错 )

3、一个C语言程序总是从主函数开始执行的     ( 对 )

4、注释语句必须用/*和*/括起来,且只能位于某一语句的后面    ( 错 )

5、"a"和'a'均是占用1个字节的内存空间 ( 错 )

6、在C语言中,逻辑“真”等价于不等于0的数 ( 对 )

7、在与switch语句配套的case语句中所使用的表达式可以是变量或常量( 错 )

8、执行以下程序段:

intx;floaty;y=(float)x;后变量x的类型不变 ( 对 )

9、数学公式“|x2+y|”改写成C语言表达式为“|x*x+y|” ( 错 )

10.在循环结构中可用break语句强行从循环中退出 ( 对 )

四、程序阅读题

1、main()

{intx,y=25;

x=-5+5*5+y;

printf("x=%dy=%d\n",x,y);

x=10+2*3-7;

y=y+10+2*3;

printf

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

当前位置:首页 > 经管营销 > 经济市场

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

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