当前位置: 首页 > news >正文

承德网站制作/有免费推广平台

承德网站制作,有免费推广平台,py和php做网站哪个好,吉林有做网站的吗目录 前言 一、程序阅读 二、程序设计 总结 🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。 💡本文由Filotimo__✍️原创,首发于CSDN📚。 📣如需转载&#…

目录

前言

一、程序阅读

二、程序设计

总结


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

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

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

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

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

前言

函数是C语言中的核心概念之一,它们提供了一种模块化和可重用的方式来组织代码,使我们能够更加高效和灵活地编写程序。


一、程序阅读

1.1 第一个程序阅读

#include <stdio.h>int fun(int a)
{static int m = 5;m = m + a;return m;
}int main()
{int p;p = fun(4);printf("%d", p);p = fun(6);printf("%d\n", p);return 0;
}

`fun` 函数是一个整型函数,它接受一个整数参数 `a`。在函数内部,定义了一个静态整型变量 `m`,并初始化为 5。静态变量的生命周期会持续到程序运行结束。然后,将 `m` 的值与 `a` 相加,并将结果重新赋给 `m`。最后,返回 `m` 的值作为函数的结果。

在`main` 函数内部,首先声明了一个整型变量 `p`。然后,调用 `fun` 函数,并将参数 `4` 传入,并将函数的返回值赋给 `p`。接下来,使用 `printf` 函数将 `p` 的值输出到标准输出。然后,再次调用 `fun` 函数,并将参数 `6` 传入,并将返回值赋给 `p`。最后,再次使用 `printf` 函数将最新的 `p` 的值输出到标准输出,并添加一个换行符。最后,函数返回 0 表示程序正常结束。

这段代码通过调用函数来计算一个静态变量的累加结果。

运行结果:

1.2 第二个程序阅读

#include <stdio.h>int a = 5;void fun(int b) {int a = 10;a += b;printf("%3d", a);
}int main() {int c = 20;fun(c);a += c;printf("%3d\n", a);return 0;
}

首先定义了一个全局变量 `a`,并将其初始化为 5。全局变量的作用域是整个程序。

`fun` 函数是一个无返回值的函数,它接受一个整数参数 `b`。在函数内部,定义了一个局部变量 `a`,并将其初始化为 10。这个局部变量 `a` 与全局变量 `a` 同名,但是是两个不同的变量,具有不同的内存位置。然后,将局部变量 `a` 的值与参数 `b` 相加,并将结果赋值给局部变量 `a`。最后,使用 `printf` 函数将局部变量 `a` 的值以占位宽度为 3 的格式输出到标准输出。

在`main` 函数内部,首先定义了一个整型变量 `c`,并将其初始化为 20。然后,调用 `fun` 函数,并将变量 `c` 作为参数传递。在 `fun` 函数内部,局部变量 `a` 的值被计算,并且以占位宽度为 3 的格式输出。接下来,全局变量 `a` 的值与变量 `c` 相加,并将结果赋给全局变量 `a`。最后,使用 `printf` 函数将最新的全局变量 `a` 的值以占位宽度为 3 的格式输出到标准输出,并添加一个换行符。最后,函数返回 0 表示程序正常结束。

这段代码演示了全局变量和局部变量的概念,以及变量作用域的范围。其中,函数 `fun` 修改了局部变量 `a` 的值,并将结果输出。`main` 函数使用全局变量 `a` 和局部变量 `c` 进行计算,并输出最终结果。

运行结果:

二、程序设计

2.1 第一个程序设计

编一函数,求f(x)= &x2+1,x>10&x2, -1≤x≤10&x2-1,x<-1 的值,要求函数原型为float fun(float x)。

实现代码:

#include <stdio.h>float fun(float x);int main() {float x, y;printf("x=");scanf("%f", &x);y = fun(x);printf("f(x)=%f", y);return 0;
}float fun(float x) {float y;if (x > 10)y = x * x + 1;else if (x > -1 && x < 10)y = x * x;else if (x < -1)y = x * x - 1;return y;
}

在 main 函数体内部,定义了两个浮点数变量 x 和 y。程序通过 printf 函数向用户请求输入要计算的浮点数 x,并通过 scanf 函数将用户输入的数据储存到 x 变量中。然后程序通过调用函数 fun 对输入的数值进行计算,并将 y 变量储存计算结果。最后,程序通过 printf 函数将计算结果输出到屏幕上,并以换行符结束。

