前言

现在是北京时间2019.09.13 11:16
今天是月饼节啊!祝大家月饼节快乐~
然而~作为一个本科来自生科院的工科女 为了当C语言助教
只能?
值此佳节,凿壁偷光/勤学苦练/悬梁刺骨/孙康映雪/韦编三绝/业精于勤/手不释卷的学习C语言~

我该从何开始呢?

进入正题

互联网时代是学习成本最低的时代?
我决定?网易云课堂 一日游(●’◡’●)老九零基础学编程系列之C语言 老九学堂老师真的超级nice!!
搬上小板凳+拿出小本本+泡杯枸杞+勤奋的mark起来~/手动设置1.75x

文章目录

  • 前言
  • 进入正题
    • 章节1_Hello,C语言君
      • 课时1/2/3_pass
      • 课时4_C语言简介
      • 课时5_Hello World
      • 课时6_C语言的编程和执行
      • 课时7_课堂小结
      • 课时8/9/10_pass
    • 章节2_新司机起步之变量与数据类型
      • 课时11_内存中如何存放数据
      • 课时12_什么是变量
      • 课时13_C语言常用基本数据类型
      • 课时14_声明和使用变量
      • 课时15_浮点型和字符型数据类型
      • 课时16_输入、输出函数和转换字符
      • 课时17_课堂小节
      • 课时18_pass
    • 章节3_黑暗后的黎明:运算符与分支结构
      • 课时19_课前回顾
      • 课时20_几大基本运算符
      • 课时21_pass
      • 课时22_if案例
      • 课时23_多重嵌套if结构
      • 课时24_switch选择结构
      • 课时25_课堂小结
    • 章节4_起风了:循环初探
      • 课时26_while循环
      • 课时27_pass
      • 课时28_代码实战~拳皇
      • 课时29_do-while循环
    • 章节5_风起云涌~for循环
      • 课时30_风起云涌~for循环
      • 课时31_施法打断~break语句
      • 课时32_continue语句
      • 课时33_活学活用~实战练习
      • 课时34_pass

章节1_Hello,C语言君

课时1/2/3_pass

课时4_C语言简介

起源:丹尼斯.里奇 肯.汤姆逊 1972贝尔实验室
应用: 开发,游戏
c++:在c的基础上加上了面向对象
特点:1.结构化(优:层次清晰,易于维护 缺:重用性差)
2.语言简洁
3.可移植性好
4.功能强大
开发工具:1.记事本+命令行(大佬)
2.Turbo C(dos版本 很老)
3.Visual C++ 6.0(安装体积大 年代久远)
4.Dev C++(体积小,性能不好,05年弃更)
5.Code::Blocks(如日中天!专业人士推荐使用!)

课时5_Hello World

记事本工具:Notepad++
开发工具:Code::Blocks

#include<stdio.h>
int main()
{
	printf("Hello World!\n")
	return 0;
}

c语言整体结构
#include<stdio.h>
#开头=预处理器指令
include 包含
stdio = standared input output header = 标准输入/输出
.h = header 头文件(用<> 如何自己定义就用" ")
说明:这句话不是必须的,但是hello world用了 printf函数=print format = 以某种格式来打印)【换句话说 不然搞出来的都乱码了?】
viod main()
应用程序入口
viod:返回值是空的
int:返回值不是空 最后加个return 0 ;
说明:什么时候怎么写,可都写 int main
关于编码规范
1.书写注释 单行 // 多行/* */
2. 加分号/成对敲{}<>/中英文符号

课时6_C语言的编程和执行

计算机=输入设备+输出设备+主存储器+中央处理单元cpu
1.编译
编译器的输出结果,常用扩展名 ‘.o’ ‘.obj’,二进制文件,目标文件/代码
2.连接
目标代码和c语言函数库连接在一起【eg.printf到stdio里面去找】
将目标代码和源文件代码合并最终形成可执行的exe文件
3.执行
在特定的机器环境下运行(win linux等)
随堂练习
\n 换行
\t Tab键 (自动对齐 c语言里面6个字符)
2个空格=2个英文字符=1个中文字符

课时7_课堂小结

1.算法是计算步骤
2.流程图是算法的图像化方式
自己这个操作系统需要升级,才能一览众山小,不要懒惰哦!要勤奋的学习新的系统哦!

预告:变量,if语句,循环,数组
学习方法:靠练+方法+逻辑思维
答疑:1.unix 丹尼斯.里奇为了开发这个系统,而开发了c语言。c语言排名前三,越往后学习越难。
2.c可以开发底层工具,底层算法,手机游戏,苹果软件,qq内核等。
3.java和c很像,java入门找工作更容易,c对基本功不好的人进步要慢很多。
4. 老师叫‘第二眼帅哥’
5. gcc自己看
6. c++ 封装了一些c底层的东西,变成面向对象
7. 语言学习不要贪多

课时8/9/10_pass

章节2_新司机起步之变量与数据类型

课时11_内存中如何存放数据

可以看一下《黑客帝国1》
计算机存数据的地方,cpu基本上xxgHZ特别快~
1.硬盘 读取速度太慢 几十兆 固态几百兆
2.内存 还是不够快
3.寄存器 够了
用0 /1 存储

课时12_什么是变量

变量=内存空间=存东西的地方
变量名=给内存空间起名字
起名字规则:
1.首字母=字母/下划线
2.其他其母=下划线/数字/字母
3.不能使用关键字 32个

#include <stdio.h>
int main()
{
    int num = 5000;
}

移动端内存更小,要注意~

课时13_C语言常用基本数据类型

数据类型(基本类型)= 数值+非数值
数值=整形(int/short/long)+非整形(float/double)
非数值=char

数据类型类型说明符位数
整形int32
短整形short int16
长整形long int32
单精度浮点型float32
双精度浮点型double64
字符型chart8

双精度浮点型 小数点前后加起来16位
其他类型构造类型,指针类型…

课时14_声明和使用变量

#include <stdio.h>
void main()
{
    int salary = 2500;
    //打印小明的月薪
    printf("小明的月薪是 %d\n",salary)
}

转换说明符:确定在屏幕上的显示方式
%表示转换说明符的开头
%d表示输出十进制数字
%%输出一个%

float width = 2.5f 

float类型的占位符是%f
%.2f 选择打印的精度为小数点后两位

课时15_浮点型和字符型数据类型

float小档案:32位,4个字节,7位有效数字(小数点前后7位)
duble小档案:64位,8个字节,16位有效数字(小数点前后7位)
char小档案:8位,1字节
float类型的占位符是%f
duble的占位符是 %lf
char的字符显示是 %c,ASCII%d【字符按照ASCII码存储】
char是否有符号取决于编译器(-128-127/0-255)
常用ASCII码
‘A’ ASCII码:65
‘ ’ ASCII码:32
大小写转换±32

课时16_输入、输出函数和转换字符

转换字符输出
%d或%i有符号十进制整数
%c单个字符
%s字符串
%f浮点数,默认精确到6位
转义字符输出
\a蜂鸣警报
\b退格
\f换页
\n换行
\r回车
\t水平制表
\v垂直制表
\’单引号
\"双引号
\?问号
\\反斜线

scanf C函数中的通用的一个输入函数

课时17_课堂小节

一元运算符:++、–
二元运算符:+、-、*、/、%
%取模/取余数
取模的时候符号与第一个操作数一致

int num;
scanf('%f',&num)

& 取地址,单目运算符,用来取一个变量的地址。

课时18_pass

章节3_黑暗后的黎明:运算符与分支结构

课时19_课前回顾

写程序和打游戏一样,写程序有快感,来自创造的成就感。
num++ 等于 num = num+1 等于 num+=1
自动类型转换(小到大 自动类型转换;大转小 强制类型转换):
short<int< long< float< double

课时20_几大基本运算符

赋值运算符
等于=
计算顺序是从右到左

复合运算符
%=
先取模再赋值

一元运算符
++、–
后置就是先赋值再±1
前置就是先±1再赋值

二元运算符
+、-、*、/、%

关系运算符
’> 、<、>=、<=、==、!=

逻辑运算符
&& 且
|| 或
!取反
位运算符
& 与
| 或
~非
^ 疑惑
<< 左移
’>> 右移
‘>>> 无符号右移
sizeof符
获得数据类型占空间大小(单位:字节)
sizeof(int) 是 4

课时21_pass

课时22_if案例

if(条件为真)
{
    代码块1
}
else
{
	代码块2
}

课时23_多重嵌套if结构

if(条件1)
{
    代码块1
}
else if(条件2)
{
	代码块2
}
else (条件2)
{
	代码块3
}

课时24_switch选择结构

switch 开关
case 情况
default 默认

switch(表达式)
case 常量1;
	 语句1break;
case 常量2;
	 语句2break;
。。。
default:
	语句;

switch 和 多重if
相同点:都是用来处理多分支
不同点:switch 等值判断;多重if 区间判断

课时25_课堂小结

纯小数10.0 默认是double 8个字节
sizeof(10.0) = 8

章节4_起风了:循环初探

课时26_while循环

while是if的加强版

while(条件1)
{
    代码块1
}

课时27_pass

课时28_代码实战~拳皇

随机函数

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    srand(time(NULL));
    printf("%d",rand());
    return 0;
}

rand 0-32767
加了time 可以实现真正的随机,而不是每次都一样

课时29_do-while循环

do{
    循环操作;
}while(条件判断)

注意死循环
while 循环先判断后执行
do-while 循环先执行后判断

章节5_风起云涌~for循环

课时30_风起云涌~for循环

for(表达式1;表达式2;表达式3)
{
    语句;
}

for(i=0;i<9;i++)
初值;判断;操纵

课时31_施法打断~break语句

break 语句的作用:
1.跳出循环,执行循环之后的语句
2.跳出switch结构
break不能跳出if结构

课时32_continue语句

continue语句作用:
跳出本次循环,跳到循环变量更新的地方,继续下次循环
只能用于循环结构中

课时33_活学活用~实战练习

题目:
1.求1-100之间的偶数和
2.打印⭐

课时34_pass

更多推荐

中秋佳节速成C语言_老九零基础学编程系列之C语言【章节1-章节5】