C语言仅有32个关键字,9种控制语句,34种运算符,却能完成无数的功能:

C语言关键字

auto :声明自动变量
break:跳出当前循环
case:开关语句分支
char :声明字符型变量或函数返回值类型
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 :循环语句的循环条件

9种控制语句

  1. if ()···else··· 语句 条件语句
  2. while 语句 循环语句
  3. do ()···while 语句 循环语句
  4. for 语句 循环语句
  5. continue 结束本次循环语句
  6. break 中止执行 switch 或 循环语句
  7. switch 语句 多分支选择语句
  8. goto 语句 转向语句,在结构化的程序中基本不用goto语句
  9. return 语句 从函数返回语句

34种运算符

按优先级排序,空行表示优先级下降,01为最高,最先算
14~31均为双目,左结合

() 01.圆括号
[] 02.下标
-> 03.指针型结构成员
. 04.结构成员
! 05.逻辑非
~ 06.位非
++ 07.自增
- - 08.自减
- 09.取负
(类型) 10.类型转换
* 11.取内容
& 12.取地址
sizeof 13.求字节
* 14.乘
/ 15.除
% 16.求余
+ 17.加
- 18.减
<< 19.左移
>> 20.右移
< 21.小于
<= 22.小于等于
> 23.大于
>= 24.大于等于
== 25.等于
!= 26.不等于
& 27.位与
^ 28.位异或
| 29.位或
&& 30.与
|| 31.或
?: 32.条件运算
= 33.赋值运算
另有10个扩展符+=,-=,*=,/=,%=,>>=,<<=,&=,^=,|=
, 34.逗号运算

第一个C语言程序:HelloWorld

C语言代码:hello.c
#include <stdio.h>

int main(){
	// 第一个C语言程序
	printf("hello world\n");
	return 0;
}

C语言的源代码文件是一个普通的文本文件,但扩展名必须是.c

[root@mysql8 c_works]# gcc helloworld.c -o helloworld
[root@mysql8 c_works]# ./helloworld 
hello,world!

通过gcc编译C代码

gcc编译器介绍

编辑器编写程序,由编译器编译后才可以运行!

编译器是将易于编写、阅读和维护的高级计算机语言翻译为计算机能解读、运行的低级机器语言的程序

gcc(GNU Compiler Collection,GNU 编译器套件),是由 GNU 开发的编程语言编译器。gcc原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,gcc同样适用于微软的Windows

gcc最初用于编译C语言,随着项目的发展gcc已经成为了能够编译C、C++、Java、Ada、fortran、Object C、Object C++、Go语言的编译器大家族

编译命令格式:

gcc [-option1] ... <filename>
g++ [-option1] ... <filename>
  • 命令、选项和源文件之间使用空格分隔
  • 一行命令中可以有零个、一个或多个选项
  • 文件名可以包含文件的绝对路径,也可以使用相对路径
  • 如果命令中不包含输出可执行文件的文件名,可执行文件的文件名会自动生成一个默认名,Linux平台为a.out,Windows平台为a.exe

gcc、g++编译常用选项说明:

选项

含义

-o file

指定生成的输出文件名为file

-E

只进行预处理

-S(大写)

只进行预处理和编译

-c(小写)

只进行预处理、编译和汇编