【C语言程序设计】顺序结构程序设计

news/2024/10/18 1:32:59/

目录

前言

一、程序阅读

二、程序改错

三、程序设计


🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。

💡本文由Filotimo__✍️原创,首发于CSDN📚。

📣如需转载,请事先与我联系以获得授权⚠️。

🎁欢迎大家给我点赞👍、收藏⭐️,并在留言区📝与我互动,这些都是我前进的动力!

🌟我的格言:森林草木都有自己认为对的角度🌟。

前言

C 语言具有五种基本语句:

1. 程序流程控制语句:用于根据条件来控制程序的执行流程。主要包括if语句、switch语句和循环语句(如while、do-while、for等)。这些语句允许程序在满足特定条件时执行不同的操作。

2. 函数调用语句:通过调用函数来执行特定的操作。函数调用语句需要提供函数名和相应的参数,可以将函数的返回值赋给变量或者直接使用函数的返回值。

3. 表达式语句:通过表达式完成某种计算操作并产生结果。这种语句的形式简单,通常以分号结尾。例如,a = b + c; 将表达式 b + c 的结果赋给变量 a。

4. 空语句:也称为空语句或者空操作语句,它是一条什么都不做的语句,只有一个分号。空语句通常用于程序结构的占位或者在某些循环中不需要执行任何操作的情况下。

5. 复合语句:由一对花括号括起来的语句序列,也称为代码块或语句块。复合语句可以包含多个语句,并且可以嵌套使用。复合语句的主要用途是创建局部作用域并将相关语句组织在一起。

以下是顺序结构程序设计的五个步骤:

1. 分析出程序的输入量和输出量:根据问题的需求,确定程序需要接受哪些数据作为输入,以及需要输出哪些数据作为结果。例如,一个计算圆的周长和面积的程序,其输入量可能是圆的半径,而输出量可能是周长和面积。

2. 确定输入和输出的变量:命名、类型和格式:为了方便程序的理解和编写,需要为输入和输出的变量命名,并指定其类型和格式。例如,对于上面的计算圆的程序,可以使用“r”表示圆的半径,使用“c”和“a”分别表示圆的周长和面积。

3. 确定输入和输出的算法:为了计算输入数据的结果并输出,需要明确计算的算法和逻辑。例如,计算圆的面积和周长的算法分别为A = πr²和C = 2πr,其中“π”为圆周率,可以使用预定义的常量或变量存储。

4. 模块化编程:将程序拆分为多个独立的模块,每个模块负责执行特定的任务。这有助于简化程序的复杂度,提高程序的可维护性和可重用性。例如,可以使用一个函数计算圆的面积,另一个函数计算圆的周长,主函数则负责接受输入数据和输出结果。

5. 调试程序:在编写完成程序之后,需要测试和调试程序,以确保程序的正确性和稳定性。可以使用调试工具或日志记录等方法,发现和解决程序中的错误和异常,确保程序能够运行如预期。


一、程序阅读

在阅读并理解程序思路的基础上,练习强制类型转换运算符的使用,补充注释内容,并上机运行程序,验证运行结果与自己分析的结果是否相符。

#include <stdio.h>
int main()
{int d; // 将3除以2,得到1,因为是整数除法// 强制转换为 double 类型,得到 1.0// 注意,此处并不是将分子和分母都转换为 double 类型再相除// 而是先进行整数除法,再将结果转换为 double 类型double result1 = (double)(3/2);// 将 result1 加上 0.5,得到 1.5// 因为 0.5 是 double 类型,所以 result1 也会自动转换为 double 类型进行运算double result2 = result1 + 0.5;// 将 1.99 强制转换为 int 类型,得到 1int result3 = (int)1.99;// 将 2 乘以 result3,得到 2// 因为 result3 是 int 类型,所以运算结果也会是 int 类型int result4 = 2 * result3;// 将 result2、result4 相加,得到 3.5// 因为 result2 是 double 类型,result4 是 int 类型,所以运算结果会是 double 类型double result5 = result2 + result4;// 强制转换将 result5 转换为 int 类型,得到 3// 强制转换会舍弃小数部分,只保留整数部分d = (int)result5;printf("d=%d\n", d); return 0; 
}

运行结果:

二、程序改错

程序中有4处错误,上机调试程序,修改有错误的语句行,并输出正确的运行结果。

第1句: #include<stdio.h>

第2句:int main()

