C 语言简介

C 语言是由 Dennis Ritchie 于 1972 年在贝尔实验室创建的一种通用编程语言。尽管年代久远,它仍然是一款非常流行的语言。它之所以受欢迎的主要原因是它是计算机科学领域的基础语言之一。C 语言与 UNIX 紧密相连,因为它被用于编写 UNIX 操作系统。

为什么要学习 C 语言?

  • 它是世界上最流行的编程语言之一。
  • 如果你掌握了 C 语言,你将很容易学习其他流行的编程语言,例如 Java、Python、C++、C# 等,因为它们的语法相似。
  • 与 Java 和 Python 等其他编程语言相比,C 语言非常高效。
  • C 语言非常通用,可用于各种应用程序和技术。

C 语言和 C++ 的区别

C++ 是作为 C 语言的扩展而开发的,两种语言的语法几乎相同。C 语言和 C++ 的主要区别在于 C++ 支持类和对象,而 C 语言不支持。

C 语言语法

你已经在前面几章中多次看到过以下代码。让我们分解它以便更好地理解它:

#include <stdio.h>

int main() {
printf("Hello World!");
return 0;
}

示例解释

第 1 行: #include <stdio.h> 是一个头文件库,它允许我们使用输入和输出函数,例如第 4 行中使用的 printf()。头文件为 C 程序添加功能。

如果您不了解 #include <stdio.h> 的工作原理,请不要担心。只需将其视为 (几乎) 始终出现在您的程序中的内容。

第 2 行: 空行。C 忽略空白。但我们用它来使代码更易于阅读。

第 3 行: C 程序中总会出现另一个东西,即 main()。这称为函数。任何放在其大括号 {} 内的代码都将被执行。

第 4 行: printf() 是一个用于将文本输出/打印到屏幕的函数。在我们的例子中,它将输出 “Hello World!”。

请注意:每个 C 语句以分号 结尾。

注意:int main() 的主体也可以写成:

int main(){printf("Hello World!");return 0;}

请记住:编译器忽略空白。但是,多行使代码更易于阅读。

第 5 行: return 0 结束 main() 函数。

第 6 行: 不要忘记添加 closing curly bracket } 实际结束 main 函数。

C 语言中的换行

要插入一个新行,可以使用 \n 字符:

#include <stdio.h>

int main() {
printf("Hello World!\n");
printf("I am learning C.");
return 0;
}

你也可以使用单个 printf() 函数输出多行。但是,这可能会使代码更难阅读:

#include <stdio.h>

int main() {
printf("Hello World!\nI am learning C.\nAnd it is awesome!");
return 0;
}

提示: 两个 \n 字符相邻将创建一个空行:

#include <stdio.h>

int main() {
printf("Hello World!\n\n");
printf("I am learning C.");
return 0;
}

\n 到底是什么?

换行符 (\n) 被称为转义序列,它会强制光标移动到屏幕下一行的开头,从而产生一个新行。

其他有效的转义序列示例包括:

转义序列 描述
\t 创建水平制表符
\\ 插入反斜杠字符 (\)
\" 插入双引号字符

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎 点赞、收藏、关注

