C语言练习题1-5及参考答案(5)

2019-08-29 23:16

}

int n=123456,i; i=n;

printf(\报数到%d的人是\switch(i) { }

printf(\

case 1: printf(\case 2:case 14: case 3:case 13: case 4:case 12: case 5:case 11: case 6:case 10: case 7:case 9: case 8:

printf(\printf(\printf(\printf(\printf(\printf(\printf(\

程序的运行结果: 报数到123456的人是D

(5)编写一个程序,求ax+bx+c=0方程的根。

【解】先计算d=b-4ac,再根据d是大于0、等于0还是小于0分别求根。程序如下: /*文件名:exci4_5.cpp*/ #include #include

int func(float a,float b,float c,float *x1,float *x2) { } main() {

float a,b,c,x1,x2,n; printf(\输入a,b,c:\float d; d=b*b-4*a*c; if (d>0) { }

else if (d==0) { }

else return 0;

*x1=(-b)/(2*a); return 1;

*x1=(-b+sqrt(d))/(2*a); *x2=(-b-sqrt(d))/(2*a); return 2;

VC++6.0 2

2

21

scanf(\ n=func(a,b,c,&x1,&x2); if (n==2) { printf(\两个根:\\n\ printf(\ printf(\

}

else if (n==1) { printf(\一个根:\\n\ printf(\ }

else printf(\没有根\\n\

}

22

4.3 上机实验4及参考答案

实验内容

假定向国外邮寄包裹的收费如下计算:首先,包裹重量四舍五入到最近的15g的倍数,然后按表4.1收费。编写一个程序根据用户输入的包裹重量和里程计算邮费。

表4.1 包裹邮费计算表 重量(g) 收费(元) 15 5 30 9 45 12 60

14(每足1000 km加1元) 75以上

15(每足1000 km加2元)

编程要求

在程序中使用switch语句进行判断计算。

解题思路和程序代码

对于用户输入的重量w,采用如下公式四舍五入到最近的15g的倍数: x=((w+7)/15)*15

当w小于8时,x=0,但邮费应为5;当x=60或x>=60时,还应考虑里程费用。因此采用一个switch语句进行判定计算。程序如下: /*文件名:prog4.cpp*/ #include main() {

int p,w,f,x;

printf(\重量,里程:\ scanf(\ x=((w+7)/15)*15; switch (x) {

case 0: f=5; break; case 15: f=5;

23 VC++6.0 break; case 30: f=9; break; case 45: f=12; break;

case 60: f=14+(p/1000)*1; break;

default: f=15+(p/1000)*2; break; }

printf(\邮费:%d元\\n\}

程序运行结果: 重量,里程:80,2300↙ 邮费:19元

24

i=i0+1;

练习题5及参考答案

if (i==20) break; }

B. for (i=1;;i++) sum=sum+1; 1. 单项选择题

C. k=0; do (1)语句while (!e);中的条件!e等价于 。

{ A. e==0

B. e!=1

C. e!=0

++k;

D. ~e

} while (k<=0); 【答】!e等价于!(e!=0),即e==0。本题答案为A。

D. s=3379;

(2)下面有关for循环的正确描述是 。

while (s++%2+3%2) A. for循环只能用于循环次数已经确定的情况 s++; B. for循环是先执行循环体语句,后判定表达式 【答】A C. 在for循环中,不能用break语句跳出循环体

D. for循环体语句中,可以包含多条语句,但要用花括号(7)与以下程序段等价的是____。 括起来

while (a) 【答】D

{

(3)C语言中 。

if (b) continue; A. 不能使用do-while语句构成的循环

c; B. do-while语句构成的循环必须用break语句才能退出 }

C. do-while语句构成的循环,当while语句中的表达式值A. while (a)

为非零时结束循环

{ if (!b) c; }

D. do-while语句构成的循环,当while语句中的表达式值C. while (c)

为零时结束循环

{ if (b) c; }

【答】D

c; } (4)C语言中while和do-while循环的主要区别【答】A

是 。

(8)以下程序的输出结果是____。 A. do-while的循环体至少无条件执行一次

#include B. while的循环控制条件比do-while的循环控制条件严格

main() C. do-while允许从外部转到循环体内 {

D. do-while的循环体不能是复合语句

int i;

【答】A

for (i=4;i<=10;i++) (5)以下程序段 。 {

int x=-1; if (i%3==0) continue; do printf(\{

} x=x*x; } }

A. 45

B. 457810 while (!x);

D. 678910

A. 是死循环

B. 循环执行二次

【答】B

C. 循环执行一次

D. 有语法错误

(9)以下程序的输出结果是____。 【答】C

#include (6)下列语句段中不是死循环的是____。

main() A. i=100;

{

while (1) int num=0; { while (num<=2) {

25

B. while (c)

D. while (a)

{ if (b) break;

C. 69

{ if (!b) break; c; }


C语言练习题1-5及参考答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:湖南省初中教师专业适岗培训模拟试卷 - 生物(一)

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

马上注册会员

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