复习题1.docx

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

复习题1.docx

《复习题1.docx》由会员分享,可在线阅读,更多相关《复习题1.docx(49页珍藏版)》请在冰豆网上搜索。

复习题1.docx

复习题1

第1章

1.1单选题

1.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是(B)。

A.有零个或多个输入B.有零个或多个输出

C.有穷性D.可行性

2.以下叙述中正确的是(B)。

A.C语言的源程序不必通过编译就可以直接运行

B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C.C语言源程序经编译形成的二进制代码可以直接运行

D.C语言中的函数不可以单独进行编译

3.用C语言编写的代码程序(B)。

  A.可立即执行B.是一个源程序

 C.经过编译即可执行D.经过编译解释才能执行

4.结构化程序由三种基本结构组成,三种基本结构组成的算法(A)。

 A.可以完成任何复杂的任务B.只能完成部分复杂的任务

 C.只能完成符合结构化的任务D.只能完成一些简单的任务

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

A.用C程序实现的算法必须要有输入和输出操作

B.用C程序实现的算法可以没有输出但必须要有输入

C.用C程序实现的算法可以没有输入但必须要有输出

D.用C程序实现的算法可以既没有输入也没有输出

1.2填空题

1.C语言程序的基本单位是___函数_______。

2.一个C语言程序总是从____主函数main()______开始执行,并终止于___主函数main()_______。

3.一个C语言程序是由一个或若干个函数构成的,程序中至少应包含一个__主函数main()___________函数。

4.一个C语言函数一般由两部分组成,它们分别是______函数首部____和_函数体_________。

5.函数体以__{________开始,以___}_______结束。

6.结构化程序的3种基本结构是___顺序结构_______、___选择结构_______和_____循环结构_____。

7.C语言源程序文件名的后缀是_____.c_____,经过编译后,生成的目标文件名的后缀是__.obj________,经过连接后,生成的可执行文件名的后缀是_.exe_________。

第3章

3.1单选题

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

A.a==1B.++i;C.a=a++=5;D.a=int(i);

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

#include“stdio.h”

main()

{inty=3,x=3,z=1;

printf("%d%d\n",(++x,y++),z+2);

}

A.34B.42C.43D.33

3.若有以下定义和语句:

intu=010,v=0x10,w=10;

printf("%d,%d,%d\n",u,v,w);

则输出结果是(A)。

A.8,16,10B.10,10,10C.8,8,10D.8,10,10

4.若有以下定义和语句:

charc1='b',c2='e';

printf("%d,%c\n",c2-c1,c2-'a'+'A');

则输出结果是(B)。

A.2,MB.3,E

C.2,ED.输出项与对应的格式控制不一致,输出结果不确定

5.以下程序段的输出结果是(C)。

inta=1234;

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

A.12B.34

C.1234D.提示出错、无结果

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

main()

{

charc='z';

printf("%c",c-25);

}

A.aB.ZC.z-25D.y

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

main()

{intk=17;

printf("%d,%o,%x\n",k,k,k);

}

A.17,021,0x11B.17,17,17

B.17,0x11,021D.17,21,11

8.以下程序的输出结果是(C)。

main()

{doubled=3.2;intx,y;

x=1.2;y=(x+3.8)/5.0;

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

}

A.3B.3.2C.0D.3.07

9.下列程序执行后的输出结果是(小数点后只写1位)(A)。

main()

{doubled;floatf;longk;inti;

i=f=k=d=20/3;

printf("%d%ld%f%f\n",i,k,f,d);

}

A.666.06.0B.666.76.7

C.666.06.7D.666.76.0

10.语句

printf("a\bre\'hi\'y\\\bou\n");

的输出结果是(C)。

提示,'\b'是退格符。

A.a\bre\'hi\'y\\\bouB.a\bre\'hi\'y\bou

C.re'hi'youD.abre'hi'y\bou

11.x、y、z被定义为int型变量,若从键盘上给x、y、z输入数据,则正确的输入语句是(B)。

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);

12.设i是int型变量,f是float型变量,要通过语句“scanf("i=%d,f=%f",&i,&f);”给i赋值100,f赋值765.12,则正确的输入为(B)。

A.100765.12B.i=100,f=765.12

C.100765.12D.x=100y=765.12

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

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

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

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

A.x=3,y=5B.a=b=6

C.i--;D.y=int(x);

15.设x,y,z,t均为int型变量,则执行以下语句后,t的值为(C)。

x=y=z=1;

t=++x||++y&&++z;

A.不定值B.2C.1D.0

16.若以下选项中的变量已正确定义,则正确的赋值语句是(C)。

