Hello World分析

文章目录

  • 代码分析
    • 源代码
    • 代码解析
    • 注释
      • 单行注释
      • 多行注释

代码分析

源代码

  以下就是我们上一个文章中编写过的程序。大家一定注意到,这个代码相比上一个代码多了很多的内容,这些内容并不影响程序的运行,因为这些是注释内容,本章节会为大家分析这个程序,以及教大家如何注释。注释是一个伟大的语言,我觉得它对于程序的意义是非凡的。因为,如果没有注释,可能过不久你写过的程序某一句代码,神都不能理解。

#include <stdio.h>//#include 表示要包含头文件 头文件里面一般都是函数的声明
//<stdio.h>  标准输入输出头文件//int 函数的返回值类型 先不用管 --后面讲函数的时候会讲
//main 主函数 是程序的入口 有且仅有一个
//() 里面是main函数的参数列表 --先不用管   也可以不写  但是括号必须写
//{} 里面是函数体 也就是要执行的内容
int main(int argc, const char *argv[])
{//printf 是系统给我们提供的输出的函数 可以将内容输出到 终端//"" 里面的就是想输出的内容  其中 \n 表示换行 也就是回车printf("hello world\n");//C语言中 每条指令后面必须要有 分号 ;//函数的返回值  先不用管return 0;
}//单行注释 注释是不会被编译和执行的/*多行注释
*/#if 0多行注释
#endif

代码解析

  这个程序比较简单,语句较少,所以我们逐句分析。

#include <stdio.h>
  这一行是导入一个名为stdio.h的头文件。
  #include的作用就是导入头文件。
  <>用于标识这是一个标准的头文件,如果你见过一些C/C++的程序代码,你会发现还有使用“ ”导入头文件的方式。这两种符号的不同通常用来指明导入的头文件是标准头文件,还是用户自定义的头文件。
stdio.h是一个标准的输入输出头文件,里面定义了输入输出的一些函数,导入这个文件,我们就可以使用里面定义好的东西。简单来说就是拿来主义,你有的函数,我不用自己写了,我导入了你的头文件,我就可以直接用。新手不必纠结里面的内容,后期学习过程中就会理解。
int main(int argc, const char *argv[])
  这一行是程序执行的入口。简单来说,程序执行,首先就要进这个门,我们称之为main函数,所以说main函数是程序执行的入口函数。这一行目前先死记硬背,后面学习了函数才能深入理解意思,在这里不增加负担。
{
}
  在下面就是这个大括号里面的内容,大括号在main函数的下面,表示属于main函数,main函数是入口,大括号的第一句就是程序执行的第一条实际意义的语句
printf(“hello world\n”);
  这一行printf就是stdio.h中的一个标准输出函数,可以将()内的内容输出到控制台显示出来。输出的内容用“”括住。\n是一个转义字符,使用这两个字符标识一个换行符号的意思,将它原本的意思改变了,就称之为转义字符,后面你还会学到其他转义字符,基本都是以\加上一个字符的形式。
  ()里的内容是hello World!所以你程序执行以后显示的是这个,试着修改里面的内容看看是否显示发生变化,试着删除\n,看看程序的执行效果。
  ;标志着一句代码的结尾,类似于我们尝试用的。一样。
return 0;代表程序运行结束了,返回了一个0,从main函数进来,执行了一些代码,然后带个0回去了。

注释

  C语言支持单行注释和多行注释,注释不影响程序的执行。还记得吗,在上一篇文章中说过,分布编译的预处理阶段就会删除注释。实际上分布编译和一步编译所做的内容是一样的。只是指令分为一步和四步的区别。

单行注释

  //后面的内容就是注释,由于是单行注释,一旦换行,换行后的内容就不是注释内容了

