云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > C程序设计作业集

C程序设计作业集

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 14:27:21

20.若运行以下程序时,输入2473↙,则程序的运行结果是 。

main ( ) { int c;

while ((c=getchar( )) ! =?\\n?) switch (c-?2?) { case 0 :

case 1 : putchar (c+4) ;

case 2 : putchar (c+4) ; break ; case 3 : putchar (c+3) ;

default : putchar (c+2) ; break ; }

printf(“\\n”); }

A)668977 B)668966 C)66778777 D)6688766

二.填空题

1.C语言三个循环语句分别是 语句, 语句和 语句。 2.至少执行一次循环体的循环语句是 。

3.循环功能最强的循环语句是 。 4.C语言允许循环嵌套使用 层。 5.程序段

for (a=1,i=-1; -1

的运行结果是 。

三.判断题

1.在while循环中允许使用嵌套循环,但只能是嵌套while循环。【 】 2.在实际编程中,do-while循环完全可以用for循环替换。【 】 3.continue语句只能用于三个循环语句中。【 】 4.在不得已的情况下(例如提高程序运行效率),才使用goto语句。【 】 5.语句标号与C语言标识符的语法规定是完全一样的。【 】 6.for循环的三个表达式可以任意省略,while,do-while也是如此。【 】 7.do-while允许从外部转到循环体内。【 】

8.while的循环控制条件比do-while的循环控制条件严格。【 】 9.do-while循环中,根据情况可以省略while。【 】 10.do-while循环的while后的分号可以省略。【 】

四.简答题

1.设计使用二分法求非线性方程f(x)=0在区间[a,b]的实根的算法。 经典算法提示:

从端点x0?a开始,以h为步长,逐步往后进行搜索;对于每一个子区间?xi,xi?1?(其中

:若f(xi)?0,则xi为一个实根,且从xi?xi?1?xi?h)

则xi?1为一个实根,且从xi?1?h开始再往后搜索;若f(xi?1)?0,2h开始再往后搜索;若2f(xi)f(xi?1)?0,则说明当前子区

间内无实根。从xi?1开始再往后搜索;若f(xi)f(xi?1)?0,则说明在当前子区间内有实根。此时,反复将子区间减半,直到发现一个实根或子区间长度小于?为止。在后一种情况下,子区间的中点即取为方程的一个实根。然后再从xi?1开始往后搜索。其中?为预先给定的精度要求。以上过程一直进行到区间有端点b为止。

在使用本方法时,要注意步长h的选择。若步长h选的过大,可能会导致某些实根的丢失;若步长h选的过小,则会增加计算工作量。

2.设计用变步长梯形求积法计算定积分T?经典算法提示:

首先用梯形公式计算: Tn?其中n=1,h=b-a

然后用下列递推公式计算

?baf(x)dx的算法

h[f(a)?f(b)] 21hn?1 T2n?Tn??f(xi?0.5h)

22i?0 2n?n,0.5h?h 直至T2n?Tn??为止

3.设计使用牛顿迭代法求方程f(x)=0的一个实根的算法。 经典算法提示:

设f(x)=0,则满足下列条件:

(1)f(x)在闭区间[a,b]上,其f'(x)与f''(x)均存在,且各自保持固定符号; (2)f(a)f(b)?0;

(3)f(x0)f''(x)?0,且x,x0?[a,b]。

则方程f(x)=0在区间[a,b]上只有一个实根,取初值x0,由牛顿迭代公式:

xn?1?xn?f(xn)/f''(xn)

计算得到的序列x0,x1,?,xn,?收敛于方程f(x)=0的根。

结束迭代过程的条件为f(xn?1)??与xn?1?xn??同时成立,其中ε为预先给定的精度要求。

五.程序阅读题

1.写出下面程序运行的结果。

main ( ) { int x,i ;

for (i=1 ; i<=100 ; i++) { x=i;

if (++x%2==0) if (++x%3==0) if(++x%7==0)

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

2.写出下面程序运行的结果。

main ( )

{ int i,b,k=0 ;

for (i=1; i<=5 ; i++) { b=i%2;

while (b--=0) k++ ; }

printf(“%d,%d”,k,b); }

3.写出下面程序运行的结果。

main ( ) { int a,b;

for (a=1,b=1 ; a<=100 ; a++) { if (b>=20) break;

if (b%3==1) { b+=3 ; continue ; } b-=5; }

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

4.写出下面程序运行的结果。

main ( )

{ int k=1,n=263 ;

do { k*= n ; n/=10 ; } while (n) ; printf(“%d\\n”,k); }

5.写出下面程序运行的结果。

main ( ) { int i=5 ;

do {

switch (i%2) {

case 4 : i-- ; break ; case 6 : i-- ; continue ; }

i-- ; i-- ; printf(“%d”,i); }while (i>0) ; }

6.写出下面程序运行的结果。

main ( ) { int i,j;

for (i=0;i<3;i++,i++) { for (j=4 ; j>=0; j--) { if ((j+i)%2) { j-- ;

printf(“%d,”,j); continue ; } --i ; j-- ;

printf(“%d,”,j) ; } } }

7.写出下面程序运行的结果。

main ( )

{ int a=10,y=0 ; do {

a+=2 ; y+=a ; if (y>50) break ; } while (a=14) ;

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

8.写出下面程序运行的结果。

main ( )

{ int i,j,k=19; while (i=k-1) { k-=3 ;

if (k%5==0) { i++ ; continue ; } else if (k<5) break ; i++; }

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

搜索更多关于: C程序设计作业集 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

20.若运行以下程序时,输入2473↙,则程序的运行结果是 。 main ( ) { int c; while ((c=getchar( )) ! =?\\n?) switch (c-?2?) { case 0 : case 1 : putchar (c+4) ; case 2 : putchar (c+4) ; break ; case 3 : putchar (c+3) ; default : putchar (c+2) ; break ; } printf(“\\n”); } A)668977 B)66896

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com