运算符和程序结构
运算符
加减乘除取余
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
printf("a+b=%d\n", a + b);
printf("a-b=%d\n", a - b);
printf("a*b=%d\n", a * b);
printf("a/b=%d\n", a / b); // 整型除法没有余数
printf("a/b=%f\n", a*1.0 / b);
printf("b/a=%d\n", b / a);
printf("a/b=%d\n", a % b); // 取余
return 0;
}
自加自减
对自己加减1
#include <stdio.h>
int main()
{
int a = 1;
//a = a + 1; a++; ++a;
int b = a++; // ++在前 先使用a 再运算
a = 1;
int c = ++a; // ++在后 先运算 在使用
printf("a=%d\n", a);
printf("b=%d\n", b);
printf("c=%d\n", c);
return 0;
}
赋值运算
#include <stdio.h>
int main()
{
int a = 2;
// a = a + 2; 相当于 a += 2; 加减乘除取余一样的效果
printf("a + 2 = %d\n", a += 2);
return 0;
}
比较运算
== 等于 != 不等于 >大于 <小于 >=大于等于 <=小于等于
逻辑运算
! 非 && 与 || 或 &位与 |位或
三目运算
#include <stdio.h>
int main()
{
int a = 3;
int b = 1;
a > b ? printf("a比b大") : printf("a小于或等于b");
/*
* 相当于 if(a > b)
* {
* printf("a比b大");
* }
* else
* {
* printf("a小于或等于b");
* }
*
*/
return 0;
}
优先级
跟数学大体差不多 不清楚就加括号
类型转换
#include <stdio.h>
int main()
{
int a = 2;
double b = a; // 隐式转换
printf("%lf\n", b);
printf("%d\n", 3.14);
printf("%d\n", (int)3.14); //强转
return 0;
}
程序结构
顺序结构
就是按照你写的往下走
选择结构
if语句
if后面不加分号
#include <stdio.h>
int main()
{
int a = 3;
int b = 1;
if (a > b)
{
printf("a比b大");
}
return 0;
}
if 与 else | | if 与 else if
else 相当于否则 else if 否则如果
#include <stdio.h>
int main()
{
int a = 3;
int b = 1;
if (a > b)
{
printf("a比b大");
}
else if (a == b)
{
printf("a等于b");
}
else
{
printf("a比b小");
}
return 0;
}
switch case语句
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
a %= 4; //a的值可能有 0 1 2 3
switch (a)
{
case 0:
{
printf("0\n");
break; //跳出switch语句
}
case 1:
{
printf("1\n");
break; //跳出switch语句
}
case 2:
{
printf("2\n");
break; //跳出switch语句
}
case 3:
{
printf("3\n");
break; //跳出switch语句
}
default:
{
printf("这是除了case情况以外的所有情况\n");
break;
}
}
return 0;
}
循环结构
三种循环方法
#include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
// while 循环 先判断 再执行
while (i <= 100) //当i<=100时执行循环语句,即条件为真否则结束循环
{
sum += i;
i++;
}
printf("sum=%d\n", sum);
// for 循环
i = 1;
sum = 0;
for (i = 1; i <= 100; i++)
{
sum += i;
}
printf("sum=%d\n", sum);
// do while 循环 先执行 再判断
i = 1;
sum = 0;
do
{
sum += i;
i++;
} while (i <= 100); // 注意这儿有分号
printf("sum=%d\n", sum);
return 0;
}
循环嵌套
#include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
for (i = 1; i <= 10; i++)
{
for (int j = 1; j <= 10; j++)
{
sum += i * j;
}
}
printf("sum=%d\n", sum);
return 0;
}
跳转break 继续 continue
#include <stdio.h>
int main()
{
int i = 1;
int sum = 0;
for (i = 1; i <= 10; i++)
{
if (i == 5)
{
break;
}
// else
// continue;
for (int j = 1; j <= 10; j++)
{
sum += i * j;
}
}
printf("sum=%d\n", sum);
return 0;
}