C语言程序设计复习题.docx

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

C语言程序设计复习题.docx

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

C语言程序设计复习题.docx

C语言程序设计复习题

《C语言程序设计》复习题

适用班级P10软件1、2班

试卷满分:

100分考试形式:

闭卷笔试考试时间:

100分钟

考试题目类型:

选择题(40分)、填空题(20分)、程序改错题(10分)和程序设计题(30)

一、选择题

1.以下叙述中正确的是(C)

A)C语言比其他语言高级

B)C语言可以不用编译就能被计算机识别执行

C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D)C语言出现的最晚,具有其他语言的一切优点

2.C语言中用于结构化程序设计的3种基本结构是(A)

A)顺序结构、选择结构、循环结构B)if,switch,break

C)for,while,do-whileD)if,for,continue

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

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

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

4.若变量已正确定义并赋值,以下符合C语言语法的表达式是(B)

A)a:

=b+1B)a=b=c+2C)int18.5%3D)a=a+7=c+b 

5.下列可用于C语言用户标识符的一组是(B)

A)voiddefineWORDB)a3_b3_123Car

C)For-abcIFCaseD)2aDOsizeof

6.若变量a,i已正确定义,且i已正确赋值,合法的语句是(B)

A)a==1B)++i;

C)a=a++=5;D)a=int(i); 

7.已知intt=0;while(t=1){...}则以下叙述正确的是(B)

A)循环控制表达式的值为0B)循环控制表达式的值为1

C)循环控制表达式不合法D)以上说法都不对

8.有如下程序

intmain()

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

switch(x){

case0:

b++;

case1:

a++;

case2:

a++;b++;}

printf("a=%d,b=%d\n",a,b);return0;}

该程序的输出结果是(A)

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

9.有以下程序

intmain()

{inti=1,j=1,k=2;

if((j++||k++)&&i++)

printf("%d,%d,%d\n",i,j,k);return0;}

执行后输出结果是(C)

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

10.有如下程序

intmain()

{intn=9;、

while(n>6){n--;printf("%d",n);}return0;}

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

A)987B)876C)8765D)9876

11.在下列选项中,没有构成死循环的是(D)

A)inti=100;

while

(1)

{i=i_0+1;

if(i>100)break;

}

B)for(;;);

C)intk=10000;

do{k++;}while(k>10000);

D)ints=36;

while(s)--s; 

12.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(D)

A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参

C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参

13.有以下程序

floatfun(intx,inty)

{return(x+y);}

intmain()

{inta=2,b=5,c=8;

printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}

程序运行后的输出结果是(B)

A)编译出错B)9

C)21D)9.0

14.若运行时给变量x输入12,则以下程序的运行结果是(C)

intmain()

{intx,y;

scanf("%d",&x);

y=x>12?

x+10:

x-12;

printf("%d\n",y);return0;}

A)0B)22C)12D)10

15.以下说法正确的是(A)

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

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

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

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

16.有以下程序

#defineF(X,Y)(X)*(Y)

intmain()

{inta=3,b=4;

printf("%d\n",F(a++,b++));return0;}

程序运行后的输出结果是(C)

A)12B)15C)16D)20

17.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序

voidsort(inta[],intn)

{inti,j,t;

for(i=0;ifor(j=i+1;jif(a[i]}

intmain()

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

sort(&aa[3],5);

for(i=0;i<10;i++)printf("%d,",aa[i]);

printf("\n");return0;}

程序运行后的输出结果是(C)

A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,

C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,

18.以下关于结构化程序设计的叙述中正确的是是(C)

A)一个结构化程序必须同时由顺序、分支、循环三种结构组成

B)结构化程序使用goto语句会很便捷

C)在C语言中,程序的模块化是利用函数实现的

D)由三种基本结构构成的程序只能解决小规模的问题

19.有以下定义:

int a;long b;double x,y;则以下选项中正确的表达式是(B)

A)a%(int)(x-y)B)a=x!

=y;C)(a*y)%bD)y=x+y=x

20.以下选项中能表示合法常量的是(D)

A)整数:

1,200B)实数:

1.5E2.0

C)字符斜杠:

‘\’D)字符串:

"\007"

21.表达式a+=a-=a=9的值是(D)

A)9B)-9C)18D)0

22.若变量已正确定义,在if(W)printf("%d\n",k);中,以下不可替代W的是(A)

A)a<>b+cB)ch=getchar()C)a==b+cD)a++

23.有以下程序

#include

intmain()

{int a=1,b=0;

if(!

a)b++;

else if(a==0)if(a)b+=2;

else b+=3;

printf(”%d\n”,b);return0;}

程序运行后的输出结果是()

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

24.有以下程序

#include

intmain(){inta=1,b=2;

while(a<6){b+=a;a+=2;b%=10;}

printf(”%d,%d\n”,a,b);return0;}

程序运行后的输出结果是()

A)5,11B)7,1C)7,11D)6,1

25.有以下程序

#include<stdio.h>

main(){inty=10;while(y--);printf(”y=%d\n”,y);}

程序执行后的输出结果是()

A)y=0B)y=-1C)y=1D)while构成无限循环

