C语言复习题给学生Word格式文档下载.docx

上传人:b****6 文档编号:21627732 上传时间:2023-01-31 格式:DOCX 页数:27 大小:33.05KB
下载 相关 举报
C语言复习题给学生Word格式文档下载.docx_第1页
第1页 / 共27页
C语言复习题给学生Word格式文档下载.docx_第2页
第2页 / 共27页
C语言复习题给学生Word格式文档下载.docx_第3页
第3页 / 共27页
C语言复习题给学生Word格式文档下载.docx_第4页
第4页 / 共27页
C语言复习题给学生Word格式文档下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C语言复习题给学生Word格式文档下载.docx

《C语言复习题给学生Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言复习题给学生Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。

C语言复习题给学生Word格式文档下载.docx

则表达式(——a==++c)?

——a:

c++的值是5,此时c的存储单元的值为【6】.

15若有说明语句:

intx=1,y=0;

则表达式x>

(y+x)?

10:

12.5>

y++?

’a’:

’a’的值为【97】.

16若有intx=7,则表达式x+=x-=x+x;

执行后,x的值为【-14】。

17设inta=1,b=2,c=3,d;

执行d=!

(a+b+C)后,d的结果是【0】

18设intx=10,y,z;

执行y=z=x;

x=y==z后,变量x的结果是【1】。

19设intx=9,y=8;

表达式x==y+1的结果是【0】.

20若x,a都是int型变量,则表达式x=(a=4,6*2)的值是【12】,表达式x=a=4,6*2的值是【12】。

21若a是int型变量,则表达式(a=4*5,a*2),a+6的值是【26】。

22有inta;

则执行a=25/3%3;

后,a=【2】。

23若intb=7;

floata=2.5,c=4.7;

则表达式a+(int)(b/3*(int)(a+c)/2)%4的值是【5.5】。

24若intx=12,n=5;

则表达式x%=(n%=2)的值是【0】。

25已知字母b的ascii码为98,且charch;

则表达式ch=’b’+’8’-‘3’的值为【103】。

26,号运算符得结合方向为自左向右的

27与条件表达式"

(n)?

(c++):

(c--)"

中的表达式(n)等价的表达式是 

(n!

=0)。

28C语言中,所有的C语言关键字必须小写。

29.检查以下的C语言标识符的正确性:

intB 

a_1_2C 

ab1exeD 

_xE 

printF 

i\am

30检查以下的C语言的关键字的正确性:

auto,enum,include 

switch,typedef,continue,signed,union,scanf 

if,struct,type

default, 

register,enum,external

31字符串"

"

的长度是0

32如果inta=1,b=2,c=3,d=4;

则条件表达式"

a<

b?

a:

c<

d?

c:

d"

的值是1

33为求出s=10!

的值,则变量s的类型应当为ong

34已知inti=10;

表达式"

20-0<

=i<

=9"

的值是1

35在32位的计算机中,一个字长等于1个字节。

36设y是int型变量,判断y为奇数的关系表达是(y%2)==1.

37计算机机领域中,通常用英文单词“Byte”表示字节。

38表示“整数x的绝对值大于5”时值为“真”的C语言表达式是x>

5||x<

-5.

39设有以下变量定义,并已赋确定的值

 charw;

intx;

floaty;

doublez;

 则表达式:

w*x+z-y所求得的数据类型为:

double.

40设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1。

41若已知a=10,b=20,则表达式!

a*b的值是1。

第三章知识点

1有程序段:

intx;

scanf(“%d\n”,&

x);

printf(x%2==0?

“evennumber%d”:

“oddnumber%d”,x,x);

若输入3,则printf语句【输出oddnumber3】

2以下程序的输出结果是:

(1)main()

{intsum,pad;

sum=pad=5;

pad=sum++;

pad++;

++pad;

printf(“%d”,pad);

}【7】

3下面程序的输出结果是

#include<

stdio.h>

main()

{intx=10;

{intx=20;

printf("

%d,"

x);

}

printf("

%d\n"

}【20,10】

4以下程序的输出结果是:

main()

{

inta=177;

%o\n"

a);

}【261】。

5以下程序的输出结果是

{inta=0

a+=(a=8);

}【16】

6以下程序输出的结果是

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

d=(a>

b>

c);

d);

}【0】

7以下程序运行后的输出结果是

{charc;

intn=100;

floatf=10;

doublex;

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

printf("

%d%f\n"

n,x);

}【220】

8以下程序运行后的输出结果是

main()

{inta,b,c;

a=25;

b=025;

c=0x25;

%d%d%d\n"

a,b,c);

}【252137】

9对于语句scanf(“%f︼︼%f,z=%f”,&

x,&

y,&

z);

,其合法的输入形式为

14.7︼︼︼2.0,z=15(其中的︼表示空格)

10使用语句scanf("

x=%f,y=%f"

&

y);

