C语言是结构化的程序设计语言,包含顺序结构、选择结构、循环结构
分支机构可以使用if、switch实现
循环结构可以使用for、while、do while实现
1.if语句
1.1if
语法格式:
if (表达式)
{
语句
}
表达式成立(为真),语句执行,表达式不成立(为假),语句不执行
在C语言中,0为假,非0表示真。
示例:输入一个整数,判断是否为奇数
#include<stdio.h>
int main()
{
  int num = 0;
  scanf("%d",&num);
  if (num % 2 == 1)
  {
    printf("%d 是奇数\n",num);
  }
  return 0;
}
1.2.else语句
语法格式:
if (表达式)
{
  语句1
}
else
{
  语句2
}
示例:输入一个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印是偶数
#include<stdio.h>
int main()
{
  int num = 0;
  scanf(%d", &num);
  if (num % 2 == 1)
  {
    printf("%d 是奇数\n",num);
  }
  else
  {
    printf("%d 是偶数\n",num);
  }
  return 0;
}
1.3.嵌套if
else 可以和if语句连用,构成多重判断
示例:要求输入一个整数,判断输入的整数是0.还是正数或者负数。
#include<stdio.h>
int main()
{
  int num = 0;
  scanf("%d",&num);
  if (num == 0)
  {
    printf("输入的数字是0\n");
  }
  else if (num > 0)
  {
    printf("输入的数字是正数\n");
  }
  else
  {
    printf("输入的数字是负数\n");
  }
  return 0;
}
2.关系操作符
C语言用于比较的表达式,称为关系表达式,里面使用的运算符就称为关系运算符
主要有:
>  大于运算符
<  小于运算符
>=  大于等于运算符
<=  小于等于运算符
==  相等运算符
!=  不相等运算符
3.条件操作符
条件操作符也叫三目操作符
语法格式:
exp1 ? exp2 : exp3
如果exp1为真,exp2为表达式的结果;如果exp1为假,exp3为表达式的结果。
示例:找出两个数中较大值
#include<stdio.h>
int main()
{
  int a = 0;
  int b = 0;
  scanf("%d %d",&a,&b);
  int m = a>b ? a : b;
  printf("%d\n",m);
  return 0;
}
4.逻辑操作符
&&  与运算符,两侧的表达式都为真,结果才是真,否则结果为假
||  或运算符,两侧至少有一个表达式为真,结果为真,否则结果为假
!  逻辑取反运算符
5.switch语句
switch语句是一种特殊形式的if...else结构
语法格式:
switch (expression)
{
  case value1: statement
  case value2: statement
  default: statement
}
根据表达式 expression 不同的值,执?相应的 case 分?。如果找不到对应的值, 就执? default 分?。
switch 后的 expression 必须是整型表达式 ;case 后的值,必须是整形常量表达式
示例:输入一个整数,计算除3之后的余数
#include<stdio.h>
int main()
{
  int n = 0;
  scanf("%d",&n);
  switch (n%3)
  {
  case 0: 
    printf("整除,余数是0\n");
    break;
  case 1:
    printf("余数是1\n");
    break;
  case 2:
    printf("余数是2\n");
    break;
  }
  return 0;
}
6.while循环
语法格式:
while (表达式)
{
  语句;
}
示例:在屏幕上打印1~10的值
#include<stdio.h>
int main()
{
  int i = 1;
  while (i<=10)
  {
    printf("%d\n",i);
    i = i++;
  }
  return 0;
}
7.for循环
语法格式:
for (表达式1;表达式2;表达式3)
{
  语句;
}
表达式1 ?于循环变量的初始化 表达式2 ?于循环结束条件的判断 表达式3 ?于循环变量的调整
示例:在屏幕上打印1~10的值
#include<stdio.h>
int main()
{
  int i = 0;
  for (i = 1;i<=10;i++)
  {
    printf("%d\n",i);
  }
  return 0;
}
8.do-while循环
语法格式:
do
  语句;
while (表达式);
do while 循环则是先直接进?循环体,执?循环语句,然后再执? while 后的判断表达式,表 达式为真,就会进?下?次,表达式为假,则不再继续循环。
示例:在屏幕上打印1~10的值
#include<stdio.h>
int main()
{
  int i = 1;
  do
  {
    printf("%d\n",i);
    i ++;
  }while (i<=10);
  return 0;
}
9.break和continue语句
break 的作?是?于永久的终?循环,只要 break 被执?,直接就会跳出循环,继续往后执?。
continue 的作?是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。
10.goto语句
C语?提供了?种?常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同?个函数内跳转到设置好的标号处。
示例:
#include<stdio.h>
int main()
{
  printf("hello world\n");
  goto next:
  printf("hello C\n");
next:
  printf("跳过了hello wolrd的打印\n);
  return 0;
}