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

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

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

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

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

C语言程序设计复习题

C语言程序设计复习题

一、选择题

1、C语言中运算对象必须是整型的运算符是()。

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

2、已定义c为字符型变量,则下列语句中正确的是()。

A、c='97';B、c="97";C、c=97;D、c="a";

3、表达式1,3,5,7的值为()。

A、7B、5C、3D、1

4、一个C程序的执行是从(  )

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

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

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

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

5、C语言规定,在一个源程序中,main函数的位置(  )

A.必须在最开始B.必须在系统调用的库函数的后面

C.可以任意D.必须在最后

6、算法的表示方法有()。

A.自然语言,传统流程图,N-S流程图,伪代码,计算机语言

B.高级语言,汇编语言,机器语言

C.C语言,QBASIC语言,InterDev

D.图形图像法,描述法,编程法

7、以下选项中不属于C语言的类型的是()

A.signedshortintB.unsignedlongint

C.unsignedintD.longshort

8、在C语言中,合法的字符常量是().

A.'\084' B.'\x43'C.'ab' D.″\0″

9、C语言提供的合法的数据类型关键字是:

()

A.DoubleB.shortC.integerD.Char

10、下列标识中合法的用户标识符为____.

A.yearB.longC.7xyzD.struct

11、若有说明语句:

charc='\72';则变量c().

A.包含1个字符B.包含2个字符

C.包含3个字符D.说明不合法,c的值不确定

12、C语言提供的合法的关键字是(  )

 A.swicthB.cherC.Case  D.default

13、若有定义:

inta=8,b=5,C;,执行语句C=a/b+0.4;后,c的值为().

A.1.4B.1C.2.0D.2

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

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

A.不定值B.4C.3D.1

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

main()

{inta=-1,b=4,k;

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

(b--<=0);

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

}

A.104B.103C.003D.004

16、已知:

chara;intb;floatc;doubled;

则表达式2+a+9*b*5*c-5*d的结果是____。

(A)

A.doubleB.intC.floatD.char

17、以下运算符中优先级最低的是(C).

A.&&B.&C.||D.|

18、设正x、y均为整型变量,且x=10y=3,则以下语句的输出结果是

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

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

19、以下程序的输出结果是(D).

main()

 { intx=10,y=10;

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

A.10,10  B.9,9C.9,10D.10,9

20、已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!

y)的值是(C).

A.0B.语法错C.1D.“假”

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、在C语言中,逻辑值"真"用(D )表示.

A.TRUEB.大于0的数C.非0的整数D.非0的数

23、以下程序输出结果是().

 main( )

 {intm=5;

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

 else printf("%d\n",m--);

 }

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

24、请读程序:

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=0

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

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

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

26、下面的程序(D )。

 #include

 main()

 {intx=3,y=0,z=0;

 if(x=y+z)printf(”****”);

 elseprintf(”####”);

  }

A.有语法错误不能通过编译

B.输出****

C.可以通过编译,但是不能通过连接,因而不能运行

D.输出####

27、设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为:

(B).

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

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

29、若有定义:

floatw;inta,b;则合法的switch语句是(D).

A.switch(w){case1.0:

printf("*\n");case2.0:

printf("**\n");}

B.switch(a);{case1printf("*\n");case2printf("**\n");}

C.switch(b){casea:

printf("*\n");default:

printf("\n");caseb:

printf("**\n");}

D.switch(a+b){case1:

printf("*\n");case2:

printf("**\n");default:

printf("\n");}

30、已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是(B).

if(x>y)

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

A.x=10,y=20,z=30B.x=20,y=30,z=30

C.x=20,y=30,z=10D.x=20,y=30,z=20

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

main()

{intx=2,y=-1,z=2;

if(x

 if(y<0)z=0;

 else  z+=1;

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

}

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

32、请阅读以下程序:

 #include

 main()

 {floatx,y;

  scanf("%f",&x);

  if(x<0.0)y=0.0;

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

=2.0))

  Y=1.O/(x+2.0);

  elseif(x<10.0)Y=1.O/x;

  elsey=10.0;

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

 }

 若运行时从键盘上输入2.0表示回车),答案是:

(C)

A.0.000000B.O.250000C.O.500000D.1.000000

33、设有程序段

intk=10;

while(k=0)k=k-1;

则下面描述中正确的是________

A.while循环执行10次B.循环是无限循环

C.循环体语句一次也不执行D.循环体语句执行一次

34、执行语句for(i=1;i++<4;);后变量i的值是(C).

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

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

a=1;b=2;c=2;

