对于初学者来说,第一个程序一般都是hello world,而且是照着书上一点一点敲的。所以,在初学者眼中,敲出来的第一个程序代码不过是一堆看不懂的英语。而事实上,C语言作为一门语言,是有语法的。所以这一节,我们以C语言最简单的一个程序为载体,初步了解C语言的语法,相信读者看了以后不用看书也能写出一个hello world程序。
           下面是一个带注释的hello world程序。

#include<stdio.h>
int main(void)
{/*下面要输出hello world*/printf("hello world");return 0;} 

注释是什么?

简而言之就是对某代码的说明,这段代码是干什么的,实现什么功能等

注释有两种方法,一种是//双斜杠注释法 双斜杠后面的都是注释内容(仅限单行),还有一种注释方法是/*中间是要注释的内容*/(多少行都可以)

两种注释方法的区别是,两个斜杠的注释只能管到一行的结束,而第二种注释可以自己随意选择起始和结束位置。所以在学语法的时候,注释可以忽略不计,因为注释对程序本身是没有作用的。一般来说,注释可以加在代码的任何地方,但是为了美观还是要规范写注释。

那么问题来了,那我直接在代码区域写

printf("hello world");

这样不就行了吗?然后编译,运行。会发现编译器会报错。(补充一句,C语言每句话结束都要加分号,这是语法,如果漏加会报错,不再赘述。而且,所有语法中的符号必须用英文格式输入,比如;;前者会报错)既然报错了,说明其他语句也是有用的,那么具体作用是什么?下面开始讲解。

首先每个c程序必须有一个主函数框架。

int main(void)
{}

在主函数框架里就是你要编写的内容,相当于告诉计算机:“这里面就是你要执行的命令。“

那么return 0;这一句是干什么的呢?它的意思是让主函数正常结束。一般来说这句话都是写在最后。如果你把这句话写在printf前面,还没等输出,程序已经结束了,所以就不会有东西输出。也就是说程序的一般就是

int main(void)
{return 0;
}

所以hello world 的主程序就是

int main(void)
{printf("hello world");return 0;
}

你会发现,即使这样写完,再编译还是错的。为什么呢?有没有发现在开头的代码里,第一行还有#include<stdio.h>这句话又是干什么的呢?

那么你有没有想过一个问题,既然计算机听不懂你说“输出一行hello world”,它凭什么就能听懂printf("hello world")?所以,相信你已经猜到这句话是什么意思了。这句话就是教会计算机听懂printf。stdio.h是头文件,它是一个函数库:标准输入输出库(standard input output的缩写)。.h是后缀名,头文件(head file)的后缀名一般都是.h。那么把stdio.h给include进来的这句话叫做声明语句。声明语句都以#开头,标准自带库文件要用尖括号。所以是#include<stdio.h>而且值得注意的是,声明语句结尾不用分号。

因此,一个hello world 程序就很自然的出来了。

#include<stdio.h>
int main(void)
{printf("hello world");return 0;} 

这样就可以编译运行了。在明白了每句话的意思的基础上,读者可以自行编写一遍。

推荐一下小编自己创建的C语言学习交流Q群:433368826,有很多免费资料哦,欢迎来一起学习交流

//int main(void) 有很多不同的形式,比如int main() int main(int argc,char *argv[]) 暂时不需要知道其中的区别