多行注释

  C语言支持两种多行注释,一种是\* *\,在两个星之间的内容就是注释的内容。
  还有一种#if 0 #endif。在0下面,#endif之前的内容就是注释。这其实是一种预处理的判断,通常不用做常规注释。这种注释常用来注释代码,比如你之前写好的功能,然后客户只给了一部分功能的钱,删掉代码的话,客户付完钱,你还要再次把代码写上去。删除会增加你的工作量,就可以使用这种方法,注释代码,当客户再次付钱时,把0改成1,代码就不被注释了。所以这种注释用来注释代码非常好用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端食堂技术周刊第 105 期:TS 5.3 RC、Vite 5.0、W3C 新任 CEO、有害的 Pinia 模式、2024 更快的 Web

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;金桂普洱 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 大家好&#xff0c;我是童欧巴。欢迎来到前端食堂技术周刊&#xff0c;我们先来看下…

初学UE5 C++②

目录 导入csv表格数据 创建、实例化、结构体 GameInstance Actor camera 绑定滚轮控制摇臂移动 碰撞绑定 角色碰撞设定 按钮 UI显示 单播代理 多播和动态多播 写一个接口 其他 NewObject 和 CreateDefaultSubobject区别 导入csv表格数据 创建一个object的C类 …

设计模式-责任链-笔记

动机&#xff08;Motivation&#xff09; 在软件构建过程中&#xff0c;一个请求可能被多个对象处理&#xff0c;但是每个请求在运行时只能有个接受者&#xff0c;如果显示指定&#xff0c;将必不可少地带来请求者与接受者的紧耦合。 如何使请求的发送者不需要指定具体的接受…

linux nas

挂载到本地 mkdir -p /mnt/mountnasdir mount -t nfs 192.168.62:/cnas_id10086_vol10010_dev/ /mnt/mountnasdir

ORA-00600 【3948】,ORA-00600 【3949】

前言 这个报错没有从ORA600那个tool中查到。 回顾 环境 环境是windows 11203 rac环境&#xff0c;非归档数据库 有部分数据文件建到了本地文件系统。目标是将部分数据文件通过switch to copy的形式移动到diskgroup里 流程 srvctl关闭双节点&#xff0c; 启动单节点到moun…

C语言幂级数求近似值

要计算幂级数的近似值&#xff0c;可以使用以下代码&#xff1a; #include <stdio.h> #include <math.h> double powerSeries(double x, int n) { double result 1.0; // 初始化结果为级数的第一项 double term 1.0; // 初始化当前项的值 for (int i 1; i < …

视频剪辑方法:一键批量调整色调的高效技巧

在视频剪辑的过程中&#xff0c;色调调整是一项非常重要的工作。它能够改变影片的氛围、情感和视觉效果&#xff0c;更好地沉浸在影片的情境中。然而&#xff0c;对于许多视频剪辑师来说&#xff0c;批量调整色调是一项非常繁琐的任务&#xff0c;需要耗费大量的时间和精力。色…

Docker Desktop 配置阿里云镜像加速

阿里云搜索镜像&#xff0c;打开容器镜像服务&#xff0c;复制镜像加速器地址 Docker Desktop 右上角设置&#xff0c;选择 Docker Engine&#xff0c;在配置中添加阿里云的镜像地址&#xff0c;右下 Apply & restart 即可。 "registry-mirrors": ["https…

vmware workstation pro 17.5 安装 macos 13.5.2 虚拟机超详细图文教程

前言 本文很细&#xff0c;甚至有点墨迹&#xff0c;主要为了方便从来没用过 vmware 的新人&#xff0c;其实大部分步骤和正常安装虚拟机没有区别&#xff0c;详细贴图以方便大家对比细节 参考文章 感谢大佬们的无私分享 https://blog.csdn.net/qq_19731521/article/details…

idea中误删.iml和.idea文件,如何处理

