一、标准程序:
#include <stdio.h> /*include是预处理指令,stdio.h是编译包的标准部分,对关键字输入和显示输出提供支持*/
int main() /*第一个被调用的函数*/
{
return 0; /*暂时理解为正确书写main()函数所做的要求*/
}
二、复合运算符
| += | -= | *= | /= | %= |
|---|---|---|---|---|
| a+=2 | a-=b | a*=b+c | a/=b+c | a%=5 |
| a=a+2 | a=a-b | a=a*(b+c) | a=a/(b+c) | a=a%5 |
三、自增自减运算符
自增运算符:++
自减运算符:--
i++ 或 ++i 都是表达式,表达的值都是i,只不过两个i的值并不相同。
① i++ :先给i加1,再取i值 i=1 ---> i++=2 ---> i=2
② i-- :先取i值,再给i加1 i=1---> i++=1 ---> i=2
自减运算符同理
三、函数:
printf("hello\n"); /*输出*/
scanf("%d",&a); /*输入*/

双精度是double,单精度是float
1、if语句:
在if 或else后面总是用{},即使只有一条语句的时候,使代码更加易读。
带{}和不带{}的
①带{}
if ()
{
语句;
}
②不带{}
if()
语句;
③嵌套的if-else 判断三个数的最大值:
#include <stdio.h>
int main()
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if(a>b)
{
if(a>c)
printf("max=%d",a);
else
printf("max=%d",c);
}
else
{
if(b>c)
printf("max=%d",b);
else
printf("max=%d",c);
}
return 0;
}
④级联的if-else 、分段函数
#include <stdio.h>
int main()
{
int x,f;
scanf("%d", &x);
if(x<0)
{
f=-1;
}
else if(x==0)
{
f=0;
}
else
{
f=2.0*x;
}
printf("f(x)= %d\n", f);
return 0;
}


2、switch-case
#include <stdio.h>
int main()
{
int type;
scanf("%d",&type);
switch(type)
{
case 1: printf("你好"); break;
case 2: printf("早上好"); break;
case 3: printf("晚上好"); break;
case 4: printf("再见"); break;
default: printf("啊,什么啊?");
}
return 0;
}
switch语句可以看作是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的case(分支标号)处。分支标号只是说明switch内部位置的路标,在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里去,直到遇到一个break,或者switch结束为止。case只是一个路牌并不能阻止程序的运行,只有遇到break,程序才会跳出。

3、while循环

循环体内要有改变条件的机会,否则循环出不去。
- 如果我们把while翻译作“当”,那么一个while循环的意思就是:当条件满足时,不断地重复循环体内的语句。
- 循环执行之前判断是否继续循环,所以有可能循环一次也没有被执行;
- 条件成立是循环继续的条件。
int main ()
{
int x;
int n=0;
scanf("%d",&x);
n++;
x /= 10;
while ( x> 0 )
{
n++;
x /= 10;
}
printf("%d\n",n);
return 0;
}
4、do while循环
在进入循环的时候不做检查,而是在执行完一轮循环体的代码之后,再来检查循环的条件是否满足,如果满足则继续下一轮循环,不满足则结束循环。

do-while循环和while循环很像,区别是在循环体执行结束的时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后再来判断条件。与while循环相同的是,条件满足时执行循环,条件不满足时结束循环。
do
{
<循环体语句>
}
while(<循环条件>);
5、for循环
- for循环像一个计数循环:设定一个计数器,初始化它,然后在计数器到达某值之前,重复执行循环体,而每执行一轮循环,计数器值以一定步进进行调整,比如加1或者减1
for (i=0; i<5; i=i+1)
{
printf("%d", i);
}
for = 对于
for (count = 10; count > 0; count-- )
就读成:“对于一开始的count=10,当count>0时,重复做循环体,每一轮循环在做完循环体内语句后,使得count--。”
做求和的程序时,记录结果的变量应该初始化为0,而做求积的变量时,记录结果的变量应该初始化为l

for(初始动作;条件;每轮的动作){ }
for中的每一个表达式都是可以省略的。
for(;条件;)== while(条件)

Tips for loops
- 如果有固定次数,用for
- 如果必须执行一次,用do_while
- 其他情况用while