C 语言入门:如何编写 Hello World的更多相关文章

  1. C语言入门(2)——安装VS2013开发环境并编写第一个C语言程序

    在C语言入门系列中,我们使用Visual studio 2013 Professional作为开发工具.本篇详细介绍如何安装Visualstudio 2013 Professional并写出我们第一个 ...

  2. 踢爆IT劣书出版黑幕——由清华大学出版社之《C语言入门很简单》想到的(1)

    1.前言与作者 首先声明,我是由于非常偶然的机会获得<C语言入门很简单>这本书的,绝对不是买的.买这种书实在丢不起那人. 去年这书刚出版时,在CU论坛举行试读推广,我当时随口说了几句(没说 ...

  3. 我为什么反对推荐新人编程C/C++语言入门?

    虽然我接触编程以及计算机时间比较早,但是正式打算转入程序员这个行当差不多是大学第四年的事情 从03年接触计算机,07年开始接触计算机编程, 期间接触过的技术包括 缓冲区溢出(看高手写的shellcod ...

  4. 《C语言入门1.2.3—一个老鸟的C语言学习心得》—清华大学出版社炮制的又一本劣书及伪书

    <C语言入门1.2.3—一个老鸟的C语言学习心得>—清华大学出版社炮制的又一本劣书及伪书 [薛非评] 区区15页,有80多个错误. 最严重的有: 通篇完全是C++代码,根本不是C语言代码. ...

  5. c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码初级:C语言入门必备(以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言的数 ...

  6. 【转】c语言入门教程 / c语言入门经典书籍

    用C语言开始编写代码 初级:C语言入门必备 (以下两本书任选一本即可) C语言是作为从事实际编程工作的程序员的一种工具而出现的,本阶段的学习最主要的目的就是尽快掌握如何用c语言编写程序的技能.对c语言 ...

  7. Swift语言入门之旅

    Swift语言入门之旅  学习一门新的计算机语言,传统来说都是从编写一个在屏幕上打印"Hello world"的程序開始的.那在 Swift,我们使用一句话来实现它: printl ...

  8. 《Ruby语言入门教程v1.0》学习笔记-01

    <Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...

  9. 【南阳OJ分类之语言入门】80题题目+AC代码汇总

    小技巧:本文之前由csdn自动生成了一个目录,不必下拉一个一个去找,可通过目录标题直接定位. 本文转载自本人的csdn博客,复制过来的,排版就不弄了,欢迎转载. 声明: 题目部分皆为南阳OJ题目. 代 ...

  10. C语言入门(7)——自定义函数

    C源程序是由函数组成的.虽然在C语言入门系列前面几篇的程序中大都只有一个主函数main(),但实用程序往往由多个函数组成.函数是C源程序的基本模块,通过对函数模块的调用实现特定的功能.C语言中的函数相 ...

随机推荐

  1. 关于“非法的前向引用(illegal forward reference)”的探究

    1.问题: 有如下代码: public class Test { static { i = 0;// 给变量赋值可以正常编译通过 System.out.print(i);// 编译器会提示" ...

  2. Program type already present: com.xxx

    该错误是由于工程中存在着相同的类导致(包名与类名都相同),有可能是不同的依赖中有着相同的类,全局搜索该类便可得知

  3. C++//常用排序算法 sort //打乱 random_shuffle //merge 两个容器元素合并,并储存到另一容器中(相同的有序序列) //reverse 将容器内的元素进行反转

    1 //常用排序算法 sort //打乱 random_shuffle 2 //merge 两个容器元素合并,并储存到另一容器中(相同的有序序列) 3 //reverse 将容器内的元素进行反转 4 ...

  4. liunx 设置默认python版本方法,

    Linux 中把Python3设为默认Python版本的几种方法 由于工作中要用到到python3.6  而服务器是2.7 ,这个低版本的2.7很多系统都要依赖,还不能删,同事建议建一个虚拟环境,但是 ...

  5. Kubernetes CKA考试之Killer Simulator(下)

    写在前面 个人微信公众号:密码应用技术实战 个人博客园首页:https://www.cnblogs.com/informatics/ 注:学习交流使用 目录 写在前面 Question 16 | Na ...

  6. history = his + story 男性史 = 历史 学单词

    history = his + story 男性史 = 历史 早先还有 herstory 由于女性地位底下,就由 history 代表历史了. 然后 history 由拉丁文过来 story 从法语过 ...

  7. nginx proxy_set_header详解

    proxy_set_header 是 Nginx 配置中的一个重要指令,特别是在使用 Nginx 作为反向代理时.该指令允许你修改由 Nginx 传递给代理后端的请求头.这对于确保后端应用程序能够接收 ...

  8. gdb调试入门指北

    GDB安装及其插件控制 下载 GDB ,这个项目将 GDB 的插件放到了一个文件夹下,方便读取文件路径 $ git clone https://gitee.com/hongsofwing/GDB-Pl ...

  9. 基于泰凌微的TLSR8355芯片的2.4G无线私有协议PCBA设计调试总结

    一 前记 经常做物联网的类的产品,TLSR8355凭借着它的射频距离远,功能强大等优点成为很多客户的首选.TLSR8355系列专用于2.4GHz射频系统芯片解决方案,如零售/物流.专用网络.Beaco ...

  10. 告别繁琐!1分钟带你构建RabbitMQ消息应用

    支持.Net/.Net Core/.Net Framework,可以部署在Docker, Windows, Linux, Mac. RabbitMQ作为一款主流的消息队列工具早已广受欢迎.相比于其它的 ...