C语言回顾之一:概述

回顾只关心C语言的一些要点,熟知的基础将略过。


历史:

       Dennis Ritchie在1972年开发了C,当时他与Ken Thompson一起设计UNIX操作系统。C来自于Thompson的B语言。


特点:

       设计特性

       高效性

       可移植性

       灵活性

       面向编程人员


编译过程:

       C编程的基本策略是将源代码转换为可执行文件。C分两步完成这一工作:编译和链接。编译器将源代码转换为中间代码,链接器将此中间代码与其他代码相结合生成可执行文件。

       在Linux上使用gcc编译时,要编译hello.c时使用命令gcc hello.c将在当前目录生成a.out可执行文件。使用-o可指定生成文件名:gcc hello.c –o hello。


语言标准:

       K&R第一个事实上的标准,1978年

       ANSI C标准(C89或C90)

       C99标准

       C11标准


注释:

       /*这是注释*/

       //C99增加的注释方式,单行注释


代码示例:

my.c:

#include 		/*预处理指令 (preprocessor directive)*/

int main(void)			/*程序入口 main函数*/
{
	printf("My C review.");
	return 0;
}

标识符:

       C99一个标识符允许最多63个字符,外部标识符31个字符,使用字符数量超过最大值编译器不会识别额外的字符。

       标识符可使用大小写字母、数字、下划线(_),第一个字符必须是字母或下划线。C语言大小写区分。


使程序可读的技巧:

       选择有意义的变量名和使用注释。

       使用空行分隔函数各部分。

       每个语句一行。


查错方法:

       自己逐步执行语句。

       在程序关键点加入printf()语句监视变量,观察变量值变化。

       使用调试器。


C语言关键字:(32个)

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 :循环语句的循环条件

C99增加关键字(5个)

inline

restrict

_Bool

_Complex

_Imaginary

C11新增(7个)

_Alignas      

_Alignof

_Atomic

_Static_assert

_Noreturn

_Thread_local

_Generic

你可能感兴趣的:(C语言回顾)