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

当前位置:首页 > c语言实验指导书

c语言实验指导书

  • 62 次阅读
  • 3 次下载
  • 2025/7/7 9:40:18

9)指出以下程序的错误并改正,并上机把程序调通。 #include main() { int a; scanf(\ printf(\ char c; c=A; printf(\}

四.思考题

1.编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数和printf函数输出这两个字符。并思考以下问题:

⑴ 变量c1,c2应定义为字符型或整型?还是二者皆可?

⑵ 要求输出c1和c2的ASCII码,应如何处理?用putchar函数还是printf函数? ⑶ 整型变量和字符型变量是否在任何情况下都可以互相代替?

2.设圆半径r=2,圆柱高h=3,求圆周长,圆柱底面积,圆柱体积。用scanf输入数据,用printf输出计算结果,输出时要求有文字说明,取小数点后两位数字。 3.将5位整数按逆序输出,并按位求和。

欢迎下载

实验二 程序流程控制(4学时)

一.实验类型

验证和设计

二.实验目的

1. 掌握嵌套if-else语句与if的比较。 2. 掌握for语句与while语句的比较。

3. 掌握在设计条件型循环结构时,如何正确地设定循环条件,以及如何正确地控制计数型循环结构的次数。

4. 熟悉用while语句,do-while语句和for语句实现循环的方法。

5. 掌握在程序设计中用循环的方法实现各种算法(如穷举、选代、递推等)。 6. 掌握选择结构与循环结构的嵌套。

7. 掌握用break语句和continue语句改变循环状态的方法 。

三.实验内容和要求

1. 已知三个数a,b,c,找出最大值放在max中。 #include main()

{ int a,b,c,max;

printf(\请输入3个整数(中间用逗号分开):\ scanf(\ if(a>=b) max=a; else max=b; if(c>max) max=c;

printf(\}

若输入下列数据,分析程序的执行顺序并写出输出结果。 序号 1 2 3 4 5 6 输入的3个整数a、b、c 1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 输出max 2. 输入某学生的成绩,经处理后给出学生的等级,等级如下: 90分以上(包括90):A 80~90分(包括80):B 70~80分(包括70):C 60~70分(包括60):D 60分以下:E

方法一:用嵌套的if语句 #include \main()

{ int score; char grade;

欢迎下载

printf(\请输入学生成绩:\ scanf(\

if(score>100||score<0) printf(\输入成绩错误!\\n\ else{ if(score>=90) grade='A';

else if(score>=80) grade='B';

else if(score>=70) grade='C';

else if(score>=60) grade='D';

else grade='E';

printf(\成绩等级是%c\\n\ } }

输入测试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中100分,60分,0分以及小于0和大于100的数据。如果稍不注意就会出现小的程序缺陷。

方法二:用switch语句

分析:switch语句是用于处理多分支的语句。注意,case后的表达式必须是一个常量表达式,所以在用switch语句之前,必须把0~100之间的成绩分别化成相关的常量。所有A(除100以外)、B、C、D类的成绩的共同特点是十位数相同,此外都是E类。则由此可把score除十取整,化为相应的常数。

请同学们自己根据分析写出完整的程序段,并编译、运行、查看结果。 3. 程序分析

下面是一个计算e的近似值(使误差小于给定的δ)的程序。 #include main()

{ double e=1.0,x=1.0,y,delta; int i=1;

printf(\请输入给定的误差:\ scanf(\ y=1/x; while(y>=delta) { e=e+y;

i++; x=x*i; y=1/x; }

printf(\计算结果是:.10lf\\n\}

⑴ 阅读上面的程序,写出程序所依据的计算公式。

⑵ 当输入的delta是什么值时,能分别使程序按下面的要求运行: ⅰ 不进入循环; ⅱ 只循环一次;

欢迎下载

ⅲ 只循环两次;

ⅳ 进入死循环(程序将永远循环下去)。

ⅴ 为了能知道程序循环了多少次,应该在程序中增加一条什么样的语句?

⑶ 原程序中while语句中的y>=delta,分别换成y>delta,y=delta,y

⑷ 把程序中的while结构改写成do-while结构,再运行程序,说明两种结构的区别。 ⑸ 将程序改成用for循环结构,计算前50项,并运行程序,写出运行结果。 4. 有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前10项之和。

#include main() { int n,t;

float a=2,b=1,s=0; for(n=1;n<=10;n++) { s=s+a/b;

t=a; a=a+b; b=t; }

printf(\}

要求:跟踪执行,观察s、t、a、b的变化。

方法:使用功能键F10单步跟踪执行程序,可以在监视窗口设置要观察的变量或表达式。

停止调试 运行的程序 单步运行此处 监视窗口 欢迎下载

搜索更多关于: c语言实验指导书 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

— 9)指出以下程序的错误并改正,并上机把程序调通。 #include main() { int a; scanf(\ printf(\ char c; c=A; printf(\} 四.思考题 1.编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数和printf函数输出这两个字符。并思考以下问题: ⑴ 变量c1,c2应定义为字符型或整型?还是二者皆可? ⑵ 要求输出c1和c2的ASCII码,应如何处理?用putchar函数还是printf函数? ⑶ 整型变量和字符型变量是否在任何情况下都可以互相代替? 2.设圆半径r=2,圆柱高h=3,求圆周长,圆柱底面积,圆柱体积。用scanf输入数据,用printf输出计算结果,输出

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价: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