一
1、算法,一个问题可以有多个算法。
2、算法的表示方法。
3、结构化的顺序:顺序、选择、循环。
三、顺序结构
1、数据类型
1)数据-信息的符号化
2)数据类型(常量、变量:先定义后使用):整型、浮点型、字符型。
为什么要定义数据类型:一是编译系统根据数据类型在内存中分配相应的字节数,二是数据类型决定了数据类参与的运算类型。
3.2 double
int全写[signed] int
类型的自动转换 低级别的数据----高级别的数据。
类型的强制转换 高级别的数据----低级别的数据。
(类型)(表达式) (int)(3.2+5/6-4.6)表达的意思是将表达式的结果强制转换为int。
2、运算符:算术运算符(+、-、、/、%、++、–)
++、–:放在变量前或变量后 例如 ++i、i++、–i、i–。
前缀:使变量的值增1或减1,然后再使用变量的值。
后缀:先使用变量的值,然后变量再增1或减1。
1、赋值运算符 级别倒数第二 结合性:自右至左
基本的赋值运算符:= 将右侧的值赋给左侧的变量 例如a+b=3是不正确的,因为不知道3到底赋值给了哪个变量。
复合的赋值运算符:+=、-=、=等等
a+=b等价于a=a+(b)其中a只能是变量,b可以是任意表达式。(变量是最简单的表达式)
a*=3+4等价于a=a*(3+4)(表达式一定要带括号)
a=b=c=3+4等价于a=(b=(c=(3+4)))(注:在定义变量的时候,不能用连等为多个变量赋初值)
(正确示范) int a=1,b=1,c=1;
或者 int a,b,c;
a=b=c=1;
为变量赋值:定义的同时赋值(赋初值) int a=9
先定义后赋值 int a; a=9;
以上两种方式相等。
复制过程中的类型转换
两侧类型一致,直接赋值
两侧类型不一致,但都是算术类型时,自动将右侧的类型转换为左侧类型后赋值。
定义变量是要防止数据溢出
2、输入
scanf(“字符串”,输入项的地址)
字符串包括两部分:普通字符和以%开头的格式控制字符。
普通字符:需要在键盘原样输入,一般不写普通字符。
输入项的地址:如果有多个输入项,用逗号隔开,每个输入项和之前的格式控制符按照顺序相对应。
3、输出
printf(”字符串”,输入项地址)
字符串包括两部分:普通字符和以%开头的格式控制字符。
普通字符:需要在键盘原样输入,一般不写普通字符。
输出项:如果有多个输出项要用逗号隔开,每个输出项之前的格式控制符顺序按照相对应的位置输入。
例如 double a,b,c;
scanf(“a=%lf,b=%lf,c=%lf”,&a,&b,&c);
printf(“a=%f,b=%,c%f”,a,b,c);
return 0;