第二章  数据类型、运算符和表达式

32个关键字

auto        double      int         struct      break       else
long        switch      case        enum        register    typedef
char        extern      return      union       const       float
short       unsigned    continue    for         signed      void
default     goto        sizeof      volatile    do          if
while       static

算术运算符

赋值运算符

逗号运算符

附录:C 运算符优先级

第三章  顺序结构程序设计

printf 格式字符

格 式 字 符 说 明
d, i 以带符号的十进制形式输出整数(正数不输出符号)
o 以八进制无符号形式输出整数
x,X 以十六进制无符号形式输出整数,若用x,则输出的十六进制数为小写形式a ~ f,若用X,则输出的十六进制数为大写形式A ~ F
u 以无符号的十进制形式输出整数

printf 的修饰符

字 符 说 明
m.n m、n都是一个正整数。m表示数据的输出列宽;对于字符串,n表示截取字符的个数,对于实数,n表示输出的小数位数
- 左对齐
+ 右对齐,输出符号位(正数输出正号,负数输出负号)
# 对于o、x格式输出时加前缀;对于e、g、f格式,当结果有小数时才给出小数点;对其他格式符无影响

调用printf函数时的注意事项

  1. 输出字符“%”时:连用两个% 。
  2. printf 中各输出表达式的求值是从右向左进行的。

scanf 的修饰符

字 符 说 明
* 表示本输入项在读入后不赋给任何变量
域宽 指定输入数据所占宽度(列数),域宽应为正整数

例:

scanf("%3d%3d",&a,&b);
输入:
123456↙
系统自动将123 赋给 a 456 赋给 b 。

scanf("%2d□%*3d□%2d",&a,&b);
输入:
12□345□67↙
  将12 赋给 a ,%*3d 表示读入 3 位整数但不赋给任何变量。然后再读入 2 位整数 67 赋给b 。也就是说第 2 个数据“ 345 ”被跳过。在利用现成的一批数据时,有时不需要其中某些数据,可用此方法“跳过”它们。

字符输出函数putchar与字符输入函数getchar

第四章   选择结构程序设计

关系运算符

逻辑运算符

if 语句的嵌套

条件运算符

switch 语句

格式:

switch(表达式)
{
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;case 常量表达式n: 语句n;
default : 语句n+1;
}

  当表达式的值与某个常量表达式的值相等时,执行其后的语句,然后不再进行判断,继续执行下面所有 case 后的语句。
  如果表达式的值与所有case 后常量表达式的值均不相等,则执行 default 后的语句。

第六章   数组

数组的定义与赋初值

一维数组
二维数组
字符数组
函数名称 调用形式 作 用 说 明
puts() puts(字符数组) 可以包含转义字符
gets() gets(字符数组)
strcpy() strcpy(字符串1,字符串2) 复制,2 \rightarrow 1 1必须有足够的空间存放2
strcat() strcat(字符串1,字符串2) 连接,2 \rightarrow 1 1必须有足够的空间存放两个字符串连接后的内容
strlen() strlen(字符数组) 计算长度 返回的长度值不包括结束标志'\0'
strcmp() strcmp(字符串1,字符串2) 比较,1>21>2 返回正数 两字符串比较时,按ASCII码值从左至右逐一比较

数组应用

排序、插入数据、删除数据