2.2.2 第2遍:程序细节

在这里插入图片描述
在这里插入图片描述
这段话主要解释了C程序中#include指令和头文件的作用。头文件包含了编译器所需的信息,例如函数名、常量、以及如何使用它们等。在C程序中,头文件通常用于包含库函数,例如stdio.h文件中包含了输入和输出函数(如printf())。预处理器指令可以在编译器接手之前对源代码进行一些准备工作,例如在本例中,预处理器会将stdio.h文件中的所有内容输入到程序中。C语言中没有将输入和输出这些基本功能内置在语言中的原因之一是,并非所有程序都会用到I/O包,这符合C语言轻装上阵的哲学,使得C语言成为流行的嵌入式编程语言。

在这里插入图片描述
在这里插入图片描述
这段文字讲解了C语言程序中的主函数main()的基本特点和规则。在C语言程序中,main()函数是必不可少的,因为它是程序的入口点,是程序执行的起点。同时,main()函数的返回值类型必须是int,表示它会返回一个整数值。程序执行结束后,main()函数的返回值会传递给操作系统,操作系统可以根据这个值来判断程序是否执行成功。另外,main()函数可以通过圆括号传入参数,但在本例中没有传入任何参数,所以圆括号中是单词void,表示没有传入参数。最后,这段文字还提到了一些不推荐的写法,比如省略返回值类型或者将返回值类型设置为void,这些写法虽然在一些旧式的C代码中可行,但是在C99和C11标准中已经被废弃,不建议使用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注释是C语言程序中用来解释代码的一种方式。注释使用 /* / 或 // 符号来标识注释内容,被注释的内容将被编译器忽略。注释可以放在任何地方,甚至可以在同一行内与代码混合使用。
C语言的注释有两种形式:旧式注释和新式注释。旧式注释使用 /
*/ 符号,可以跨越多行,也可以放在一行内。新式注释使用 // 符号,只能放在单行中。
新式注释的引入是为了解决旧式注释的潜在问题。旧式注释中,如果注释不完整或者注释中包含其他注释符号,会导致代码被误解析为注释。而新式注释只在一行内生效,不会产生这种问题。为了让示例代码更加清晰易懂,本书中采用了两种注释风格,旧式和新式。

在这里插入图片描述
在这里插入图片描述
花括号是C语言中用来标记函数体开始和结束的符号,它不能被省略。除此之外,花括号还可以用来将多条语句合并为一个块或单元,这个块通常被称为“代码块”或“块”,也可以理解为一个独立的代码执行单元。花括号的作用类似于其他编程语言中的begin和end语句。在C语言中,只有花括号才能起到这种作用,圆括号和方括号都不行。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
声明是指在C语言中告诉编译器变量或函数的名称和类型,以便分配内存空间。在程序中使用变量之前必须先声明变量,否则编译器会产生错误。在C语言中,所有变量都必须先声明才能使用,这意味着必须列出程序中用到的所有变量名及其类型。
声明可以在函数内部或外部进行。如果声明在函数内部,则它只在该函数中可用。如果声明在函数外部,则它在程序的任何地方都可用。
声明包括变量类型和变量名。在C语言中,关键字用于表示特定类型的变量,如int表示整数类型,char表示字符类型,float表示浮点类型等。变量名是程序员指定的名称,以便程序更易于阅读和理解。在声明中,变量名必须遵循标识符规则,必须以字母或下划线开头,不能以数字开头,并且不能是C语言中的关键字。
在旧版本的C语言中,声明必须在块的顶部进行,但是新版本的C语言已经允许在块的任何地方进行声明。但是,不管在哪里进行声明,在使用变量之前必须进行声明。
声明的另一个常见形式是函数声明,它用于告诉编译器函数的名称、返回类型和参数类型。这样编译器就可以在使用函数之前了解有关函数的信息。