26.有以下程序

  #include<stdio.h>

  #include<string.h>

  main()

  {charx[]=”STRING”;

  x[0」=0;x[1]=’\0’;x[2」=’0’;

  printf(”%d %d\n”,sizeof(x),strlen(x));

  }

  程序运行后的输出结果是()

  A)6 1

  B)7 0

  C)6 3

  D)7 1

27.有以下程序

  #include<stdio.h>

  main()

  {chars[]=”rstuv";

  printf(”%c\n”,*s+2);

  }

  程序运行后的输出结果是()

  A)tuv

  B)字符t的ASCII码值

  C)t

  D)出错

28.有以下程序

  #include<stdio.h>

  Int  f(int x);

  main()

  {int n=1,m;

  m=f(f(f(n)));printf(”%d\n”,m);

  }

  int f(int x)

  {return x*2;}

  程序运行后的输出结果是()

  A)1

  B)2

  C)4

  D)8

29.下列定义数组的语句中,正确的是()

  A)int N=10;           B)#defineN10

  int x[N];               intx[N];

  C)int x[0..10];       D)intx[];

30.若要定义一个具有5个元素的整型数组,以下错误的定义语句是()

  A)int a[5]=﹛0﹜;

  B)int b[]={0,0,0,0,0};

  C)int c[2+3];

  D)int i=5,d[i];

31.下列选项中,能够满足“若字符串s1等于字符串s2,则执行ST"要求的是()

  A)if(strcmp(s2,s1)==0)ST;

  B)if(sl==s2)ST;

  C)if(strcpy(sl,s2)==1)ST;

  D)if(sl-s2==0)ST;

32.有以下程序

  #include<stdio.h>

  main()

  {ints,t,A=10;doubleB=6;

  s=sizeof(A);t=sizeof(B);

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

  }

  在VC6平台上编译运行,程序运行后的输出结果是()

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

33以下叙述正确的是(B)

A)C语言程序是由过程和函数组成的

B)C语言函数可以嵌套调用,例如fun(fun(x))

C)C语言函数不可以单独编译

D)C语言中除了mian函数,其他函数不可作为单独文件形式存在

34以下关于C语言的叙述中正确的是(A)

A)C语言中的注释不可以夹在变量名或关键字的中间

B)C语言中的变量可以在使用之前的任何位置进行定义

C)在C语言算术的表达式的书写中,运算符两侧的运算数类型必须一致

D)C语言的数值常量中夹带空格不影响常量值的正确表示

35以下C语言用户标识符中,不合法的是(D)

A)1B)AaBcC)abD)a-b

36若有定义:

doublea=22;inti=0k=18;,则不符合C语言规定的赋值语句是(C)

A)a=a++,i++B)i=(a+k)<=(i+k);C)i=a%11D)i=!

a;

37有以下程序

#includ

main{}

{chara,b,c,d;

scanf(〞%c%c〞,﹠a,﹠b);

c=getchar();d=getchar();

printf(〞%c%c%c%c﹨n〞,a,b,c,d);

}

当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:

回车也是一个字符)

12

34

则输出结果是(C)

A)1234B)12C)12D)12

334

38以下关于C语言数据类型使用的叙述中错误的是(D)

A)若要准确无误差的表示自然数,应使用整数类型

B)若要保存带有多位小数的数据,应使用双精度类型

C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型

D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型

39若a是数值类型,则逻辑表达式(a==1)||(a!

=1)的值是(A)

A)1B)0C)2D)不知道a的值,不能确定

40以下选项中与if(a=1)a=b;elsea++;语句功能不同的switch语句是(B)

A)switch(a)B)switch(a==1)

{case1:

a=b;break;{case0:

a=b;break;

default:

a++;case1:

a++;

}}

C)switch(a)D)switch(a==1)

{default:

a++;break;{case1:

a=b;break;

case1:

a=b;case0:

a++;

}}

41有如下嵌套的if语句(C)

if(a

if(a

elsek=c;

else

if(b

elsek=c;

以下选项中与上述if语句等价的语句是

A)k=(a

a:

b;k=(b

b:

c;

B)k=(a

((b

a:

b):

((b

b:

c);

C)k=(a

((a

a:

c):

((b

b:

c);

D)k=(a

a:

b;k=(a

a:

c;

42有以下程序

#include

main()

{inti,j,m=1;

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

{for(j=3;j>0;j﹣﹣)

{if(i*j>3)break;

m*=i*j;

}

}

printf(〞m=﹪d﹨n〞,m);

}

程序运行后的输出结果是(A)

A)m=6B)m=2C)m=4D)m=5

43有以下程序

#include

main()

{inta=1,b=2;

for(;a<8;a++){b+=a;a+=2;}

printf(〞﹪d,﹪d﹨n〞,a,b);

}

程序运行后的输出结果是(D)

A)9,18B)8,11C)7,11D)10,14

44有以下程序,其中K的初值为八进位数

#include

main()

{intk=011;

printf(〞﹪d﹨n〞,k++);

}

程序运行后的输出结果是(D)

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

45以下关于return语句的叙述中正确的是(B)

A)一个自定义函数中必须有一条return语句

