C语言考前资料复习题.docx

上传人:b****4 文档编号:3461441 上传时间:2022-11-23 格式:DOCX 页数:16 大小:22.59KB
下载 相关 举报
C语言考前资料复习题.docx_第1页
第1页 / 共16页
C语言考前资料复习题.docx_第2页
第2页 / 共16页
C语言考前资料复习题.docx_第3页
第3页 / 共16页
C语言考前资料复习题.docx_第4页
第4页 / 共16页
C语言考前资料复习题.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言考前资料复习题.docx

《C语言考前资料复习题.docx》由会员分享,可在线阅读,更多相关《C语言考前资料复习题.docx(16页珍藏版)》请在冰豆网上搜索。

C语言考前资料复习题.docx

C语言考前资料复习题

C语言复习题

第1章C语言概述知识点

1下列变量名中是否合法

A B.C.TomB 3a6bC _6a7bD $ABC

以下是否为正确的C语言标识符

A #defineB _123C %dD \n

2C语言的基本单位是函数

3C语言程序总是从main()【或主函数】开始执行,C源程序经编译和连接后才可直接运行产生结果;且C语言程序有且仅有一个main函数;

4C源程序文件的扩展名为 .c,经过编译后生成文件的后缀是.OBJ,经过链接后生成文件的后缀是.EXE。

5C语言源程序的语句分隔符是;。

6C语言程序开发的四个步骤是编辑、编译、连接、运行。

7在一个C源程序中,注释部分以/*开始,并且以*/结束。

第3章数据类型、运算符与表达式知识点

1以下哪些是不正确的实型常量

A 2.607e-1B 0.8103eC -77.77D 456e-2

2在C语言中,错误的int类型的常数是哪个?

A 32768B 0C 037D 0Xaf

3逗号表达式"(a=3*5,a*4),a+15"的值是多少?

A 15B 60C 30D 不确定

4字符型常量在内存中存放的是【ASCⅡ代码】

5有整型变量x,单精度变量y=5.5,表达式:

x=(float)(y*3+((int)y)%4)执行后,x的值为【17】

6在C语言中运算对象必须是整型的运算符是【%】

7若x、a、b均是int型变量,则执行表达式x=(a=1,b=2)后的结果为2

8下列关于C语言的叙述错误的是【大写字母和小写字母的意义相同】

9C语句x*=y+2;还可以写成【x=x*(y+2);】

10设inta=1,b=2,c=3,d;执行d=!

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

11设intx=10,y,z;执行y=z=x;x=y==z后,变量x的结果是【1】。

12若有以下定义:

intm=5,y=2;则计算表达式y+=y-=m*=y后y的值是【-16】。

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

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

15有inta;则执行a=25/3%3;后,a=【2】。

16若intb=7;floata=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值是【5.5】。

17若intx=12,n=5;则表达式x%=(n%=2)的值是【0】。

18已知字母b的ASCII码为98,且charch;则表达式ch=’b’+’8’-‘3’的值为【103】。

第四章最简单的C程序设计----顺序程序设计知识点

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以下程序的输出结果是:

main()

{

inta=177;

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

}【261】。

4以下程序的输出结果是

main()

{inta=0

a+=(a=8);

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

}【16】

5以下程序输出的结果是

main()

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

d=(a>b>c);

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

}【0】

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

main()

{charc;intn=100;

floatf=10;doublex;

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

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

}【220】

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

main()

{inta,b,c;

a=25;

b=025;

c=0x25;

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

}【252137】

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

例如输入127,输出721。

#include"stdio.h"

main()