第3句:{ float x=2,y ;

第4句: y=3;

第5句: z=2x +y;

第6句: printf("%d\n",y);

第7句: printf("%f\n,z");

第8句: return 0;}

修正后的代码:

#include <stdio.h>int main()
{float x = 2, y;y = 3;float z = 2 * x + y;printf("%f\n", y);printf("%f\n", z);return 0;
}

修改后的程序中,修复了以下错误:

1.第3句:修复了变量声明中缺少分号的错误,在 float x=2,y ; 语句中添加了分号。

2.第5句:修复了乘法运算符的错误,将 2x 更正为 2 * x

3.第6句:修复了错误的格式化字符串,变量 y 是浮点型,应该使用 %f 进行格式化输出。

4.第7句:修复了字符串格式化错误,在 printf 语句中,将 z 作为 %f 的参数并用逗号分隔,修正为 "%f\n"

运行结果:

三、程序设计

编写程序,将China译成密码,译码规律是:用原来字母后面的第5个字母代替原来的字母。

实现代码:

#include <stdio.h>
#include <string.h>int main()
{char str[100] = "China";int len = strlen(str);for (int i = 0; i < len; i++) {if ('A' <= str[i] && str[i] <= 'Z') {// 对于大写字母,将字母后移5个位置,并取模,保证在字母表范围内str[i] = (str[i] - 'A' + 5) % 26 + 'A';}else if ('a' <= str[i] && str[i] <= 'z') {// 对于小写字母,同理str[i] = (str[i] - 'a' + 5) % 26 + 'a';}}printf("加密后的密文为: %s\n", str);return 0;
}

运行结果:


总结

通过学习顺序结构程序设计,我们可以了解到程序的执行顺序是从上到下依次执行的,这为我们编写简单而有效的程序提供了基础。掌握顺序结构程序设计的基本思想和技巧对于学习和理解其他复杂的程序控制结构(如条件语句和循环语句)至关重要。


http://www.ppmy.cn/news/1266245.html

相关文章

Ubuntu设置kubelet启动脚本关闭swap分区

查看swap分区 swapon -s打开swap分区 swapon -a查看/etc/fstab下所有固化的swap分区&#xff0c;注释 vi /etc/fstab修改kubelet.conf文件 vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf添加 ExecStartPre/sbin/swapoff -a生效 systemctl daemon-reload sys…

Java架构师系统架构提升扩展性

目录 1 导语2 架构扩展性-应用扩展3 架构扩展性-数据扩展4 组织可扩展性5 流程可扩展性6 多快好省-扩展性实现方案7单体应用从数百节点到数万节点的扩展历程8 总结想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导语 理解业务需求,对未来的业务发展有清晰的预见性。…

【go语言实践】基础篇 - 流程控制

if语句 go里面if不需要括号将条件表达式包含起来&#xff0c;这与python也有点类似 if 条件表达式 { } if num > 18 {// ... } else if num > 20 {// ... } else {// ... }需要注意的是go支持在if的条件表达式中直接定义一个变量&#xff0c;变量的作用域只在if范围内…

云降水物理基础

云降水物理基础 云的分类 相对湿度变化方程 由相对湿度的定义&#xff0c;两边取对数之后可以推出 联立克劳修斯-克拉佩龙方程&#xff08;L和R都为常数&#xff09; 由右式看出&#xff0c;增加相对湿度的方式&#xff1a;增加水汽&#xff08;de增大&#xff09;和降低…

排序算法——归并排序

归并排序&#xff08;Merge Sort&#xff09;是计算机科学中非常重要的排序算法之一。它不仅高效、稳定&#xff0c;而且是许多高级排序技术和算法思想的基础。在本文中&#xff0c;我们将深入探讨归并排序的原理、实现方法&#xff0c;以及它的优缺点。 1. 归并排序的原理 归…

VBA信息获取与处理:在EXCEL中随机函数的利用

《VBA信息获取与处理》教程(版权10178984)是我推出第六套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。这部教程给大家讲解的内容有&#xff1a;跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互…

多维时序 | MATLAB实现SAO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现SAO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现SAO-CNN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现SAO-CNN-B…

做数据分析为何要学统计学(3)——何为置信区间?它有什么作用?

置信区间是统计学中的一个重要工具&#xff0c;用以使用样本参数()来估计总体均值在某置信水平下的范围。通俗一点讲&#xff0c;如果置信度为95%&#xff08;等价于显著水平a0.05&#xff09;&#xff0c;置信区间为[a,b]&#xff0c;这就意味着总体均值落入该区间的概率为95%…