C语言补充练习题(4)

2018-12-17 15:24

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

{ if (j%2) continue; x++; } x++; }

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

该程序的运行结果是 。 12.阅读下列程序:

#include “stdio.h” main()

{ int v1=0,v2=0; char ch; while ((ch=getchar())!=?#?) switch(ch)

{ case ?a?: case ?h?: default: v1++; case ?o?: v2++; }

printf(“%d,%d\\n”,v1,v2); }

在执行以上程序时,如果从键盘上输入:china#<回车>,则运行结果是 。

五、程序填空题:

1.完成下面给出的部分程序,函数所表示的数学函数关系是: 0 (x<0)

y = -1 (x=0) 1 (x>0) main() { int x,y; scanf(“%d”,&x); y= ;

if(x!=0) if (x>0) y= ; else y= ;

}

2.根据以下函数关系,对输入的每个x值,计算出相应的y值。

X Y X<0 0

16

0≤X<10 X 10≤X<20 10 20≤X<40 -0.5X+20 main() {int x,c,m; float y;

scanf(“%d”,&x);

if ( ) c=-1; else c= ; switch(c)

{case –1:y=0;break; case 0:y=x;break; case 1:y=10;break; case 2:

case 3:y=-0.5*x+20;break; default:y=-2; }

if ( ) printf(“y=%f”,y); else printf(“error\\n”); }

3.假设奖金税率如下(a代表奖金,r代表税率) a<500 r=0% 500≤a<1000 r=5% 1000≤a<2000 r=8% 2000≤a<3000 r=10% 3000≤a r=15%

以下程序对输入的一个奖金数,求税率和应交税款以及实得奖金数(扣除奖金税后)。题中r代表税率,t代表税款,b代表实得奖金数。 main()

{ float a,r,t,b; int c; scanf(“%f”,&a); if (a>=3000) c=6;

else c= ; switch (c)

{ case 0:r=0;break; case 1:r=0.05;break; case 2:

case 3: ;break; case 4:

17

case 5:r=0.1;break; case 6:r=0.15;break; } t=a*r; b=a-t;

printf(“r=%f,t=%f,b=%f”,r,t,b);

}

4.求1!+2!+ … + 10! = ? ,程序如下:

#include “stdio.h” main()

{ int s,n,t=1;

for ( ; n<=10; n++)

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

5.下列程序是求1+1/2+1/4+…+1/50的值。 #include “stdio.h” main()

{ int i=2;float sum=1.0; while( )

{ sum+=1/(float)i; ;} printf(“sum=%f”,sum);

}

6. 下列程序输出***** main() { int x=5;

do{printf(“*”);x--;}while( ); }

7. 下列程序输出23456 main()

{ int a=10,b=2,i;

for(i=b;i<=a;i++, ) printf(“%d”,i); }

22222

8.下列程序用公式π/6=1/1+1/2+1/3+…+1/n,求π的近似位直到最后一项的

-8

值小于10时为止。 #include “math.h” main()

{ long i=1;double pi=0;

while(i*i<=10e+8){pi= ;i++;}

18

pi=sqrt(6.0*pi);

printf(“pi=.6lf\\n”,pi); }

9.下列程序求1—1000间“用3除余2,用5除余3”的数,且一行打印10个数。

main()

{ int i=1,j=0;

do{ if ( )

{ printf(“%d”,i); j=j+1;

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

i=i+1;

}while(i<1000); }

10.下列程序求所输入的整数的所有因子。

#include “stdio.h” main()

{ int i=1,x;

scanf(“%d”,&x); for ( ; ; )

{ if (x%i==0) printf(“=”,i); i++; } }

11.试求个位数为6且能被3整除的5位数..(设i为统计所求数的个数, m为所求的5位数变量.)

#include “stdio.h” main()

{ int i, m;

for (i=0,m=10006; m<=99999; ) if ( ) { ; printf(“m=%d\\n”,m); }

printf(“i=%d\\n”,i); }

第四章 数组和字符串

一、

单项选择题:

19

1.对两个静态数组A和B进行如下初始化: static char A[]=“ABCDEF”;

static char B[]={?A?, ?B?, ?C?, ?D?, ?E?, ?F?}; 则下列叙述正确的是 。

A. A和B完全相同。 B. A和B只是长度相等。 C. A数组长度比B数组短。 D. A数组长度比B数组长。 2.下面的程序中 有错误(每行程序前面的数字是行号)。

1 #include 2 main() 3 {

4 float a[3]; 5 int i;

6 for (i=0;i<3;i++) scanf(“%d”,&a[i]); 7 for (i=1;i<3;i++) a[0]=a[0]+a[i]; 8 printf(“%f\\n”,a[0]); 9 }

A. 没有。 B. 第4行。 C. 第6行。 D. 第8行。 3. 下述对C语言字符数组的描述中错误的是 。

A.字符数组可以存放字符串。

B.字符数组中的字符串可以整体输入、输出。

C.可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值。 D.不可以用关系运算符对字符数组中的字符串进行比较。 4. 定义如下变量和数组: int i;

int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是 。

for (i=0;i<3;i++) printf(“%d,”,x[i][2-i]);

A. 1,5,9, B. 1,4,7, C. 3,5,7, D. 3,6,9, 5. 不能把字符串:Hello!赋给数组b的语句是 。

A. char b[10]={?H?, ?e?, ?l?, ?l?, ?o?, ?!?,?\\0?}; B. char b[10]; b=“Hello!”;

C. char b[10]; strcpy(b, “Hello!”); D. char b[10]= “Hello!”; 6. 若有以下说明:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c=?a?,d,g;

则数值为4的表达式是 。

A.A[g-c] B. a[4] C. a[?d?-?c?] D. a[?d?-c] 7. 合法的数组定义是 。

20


C语言补充练习题(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《祭十二郎文》优秀教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: