1.chapter1
- 什么是预处理命令?
预处理命令不是C语言的一部分(不用分号结束),它是用来扩充C程序设计的环境。常用的预处理命令有两种:
1.#include命令:包含头文件
2.#define命令:定义符号常量
2.chapter2
- 什么是转义字符?
转义字符序列就是用来表示ASCII码字符集内的控制代码。例如'\n'实际上表示一个字符,它的ASCII码值为10
- C语言中的字符串常量
//C语言中,字符串在内存中存储时,系统自动在字符串的末尾加上ASCII码值为0的字符,用于表示该字符串的结束。
char s[] = "a";
printf("%d",sizeof(s)); //2
- 格式字符e:将实型数据按照指数形式输出。
float a = 123.456;
printf("%e\n",a); //1.234560e+002
- 格式字符f:以小数形式输出单精度,双精度实数
- 逗号运算符
//由逗号运算符连接的表达式构成逗号表达式,整个逗号表达式的值为最后一个表达式的值
int a = (12,23,34,56);
printf("%d\n",a); //56
- 按位异或运算符^与按位或运算符|与逻辑或运算符||
//异或:相同为0,不同为1
//或:只要一个为1,结果就为1
//逻辑或:只要一个为真,结果就为真
3.chapter3
- 注意1不是素数(质数)
4.chapter4
- C语言中的预处理:预处理命令一般以#开头。
//1.宏定义(define为宏定义命令)
#define PI 3.14159
//终止指定宏名的作用域
#undef 宏名
//2.文件包含
#include <cstdio>
//3.条件编译
#ifdef 标识符
程序段1
#else
程序段2
#endif
- 全局变量的定义与全局变量的说明两者的不同
//全局变量的定义必须在所有的函数之外。且只能定义一次
//全局变量说明出现在要使用该全局变量的各个函数之内。整个程序中可能出现多次。
//全局变量说明需要使用关键字extern
#include <cstdio>
int main()
{
//现在在main函数内想使用全局变量a
//对全局变量作外部变量声明,表明该
//变量是一个已经定义的外部变量
extern int a;
printf("%d\n",a); //100
return 0;
}
int a = 100;
- register变量(寄存器变量):C语言允许将局部变量的值放在CPU的寄存器中。register变量用关键字register声明。
chapter5
chapter6
- 函数指针变量:指向函数的指针变量
//类型说明符 (*指针变量名)(参数列表);
#include <cstdio>
int max(int a,int b)
{
return (a > b) ? a:b;
}
int main()
{
int (*ptr)(int,int);
ptr = max;
printf("%d\n",ptr(100,200)); //200
printf("%d\n",(*ptr)(100,200)); //200
return 0;
}
- 指针数组
//指针数组:一个数组的元素值为指针
//类型说明符 *数组名[数组长度]
int *arr[3];
- 二维数组指针变量
int (*ptr)[3]; //表示一个指向二维数组的指针变量,该二维数组的列数为3
chapter7
- 共用体:在共用体中,各成员共享一段内存空间,一个共用体变量的长度等于各成员中最长的长度。
#include <cstdio>
typedef union property
{
int classId;
char office[10];
}Property;
int main()
{
Property person;
person.classId = 071;
printf("%d\n",sizeof(person)); //12
printf("%d\n",sizeof(int)); //4
return 0;
}
- 枚举:用关键字enum定义
//在枚举类型的定义中,列出所有可能的取值,被说明为枚举类型的变量的取值不能超过定义的范围
#include <cstdio>
enum weekday
{
sun,mon,tue,wes,thu,sau,fri
}day;
int main()
{
day = mon;
printf("%d,%d\n",sizeof(day),day); //4,1
return 0;
}
- 类型说明符typedef:给数据类型取别名
//声明一个数组类型
#include <cstdio>
int main()
{
//声明一个数组类型
typedef int ARRAY[3];
ARRAY a = {100,200,300};
for(int i:a)
{
printf("%4d",i);//100 200 300
}
return 0;
}
chapter8
- C语言中,数据文件有两种格式:1.ASCII文件(文本文件)2.二进制文件
- EOF:一个符号常量
printf("%d\n",EOF);//-1