选择语句
int main()
{
  int input = 0;
  printf("你要好好学习吗:1/0\n");
  scanf("%d", &input);
  if (input == 1) {
    printf("好offer\n");
  }
  else {
    printf("回家卖红薯\n");
  }
  return 0;
}循环语句
int main()
{
  int line = 0;
  while (line <= 20000) {
    printf("敲一行代码\t");
    printf("line=%d\n", line);
    line++;
  }
  printf("好offer\n");
  return 0;
}函数
函数分为库函数和自定义函数。
int Add(int e1, int e2) {
  return e1 + e2;
}
int main()
{
  int num1 = 10;
  int num2 = 90;
  int num3 = 0;
  num3 = Add(num1, num2);
  printf("%d\n", num3);
  return 0;
}数组
一组相同元素类型的集合
数组的定义
int main()
{
  int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个存放十个整数数字的数组并赋值
  //语法规定,每个元素都有一个下标,第一个元素的下标为0
  int i = 0;
  while (i < 10) {
    printf("%d\n", arr[i++]);//下标的方式访问元素:arr[下标]
  }
  return 0;
}操作符
一、算术操作符。
首先了解一下算术标识符都有哪些:+、-、*、/、%。
这些运算符都是最基础的操作符,不做过多介绍。但要注意“%”只能用于整型。
二、移位操作符。
移位操作符有两种:>>(右移操作符)、<<(左移操作符)。
特别注意右移操作时分为两种情况:
1、算术右移;
2、逻辑移位。
算术右移情况指的是:二进制数有正负之分,补位时要注意符号位;
逻辑移位情况指的是:不需要考虑符号产生的问题,直接补0即可。
下面给出一段代码举例:
int main()
{
    int a = 10;
    printf("%d\n", a >> 1);
    return 0;
}它的结果输出是5。 这里需要特别注意,
1、移位操作符不能直接赋值改变变量。
如果需要改变变量需要这样输入:a>>=1;
2、左移操作相当于/2;
右移操作相当于*2。
三、位操作符。
位操作符包括:&(按位与)、|(按位或)、^(按位异或)。
需要注意的是,这三个操作符操作的必须是整数。
四、赋值操作符。
赋值操作符在之前的程序代码中经常出现,其操作符有:=、+=等。
注意在连续赋值时,应从右往左赋值,例如:
a=x=y+1;
输出时a的值就应是y+1。
五、单目操作符。
单目操作符有:!(逻辑反操作、非)、&(取地址符)、sizeof(求长度)、~(按位取反)、++、--、*、(类型)等。
需要注意的是:
1、&是取地址符,%p打印地址。
2、sizeof()是操作符,不是函数!
3、++的前置和后置。举例说明:
int main()//++后置
{
    int a = 10, b = 0;
    b = a++;
    printf("a=%d,b=%d\n", a, b);
    system("pause");
    return 0;
}得到的结果:a=11,b=10。
int main()//++前置
{
    int a = 10, b = 0;
    b = ++a;
    printf("a=%d,b=%d\n", a, b);
    system("pause");
    return 0;
}得到的结果:a=11,b=11。
4、*在这里是间接访问操作符,主要和指针相关。
5、(类型)为强制类型转换操作符,例如强制将浮点型数转化成整型数时:
int main()
{
    int num = 0;
    float f = 3.14;
    num = (int)f;
    printf("num=%d\n", num);
    system("pause");
    return 0;
}这里输出的结果:num=3。
六、关系操作符。
关系操作符主要是:==、>=、<=。
主要出现在条件的比较判断上,如:if语句、for循环等。
七、条件操作符。
1、exp1 ? exp2 : exp3 ;
举例解释一下上述语句:
int main()
{
    int a=10, b=0;
    if (a > 5)
        b = 3;
    else b = -3;
    printf("b=%d\n", b);
    system("pause");
    return 0;
}当a=10时,通过if的条件判断后,b的值为3。
当a=-10时,b的值为-3。
如果用上述语句即可表达成:
int main()
{
    int a=10, b=0;
    b = a > 5 ? 3 : -3;
    printf("b=%d\n", b);
    system("pause");
    return 0;
}两种方式得到的结果是一样的。
2、exp1 , exp2 , exp3
举例解释:
int main()
{
    int a=1, b=2;
    int c = (a > b, a = b + 10, a, b = a + 1);
    printf("c=%d\n", c);
    system("pause");
    return 0;
}逗号条件句的运算规则是从左往右依次运算,其结果是最后一个表达式的结果。
结果输出是c=13。
八、其他操作符。
1、下标引用操作符 [ ] :多见于数组。例如:arr[2]。
特别注意:arr[2]与*(arr+2)是等价的。
2、函数调用操作符 ( ) :这个操作符十分常见,不做过多解释。
3、结构成员访问操作符 . 和 -> :多见于结构体中。