C语言第一个程序——一个简单的Hello world!程序相关推荐

  1. Vulkan是什么?和我一起完成一个简单的Vulkan应用程序

    在本章,你将学到: Vulkan以及它背后的基本原理: 如何创建一个最简单的Vulkan应用程序: 在本书其余部分将使用到的术语和概念. 本章将介绍并解释Vulkan是什么.我们会介绍API背后的基本 ...

  2. C++ 容器的综合应用的一个简单实例——文本查询程序

    [0. 需求] 最近在粗略学习<C++ Primer 4th>的容器内容,关联容器的章节末尾有个很不错的实例. 通过实现一个简单的文本查询程序,希望能够对C++的容器学习有更深的理解. 由 ...

  3. Linux环境使用命名空间编写一个简单的容器应用程序:namespace,container,cgroups

    目录 使用命名空间编写一个简单的容器应用程序 创建一个子进程– fork vs clone 具有clone(2)的命名空间 简单示例 - CLONE_NEWPID 隔离网络接口 - CLONE_NEW ...

  4. c语言编程坦克图案,用C语言的图像函数画一个简单的坦克图样

    用C语言的图像函数画一个简单的坦克图样 #include "graphics.h" #include "conio.h" void Tanke(int x,in ...

  5. 一个简单的python爬虫程序

    #简介 在每次论文被拒再投的过程中,都需要查询最近的与自己论文相关的会议列表.每到这种情况,我一遍采用的是遍历会伴www.myhuiban.com的网站,然后逐个查看会议,关注的有三点,投稿日期,cc ...

  6. java 语言 写字板_一个简单的java语言写字板.docx

    一个简单的java语言写字板.docx 一个简单的JAVA语言写字板一.需求分析1.需求分析:现在网络上各种文档编辑器数不胜数.功能也是应有尽有,有能改变字体的,有可以改变字体颜色的,但是,这些软件有 ...

  7. 用C语言或C++编写一个简单的银行家算法模拟程序

    1.问题描述 银行家算法是操作系统中避免死锁的典型算法.用C语言或C++编写一个简单的银行家算法模拟程序,实现多个进程争用系统临界资源时的分配过程.要求程序实现: 1.当一进程请求一组资源时,先确定是 ...

  8. 一个简单的键盘钩子程序(ZZZ)

    一个简单的键盘钩子程序 从哪儿抄来的忘了,不过写的很简单明了 实现适时监视键盘,并将按键信息保存在TXT文件中的程序         Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都 ...

  9. 一个简单的键盘钩子程序

    Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的.而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序 ...

  10. 函数式编程中的战斗机(二) --运用elm语言MUV设计模式做一个简单的应用实例

    @函数式编程中的战斗机(二) -运用elm语言MUV设计模式做一个简单的应用实例 1 elm语言设计模式的特点 1.1 面向对象设计模式的特点 每种编程语言都有其独特的语法和优缺点,从而导致与众不同的 ...

最新文章

  1. Windows日志及其保护
  2. UI分层中使用PageFactory
  3. 奇异值分解 VS 特征值分解
  4. webconfig和appconfig中出现特殊字符如何处理
  5. 关于LBS坐标系与精度的问题
  6. java架构师_成为一名Java高级架构师究竟要学哪些东西??
  7. jQuery的datatable的destroy属性,和$(#test).dataTable().fnDestroy();区别,两者的区别
  8. mysql 慢查询开启
  9. 通用业务平台设计(二):扩展多国家业务
  10. 高考数据分析和读书感悟
  11. [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序...
  12. html中单元格向下合并单元格,html中单元格合并 HTML 怎么给合并单元格设置宽度...
  13. 2019年10月中国编程语言排行榜
  14. A simple test
  15. dlut1216-位运算(异或)水题
  16. 万丈高楼平地起,开始给Java打地基
  17. 单片机数据上传到阿里云物联网平台后,如何在手机端和网页端获取获取数据?
  18. Mad Scientist[USACO]
  19. Debian系统更新apt源
  20. 向日葵远控软件无法复制粘贴问题 解决方法

热门文章

  1. easyexcel复杂模板导出(合并行列,列统计汇总)
  2. android studio在夜神上打开_Android Studio之使用连接夜神模拟器分析Smail 【详文】8.7日更正...
  3. util是utiliy的缩写,意为多用途的,工具性质的包
  4. AVCaptureDevice中通过调用VideoZoomFactor方法调整焦距实现拉近拉远镜头进行拍照录制视频(动画缩放画面,不闪屏)
  5. 2.3 响应文件(Response File)
  6. npm install 安装包报错npm ERR! C:\Users\happl\AppData\Roaming\npm-cache_logs\2019-12-09T15_55_28_112Z-deb
  7. 蓝桥杯C/C++程序设计 往届真题汇总(基础篇)
  8. 新动态视频壁纸微信小程序源码_支持多种分类短视频-也有静态壁纸
  9. oracle adf源代码在哪里,第 3 章 | 从设计到实践全面了解 Oracle ADF 应用程序
  10. Flutter图片加载数据