A.x1=26.8%3B.1+2=x2C.x3=0x12;D.x4=1+2=3;

17.设有以下定义

inta=0;

doubleb=1.25;

charc='A';

#defined2

则下面语句中错误的是(D)。

A.a++;B.b++;C.c++;D.d++;

18.有以下程序

main()

{

intx=102,y=012;

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

}

执行后输出的结果是(C)。

A.10,01B.02,12C.102,10D.02,10

19.有以下程序

  main()

  {intm=3,n=4,x;

  x=-m++;

  x=x+8/++n;

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

 }

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

A.3B.5C.-1D.-2

20.有以下程序

  main()

  {chara='a',b;

  printf("%c,",++a);

  printf("%c\n",b=a++);

 }

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

A.b,bB.b,cC.a,bD.a,c

21.有以下程序

  main()

{intm=0256,n=256;

 printf("%o%o\n",m,n);

  }

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

  A.02560400B.0256256C.256400D.400400

22.有以下程序

  main()

 {chara,b,c,d;

  scanf("%c,%c,%d,%d",&a,&b,&c,&d);

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

}

若运行时从键盘上输入:

6,5,65,66。

则输出结果是(A)。

A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,6

23.数字字符0的ASCII值为48,若有以下程序

main()

{chara='1',b='2';

printf("%c,",b++);

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

}

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

A.3,2B.50,2C.2,2D.2,50

24.有以下程序

main()

{intm=12,n=34;

printf("%d%d",m++,++n);

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

}

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

A.12353514B.12353513C.12343514D.12343513

25.有以下程序

main()

{intm,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

……

}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A)。

A.m=123n=456p=789B.m=123n=456p=789

C.m=123,n=456,p=789D.123456789

26.有以下程序

main()

{inta,b,d=25;

a=d/10%9;

b=a-1;

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

}

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

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

27.以下叙述中错误的是(C)。

A.C语句必须以分号结束

B.复合语句在语法上被看作一条语句

C.空语句出现在任何位置都不会影响程序运行

D.赋值表达式末尾加分号就构成赋值语句

28.以下叙述中正确的是(B)。

A.调用printf函数时,必须要有输出项

B.使用putchar函数时,必须在之前包含头文件stdio.h

C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

29.有以下程序

 #include“stdio.h” 

 main()

 { char c1=’1’,c2=’2’;

c1=getchar(); c2=getchar(); putchar(c1); putchar(c2);

 }

 当运行时输入:

a<回车> 后,以下叙述正确的是(A)。

 A.变量c1被赋予字符a,c2被赋予回车符

 B.程序将等待用户输入第2个字符

 C.变量c1被赋予字符a,c2中仍是原有字符2 

D.变量c1被赋予字符a,c2中将无确定值

3.2填空题

1.若有定义:

inta=10,b=9,c=8;

接着顺序执行下列语句后:

c=(a-=(b-5));

c=(a%11)+(b=3);

则变量b中的值是___3_______。

2.以下程序的输出结果是__0261________。

main()

{inta=177;

printf("%#o\n",a);

}

3.以下程序的输出结果是__OX10________。

main()

{inta=0;

a+=(a=8);

printf("%#x\n",a);

}

4.以下程序的输出结果是______2____,程序的功能是__1________。

main()

{inta=1,b=2;

a=a+b;b=a-b;a=a-b;

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

}

5.下列程序的输出结果是16.00,请在程序中填空。

main()

