C语言
类 :类是一个通用的概念,C++,Java,C#,PHP等多编程语言中都支持类,都可以通过类创建对象。可以将类看做是结构体的升级版,C语言的晚辈们看到了C语言的不足,尝试加以改善,继承了结构体的思想,并进行了升级,让程序员在开发或扩展大中型项目时更加容易。 因为 C++,Java,C#,PHP 等语言都支持类和对象,所以使用这些语言编写程序也被称为面向对象编程,这些语言也被称为面向对象的编程语言。 C语言因为不支持类和对象的概念,被称为面向过程的编程语言。
stdio.h :stdio.h全称“standard input output.header”,中文意思为“标准输入输出头文件”,在用到标准输入输出函数时,就要调用这个头文件;stdio.h文件的内容就是一些基本输入输出函数的声明
return :return结束整个方法,后面的代码不会再执行
公约数 :最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。 a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。 求最大公约数有多种方法,常见的有质因数分解法,短除法,辗转相除法,更相减损法。
枚举类型 (enum): C语言提供一种枚举(Enum)类型,能够列出所有可能的取值,并给它们取一个名字, enum typeName { valueName1, valueName2, valueName3, ...... }; enum 是一个新的关键字,专门用来定义枚举类型,这也是它在C语言中的唯一用途; typeName 是枚举类型的名字; valueName1, valueName2, valueName3, ...... 是每个值对应的名字的列表, 注意最后的; 不能少
结构体类型(struct): 在C语言中,结构体 (struct)指的是一种数据结构,是C语言中聚合数据类型 (aggregate data type)的一类, 结构体可以被声明为变量,指针或数组等,用以实现较复杂的数据结构, 结构体同时也是一些元素的集合,这些元素称为结构体的成员 (member),且这些成员可以为不同的类型,成员一般用名字访问, [1] C++提供了许多种基本的 数据类型 如int、float、double、char等
共用体类型(union) : 在 C 语言中,允许几种不同类型的变量存放到同一段内存单元中,也就是使用覆盖技术,几个变量互 相覆盖, 这种几个不同的变量共同占用一段内存的结构,被称为共用体类型结构,简称共用体, 一般定义 形式为: ...... 只有先定义了共用体变量,才能在后续的程序中引用它, 不能直接引用共用体变量,而只能引用共用 体变量中的成员, 引用方法如下: 同一个内存段可以用来存放几种不同类型的成员,但是在每一瞬间只能存放其中的一种,而不是同时 存放几种, 换句话说,每一瞬间只有一个成员起作用,其他的成员不起作用,即不是同时都存在 和起作用的, 共用体变量中起作用的成员是最后一次存放的成员,在存入一个新成员后,原有成员就失去作用, 共用体变量的地址和它的各成员的地址都是同一地址
指针类型(void) : C语言的指针类型包括两方面的信息:一是地址,存放在指针变量中,二是类型信息,关乎于读写的长度,没有存储在指针变量中,位于用该指针读写时的mov指令中,不同的读写长度对应的mov指令不同(void在英文中作为名词的解释为“空虚,空间,空隙”,而在C语言包中,void被翻译为“无类型”,相应的void*为“无类型指针”)
常量 :常量的值不能改变,符号常量名通常用大写
变量 :变量是以某标识符为名字,其值可以改变的量,标识符是以字母或下划线开头的一串字母,数字下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名,变量在编译时为其分配相应存储单元
数组 :如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明,字符串也是一种数组,它们以ASCII的NULL作为数组的结束,要特别注意的是,中括号内的索引值是从算起的
指针 :如果一个变量声明时在前面使用*号,表名这是个指针型变量,换句话说,该变量存储一个地址,而*(此处特指单目运算符*,下同,C语言中另有双目运算符*)则是取内容操作符,意思是取这个内存地址里存储的内容,指针是C语言区别于其他同时代高级语言的主要特征之一。
指针不止是变量的地址,还可以是数组,数组元素,函数的地址,通过指针作为形式参数可以再函数的调用过程得到一个以上的返回值,不同于return(z)这样的技能得到一个返回值
指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针会给程序带来大量潜在的错误
字符串 :C语言的字符串其实就是以'\'字符结尾char类型数组,使用字符型并不需要引用库,但是使用字符串就需要C标准里面的一些用于度字符串进行操作的函数,它们不同于字符数组,使用这些函数需要引用头文件
关键字 :关键字又称为 保留字,就是已被C语言本身使用,不能作其他用途使用的字,例如关键字不能用作变量名,函数名等标识符
数据类型关键字:
short:修饰int,短整型数据,可省略被修饰的int(K&R时期引入)
long:修饰int,长整型数据,可省略被修饰的int(K&R时期引入)
long long:修饰int,超长整型数据,可省略被修饰的int(C99标准新增)
signed:修饰整型数据,有符号数据类型(C89标准新增)
unsigned:修饰整型数据,无符号数据类型(K&R时期引入)
restrict:用于限定和约束指针,并表明指针是访问一个数据对象的初始且唯一的方式(C99标准新增)
复杂类型关键字:
struct:结构体声明(K&R时期引入)
union:联合体声明(K&R时期引入)
enum:枚举声明(C89标准新增)
typedef:声明类型别名(K&R时期引入)
sizeof:得到特定类型或特定类型变量的大小(K&R时期引入)
inline:内联函数用于取代宏定义,会在任何调用它的地方展开(C99标准新增)
存储级别关键字:
auto:指定为自动变量,由编译器自动分配及释放,通常在栈上分配,与static相反,当变量未指定时默认为auto(K&R时期引入)
static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部(K&R时期引入)
register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数(K&R时期引入)
extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义(K&R时期引入)
const:指定变量不可被当前线程改变(但有可能被系统或其他线程改变)(C89标准新增)
volatile:指定变量的值有可能会被系统或其他线程改变,强制编译器每次从内存中取得该变量的值,阻止编译器把该变量优化成寄存器变量(C89标准新增)
流程控制关键字:
跳转结构:
return:用在函数体中,返回特定值(如果是void类型,则不返回函数值)(K&R时期引入)
continue:结束当前循环,开始下一轮循环(K&R时期引入)
break:跳出当前循环或switch结构(K&R时期引入)
goto:无条件跳转语句(K&R时期引入)
分支结构:
if:条件语句,后面不需要放分号(K&R时期引入)
else:条件语句否定分支(与if连用)(K&R时期引入)
switch:开关语句(多重分支语句)(K&R时期引入)
case:开关语句中的分支标记,与switch连用(K&R时期引入)
default:开关语句中的“其他”分支,可选(K&R时期引入)

浙公网安备 33010602011771号