1.chapter1

  1. 什么是预处理命令?
预处理命令不是C语言的一部分(不用分号结束),它是用来扩充C程序设计的环境。常用的预处理命令有两种:
1.#include命令:包含头文件
2.#define命令:定义符号常量

2.chapter2

  1. 什么是转义字符?
转义字符序列就是用来表示ASCII码字符集内的控制代码。例如'\n'实际上表示一个字符,它的ASCII码值为10
  1. C语言中的字符串常量
//C语言中,字符串在内存中存储时,系统自动在字符串的末尾加上ASCII码值为0的字符,用于表示该字符串的结束。
char s[] = "a";
printf("%d",sizeof(s)); //2
  1. 格式字符e:将实型数据按照指数形式输出。
float a = 123.456;
printf("%e\n",a);   //1.234560e+002
  1. 格式字符f:以小数形式输出单精度,双精度实数
  2. 逗号运算符
//由逗号运算符连接的表达式构成逗号表达式,整个逗号表达式的值为最后一个表达式的值
int a = (12,23,34,56);
printf("%d\n",a);   //56
  1. 按位异或运算符^与按位或运算符|与逻辑或运算符||
//异或:相同为0,不同为1
//或:只要一个为1,结果就为1
//逻辑或:只要一个为真,结果就为真

3.chapter3

  1. 注意1不是素数(质数)

4.chapter4

  1. C语言中的预处理:预处理命令一般以#开头。
//1.宏定义(define为宏定义命令)
#define PI 3.14159
//终止指定宏名的作用域
#undef 宏名
//2.文件包含
#include <cstdio>
//3.条件编译
#ifdef 标识符
程序段1
#else
程序段2
#endif
  1. 全局变量的定义与全局变量的说明两者的不同
//全局变量的定义必须在所有的函数之外。且只能定义一次
//全局变量说明出现在要使用该全局变量的各个函数之内。整个程序中可能出现多次。
//全局变量说明需要使用关键字extern

#include <cstdio>

int main()
{
    //现在在main函数内想使用全局变量a
    //对全局变量作外部变量声明,表明该
    //变量是一个已经定义的外部变量
    extern int a;
    printf("%d\n",a);   //100
    return 0;
}
int a = 100;


  1. register变量(寄存器变量):C语言允许将局部变量的值放在CPU的寄存器中。register变量用关键字register声明。

chapter5

chapter6

  1. 函数指针变量:指向函数的指针变量
//类型说明符 (*指针变量名)(参数列表);
#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;
}

  1. 指针数组
//指针数组:一个数组的元素值为指针
//类型说明符 *数组名[数组长度]
int *arr[3];
  1. 二维数组指针变量
int (*ptr)[3];  //表示一个指向二维数组的指针变量,该二维数组的列数为3

chapter7

  1. 共用体:在共用体中,各成员共享一段内存空间,一个共用体变量的长度等于各成员中最长的长度。
#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;
}

  1. 枚举:用关键字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;
}

  1. 类型说明符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

  1. C语言中,数据文件有两种格式:1.ASCII文件(文本文件)2.二进制文件
  2. EOF:一个符号常量
printf("%d\n",EOF);//-1