函数 fun 的逻辑如下:

如果输入值 x 大于 10,那么计算 y = x * x + 1。

如果输入值 x 大于 -1 且小于 10,那么计算 y = x * x。

如果输入值 x 小于 -1,那么计算 y = x * x - 1。

最后,函数返回 y。

运行结果:

2.2 第二个程序设计

用一个函数求1!+2!+3!…的前n项之和。(n从键盘输入)。

实现代码:

#include <stdio.h>// 计算阶乘的函数
int factorial(int n) {if (n == 0 || n == 1) {return 1;} else {return n * factorial(n - 1);}
}// 计算阶乘和的函数
int sumOfFactorials(int n) {int sum = 0;for (int i = 1; i <= n; i++) {sum += factorial(i);}return sum;
}int main() {int n;printf("请输入一个正整数 n:");scanf("%d", &n);int result = sumOfFactorials(n);printf("前 %d 项阶乘的和为:%d\n", n, result);return 0;
}

这段 C 代码实现了一个函数,用于计算前 n 项阶乘的和。代码分为三个部分:

1. `factorial` 函数计算阶乘:使用递归的方式计算阶乘。

2. `sumOfFactorials` 函数计算阶乘和:使用 for 循环计算前 n 项阶乘,并将阶乘累加到和中。

3. `main` 函数用于获取用户输入,计算并输出阶乘和。

整个程序用到了输入/输出库的函数,比如 `printf` 和 `scanf`。计算阶乘时使用了递归,计算阶乘和时使用了循环和调用上述递归函数。最终输出结果。

运行结果:


总结

通过学习本文所介绍的内容,我们可以更好地理解C语言中的函数程序设计。希望这些知识能够帮助您提升C语言编程技能,成为一名更出色的程序员。

相关文章:

【C语言程序设计】函数程序设计

目录 前言 一、程序阅读 二、程序设计 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x1f4e3;如需转载&#…...

GDPU 数据结构 天码行空14

实验十四 查找算法的实现 一、【实验目的】 1、掌握顺序排序&#xff0c;二叉排序树的基本概念 2、掌握顺序排序&#xff0c;二叉排序树的基本算法&#xff08;查找算法、插入算法、删除算法&#xff09; 3、理解并掌握二叉排序数查找的平均查找长度。 二、【实验内容】 …...

科技提升安全,基于YOLOv5系列模型【n/s/m/l/x】开发构建商超扶梯场景下行人安全行为姿态检测识别系统

在商超等人流量较为密集的场景下经常会报道出现一些行人在扶梯上摔倒、受伤等问题&#xff0c;随着AI技术的快速发展与不断普及&#xff0c;越来越多的商超、地铁等场景开始加装专用的安全检测预警系统&#xff0c;核心工作原理即使AI模型与摄像头图像视频流的实时计算&#xf…...

【网络安全】网络防护之旅 - 对称密码加密算法的实现

&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《网络安全之道 | 数字征程》⏰墨香寄清辞&#xff1a;千里传信如电光&#xff0c;密码奥妙似仙方。 挑战黑暗剑拔弩张&#xff0c;网络战场誓守长。 目录 &#x1f608;1. 初识网络安…...

鸿蒙arkTs Toast抽取 及使用

Toast抽取&#xff0c;创建一个Utils import promptAction from ohos.promptAction; import display from ohos.display; export function ToastUtils(msg:string){try {promptAction.showToast({message: msg,duration: 1500,bottom:450});} catch (error) {console.error(sh…...

网络安全渗透测试的相关理论和工具

网络安全 一、引言二、网络安全渗透测试的概念1、黑盒测试2、白盒测试3、灰盒测试 三、网络安全渗透测试的执行标准1、前期与客户的交流阶段1.1 渗透测试的目标网络1.2 进行渗透测试所使用的方法1.3 进行渗透测试所需要的条件1.4 渗透测试过程中的限制条件1.5 渗透测试的工期1.…...

C 语言 xml 库的使用

在C语言中&#xff0c;可以使用多种库来处理XML文件&#xff0c;其中最常用的是libxml2库。libxml2是一个用于解析XML和HTML文档的C语言库&#xff0c;它提供了许多功能&#xff0c;包括解析XML文档、创建XML文档、验证XML文档等等。下面是一个简单的示例&#xff0c;演示读取l…...

群晖(Synology)云备份的方案是什么

群晖云备份方案就是在本地的 NAS 如果出现问题&#xff0c;或者必须需要重做整列的时候&#xff0c;保证数据不丢失。 当然&#xff0c;这些是针对有价值的数据&#xff0c;如果只是电影或者不是自己的拍摄素材文件&#xff0c;其实可以不使用云备份方案&#xff0c;因为毕竟云…...

Flask 中的跨域难题:定义、影响与解决方案深度解析

跨域&#xff08;Cross-Origin&#xff09;是指在浏览器中&#xff0c;一个页面的脚本试图访问另一个页面的内容时发生的安全限制。Flask 作为一种 Web 应用框架&#xff0c;也涉及到跨域问题。本文将详细介绍跨域的定义、影响以及解决方案&#xff0c;涵盖如何在 Flask 中处理…...

汽车IVI中控开发入门及进阶(十二):V4L2视频

前言 汽车中控也被称为车机、车载多媒体、车载娱乐等,其中音频视频是非常重要的部分,比如播放各种格式的音乐文件、播放蓝牙接口的音乐、播放U盘或TF卡中的音视频文件,看起来很简单。如果说音频来源于振动,那么图片图像就是光反射的一种表象。模拟信号表示在空间上是连续…...

gitlab下载安装

1.下载 官网rpm包 gitlab/gitlab-ce - Results in gitlab/gitlab-ce 国内镜像 Index of /gitlab-ce/yum/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 2.安装 rpm -ivh gitlab-ce-16.4.3-ce.0.el7.x86_64.rpm 3.配置 vim /etc/gitlab/gitlab.rb 将 externa…...

Jmeter,提取响应体中的数据:正则表达式、Json提取器

一、正则表达式 1、线程组--创建线程组&#xff1b; 2、线程组--添加--取样器--HTTP请求&#xff1b; 3、Http请求--添加--后置处理器--正则表达式提取器&#xff1b; 4、线程组--添加--监听器--查看结果树&#xff1b; 5、线程组--添加--取样器--调试取样器。 响应体数据…...

【SpringBoot篇】基于布隆过滤器,缓存空值,解决缓存穿透问题 (商铺查询时可用)

文章目录 &#x1f354;什么是缓存穿透&#x1f384;解决办法⭐缓存空值处理&#x1f388;优点&#x1f388;缺点&#x1f38d;代码实现 ⭐布隆过滤器&#x1f38d;代码实现 &#x1f354;什么是缓存穿透 缓存穿透是指在使用缓存机制时&#xff0c;大量的请求无法从缓存中获取…...

Gitlab基础篇: Gitlab docker 安装部署、Gitlab 设置账号密码

文章目录 1、环境准备2、配置1)、初始化2)、修改gitlab配置文件3)、修改docker配置的gitlab默认端口 gitlab进阶配置gitlab 设置账号密码 1、环境准备 安装docker gitlab前确保docker环境&#xff0c;如果没有搭建docker请查阅“Linux docker 安装文档” docker 下载 gitlab容…...

c++常见函数处理

1、clamp clamp&#xff1a;区间限定函数 int64_t a Clamp(a, MIN_VALUE, MAX_VALUE); #include <iomanip> #include <iostream> #include <sstream>int main() {std::cout << "no setw: [" << 42 << "]\n"<&l…...

MYsql第二次作业

目录 问题 解答 1.显示所有职工的基本信息。 2.查询所有职工所属部门的部门号&#xff0c;不显示重复的部门号。 3.求出所有职工的人数。 4.列出最高工和最低工资。 5.列出职工的平均工资和总工资。 6.创建一个只有职工号、姓名和参加工作的新表&#xff0c;名为工作日…...

SQLAlchemy 第三篇

使用insert语句 from sqlalchemy import Table, Column, Integer, String, MetaDatametadata_obj MetaData() user_table Table("user_account",metadata_obj,Column("id", Integer, primary_keyTrue),Column("name", String(255)),Column(&q…...

交互过程中影响信息质量好坏的因素

人机交互是指人与计算机之间的交流和互动&#xff0c;而人人交流是指人与人之间的交流和互动。在信息质量方面&#xff0c;人机交互通常更为准确和精确&#xff0c;而人人交流可能存在误解、模糊和歧义。 人机交互的信息传递往往通过明确的界面、符号和指令等方式进行。计算机可…...

服务器上配置jupyter,提示Invalid credentials如何解决

我是按照网上教程在服务器上安装的jupyter以及进行的密码配置&#xff0c;我利用 passwd()这个口令生成的转译密码是"argon...."。按照教程配置jupyter notebook配置文件里面的内容&#xff0c;登陆网页提示"Invalid credentials"。我谷歌得到的解答是&…...

Axure中动态面板使用及轮播图多种登录方式左侧导航栏之案列

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《产品经理如何画泳道图&流程图》 ⛺️ 越努力 &#xff0c;越幸运 目录 一、轮播图简介 1、什么是轮播图 2、轮播图有什么作用 3、轮播图有什么特点 4、轮播图适应范围 5、…...

大数据之旅-问题反思

1.谈谈你对MR执行流程各个阶段的理解&#xff08;提示里面涉及到排序&#xff0c;快速排序或者归并排序知道两种实现形式&#xff09;&#xff1f; 2.hadoop 1.0和hadoop 2.0明显的差异如何理解&#xff1f; hadoop2.0与hadoop1.0区别体现在在架构、性能、功能和组件方面&…...

系统级基础信号知识【Linux】

目录 一&#xff0c;什么是信号 进程面对信号常见的三种反应概述 二&#xff0c;产生信号 1.终端按键产生信号 signal 2. 进程异常产生信号 核心转储 3. 系统调用函数发送信号 kill raise abort 小结&#xff1a; 4. 由软件条件产生 alarm 5. 硬件异常产生信号…...

Excel单元格隐藏如何取消?

Excel工作表中的有些单元格隐藏了数据&#xff0c;如何取消隐藏行列呢&#xff1f;今天分享几个方法给大家 方法一&#xff1a; 选中隐藏的区域&#xff0c;点击右键&#xff0c;选择【取消隐藏】就可以了 方法二&#xff1a; 如果工作表中有多个地方有隐藏的话&#xff0c;…...

Visual Studio(VS)常用快捷键(最详细)

Visual Studio常用快捷键 一、生成&#xff1a;常用快捷键二、调式&#xff1a;常用快捷键三、编辑&#xff1a;常用快捷键四、文件&#xff1a;常用快捷键五、项目&#xff1a;常用快捷键六、重构&#xff1a;常用快捷键七、工具&#xff1a;常用快捷键八、视图&#xff1a;常…...

UDP特性之组播(多播)

UDP特性之组播 1. 组播的特点2. 设置主播属性2.1 发送端2.2 接收端 3. 组播通信流程3.1 发送端3.2 接收端 4. 通信代码 原文链接 在公司测试广播和多播有一点问题。。。 1. 组播的特点 组播也可以称之为多播这也是UDP的特性之一。组播是主机间一对多的通讯模式&#xff0c;是…...

ElasticSearch之cat shards API

命令样例如下&#xff1a; curl -X GET "https://localhost:9200/_cat/shards?vtrue&pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elastic:ohCxPHQBEs5*lo7F9"执行结果输出如下&#xff1a; index shard prirep state docs s…...

Thread-Per-Message设计模式

Thread-Per-Message是为每一个消息的处理开辟一个线程&#xff0c;以并发方式处理&#xff0c;提高系统整体的吞吐量。这种模式再日常开发中非常常见&#xff0c;为了避免线程的频繁创建和销毁&#xff0c;可以使用线程池来代替。 示例代码如下&#xff1a; public class Requ…...

运筹学经典问题(一):指派问题

问题描述 有 N N N个任务&#xff0c;需要 N N N个人去完成&#xff0c;每个人完成不同工作的效率不同&#xff08;或者资源、收益等等&#xff09;&#xff0c;需要怎么分配使得整体的效率最高&#xff08;成本最低等等&#xff09;呢&#xff1f;这就是经典的指派问题啦&…...

产品经理之如何编写竞品分析(医疗HIS系统管理详细案例模板)

目录 一.项目周期 二.竞品分析的目的 三.竞品分析包含的维度 四.如何选择竞品 五.竞品画布 六.案例模板 一.项目周期 在整个项目的周期&#xff0c;产品经理所做的事情主要在项目前期做市场分析、需求调研等&#xff0c;下面一张图概况了整个项目周期产品经理、开发工程师…...

虚拟内存管理

虚拟内存管理 页面置换算法 功能和目标&#xff1a; 功能&#xff1a;当缺页中断发生&#xff0c;需要调入新的页面而内存已经满时&#xff0c;选择内存当中哪个物理页面被置换。目标&#xff1a;尽可能的减少页面的换进换出次数&#xff08;即缺页中断的次数&#xff09;。具…...