一、算法的基本概念
1.例如:
计算1x 2 x 3 x 4 x 5···x 10
1)最原始的方法:
S1) 先求 1 x 2
S2) 再乘 3
S3) 再乘 4
S4) 再乘 5
…
S9) 再乘 10
2)第二种方法
设两个变量,一个代表被乘数,一个代表乘数。设p为被乘数,i为乘数,用循环乘法
S1) 使 p = 1
S2) 使 i = 2
S3) p x i => p
S4) i + 1 => i
S5) 如果i不大于10,返回执行S3;否则算法结束
二、运算符、表达式、数据类型和变量
1.局部变量与函数基础
1>声明变量和变量赋值
- 声明变量的时候,可以不指定存储类型,默认为auto,关于存储类型,会以后期的课程中讲到。
- 声明变量就赋值,这叫对变量的初始化
- 声明变量不初始化,则变量的值不确定
- 变量可以被多次赋值
- 可以使用变量为变量赋值(包括初始化)
- 变量的类型代表了占用内存的大小和数据的存储形式。
- 变量名是标志符,变量名在作用域范围里不可重复。
格式:
<存储类型> 数据类型 变量名 ;
<存储类型> 数据类型 变量名 = 值 ; (初始化)
如:
- 变量名时,还可以一次性声明多个变量
如:
int x, y, z;
int x, y=7, z;
>2存储类型
3>局部变量的概念, 函数基础
- 在函数体中声明的变量是局部变量, 函数运行时产生,函数运行结束后销毁。执行函数时,都会为函数开辟一个栈,局部变量就存储在栈中,当函数运行结束后,栈就会释放。(画出内存运行图)
- 局部变量的作且域范围
- 局部变量必须先声明后使用。局部变量只能在当前函数体中被使用。不同函数的局部变量可以重名。
如:
void fun2()
{
int m = 10
printf("%d\n", m);
}
void fun1()
{
int x = 100;
fun2();
int a = 20;
printf("%d,%d\n", x,a);
}
int main()
{
int x = 10;
int y = 20;
fun1();
printf("%d,%d\n", x,y);
fun2();
return 0;
}