B)一个自定义函数中可以根据不同情况设置多条return语句

C)定义成void类型的函数中可以有带返回值的return语句

D)没有return语句的自定义函数在执行结束时不能返回到调用处

46下列选项中,能正确定义数组的语句是(D)

A)intnum[0..2008];B)intnum[];

C)intN=2008;D)#defineN2008

Intnum[N];intnum[N];

47有以下程序

#include

main()

{inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;

for(i=0;i<5;i++)s=s+a[b[i]];

printf(〝%d\n〞,s);

}

程序运行后的输出结果是(C)

A)6B)10C)11D)15

48有以下程序

#include

main()

{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;

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

for(j=I;j

printf(〝%d\n〞,t);

}

程序运行后的输出结果是(C)

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

49有以下程序

#include

Intf(intt[],intn);

main()

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

s=f(a,4);printf(〝%d\n〞,s);

}

intf(intt[],intn)

{if(n>0)returnt[n-1]+f(t,n-1);

elsereturn0;

}

程序运行后的输出结果是(B)

A)4B)10C)14D)6

50有以下程序

#include

Intfun()

{staticintx=1;

x*=2;returnx;

}

main()

{inti,s=1;

for(i=1;i<=2;i++)s=fun();

printf(〝%d\n〞,s);

}

程序运行后的输出结果是(C)

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

51有以下程序

#include

#defineSUB(a)(a)-(a)

main()

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

d=SUB(a+b)*c;

printf(〝%d\n〞,d);

}

程序运行后的输出结果是(B)

A)0B)-12C)-20D)10

52设有定义:

structcomplex

{intreal,unreal;}datal={1,8},data2;

则以下赋值语句错误的是(B)

A)data2=data1;B)data2=(2,6);

C)data2.real=dat1.real;D)data2.real=datal.unreal;

53.C语言程序的基本单位是____

A)程序行B)语句C)函数D)字符C、1

54.C语言程序的三种基本结构是____

A、顺序结构,选择结构,循环结构

B、递归结构,循环结构,转移结构

C、嵌套结构,递归结构,顺序结构

D、循环结构,转移结构,顺序结构A、1

55.C语言规定,程序中各函数之间

A)既允许直接递归调用也允许间接递归调用

B)不允许直接递归调用也不允许间接递归调用

C)允许直接递归调用不允许间接递归调用

D)不允许直接递归调用允许间接递归调用A、1

56.C语言中可处理的文件类型是()

A)文本文件和数据文件

B)文本文件和二进制文件

C)数据文件和二进制文件

D)数据代码文件、B、1

57.C语言可执行程序的开始执行点是()

A)程序中第一条可执行语句

B)程序中第一个函数

C)程序中的main函数

D)包含文件中的第一个函数、C、1

58.C语言提供的合法的数据类型关键字是

A)doubleB)shortC)integerD)char、B、1

59.C语言中,运算对象必须是整型数的运算符是

A)%B)\C)%和\D)**、A、1

60.C语言中函数返回值的类型是由()决定。

A)return语句中的表达式类型

B)调用函数的主调函数类型

C)调用函数时临时

D)定义函数时所指定的函数类型、D、1

61C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为_____。

A、该数组的长度。

B、该数组的元素个数。

C、该数组中各元素的值。

D、该数组的首地址。

、D、1

62.C语言中数组下标的下限是________。

A、1B、0C、视具体情况D、无固定下限、B、1

63.C语言中提供的合法关键字是____

A、swithB、cherC、caseD、default、D、1

64.sizeof(float)是()

A)一种函数调用B)一个不合法的表示形式C)一个整型表达式D)一个浮点表达式、C、1

65.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是

A)inputx,y,z;B)scanf("%d%d%d",&x,&y,&z);

C)scanf("%d%d%d",x,y,z);D)read("%d%d%d",&x,&y,&z);、B、1

66.表达式:

10!

=9的值是

A)trueB)非零值C)0D)1、D、1

67.表示关系x<=y<=z的c语言表达式为

A)(X<=Y)&&(Y<=Z)B)(X<=Y)AND(Y<=Z)C)(X<=Y<=Z)D)(X<=Y)&(Y<=Z)、A、1

68.程序片段:

在TC20中,inti=65536;printf("%d\n",i);的输出结果是____

A)65536B)0C)有语法错误,无输出结果D)-1、B、1

69.当调用函数时,实参是一个数组名,则向函数传送的是____

A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值、B、1

70.对嵌套子程序调用说法正确的是____。

A、外层子程序可以调用所有的内层子程序

B、内层了程序只可以调用包含本身的外层子程序,不可以隔层调用

C、外分程序必须能完全套住内分程序

D、以上说法均不正确、C、1

71.请选出合法的C语言赋值语句

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

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

A)-3B)9C)-12D)6、C、1

二、填空题

1.算法的基本特征是【有穷性】、【确定性】、【有零个或多个输入】、【有一个或多个输出】和【有效性】。

2.下列程序的输出结果是【Hello】。

main(){charb[]="Helloyou";b[5]='\0';printf("%s\n",b);}

3.以下程序的输出结果是【16】。

main(){

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

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

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

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