while(a

printf("%d,%d,%d",a,b,c);

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

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

main()

{inti,a[10];

for(i=9;i>=0;i--)a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A.258B.741C.852D.369

37、下面程序的输出结果是( D )。

 #include

 main()

 {intk,j,m;

  for(k=5;k>=1;k--)

  {m=0:

  for(j=k;j<=5;j++)

  m=m+k*j;

  }

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

 }

A.124B.25C.36D.15

38、若二维数组a有m列,则在a[i][j]之前的元素个数为( B )。

A.j*m+iB.i*m+jC.i*m+j-1D.i*m+j+1

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

main()

{ints[][3]={{1,2,3},{4,5,6}};

 intt;

t=(s[0][0],s[1][1],s[0][1]+s[1][2]);

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

}

A.5B.6C.7D.8

40、设有数组定义:

chararray[]=”China”;,则数组array所占的空间为( C )。

A.4个字节B.5个字节C.6个字节D.7个字节

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

 #define  f(x)  x*x

 main( )

 { int a=6,b=2,c;

   c=f(a)/f(b);

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

 }

A.9B.6C.36D.18

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

main()

{charch[3][4]={"123","456","78"},*p[3];inti;

for(i=0;i<3;i++)p[i]=ch[i];

for(i=0;i<3;i++)printf("%s",p[i]);

}

A.123456780B.123456780C.12345678D.147

43、整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是().

A.x||yB.x|yC.x&yD.x^y

44、以下只有在使用时才为该类型变量分配内存的存储类说明是().

A.auto和staticB.auto和register

C.register和staticD.extern和register

45、下述程序的输出结果是(  )。

  #include

  longfun(intn)

  {longs;

  if(n==1||n=:

2)

  s=2:

  else  

  s=n+fun(n-1);

  retums;

  }

  main()

  {

  printf(”\n%ld”,fun(4));

  }  .

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

二、判断题

1.C语言本身没有输入输出语句,输入输出操作都是通过调用库函数来实现的。

()

2.在C语言中,int、char和short三种类型数据在内存中所占用的字节数都是由用户自己定义的。

()

3、在if语句中,if子句与else子句都可以单独使用,构成了if语句的两种缺省形式。

()

4、for语句作为循环控制语句时,其括号内各个表达式及其后的分号都可缺省。

()

5、C程序中函数不可以嵌套定义但可以嵌套调用。

()

6.C语言中while和do-while循环的主要区别是while语句的循环体至少会被执行一次,而do-while语句的循环体则可能一次也不执行。

()

7.数组首地址不仅能通过数组中第一个元素的地址表示,也可以通过数组名来表示。

()

8.在C语言中,只有在两个字符串所包含的字符个数相同时,才能比较大小。

如字符串“That”与“The”就不能进行大小比较。

()

9、C程序可以由若干个源文件组成,因此最小的功能单位是源文件,最小编译单位的是函数。

()

10、C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。

()

11.在C程序中一行内可以写几个语句,一个语句可以分写在多行上。

因此,并不是每一条C语句都必须有一个分号的。

()

12.在C语言的if语句中,用作条件判断的表达式只能是关系和逻辑表达式。

()

13.在C语言中break和continue都是循环中途退出语句,其中break语句用来跳出一层循环结构;continue语句用来结束一次循环。

()

14、字符串可以用来给数组赋值,在C程序的执行语句中可以直接用字符串给数组名赋值。

()

15、数组名也可作为函数参数使用,此时数组名代表数组的起始地址。

()

16、在函数内的复合语句中定义的变量在本函数范围内有效。

()

17、函数的返回值类型是由函数的类型和return语句中表达式的类型共同决定的,当这两类型不一致时最终起决定作用的是return中表达式的类型。

()

18、定义指针变量时指定的类型称为基类型,基类型是指针变量所指向变量的类型,因此指针变量被定义之后都只能指向某一类型的变量。

()

三、填空题:

1、语句可以用来从循环体内跳出循环体;语句则用来结束本次循环。

2、可以用来表示C语言的整型常数的进制是、、。

3、任何C语句必须以结束,C语言中的空语句就是【2】。

4、输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。

请填空:

main()

{charch;

scanf(“%c”,&ch);

if()ch=ch+32;

elseif(ch>’a’&&ch<‘z’)();

printf(”%c\n”,ch);}

5、以下程序是求矩阵a,b的和,结果存入矩阵c中并按矩阵形式输出。

请填空:

main()

{inta[3][4]={{7,5,-2,3},{1,0,-3,4},{6,8,0,2}};

intb[3][4]={{5,-1,7,6},{-2,0,1,4},{2,0,8,6}};

inti,j,c[3][4];

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

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

c[i][j]=;

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

{for(j=0;j<4;j++)

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

;}

}

6、下面程序可求出1~1000的自然数中所有的完数(因子和等于该数本身的数)请填空。

main()

{intm,n,s;

for(m=2;m<1000;m++)

{__;

for(n=1;n<=m/2;n++)

if(__)s+=n;

if(_)printf(“%d\n”,m);}}

7、用起泡法对十个数由大到小排序。

main()

{inta[11],i,j,t;

printf(“input10numbers:

\n”);

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

scanf(“%d”,&a[i]);

printf(“\n”);

for(j=1;j<=9;j++)

for(i=1;__;i++)

if(__)

{t=a[i];a[i]=a[i+1];__;}

printf(“thesortednumbers:

\n”);

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

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

}

三、编程题:

1.编程计算1至50中是7的倍数的数值之和。

__#include

intmain(void)

{

inti,a;

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

{

a=i%7;

if(a==0)

printf("%d");

}

return0;

}

2.判断一学生的成绩的成绩等级,若大于90分,则输出该学生成绩优秀A+,介于80与89之间则认为成绩良好A,介于79至70之间认为成绩中等B,介于60和69之间则是及格C,否则认为成绩不及格D。

(6分)

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

______

3.把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。

#include

main()

{intn=1,m=0,k,mod_mn=1;/*此句的为什么n=1,m=0,k,而mod_mn=1;*/

printf(“PleaseInputmvalue:

\n”);

scanf(“%d”,&m);

n=1;

for(k=0;;k++)

{mod_mn=m/(n*10);

printf(“%d”,(m-mod_mn*n*10)/n);

if(mod_mn==0)break;

n*=10;

}

}

4.编写一个程序,打印杨辉三角形(如下所示,要求打印10行)

1

11

121

1331

14641

15101051

……

____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

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

当前位置:首页 > PPT模板 > 可爱清新

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

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