3月6日 顺序结构
大家好,本期视频,我们学习一个非常基础、但又非常重要的知识点——程序结构。
很多同学学编程,最大的问题不是不会写代码,而是只顾着闷头写,从来没去思考过代码的结构。
很多同学在刚学编程的时候,会觉得代码看起来很乱,不知道是怎么执行的,其实,这很大程度上是因为大家还没有掌握‘程序结构’这个概念。
程序结构是什么
程序结构:就是程序组织代码的方式。
- 程序:就是一段代码。
- 结构:就是代码的组织方式、执行方式。
学习程序结构可以帮助我们更深入的理解代码、更好的掌控代码。
一段程序由几部分代码组成,程序从哪里开始执行、如何执行等等。理解这一点,能帮我们更好地掌控代码。
程序结构的分类
在程序中,一切代码的执行,本质上只会分为以下三种结构:
- 第一种:顺序结构
- 第二种:分支结构
- 第三种:循环结构
所有复杂的程序,都是由这三种结构组合而成的。
顺序结构是什么
顺序结构是让程序根据代码书写顺序自上而下依次执行。不会跳过,也不会重复。
顺序结构是程序中最基本、最自然的结构。
顺序结构的组成
顺序结构常常由以下五种语句组成:
- 变量声明语句
- 赋值语句
- 输入输出语句
- 表达式语句
- 方法调用语句等
可以说,每个学习编程的人,在起步阶段编写的代码都是顺序结构.
声明变量
// 声明变量
int age;
string name;
double salary;
// 声明并初始化
int count = 10;
string message = "Hello";
bool isActive = true;
// 多个变量同时声明
int x, y, z = 5; // x和y未初始化,z=5
赋值语句
int number = 100;
string text = "C# Programming";
double pi = 3.14159;
// 复合赋值
count += 5; // 等同于 count = count + 5
number *= 2; // 等同于 number = number * 2
输入输出语句
// 输出到控制台
Console.Write("请输入姓名:"); // 不换行
Console.WriteLine("Hello World"); // 自动换行
// 从控制台输入
string name = Console.ReadLine(); // 读取字符串
int age = int.Parse(Console.ReadLine()); // 读取并转换
double price = Convert.ToDouble(Console.ReadLine()); // 另一种转换方式
表达式语句
int result = 10 + 20 * 3; // 算术表达式
bool isEqual = (result == 70); // 关系表达式
bool logic = (isEqual && true); // 逻辑表达式
string fullName = "张" + "三"; // 字符串拼接
方法调用语句
Console.WriteLine("调用方法");
int length = "Hello".Length; // 属性访问
string upper = "abc".ToUpper(); // 方法调用
Array.Sort(myArray); // 静态方法调用
案例 1:个人信息处理
编写一个控制台程序,实现以下功能:
-
输入个人信息
- 姓名(string 类型)
- 年龄(int 类型)
- 身高(米,double 类型)
- 体重(公斤,double 类型)
-
计算身体质量指数(BMI)
- 公式:BMI = 体重 ÷ (身高 × 身高)
- 保留2位小数
-
输出个人信息汇总
- 按照指定格式显示所有输入信息
- 显示计算出的 BMI 值
-
增加功能
- 计算并显示标准体重范围
- 根据 BMI 值给出健康建议
- 计算并显示体脂率估算值(可选)
using System;
class Program
{
static void Main()
{
// 步骤1:获取用户信息
Console.WriteLine("=== 个人信息录入系统 ===");
Console.Write("请输入姓名:");
string name = Console.ReadLine();
Console.Write("请输入年龄:");
int age = int.Parse(Console.ReadLine());
Console.Write("请输入身高(米):");
double height = double.Parse(Console.ReadLine());
Console.Write("请输入体重(公斤):");
double weight = double.Parse(Console.ReadLine());
// 步骤2:计算BMI
double bmi = weight / (height * height);
// 步骤3:格式化输出
Console.WriteLine("\n=== 个人信息汇总 ===");
Console.WriteLine($"姓名:{name}");
Console.WriteLine($"年龄:{age}岁");
Console.WriteLine($"身高:{height:F2}米");
Console.WriteLine($"体重:{weight:F1}公斤");
Console.WriteLine($"BMI:{bmi:F2}");
// 步骤4:等待退出
Console.WriteLine("\n按任意键退出...");
Console.ReadKey();
}
}
案例2:简易计算器
编写一个控制台程序,实现一个简单的计算器,完成以下功能:
-
输入两个数字
- 第一个数(double 类型)
- 第二个数(double 类型)
-
进行四种基本运算
- 加法(+)
- 减法(-)
- 乘法(×)
- 除法(÷)
-
输出计算结果
- 按照指定格式显示所有运算结果
- 结果保留2位小数
-
增强功能
- 增加求余数运算(%)
- 增加幂运算(如第一个数的平方)
- 处理除数为0的情况
- 增加更多运算(如平均值、最大值、最小值)
using System;
class Program
{
static void Main()
{
// 1. 输入第一个数
Console.Write("请输入第一个数:");
double num1 = Convert.ToDouble(Console.ReadLine());
// 2. 输入第二个数
Console.Write("请输入第二个数:");
double num2 = Convert.ToDouble(Console.ReadLine());
// 3. 计算和
double sum = num1 + num2;
// 4. 计算差
double difference = num1 - num2;
// 5. 计算积
double product = num1 * num2;
// 6. 计算商
double quotient = num1 / num2;
// 7. 输出结果
Console.WriteLine($"和:{sum}");
Console.WriteLine($"差:{difference}");
Console.WriteLine($"积:{product}");
Console.WriteLine($"商:{quotient}");
// 8. 等待用户按键退出
Console.WriteLine("按任意键退出...");
Console.ReadKey();
}
}
案例 3:计算圆面积和周长
编写一个控制台程序,实现圆的周长和面积计算,完成以下功能:
-
输入圆的半径
- 半径(double 类型,单位:厘米)
-
计算圆的周长
- 公式:周长 = 2 × π × 半径
- 使用 Math.PI 作为圆周率
-
计算圆的面积
- 公式:面积 = π × 半径²
- 可以使用
Math.Pow()或直接相乘
-
输出计算结果
- 显示输入的半径
- 显示计算出的周长和面积
- 结果保留2位小数
- 显示单位(厘米、平方厘米)
// 计算圆的面积和周长
double radius = 5.0; // 1. 定义半径
double pi = Math.PI; // 2. 获取π值
double area = pi * radius * radius; // 3. 计算面积
double perimeter = 2 * pi * radius; // 4. 计算周长
Console.WriteLine($"半径:{radius}"); // 5. 输出结果
Console.WriteLine($"面积:{area:F2}");
Console.WriteLine($"周长:{perimeter:F2}");