1、格式化说明符定义:
%i,%d:输出十进制整型数
%6d:输出十进制整型数,至少6个字符宽
%li,%ld:输出长整数
%u:输出无符号整数
%lu:输出无符号长整数(相当于:unsigned long int)
%f,%g:输出浮点类型数
%.2f:输出浮点类型数,小数点后有两位小数
%lf:输出双精度浮点数
%o:输出八进制数
%e:以科学计数法,输出浮点数
%c:输出字符
%s:输出字符串
%p,%x:输出变量的内存地址和十六进制数
2、转义字符:
a 响铃符
回退符
f 换页符
换行符
回车符
横向制表符
v 纵向制表符
\ 反斜杠
? 问号
’ 单引号
” 双引号
ooo 八进制数
xhh 十六进制数
3、
#include<>:告诉编译器去系统默认的路径寻找相关的文件。
#include"":告诉编译器先去源程序所在目录下寻找,如果没有就去系统默认路径寻找。
任何变量的声明都可以使用const限定符限定;该限定符指定变量的值不能被修改;对数组而言,const限定符指定数组所有元素的值都不能被修改。const限定符也可配合数组参数使用,它表明函数不能修改数组元素的值;如果试图修改const限定符限定的值,其结果取决于具体的实现。
4、枚举的概念:
枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。
// 定义一种枚举类型
enum Season {spring, summer, autumn, winter};
// 定义一个枚举变量s
enum Season s = winter;
// 定义枚举类型的同时定义一个枚举变量s
enum Season {spring, summer, autumn, winter} s = spring;
或者: enum {spring = 3, summer, autumn, winter} s = winter;//固定值默认是从0开始排序的。
5、结构体:
在实际应用中,我们通常需要由不同类型的数据来构成一个整体,比如学生这个整体可以由姓名、年龄、身高等数据构成,这些数据都具有不同的类型,姓名可以是字符串类型,年龄可以是整型,身高可以是浮点型。为此,C语言专门提供了一种构造类型来解决上述问题,这就是结构体,它允许内部的元素是不同类型的。struct是关键字,是结构体类型的标志。结构体的一般定义形式为:
struct 结构体名{
类型名1 成员名1;
类型名2 成员名2;
……
类型名n 成员名n;
};
先定义结构体类型,再定义变量:
1 struct Student { 2 3 char *name; 4 5 int age; 6 7 }; 8 struct Student stu; //定义了一个结构体变量,变量名为stu。struct和Student是连着使用的。
或者:
1 struct Student { 2 3 char *name; 4 5 int age; 6 7 } stu; //其中结构体类型名Student可以省略。
结构体内可以包含别的结构体。
6、typedef作用简介:
我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。如:
1 typedef int Integer; 2 3 typedef unsigned int UInterger; 4 5 typedef float Float;
也可以在别名的基础上再起一个别名:
1 typedef int Integer; 2 3 typedef Integer MyInteger; 4 5 typedef char *String; //给指针类型char *起别名为String。
使用typedef给结构体起别名:
1 struct MyPoint { 2 3 float x; 4 5 float y; 6 7 }; 8 9 typedef struct MyPoint Point; // 起别名 10 11 int main(int argc, const char * argv[]) { 12 13 Point p; // 定义结构体变量 14 15 p.x = 10.0f; 16 17 p.y = 20.0f; 18 19 return 0; 20 21 } 22 23 // 定义一个结构体,顺便起别名 24 25 typedef struct MyPoint { 26 27 float x; 28 29 float y; 30 31 } Point; //Point为别名,结构体名称MyPoint可省略。