2019.10.16日课堂笔记

今天讲了很多知识,如下:
1、程序 面向过程的语言
2、运行c的步骤 编辑(.c)-编译(.obj)-连接(.exe)

1、算法 ,一个问题可以有多个算法 ,算法的特点
2、算法的表示方法
3、结构化的程序:顺序、选择、循环
三、顺序结构
1、数据类型
1)数据-信息的符号化
2)数据类型(常量、变量:先定义后使用):整型、浮点型、字符型
为什么要定义数据类型:一是编译系统根据数据类型在内存中分配相应的字节数,二是类型决定了数据参与的运算类型

3.2 double
int----[signed] int
2、运算符—算术运算符(+、-、*、/、%、++、–)
3.2+5/6-4.6 —double
类型的自动转换 低级别的数据-----高级别的数据
类型的强制转换 高级别的数据-----低级别的数据
(类型)(表达式) (int)3.2+5/6-4.6 —将3.2强转成int
(int)(3.2+5/6-4.6)–将表达式的结果强转成int
++、–:使变量的值增1或减1,例如++(a+b),错误。 ++i i=i+1
前缀:变量先增 1或减1,然后再使用变量的值
后缀 :先使用变量的值,然后变量增 1或减1


1、赋值运算符 级别倒数第二 结合性:自右至左
基本的赋值运算符:= 将右侧的值赋给左侧的变量 例如a+b=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=b=c=1; 错误
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);
print(“a=%f,b=%f,c=%f”,a,b,c);
2019.10.16日课堂笔记