{

intnum,a,b,c;

printf("Pleaseinputthenumber:

");

scanf("%d",&num);

a=num/100;

b=(num-100*a)/10;

c=num-100*a-10*b;

a+=b*10+c*100;

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

}

9编写程序求输入的任意三个数平均数。

10输入一个园的半径,求园的周长和园的面积。

#include

intmain()

{

floatr,h,c,c1,c2,c3,c4;

printf("请输入半径和高:

");

scanf("%f,%f",&r,&h);

c=2*3.14*r;

c1=3.14*r*r;

c2=4*c1;

c3=4*3.14*r*r*r/3;

c4=c1*h;

printf("圆周长:

%.2f\n圆面积:

%.2f\n圆球表面积%.2f\n圆球体积:

%.2f\n圆柱体积:

.2f\n",c,c1,c2,c3,c4);

return0;

}

第5章选择结构程序设计知识点

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

2以下程序的输出结果是 

main()

{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以下程序的输出结果是

main()

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

if(x

if(y<0)z=0;

elsez+=1;

printf(“%d\n”,z)

}【2】

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

8已知intx=1,y;执行语句y=++x>5&&++x<10;后变量x的值是【2】。

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

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

if(a>b)

a=b;

b=c;

c=a;

printf("a=%db=%dc=%d\n",a,b,c);【a=10b=30c=10】

10以下程序的输出结果是

main()

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

if(a)d=d-10;

elseif(!

b)

if(!

c)d=15;

elsed=25;

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

}【d=20】

11下面程序的输出结果为

main()

{inta=1,b=0;

switch(a)

{case1:

switch(b)

{case0:

printf("**0**");break;

case1:

printf("**1**");break;

}

case2:

printf("**2**");break;

}

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

12从键盘上输入"446755"时,下面程序的输出是

#include

main()

{intc;

while((c=getchar())!

='\n')

switch(c-'2')

{case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

default:

putchar(c+2);break;

}

printf("\n");

}【88898787】

13请阅读以下程序并填空。

main()

{ints,t,a,b;

scanf(“%d,%d”,&a,&b);

s=1;t=1;

if(a>0)s+=1;

if(a>b)t+=s;

elseif(a==b)t=5;

elset=2*s;

printf(“s=%d,t=%d”,s,t);

}

为了输出结果t=4,输入量a和b应满足的条件是【0

为了输出结果s=1,t=5,输入量a和b应满足的条件是【a=b<=0】.

14执行以下程序,输入-10的结果是【y=0】,输入5的结果是【y=5】,输入10的结果是【y=10】,输入30的结果是【y=5】。

main()

{intx,c,m;

floaty;

scanf(“%d”,&x);

if(x<0)c=-1;

elsec=x/10;

switch(c)

{

case-1:

y=0;break;

case0:

y=x;break;

case1:

y=10;break;

case2:

case3:

y=-0.5*x+20;break;

default:

y=-2;

}

if(y!

=-2)printf(“y=%d\n”,y);

elseprintf(“error\n”);

}

15将下列数学式改写成C语言的关系表达式或逻辑表达式A)a≠b或a<=c;【a!

=b||a<=c】

B)|x|>=4;【x>=4||x<=-4】.

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

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

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

a+b>c,a+c>b,b+c>a。

请填空。

main()

{

floata,b,c;

scanf(“%f%f%f”,&a,&b,&c);

if()printf(“YES\n”);/*a,b,c能构成三角形*/

elseprintf(“NO\n”);/*a,b,c不能构成三角形*/

}【a+b>c&&a+c>b&&b+c>a】

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

数本身。

例如:

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

#include

intmain()

{

inti,j,k,n;

printf("parcissusnumbersare");

for(n=100;n<1000;n++)

{

i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%d",n);

}

printf("\n");

return0;

}

#include

intmain()

{

Intfav(int)

Inta,n;

Printf(“请输入数据:

”);

Scanf(“%d”,&n);

a=fav(n);

if(a)printf(“%d是水仙花数\n”,n);

elseprintf(“%d不是水仙花数\n”,n);

return0;

}

intfav(inta)

{

IntI,j,k,m;

I=a/100;

J=a/10-i*10;

K=a%10;

If(a==i*i*i+j*j*j+k*k*k)m=1;

Elsem=0;

Returnm;

}

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

设:

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

#include

voidmain()

{

intscore,i;

printf("请输入一个成绩:

");

scanf("%d",&score);

i=score/10;//取整

printf("成绩等级为:

");

switch(i)

{

case10:

//语句为空时继续执行下面的语句,直到遇到break

case9:

printf("A");break;

case8:

printf("B");break;

case7:

printf("C");break;

case6:

printf("D");break;

default:

printf("E");break;

}

printf("\n");

}

第6章循环控制知识点

1有程序段:

inta;

for(scanf(“%d”,&a);!

a;)

printf(“continue”);

则for语句中的!

a等价于【a==0】

2有程序段:

intx,y,z;

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

while(x

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=a+1;

}

a=a+1;

}

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

4以下程序的输出结果是

main()

{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(!

x);

语句执行次数是:

【循环执行一次】

(3)intk=10;

while(k=0)k--;

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

(4)for(x=0,y=10;(y>0)&&(x<4);x++,y--);【循环执行4次】

6以下程序的输出结果是

main()

{intn=0;

while(n++<=2);

printf(“%d”,n);

}【4】

7以下程序的输出结果是

main()

{inti,j,m=0;

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

for(j=3;j<=19;j+=4)m++;

printf(“%d”,m);

}【20】

8以下程序的输出结果是

main()

{intn=10;

while(n>7)

{n--;

printf(“%d,”,n);

}}【9,8,7,】

9以下程序的输出结果是

main()

{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下面程序的输出结果是

main()

{inti;

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

printf(“%d”,i);

}【10】

12下面程序的输出结果是

main()

{inta=1,b=0;

do

{switch(a)

{case1:

b=1;break;

case2:

b=2;break;

default:

b=0;

}

b=a+b;

}while(!

b);

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

} 【a=1,b=2】

13下面程序的输出结果是

main()

{intk=0;

charc='A';

do

{switch(c++)

{case'A':

k++;break;

case'B':

k--;

case'C':

k+=2;break;

case'D':

k=k%2;contiue;

case'E':

k=k+10;break;

default:

k=k/3;

}

k++;

}while(c<'C');

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

} 【k=4】

14下面程序的输出结果是

#include

main()

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

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

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

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

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

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

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

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

}【6】

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

16有以下程序段:

s=1.0;

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

s=s+1.0/(k*(k+1));

printf(“%f”,s);

请填空,使下面的程序的功能完全与之相等。

s=0.0;

_______;【d=1.0】

k=0;

do

{s=s+d;

________;【k=k+1】

d=1.0/(k*(k+1));

}

while(________);【k<=n】

printf(“%f”,s);

17以下程序的输出结果是

main()

{ints,i;

for(s=0,i=1;i<3;i++,s+=i);

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

}【5】

18以下程序的功能是:

输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。

main()

{inti,j;

for(i=0;________;i++)【i<=9】

{j=i*10+6;

if(______)continue;【j%3!

=0】

printf(“%d”,j);

}

}

19以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形,例如,输入整数5时(注意:

n不得大于10),程序运行结果如下:

ABCDE

FGHI

JKL

MN

O

请填空完成该程序。

main()

{inti,j,n;charch='A';

scanf(“%d”,&n);

if(n<11)

{

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

{for(j=1;j<=n-i+1;j++)

{printf(“%2c”,ch);

________;【ch=ch+1】

}

________【printf("\n")】

}

}

elseprintf(“nistoolarge!

\n”);

printf(“\n”);

}

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

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

请填空。

main()

{intt=0,s=0,i;

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

{t=i+________;s=s+t;}

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

}【t*10】

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

main()

  {

   charc1,c2;

   for(c1=''0'',c2='9';c1

   printf("%c%c",c1,c2);

   printf("");

  }【0918273645】

22有以下程序

 main()

  {intt=1,i=5;

  for(;i>=0;i--)t*=i;

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

  }

执行后输出结果是【0】.

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

main()

{intx=15;

while(x>10&&x<50)

{x++;

if(x/3){x++;break;}

elsecontinue;

}

printf(“%d\n”,x);

}【17】

24键盘输入10个实型数,求其倒数的和并输出.

#include"stdio.h"

main()

{

floata[10],i,sum=0;

printf("请输入十个数:

\n");

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

{scanf("%f",&a[i]);

sum=sum+1.0/a[i];}

printf("这十个数的倒数和是:

%f",sum);

}

25计算s=1-2!

+3!

-4!

+…-10!

的值并输出。

#include

voidmain()

{inti=1,sign=-1;

longsum=0,s=1;

while(i<=10)

{s=s*i;

sum=sum+s;

i++;

sign=-sign;

sum=sum*sign;

}

printf("%ld\n",sum);

}

26计算s=1-1/3+1/5-1/7+…1/101的值并输出。

#include

voidmain()

{inti=1,sign=1;

doublesum=0,t=1.0;

while(i<=51)

{sum=sum+t;

i++;

sign=-sign;

t=1/(2*i-1);

t=sign/(2*i-1);

}

printf("%f",sum);

}27输入一个正整数,要求以相反的顺序输出该数。

例如输入12345,输出位54321。

intswapInt(intp)

{

intnum=0;

while(p!

=0)

{

num=num*10

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

当前位置:首页 > PPT模板 > 其它模板

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

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