C语言基础实验:顺序与选择结构程序设计
需积分: 9 17 浏览量
更新于2024-10-29
收藏 117KB DOC 举报
"C语言程序设计实验,包含所有的基本C语言实验"
C语言程序设计实验是学习C语言的重要实践环节,旨在帮助学生掌握C语言的基本概念、语法和编程技巧。本实验资料包含了C语言的所有基本实验,是实验室教学的成果,适合初学者进行深入理解和实践。
1. 顺序结构程序设计:
在C语言中,顺序结构是最基础的程序执行流程,即按照代码的顺序依次执行。在给定的示例中,程序首先将字符变量`c1`和`c2`分别赋值为97和98,然后使用`printf`函数打印它们。`%c`是域说明符,用于输出字符。因此,程序的运行结果是"A"和"B"。当添加第二个`printf`语句打印`c1`和`c2`的ASCII值时,输出结果为整数97和98。
2. 程序错误修正:
(1) 第一个程序错误在于`SIN`函数的使用,应改为`sinf`,同时包含`<math.h>`头文件。正确的程序是:
```c
#include <math.h>
main() {
double d, x;
scanf("%lf", &d);
x = 1 / 2 * sin(d * M_PI / 180.0);
printf("x=%f\n", x);
}
```
程序运行后,如果输入一个角度,例如30度,将计算出正弦值并输出。
(2) 第二个程序错误在于试图更改常量`PRICE`的值。在C语言中,常量是不可改变的。正确做法是使用变量。修正后的程序:
```c
#include<stdio.h>
#define PRICE 30
main() {
int x = 5;
int total_price = PRICE * x;
printf("%d %d", x, total_price);
}
```
程序运行后,会输出变量`x`的值和`PRICE`与`x`乘积的值。
3. 编程题:
(1) 要求计算以边长a、b、c为边的三角形面积。根据海伦公式,面积可以通过半周长s来计算。提供的代码已经正确实现了这个功能,输入a、b、c的值,程序会输出面积。例如,当a=3.5,b=5.4,c=4.3时,程序将计算并输出面积。
(2) 这个编程题要求计算圆的周长、圆柱的表面积和体积。圆周长公式为2πr,表面积公式为2πrh(底面积+侧面积),体积公式为πr²h。假设半径`r`为10cm,高`h`为15cm,可以编写如下程序:
```c
#include<stdio.h>
#define PI 3.14159
int main() {
float r = 10, h = 15;
float circumference = 2 * PI * r;
float surface_area = 2 * PI * r * h + PI * r * r * 2;
float volume = PI * r * r * h;
printf("Circumference: %.2f CM\n", circumference);
printf("Surface Area: %.2f CM²\n", surface_area);
printf("Volume: %.2f CM³\n", volume);
return 0;
}
```
执行该程序,将得到圆周长、圆柱表面积和体积的精确数值。
4. 选择结构程序设计:
选择结构(if...else语句)用于根据条件执行不同的代码块。在给定的问题中,要求根据输入的成绩判断学生的等级。可以编写如下的程序来实现这个功能:
```c
#include<stdio.h>
int main() {
int score;
printf("请输入学生的成绩:");
scanf("%d", &score);
if (score >= 90) {
printf("等级:A\n");
} else if (score >= 80) {
printf("等级:B\n");
} else if (score >= 70) {
printf("等级:C\n");
} else if (score >= 60) {
printf("等级:D\n");
} else {
printf("等级:F\n");
}
return 0;
}
```
运行这个程序并输入分数,它会根据给定的评分标准输出相应的等级。
2023-11-12 上传
2023-12-17 上传
2023-06-28 上传
2023-06-08 上传
2023-06-06 上传
2023-03-09 上传
w407165729
- 粉丝: 0
- 资源: 1
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库