简介、程序结构、基本语法
C简介
C语言是一种通用的、面向过程式的计算机程序设计语言。1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言。UNIX 操作系统,C编译器,和几乎所有的 UNIX 应用程序都是用 C 语言编写的。
- C 语言是为了编写 UNIX 操作系统而被发明的。
- C 语言是以 B 语言为基础的,B 语言大概是在 1970 年被引进的。
- 截至 1973 年,UNIX 操作系统完全使用 C 语言编写。
- 目前,C 语言是最广泛使用的系统程序设计语言。
- 大多数先进的软件都是使用 C 语言实现的。
- 当今最流行的 Linux 操作系统和 RDBMS(Relational Database Management System:关系数据库管理系统) MySQL 都是使用 C 语言编写的。
C Hello World 实例
C 程序主要包括以下部分:
- 预处理器指令
- 函数
- 变量
- 语句 & 表达式
- 注释
#include<stdio.h>
/*
这一句话是必须要的格式
include 告诉预处理器将指定头文件的内容插入到预处理器命令的相应位 导入头文件的预编译指令
stdio 表示系统文件库, 也可以声明其它的
.h 表示头文件,因为这些文件都是放在程序各文件的开头
<> 表示系统自带的库
也可以写成" " 表示用户自定义的库
如果写成" "并且自定义的库里面没有这个文件系统会自动查找自带的库,如果还是没有报错
*/
int main() // 程序的入口
{ // 程序从这里开始运行
/*
int 表示数字格式,返回一个数字
main()主函数 表示程序的入口 一个程序有且只能有一个main函数的存在
*/
printf("hello C"); // 打印一个hello C
return 0; // 返回一个整数0,因为它是int类型,所以只能返回整数
} // 程序从这里结束
C基本语法
C的令牌(Token) 分号; 注释
# C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号
printf("Hello World!\n");
这五个令牌分别是:
printf
(
"Hello, World! \n"
)
;
# 在 C 程序中,分号是语句结束符。每个语句必须以分号结束。它表明一个逻辑实体的结束。
printf("Hello, World! \n");
return 0;
# C 语言有两种注释方式:
// 单行注释
/* 单行注释 */
/*
多行注释
多行注释
多行注释
*/
标识符 关键字 空格
C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。C 标识符内不允许出现标点字符,比如 @、$ 和 %。C 是区分大小写的编程语言。
下表列出了 C 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。
关键字 | 说明 |
---|---|
auto | 声明自动变量 |
break | 跳出当前循环 |
case | 开关语句分支 |
char | 声明字符型变量或函数返回值类型 |
const | 定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变 |
continue | 结束当前循环,开始下一轮循环 |
default | 开关语句中的"其它"分支 |
do | 循环语句的循环体 |
double | 声明双精度浮点型变量或函数返回值类型 |
else | 条件语句否定分支(与 if 连用) |
enum | 声明枚举类型 |
extern | 声明变量或函数是在其它文件或本文件的其他位置定义 |
float | 声明浮点型变量或函数返回值类型 |
for | 一种循环语句 |
goto | 无条件跳转语句 |
if | 条件语句 |
int | 声明整型变量或函数 |
long | 声明长整型变量或函数返回值类型 |
register | 声明寄存器变量 |
return | 子程序返回语句(可以带参数,也可不带参数) |
short | 声明短整型变量或函数 |
signed | 声明有符号类型变量或函数 |
sizeof | 计算数据类型或变量长度(即所占字节数) |
static | 声明静态变量 |
struct | 声明结构体类型 |
switch | 用于开关语句 |
typedef | 用以给数据类型取别名 |
unsigned | 声明无符号类型变量或函数 |
union | 声明共用体类型 |
void | 声明函数无返回值或无参数,声明无类型指针 |
volatile | 说明变量在程序执行中可被隐含地改变 |
while | 循环语句的循环条件 |
# 只包含空格的行,被称为空白行,可能带有注释,C 编译器会完全忽略它。在 C 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。因此,在下面的语句中:
int age;
# 在这里,int 和 age 之间必须至少有一个空格字符(通常是一个空白符),这样编译器才能够区分它们。另一方面,在下面的语句中:
fruit = banana + oranges;
# fruit 和 =,或者 = 和 banana 之间的空格字符不是必需的,但是为了增强可读性,可以根据需要适当增加一些空格。