目录 一、问题描述 二、解决方案 1、理论知识 &#xff08;1&#xff09;.iml 文件 &#xff08;2&#xff09;.idea文件 2、操作环境 3、操作步骤 &#xff08;1&#xff09;找到【Maven】工具按钮 &#xff08;2&#xff09;点图标&#xff0c;重复导入maven项目&am…

睡前随笔1

这个世界上为什么会有自卑内向一词&#xff0c;难道是因为大家潜意识里的弱肉强食吗&#xff1f; 在一个恶劣的环境中&#xff0c;在一个资源有限的环境中&#xff0c;人们必定会弱肉强食&#xff0c;抢占资源。 这个世界的一切有哪些活动是你喜欢的呢&#xff1f;我们处在一…

大批量合并识别成一个表或文档的方法

金鸣表格文字识别系统功能强大&#xff0c;其中可以将上百张图片或上百页PDF中的表格文字合并识别成一个表格或文档的功能尤其受到广大用户的欢迎&#xff0c;那应该怎么操作呢&#xff1f; 一、打开金鸣表格文字识别软件&#xff0c;点击左上角的“表格识别”&#xff0c;选择…

多因素方差分析(Multi-way Analysis of Variance) R实现

1, data0507 flower 是某种植物在两个海拔和两个气温下的开花高度&#xff0c;采用合适 的统计方法&#xff0c;检验该种植物的开花高度在不同的海拔之间和不同的气温之间有无差异&#xff1f;如果有差异&#xff0c;具体如何差异的&#xff1f;&#xff08;说明依据、结论等关…

LintCode 1394 · Goat Latin (字符串处理题)

1394 Goat Latin Description A sentence S is given, composed of words separated by spaces. Each word consists of lowercase and uppercase letters only. We would like to convert the sentence to “Goat Latin” (a made-up language similar to Pig Latin.) The …

Spark资源规划-资源上线评估

1、总体原则 以单台服务器 128G 内存&#xff0c;32 线程为例。 先设定单个 Executor 核数&#xff0c;根据 Yarn 配置得出每个节点最多的 Executor 数量&#xff0c;每个节点的 yarn 内存/每个节点数量单个节点的数量 总的 executor 数单节点数量*节点数。 2、具体提交参数 …

Java中异常的概念、体系结构和分类

引言&#xff1a; 在Java编程中&#xff0c;异常是一种特殊情况的事件&#xff0c;它打断了程序正常的执行流程&#xff0c;需要进行相应的处理。理解异常的概念、体系结构和分类是成为一名优秀的Java开发者的基本要求。在本篇博客中&#xff0c;我们将详细讨论Java中异…

【ceph】AI时代-数据为王-ceph存储将成为未来比较看好的赛道之一,为什么不all in一把学习一个不那么卷的赛道呢?

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…

Codeforces Round 908 (Div. 2)

一个教训&#xff1a;做题的时候一定要自己模拟一遍所有样例&#xff0c;这样思路出来的很快&#xff01;&#xff01;&#xff01; C. Anonymous Informant Example input Copy 6 5 3 4 3 3 2 3 3 100 7 2 1 5 5 6 1 1 1 1 1 1000000000 1 8 48 9 10 11 12 13 14 …

【springboot笔记】程序可用性检测ApplicationAvailability

1.背景 springboot-3.1.5 ApplicationAvailability LivenessState ReadinessState AvailabilityChangeEvent 我们可以通过ApplicationAvailability获取当前应用程序的可用性&#xff0c;这个可用性包括ApplicationContext和对外请求路由两种。 LivenessState 是表示Applicatio…

打开文件 和 文件系统的文件产生关联

补充1&#xff1a;硬件级别磁盘和内存之间数据交互的基本单位 OS的内存管理 内存的本质是对数据临时存/取&#xff0c;把内存看成很大的缓冲区 物理内存和磁盘交互的单位是4KB&#xff0c;磁盘中未被打开的文件数据块也是4KB&#xff0c;所以磁盘中页帧也是4KB&#xff0c;内存…