C 语言入门:如何编写 Hello World

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 语言语法

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

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() 的主体也可以写成:

c 复制代码
int main(){printf("Hello World!");return 0;}

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

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

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

C 语言中的换行

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

c 复制代码
#include <stdio.h>

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

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

c 复制代码
#include <stdio.h>

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

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

c 复制代码
#include <stdio.h>

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

\n 到底是什么?

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

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

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

最后

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

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

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

相关推荐
程序猿DD2 小时前
OctaFuse Gateway 2.15.0:MCP 聚合、向量 Embeddings 与官方目录同步
后端·agent
程序员Sunday4 小时前
TypeScript 的 any、unknown、never 有什么区别?
前端·面试·typescript
余槐i4 小时前
PostgreSQL 函数索引报错 must be immutable:3种绕法与代价
数据库·后端·sql·postgresql·性能优化
需要8264 小时前
Spring Bean 生命周期:从实例化到销毁的完整钩子
java·后端·spring
小 黄 鸡5 小时前
HashMap 面试必会知识点详解(JDK 8)
java·面试·职场和发展
凤山老林6 小时前
Spring Boot 接入国密 SM2/SM3/SM4 的一些实践记录
spring boot·后端·python
伯恩bourne7 小时前
Spring Boot Bean 注册的两种方式:@Component 家族 vs @Configuration + @Bean
java·spring boot·后端
张彦峰ZYF7 小时前
停顿短不等于延迟低:G1、ZGC 与低延迟服务的目标分野、代价账本与选型标定
后端·回收暂停、应用停止总时长·到达安全点、分配停滞·屏障吃吞吐、并发线程吃核心·并发窗口吃堆余量·分区式靠挑回收集兑现目标·染色指针式不支持压缩引用
WL学习笔记7 小时前
C & C++ 内存管理
c++·c++内存管理
pride.li7 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