{inta=9,b=2;

floatx=_6.6_______,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

6.若有语句:

inti=-19,j=i%4;

printf("%.3d\n",j);

则输出结果是_-003_________。

7.若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是__5,0,4,C=3________。

intb,c;floata;

scanf("%f,%d,c=%d",&a,&b,&c);

8.若有程序:

main()

{inti,j;

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

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

}

要求给i赋10,给j赋20,则应该从键盘输入I=10,J=20__________。

9.以下程序的输出结果是

(1)65

(2)65,A(3)56.123400,123.456001(4)3.141600(5)8765.432(6)5.864000e+000(7)_3.141600e+000(8)3.1416(9)8765(10)3.1416,8765.43________。

#include"stdio.h"

main()

{intx=65;

floatpi=3.1416,a=123.456;

doubleb=8765.4321;

printf("

(1)%d\n",x);

printf("

(2)%6d,%c\n",x,x);

printf("(3)%f,%f\n",56.1234,a);

printf("(4)%14f\n",pi);

printf("(5)%14.3lf\n",b);

printf("(6)%e\n",586.4);

printf("(7)%14e\n",pi);

printf("(8)%g\n",pi);

printf("(9)%8.4g\n",b);

printf("(10)%12g,%g\n",pi,b);

}

10.执行以下程序时,若从第一列开始输入数据,为使变量a=2,b=5,x=8.8,y=76.34,c1='A',c2='a',正确的数据输入形式是a=2b=5x=8.8y=76.34c1=65c2=97__________。

main()

{inta,b;

floatx,y;

charc1,c2;

scanf("a=%db=%d",&a,&b);

scanf("x=%fy=%f",&x,&y);

scanf("c1=%dc2=%d",&c1,&c2);

printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c",a,b,x,y,c1,c2);

}

11.已知字符A的ASCII码值为65,以下语句的输出结果是B66。

charch='B';

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

12.有以下语句段:

intn1=10,n2=20;

printf("n1=%d\nn2=%d\n",n1,n2);

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。

n1=10

n2=20

13.有以下程序:

#include“stdio.h”

main()

{charch1,ch2;intn1,n2;

ch1=getchar();ch2=getchar();

n1=ch1-'0';n2=n1*10+(ch2-'0');

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

}

程序运行时输入:

12<回车>,执行后的输出结果是12。

14.以下程序段的输出结果是11_____。

  inti=9;

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

15.以下程序运行后的输出结果是252137_______。

  main()

  {inta,b,c;

  a=25;

  b=025;

  c=0x25;

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

}

16.以下程序运行时,若从键盘输入:

102030<回车>,输出的结果是10030_______。

#include“stdio.h”

main()

{inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&k);

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

}

17.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:

B33<回车>,则输出结果是_1B______。

#include“stdio.h”

main()

{chara,b;

a=getchar();scanf("%d",&b);

a=a-'A'+'0';b=b*2;

printf("%c%c\n",a,b);

}

18.以下程序运行后的输出结果是88_______ 。

 main()

 { int x=0210; printf("%x\n",x);

 }

19.以下程序运行后的输出结果是220.000000_______ 。

 main()

 {char c; int n=100;

 float f=10; double x;

 x=f*=n/=(c=50);

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

 }

20.已知字母A的ASCII码为65。

以下程序运行后的输出结果是 67G_______ 。

 main()

 {char a, b;

 a=’A’+’5’-’3’; b=a+’6’-’2’ ;

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

 }

第5章

5.1单选题

1.下面程序循环体的执行次数是(C)。

#include"stdio.h"

main()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j--)printf("%d\n",i);

}

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

2.以下叙述中正确的是(D)。

A.do-while语句构成的循环不能用其他语句构成的循环来代替。

B.do-while语句构成的循环只能用break语句退出。

C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D.用do-while语句构成的循环,在while后的表达式为零时结束循环。

3.执行下列语句后,s的值是(A)。

intn=5,s=0;

while(n)s+=n--;

A.15B.0C.10D.5

4.下面的程序运行后,输出的是(B)。

main()

{intx=3;

do{

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

}while(!

(--x));

}

A.1B.1和-2C.3和0D.死循环

5.以下程序执行后的输出结果是(A)。

#include"stdio.h"

main()

{inti=0,s=0;

do{

if(i%2){i++;continue;}

i++;

s+=i;

}while(i<7);

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

}

A.16B.12C.28D.21

6.以下程序执行后的输出结果是(A)。

#include"stdio.h”

main()

{inti;

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

switch(i)

{case1:

printf("%d",i);

case2:

printf("%d",i);

default:

printf("%d",i);

}

}

A.011122B.012C.012020D.120

7.以下程序执行后的输出结果是(B)。

#include"stdio.h"

main()

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

while(z-->0&&++x<5)y=y-1;

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

}

A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5

8.以下程序执行后的输出结果是(D)。

#include"stdio.h"

main()

{inti,s=0;

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

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

}

A.自然数1~9的累加和B.自然数1~10的累加和

C.自然数1~9中的奇数之和D.自然数1~10中的偶数之和

9.以下程序执行后的输出结果是(D)。

#include"stdio.h"

main()

{inti,n=0;

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

{do

{if(i%3)continue;

n++;

}while(!

i);

n++;

}

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

}

A.n=5B.n=2C.n=3D.n=4

10.下面程序的功能是输出以下形式的金字塔图案,应在下划线处填入的是(B)。

****

*****

*******

#include"stdio.h"

main()

{inti,j;

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

{for(j=1;j<=4-i;j++)printf("");

for(j=1;j<=;j++)printf("*");

printf("\n");

}

}

A.iB.2*i-1C.2*i+1D.i+2

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

#include"stdio.h"

main()

{inti=0,s=0;

for(;;)

{if(i==3||i==5)continue;

if(i==6)break;

i++;

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

当前位置:首页 > 总结汇报 > 学习总结

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

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