输入变量x、y的值(︼代表空格),正确的输入是:

 

x=1.25,y=2.4

11以下程序的输出结果是:

n=65015

main()

{unsignedintn;

inti=-521;

n=i;

n=%u\n"

n);

12执行语句printf("

%x"

-1);

屏幕显示:

ffff。

13已知longi=32768;

执行语句printf("

%d"

i);

-32768

14以下程序的输出结果是八进制数261

  main()

  {inta=177;

   printf("

  }

15语句:

x++;

++x;

x=x+1;

x=l+x;

,执行后都使变量x中的值增1,与上述语句功能相同的赋值语句(不得与列举的相同)有x+=1等.

16以下程序的输出结果是_0_

{unsignedshorta=65536;

intb;

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

}

17若有定义:

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

接着顺序执行下列语句后,变量b中的值是3。

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

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

18若想通过以下输入语句使a=5.0,b=4,c=3,

intb,c;

floata;

scanf("

%f,%d,c=%d"

,&

a,&

b,&

c);

则输入数据的形式应该是:

5.0,4,c=3

19C语言本身没有提供输入/出语句,输入/出由C语言的标准输入/出库函数提供。

20编写一个程序,从键盘输入一个三位整数,将它们逆序输出。

例如输入127,输出721。

第四章知识点

1C语言中,逻辑“真”等价于【非零的数】

2以下程序的输出结果是 

{inti;

for(i=1;

i<

=5;

i++)

{if(i%2)printf(“*”);

elsecontinue;

printf(“#”);

printf(“$”);

}【*#*#*#$】

3若有:

inta=1,b=2,c=3,d=4,m=2,n=2;

则执行(m=a>

b)&

&

(n=c>

d)后n的值是【2】

4main()

{inta,b,d=241;

a=d/100%9;

b=(-1)&

(-1);

printf(“%d,%d”,a,b);

输出的结果是【 

2,1】

5若有intx=10,y=20,z=30;

以下语句执行后x,y,z的值是

if(x>

y)

z=x;

x=y;

y=z;

【 

x=20,y=30,z=30】

6以下程序的输出结果是

{inta=1,b=3,c=5,d=4,x;

if(a<

b)

if(c<

d)x=1;

else

c)

if(b<

d)x=2;

elsex=3;

elsex=6;

elsex=7;

printf(“x=%d”,x);

}【2】

7以下程序的输出结果是

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

if(x<

if(y<

0)z=0;

elsez+=1;

printf(“%d\n”,z)

}【2】

8为了避免嵌套的if—else语句的二义性,C语言规定else总是与【在其之前未配对的最近的if】组成配对关系。

9已知intx=1,y;

执行语句y=++x>

5&

++x<

10;

后变量x的值是【2】。

10以下程序段的输出结果是

inta=10,b=50,c=30;

if(a>

a=b;

b=c;

c=a;

a=%db=%dc=%d\n"

a,b,c);

【a=10b=30c=10】

11以下程序的输出结果是

{inta=0,b=1,c=0,d=20;

if(a)d=d-10;

elseif(!

if(!

c)d=15;

elsed=25;

d=%d\n"

d);

}【d=20】

12下面程序的输出结果为

{inta=1,b=0;

switch(a)

{case1:

switch(b)

{case0:

**0**"

);

break;

case1:

**1**"

case2:

**2**"

}【**0****2**】

13从键盘上输入"

446755"

时,下面程序的输出是

{intc;

while((c=getchar())!

='

'

\n'

switch(c-'

2'

putchar(c+4);

break;

case3:

putchar(c+3);

default:

putchar(c+2);

\n"

}【88898787】

14将下列数学式改写成C语言的关系表达式或逻辑表达式A)a≠b或a<

=c;

【a!

=b||a<

=c】

B)|x|>

=4;

【x>

=4||x<

=-4】.

15C语言中用【1】表示逻辑值“真”,用【0】表示逻辑值“假”。

16以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。

当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:

a+b>

c,a+c>

b,b+c>

a。

请填空。

floata,b,c;

scanf(“%f%f%f”,&

a,&

b,&

if()printf(“YES\n”);

/*a,b,c能构成三角形*/

elseprintf(“NO\n”);

/*a,b,c不能构成三角形*/

}【a+b>

c&

a+c>

b&

b+c>

a】

17以下程序的运行结果是

fun(intt[],intn)

{inti,m;

if(n==1)returnt[0];

else

if(n>

=2){m=fun(t,n-1);

returnm;

inta[]={11,4,6,3,8,2,3,5,9,2};

printf(“%d\n”,fun(a,10));

}【11】

18C语言的switch语句中,case后只能为常量或常量表达式

19有如下程序段:

intx=1,y=1;

intm,n;

m=n=1;

switch(m)

{case0:

x=x*2;

{

switch(n)

{case1:

case2:

y=y*2;

break;

case3:

x++;

y++;

x*=2;

y*=2;

执行完成后,x和y的值分别为:

( 

x=6y=6)

20多分支选择可以用嵌套的if语句和switch语句来实现。

21若从键盘输入58,则以下程序输出的结果是585858。

  {inta;

   scanf("

a);

   if(a>

50)printf("

40)printf("

30)printf("

22下列程序段的输出结果是passwarm。

intn=’c’;

switch(n++)

{default:

printf(“error”);

case‘a’:

case‘A’:

case‘b’:

case‘B’:

printf(“good”);

case‘c’:

case‘C’:

printf(“pass”);

case‘d’:

case‘D’:

printf(“warn”);

23以下两条if语句:

=b)x=1;

elsey=2;

b))printf("

****y%d\n"

y);

elseprintf("

####x=%\n"

x);

可合并成一条if语句是:

=b)printf("

####"

x=%d\n"

x=1);

elseprintf("

****y=%d\n"

y=2);

24编程判断输入的正整数是否既是5又是7的整倍数。

若是,输出yes,否则输出no。

25设N是一个四位数,它的9倍恰好是其反序数(例如:

123的反序数是321),求N的值。

26输入年份year和月month,求该月有多少天。

判断是否为闰年,可用如下C语言表达式:

year%4==0&

year%100!

=0||year%400==0。

若表达式成立(即表达式值为1),则year为闰年;

否则,表达式不成立(即值为0),year为平年。

27打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该

数本身。

例如:

153是一水仙花数,因为153=1^3+5^3+3^3.

28编写一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。

设:

90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

第五章知识点

1有程序段:

inta;

for(scanf(“%d”,&

!

a;

printf(“continue”);

则for语句中的!

a等价于【a==0】

2有程序段:

intx,y,z;

x=20,y=40,z=60;

while(x<

y)x+=4,

y-=4;

z/=2;

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

则此程序执行的输出结果为【32,28,30】

3有程序段:

intj=0,k=0,a=0;

while(j<

2)

{j++;

a=a+1;

k=0;

while(k<

=3)

{k++;

if(k%2!

=0)

continue;

执行完成后,a的值为【8】

4以下程序的输出结果是

{intnum=0;

while(num<

=2)

{num++;

printf(“%d,”,num);

}【 

1,2,3,】

5有程序段:

(1)intn=1;

do{n=++n*5;

while(n=10);

则此循环的循环体【 

执行无限次】

(2)x=-1;

do

{x=x*x;

}while(!

语句执行次数是:

【循环执行一次】

(3)intk=10;

while(k=0)k--;

语句执行次数【循环体语句一次也不执行】

(4)for(x=0,y=10;

(y>

0)&

(x<

4);

x++,y--);

【循环执行4次】

{intn=0;

while(n++<

=2);

printf(“%d”,n);

}【4】

{inti,j,m=0;

15;

i+=4)

for(j=3;

j<

=19;

j+=4)m++;

printf(“%d”,m);

}【20】

8以下程序的输出结果是

{intn=10;

while(n>

7)

{n--;

printf(“%d,”,n);

}}【9,8,7,】

9以下程序的输出结果是

{inta=1,b=10;

do{b-=a;

a++;

}while(b--<

0);

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

}【a=2,b=8】

10已知inti=1;

执行语句while(i++<

4);

后,变量i的值为【5】

11下面程序的输出结果是

{inti;

for(i=0;

10;

i++);

printf(“%d”,i);

}【10】

12下面程序的输出结果是

{switch(a)

b=1;

b=2;

default:

b=0;

b=a+b;

}while(!

b);

a=%d,b=%d"

a,b);

【a=1,b=2】

13下面程序的输出结果是

{intk=0;

charc='

A'

{switch(c++)

{case'

:

k++;

case'

B'

k--;

C'

k+=2;

D'

k=k%2;

contiue;

E'

k=k+10;

k=k/3;

k++;

}while(c<

);

k=%d\n"

k);

【k=4】

14下面程序的输出结果是

{inti,j,k=10;

for(i=0;

2;

{k++;

for(j=0;

=3;

j++)

{if(j%2)continue;

k=14】

15下面程序的输出结果是

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

3;

i++)

j++)

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

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

n[i][j]);

}【6】

16break语句只能用于【循环】语句和【多分支选择】语句。

17以下程序的输出结果是

{ints,i;

for(s=0,i=1;

3;

i++,s+=i);

s);

}【5】

18以下程序的功能是计算:

s=1+12+123+1234+12345。

请填空。

main()

{intt=0,s=0,i;

for(i=1;

i<

=5;

i++)

{t=i+________;

s=s+t;

}

s=%d\n"

}【t*10】

19以下程序运行后的输出结果是

  {

   charc1,c2;

   for(c1='

0'

c2='

9'

;

c1<

c2;

c1++,c2--)

%c%c"

c1,c2);

"

);

 

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

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

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

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