程序设计入门—C语言 (幕课课程笔记)
Mac环境搭建
- terminal
- 》 "gcc"
- 》确认,安装
- 》 gcc || gcc --version
本课程程序的基本框架
#include 'stdio.h'
main(){
//code
return 0;
}
注释
* 单行`//`(C99,而ANSI C不支持)
* 多行`/* */`
变量的定义
<变量类型><标识(zhi4)符> [ = <初始值>]
标识符
- 数字、字母、“_”
- 数字不开头
- 关键词不可用
变量类型
必须具有确定的数据类型
- 可以存放什么数据
- 只能存放指导类型的数据
- 运行过程中不得改变变量的类型
赋值 与 初始化
初始化
int peace = 1 ;
- 在定义之际进行赋值
调用一个定义了却没有初始化的变量时,这个变量的值是其位置内存的原本存储的量。
- 就像是,打开了一个房间,没有清扫里面的东西就住进去了
赋值
peace = 1;
- 在代码中。
- ‘=’ 是 ‘将右边的值赋给左边的变量’
- ‘=’ 相当于 ‘被赋值’
a=b
!=b=a
嵌入式赋值
尽量不要用!
- 《不利于阅读理解
- 《容易出现错误
常量-固定不变的数
定义常量
const **<变量类型>** <变量名称> = <初始值>
- const 修饰符
- 给变量加入一个const[‘只读’]的属性 (C99)
- 使得变量一旦初始化便不能修改。
- 可消除 幻数 》易阅读
- 常 通过全大写 来 表面其身份。
直接写在程序里的我们称作直接量(literal)。
- 某些为 幻数(magic number)
运算
表达式
一个表达式 是 一系列 运算符 和 算子 的组合,用来计算一个值。
运算符(operator)
- 进行运算的动作
关系(比较)运算
关系(比较)运算符
运算结果
- 真 》 1
- 假 》 0
单目 VS 双目
- 运算符只有一个算子
- -a(取相反数) 的 ‘-’ 是个单目运算符。
- 而 a-b(相减) 的 ‘-’ 是个双目运算符。
a是变量,将取负
e.g.
- '+'加法运算符
- '-'减法运算符
'=' 赋值运算符
- ‘=’ 是 ‘将右边的值赋给左边的变量’
a=b
!=b=a
算子[操作数、运算数](operand)
- 参与运算的值
运算规则
运算符优先级
关系运算符
自左向右
- a == b == c
与外族
- 》赋值
- 《 算术
内部
- '=='&'!='的优先级比较低
- 注意:单目 和 赋值 是 自右向左。
两个整数的运算结果只能是整数
- 《 C语言是有类型的语言
运算过程中将扔掉出现的小数
- 10/3; //3
- 10/3*3; //9
浮点数与整数的运算过程中
- 整数将转换成浮点数 》进行浮点数的运算
- 10.0/3*3 =3.3333
10 != 10.0
- 10 = 整形数
- 10.0 =浮点数
数值类型
整形数
- int
浮点数
- 本意指 》 小数点是浮动的。
- 表达非整数(分数&无理数)的一种方式
double
- 双精度浮点数
float
- [单精度]浮点
[C语言中没有]定点数
- 计算机中也可以表示小数
语句
判断语句(if...else...)
if(condition){
//statements
}
常用函数
- f = ‘formatde’ = 格式化
输入函数scanf
scanf("变量类型",&变量名称);
当输入的值 与 设置变量类型不一致时,将输入默认值
(迷)或是当前某处内存的值
- 数字 》 0
- 字符串 》?
- ......
输入两个值时
出现在字符串里面的都是他一定要读到的东西,是必须被正确输入的东西。
%d,%d
- 《 ','必须出现,否则出错。
%d %d
- 《 当输入 "1 2" 之后,已经完成赋值。因此后面原来的 ' '(空格)输入任意东西即可。
price %d %d
- 》 一定要以"price xxx"的形式输入。
输入值的类型是 双精度(double) 时
- "%lf"
尽量使用双引号?
- 《单引号 = 字符
- 《双引号 = 字符串
输出函数printf
printf("内容||变量类型",变量名称);
尽量使用双引号?
- 《单引号 = 字符
- 《双引号 = 字符串
程序设计
基本思路
《 一个函数的基本模型模型
- 读一些输入
- 做一些计算
- 输出一些东西
需要什么变量的 * 在问题的解决中 需要处理到什么数据。
- 怎么从 用户处 取得数据。
怎么计算
- 算法
- 输出些什么
优秀的代码?
有时候需要代码足够笨,笨的让很多人一眼就能看懂。
- 《 就像数学题写得一步一步地
例子:
例子
计算时间
- 将输入的 时间和分钟 进行 分钟化||小时化 后 》
- 再做计算 获得最后的值 》
- 小时部分: [最后的值]/60 =[小时数] [最后的值]/60 =[分钟数]
C语言
特点
一种有类型的语言
所有的变量
必须具有确定的数据类型
- 可以存放什么数据
- 只能存放指导类型的数据
- 运行过程中不得改变变量的类型
C语言标准
C99
- 允许在运算过程的任意位置定义变量
ANSI C
- 只能代码的开头定义变量
其他
0的故事
- 当人类有电报之后
0
[零] 和 O[噢] 长的特别像。 后来终端出现之后,默认字体:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。