在这里插入图片描述
在这里插入图片描述
赋值语句就是将一个值储存在一个变量中。在这个例子中,变量名为num,赋的值为1。在程序中,变量num的值可以随时改变,因为它是一个可变的变量。需要注意的是,赋值语句中等号的作用是将右边的值赋给左边的变量,而不是相等的意思。此外,每个语句都需要以分号结尾,以告诉编译器该语句已经结束。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
printf()函数是C语言中常用的一个标准函数,用于将指定的内容输出到屏幕上。函数名为printf,它接收一些参数,这些参数是实际参数,包含需要输出的内容和一些格式化的信息。通过这些参数,printf函数可以打印出不同的输出内容和格式。
在使用printf函数时,可以通过双引号包裹需要输出的内容,也可以通过格式化占位符指定需要输出的变量的位置和格式。例如,%d可以指定输出整数类型的变量,%f可以指定输出浮点数类型的变量。在函数的调用中,需要将这些变量传递给函数,以便printf函数可以正确地打印输出结果。
另外,C语言中还有一些转义序列,例如\n代表换行符,\t代表制表符,\b代表退格符等,可以用于打印特殊字符。在printf函数中使用转义序列时,需要在前面添加一个反斜杠字符。
总之,printf函数是C语言中一个非常常用的函数,可以用于输出各种类型的数据和格式化的信息。熟练掌握printf函数的使用,对于编写高质量的C语言程序是非常重要的。

在这里插入图片描述
return语句是用来返回函数执行结果的。在C语言中,如果一个函数有返回值,那么在函数执行结束时必须使用return语句返回一个值,这个值的类型必须与函数声明的返回值类型相同。
在main函数中,返回值是整型类型,因此需要在函数结束时使用return语句返回一个整数值。如果省略了return语句,程序会默认返回0。虽然在main函数中省略return语句不会对程序运行产生影响,但是为了保证程序的可读性和可维护性,建议在main函数中保留return语句。
在其他有返回值的函数中,如果省略了return语句,那么程序的行为是未定义的,可能会导致程序崩溃或产生不可预期的结果。因此,必须在有返回值的函数中使用return语句返回一个值。
在某些操作系统中,return语句还有一些特殊用途,这些用途将在第11章中详细讲解。总之,在编写C程序时,始终要遵循良好的编程习惯,保证代码的可读性和可维护性,这样才能写出高质量的程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/6169.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LCHub:ChatGPT4和低代码来临,程序员面临下岗?

一个网友吐槽道: “ 建站出来了,你们说程序员会失业。 低代码出来了,你们说程序员会失业。 Copilot出来了,你们说程序员会失业。 Chatgpt出来了,你们说程序员会失业 虽然这只是网友的吐槽,但却引起了小编的好奇。为何程序员那么容易被新技术取代?今天小编打算跟大家…

Waline在Butterfly主题中的应用

LeanCloud 设置 (数据库) 国内版的LeanCloud需要绑定域名,所以我们直接选择国外版的LeanCloud 登陆注册 注册:点击这里进行跳转注册成功后进入控制台,选择 创建应用 。 创建完成后进入应用,下拉找到 设置 , 会有 AppID 、AppK…

ASO优化之应用商店关键词的实现

投放正确的合适的关键词,能够确保我们的应用获得更高的相关性和知名度。如果我们已经完成研究并想要竞争目标关键词,就需要在商品详情中去实施投放它们。 要在 Google Play Store 中投放——我们要打开 Google Play 控制台并点击“主要应用详情”选项卡…

基于模型预测控制(MPC)的微电网调度优化的研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

VMware创建和使用虚拟网络

文章目录如何打开虚拟网络编辑器让虚拟机使用有线、无线网卡1. 点击“添加网络”2. 虚拟机使用电脑自带无线网卡3. 虚拟机使用电脑自带有线网卡重置虚拟网络在使用虚拟机的过程中,有时会需要让虚拟机使用物理机的网络设备直接与外部连接,例如让虚拟机通过…

Win11启用IE方法

呉師傅 Win11是微软目前的最新系统,尽管该系统非常不错,但是还是有很多不一样的地方,有的用户发现Win11没有了IE浏览器,那么Win11没有IE浏览器怎么办呢,有的旧网页需要IE浏览器才能进入,下面就给大家提供一…

怎么把两个音频合成一个

在创作音乐、制作视频等领域,经常需要将音频文件进行合并处理,但对于没有专业工具和知识的朋友来说,音频合并可能是一项复杂的任务。本篇文章就要为大家介绍合并音频的方法,让大家能够快速地将音频文件合并成需要的部分&#xff0…

leaflet: 地图上叠加日夜区域(126)

第126个 点击查看专栏目录 本示例的目的是介绍如何在vue+leaflet中显示日夜交替叠加区域。 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共68行)安装插件相关API参考:专栏目标示例效果 配置方式 1)查看基础设…

ChatGPT能胜任高级程序员吗?

与开发人员信任的其他软件开发工具不同,AI工具在训练、构建、托管和使用方式等方面都存在一些独特的风险。 自2022年底ChatGPT发布以来,互联网上便充斥着对其几乎相同比例的支持和怀疑的论调。不管你是否喜欢它,AI正在逐步进入你的开发组织。…

【设计模式】Bridge Design pattern 桥接模式

1.桥接模式要解决的问题 多个维度的变化引起的继承组合指数级增长 例子 一个物体有不同形状和不同颜色,如何用类来表示它们,这里包含了两个变化维度,一个是物体的形状,一个是颜色 继承的方式 如果使用继承的方式,此…

抖音seo优化系统常见的交付形式|技术开发

1. 一次性交付:将整个SEO优化系统一次性交付给客户,包括相关的文档、工具和数据分析报告,由客户自行操作和维护。 2. 阶段性交付:将SEO优化系统分为不同的阶段进行交付,每个阶段完成后进行检查和评估,根据…

2. [手把手教你搭建] 之 在linux上搭建mysql

1. 首先下载mysql安装包,这里一般有如下2种下载方式 wgt方式下载:进入服务器中的package目录(注:该目录是我自己创建的,用于存放所有应用的安装包,您也可以随便创建其他名称的目录来存放安装包&#xff09…

k8s部署

kubernetes简要 Kubernetes 是用于自动部署, 扩展和管理容器化应用程序的开源系统. 它将组成应用程序的容器组合成逻辑单元, 以便于管理和服务发现 kubernetes功能简介 服务发现和负载均衡 存储编排 自动部署和回滚 自动完成装箱计算 自我修复 密钥与配置管理 Kuberne…

算法题记录

力扣的算法题:1154 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 示例 1: 输入:date “2019-01-09” 输出:9 解释:给定日期是2019年的第九天。 示例…

【数据结构与算法】查找(Search)【详解】

文章目录查找查找概论一、查找的基本概念顺序表查找一、定义二、算法有序表查找一、折半查找二、插值查找三、斐波那契查找线性索引查找一、稠密索引二、分块索引三、倒排索引二叉树排序与平衡二叉树一、二叉排序树1、定义2、二叉排序树的常见操作3、性能分析二、平衡二叉树1、…

【学习笔记】启示录 - 打造用户喜爱的产品(阅读摘录)

【学习笔记】启示录 - 打造用户喜爱的产品(阅读摘录) 图书信息 Marty Cagan 著 七印部落 译 人员: 负责定义和开发产品的团队成员的角色和职责 流程: 探索、开发富有创意的产品时,反复应用的步骤和成功的实践经验 产品…

Ethernet-APL——网络拓扑结构

| 三种独立的应用场景——适用于短距离小型网络和长距离大型网络! Ethernet-APL(Advanced Physical Layer,高级物理层)是过程工业的新标准。它基于IEEE 802.3cg的10BASE-T1L规范,并通过使用两线制以太网来连接到现场设…

【新2023Q2押题JAVA】华为OD机试 - 最长合法表达式

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:最长合法表达式 题目 提取字…

网管gateway

提到网关,可能大家都有所了解,但是网关具体有什么作用呢??? 不绕关子了,具体作用有以下几点: 对用户请求做身份认证、权限校验将用户请求路由到微服务,并实现负载均衡对用户请求做…

第53章 短信验证服务和登录的前端定义实现

1 向src\router\index.js添加定义 { path: /LoginSms, name: 手机号登录, component: () > import(../views/LoginSmsView.vue) }, { path: /Users/Register, name: 用户注册, component: () > import(../views/Users/RegisterView.vue), }, 2 向src\common\http.api.js添…