程序设计入门—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[噢] 长的特别像。-
后来终端出现之后,默认字体: