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种控制语句
- if ()···else··· 语句 条件语句
- while 语句 循环语句
- do ()···while 语句 循环语句
- for 语句 循环语句
- continue 结束本次循环语句
- break 中止执行 switch 或 循环语句
- switch 语句 多分支选择语句
- goto 语句 转向语句,在结构化的程序中基本不用goto语句
- 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(小写) | 只进行预处理、编译和汇编 |