- 02_目录结构介绍
- 03_文件权限说明
- 04_命令使用方式和技巧
- 05_常用命令:ls
- 06_常用命令:重定向、more、管道
- 07_常用命令:clear、cd、pwd
- 08_课堂答疑:管道、目录
- 09_上午知识点回顾
- 10_常用命令:mkdir、rmdir、rm
- 11_常用命令:ln
- 12_常用命令:grep
- 13_常用命令:find、cp、mv、file
- 14_常用命令:tar、gzip
- 15_常用命令:tar、bzip2
- 16_常用命令:zip、unzip
- 17_常用命令:which
- 18_课程回顾
- 19_常用命令:whoami、exit、su
- 20_常用命令:groupadd、groupdel、usermod
- 21_删除用户组补充
- 22_useradd、passwd、userdel
- 23_常用命令:chmod
- 24_常用命令:chown、chgrp
- 25_常用命令:ps、top、kill
- 26_上午知识点回顾
- 27_常用命令:&、jobs、fg
- 28_常用命令:字符图形切换、df、du
- 29_常用命令:ifconfig、ping
- 30_课堂答疑:ping作用
- 31_vi最基本的操作
- 32_vi的插入模式和退出
- 33_vi的配置
- 34_vi其它常用命令
- 35_windows和linux相互远程操作
- 36_linux相互远程操作
- 37_web服务器的搭建
- 38_网页版helloworld
- 39_课程回顾
- 40_语言介绍
- 41_为什么学C语言
- 42_第一个C代码编译运行
- 43_第一个C代码分析
- 44_C代码分析总结
- 45_windows通过gcc编译代码
- 46_windows通过gcc编译代码补充
- 47_system调用命令
- 48_课堂答疑
- 49_system调用外部程序
- 50_上午知识点回顾
- 51_system不同系统返回值不一样
- 52_字符编码介绍
- 53_Qt调用system
- 54_Qt调用system补充
- 55_MFC调用system
- 56_gcc编译过程
- 57_课堂答疑:动态库作用
- 58_gcc编译过程总结
- 59_交换文件说明
- 60_寄存器介绍
- 61_vs反汇编
- 62_vs的使用
- 63_qt的使用
- 64_课程回顾
- 65_常量和变量介绍
- 66_变量补充
- 67_常用和变量示例代码
- 68_进制介绍
- 69_十进制转二进制
- 70_二进制、八进制、十六进制相互转换
- 71_C语言如何表示进制
- 72_进制总结
- 73_计算机为什么使用补码存储数据
- 74_上午知识点复习
- 75_补码验证
- 76_补码总结
- 77_有符号和无符号的区别
- 78_char范围计算
- 79_数值越界
- 80_数值越界补充
- 81_sizeof的作用
- 82_整型变量输入输出
- 83_整型的使用总结
- 84_字符的基本使用
- 85_转义字符
- 86_浮点型的使用
- 87_类型限定符
- 88_课程回顾
- 89_作业讲解
- 90_输出的使用
- 91_输入的使用
- 92_课堂答疑:单引号输出问题
- 93_两数相除得小数说明
- 94_前置和后置区别
- 95_比较和逻辑运算符
- 96_优先级说明
- 97_运算符总结
- 98_类型转换
- 99_上午知识点回顾
- 100_if的使用
- 101_if_else_if的使用
- 102_if练习
- 103_三目运算符
- 104_switch的使用
- 105_while的使用
- 106_通过while实现累加
- 107_IDE调试代码
- 108_do_while的使用
- 109_for的使用
- 110_for的使用补充
- 111_死循环
- 112_循环的嵌套
- 113_break的使用
- 114_continue的使用
- 115_goto的使用
- 116_课程回顾
- 117_作业讲解
- 118_一维数组的基本使用
- 119_一维数组元素的使用
- 120_数组的初始化
- 121_不初始化的局部数组为随机数
- 122_课堂答疑
- 123_数组名
- 124_求三个数的最值
- 125_求数组最值
- 126_数组翻转
- 127_冒泡排序
- 128_冒泡排序试数走流程
- 129_二维数组的定义和使用
- 130_二维数组初始化
- 131_二维数组名
- 132_二维数组练习
- 133_多维数组介绍
- 134_字符数组和字符串的关系
- 135_字符数组初始化
- 136_课堂答疑
- 137_字符串的输入输出
- 138_随机数的产生
- 139_作业
- 140_课堂回顾
- 141_作业讲解
- 142_scanf的使用
- 143_gets、fgets的使用
- 144_字符串的输出
- 145_strlen的使用
- 146_课堂答疑
- 147_字符串拷贝
- 148_数组越界测试
- 149_字符串比较
- 150_字符串追加
- 151_上午知识点复习
- 152_sprintf的使用
- 153_sscanf的使用
- 154_sscanf的补充
- 155_字符串查询
- 156_课堂答疑
- 157_字符串切割
- 158_atoi的使用
- 159_无参无返回值函数的使用
- 160_函数的分类和作用
- 161_无参无返回值函数补充
- 162_有参无返回值函数的使用
- 163_无参有返回值函数的使用
- 164_课程回顾
- 165_作业讲解
- 166_return和exit区别
- 167_声明和定义
- 168_分文件编程
- 169_分文件编程总结
- 170_指针概述
- 171_指针补充
- 172_指针的定义和使用
- 173_指针变量和指针所指向的内存
- 174_上午知识点复习
- 175_指针练习
- 176_野指针
- 177_空指针
- 178_指针大小
- 179_多级指针
- 180_课堂答疑
- 181_[]不是数组专属
- 182_万能指针和指针步长
- 183_const修饰的指针
- 184_数组名
- 185_指向数组首元素的指针
- 186_通过指针加减访问数组元素
- 187_作业
- 188_课堂回顾
- 189_作业讲解
- 190_指针数组
- 191_值传递
- 192_地址传递
- 193_形参中的数组
- 194_返回局部变量的地址
- 195_返回全局变量的地址
- 196_字符串打印说明
- 197_上午知识点复习
- 198_字符指针
- 199_字符串拷贝问题
- 200_字符串拷贝功能实现
- 201_课堂答疑
- 202_const修饰的字符指针
- 203_字符串常量
- 204_文字常量区不允许修改
- 205_文字常量区不允许修改2
- 206_字符串常量初始化问题
- 207_main形参使用说明
- 208_课堂答疑
- 209_查找匹配字符串出现的次数
- 210_两头堵模型
- 211_作业
- 212_课程回顾
- 213_作业讲解
- 214_课堂答疑:字符串常量和字符指针数组
- 215_普通局部变量
- 216_课程答疑:二级指针和字符指针数组区别
- 217_static局部变量
- 218_普通局部变量和static局部变量区别
- 219_普通全局变量
- 220_C语言全局变量的缺陷
- 221_C语言全局变量声明和定义的建议写法
- 222_全局变量分文件
- 223_思考题
- 224_全局变量分文件补充
- 225_static全局变量
- 226_作用域和声明周期总结
- 227_内存分区介绍
- 228_栈越界说明
- 229_memset的使用
- 230_memset的使用补充
- 231_memcpy的使用
- 232_memmove和memcmp的使用
- 233_指针指向栈区空间
- 234_指针指针堆区空间
- 235_堆区空间使用总结
- 236_释放说明
- 237_堆区空间越界
- 238_作业
- 239_课堂回顾
- 240_作业讲解:打字游戏
- 241_作业讲解:内存分区代码分析
- 242_结构体的基本操作
- 243_结构体使用画图
- 244_结构体变量使用补充
- 245_结构体数组
- 246_结构体嵌套
- 247_结构体赋值
- 248_思考题
- 249_结构体值传递和地址传递区别
- 250_指针指向栈区空间
- 251_指针指向堆区空间
- 252_非法使用内存导致的错误说明
- 253_成员指针指向data区或栈区
- 254_成员指针指向堆区空间
- 255_结构体套一级指针
- 256_结构体和指针结合使用总结
- 257_共用体
- 258_枚举的使用
- 259_typedef的使用
- 260_课程回顾
- 261_作业讲解
- 262_文件概述
- 263_文件分类
- 264_文件操作流程
- 265_标准文件设备指针
- 266_标准设备补充
- 267_文件的打开和关闭
- 268_文件路径说明
- 269_上午知识复习
- 270_fputc的使用
- 271_fputc的使用补充
- 272_fgetc的使用
- 273_feof()存在的意义
- 274_feof的使用
- 275_feof的使用补充
- 276_cat命令的实现
- 277_课堂答疑
- 278_vi命令的实现
- 279_课堂答疑
- 280_fputs的使用
- 281_fgets的使用
- 282_作业
- 283_课程回顾
- 284_作业讲解
- 285_fgets读取内容
- 286_文件版四则运算
- 287_文件版排序
- 288_文件版排序补充
- 289_fprintf的使用
- 290_fprintf的使用补充
- 291_fscanf的使用
- 292_文件版排序2
- 293_上午知识点回顾
- 294_fwrite的使用
- 295_fread的使用
- 296_fread返回值说明
- 297_fread的使用2
- 298_拷贝命令的实现
- 299_拷贝命令在windows平台下运行
- 300_windows和linux文本文件区别
- 301_随机位置读写
- 302_文件的删除和重命名
- 303_缓冲区结束
- 304_作业
- 305_课程回顾
- 306_作业讲解
- 307_作业讲解补充
- 308_项目概述
- 309_C++介绍1
- 310_C++介绍2
- 311_C++介绍3
- 312_C++介绍总结
- 313_Qt应用程序的创建
- 314_构造函数和析构函数介绍
- 315_Qt介绍:控件内容的设置和获取
- 316_上午课程回顾
- 317_Qt字符编码
- 318_Qt字符编码总结
- 319_槽函数说明
- 320_IDE案例:字符编码选择
- 321_IDE案例:打开文件
- 322_IDE案例:字符编码说明
- 323_IDE案例:另保存文件
- 324_IDE案例:项目流程说明
- 325_IDE案例:编辑功能
- 326_IDE案例:编译代码
- 327_作业
- 328_课程回顾
- 329_作业讲解
- 330_指针复习1
- 331_指针复习2
- 332_二级指针做函数形参
- 333_快译通案例:概述
- 334_快译通案例:单词的存储
- 335_快译通案例:单词遍历
- 336_快译通案例:释放堆区空间
- 337_快译通案例:单词查询
- 338_快译通案例:代码引导
- 339_快译通案例:代码编译运行
- 340_快译通案例:代码分析1
- 341_快译通案例:代码分析2
- 342_快译通案例:代码分文件
- 343_快译通案例:代码移植到Qt
- 344_快译通案例:Qt程序移植到linux
本套课程为21天学通C语言视频教程,课程以循序渐进的方式介绍了C语言编程方面的知识,并提供了丰富的实例和大量的练习。通过学习实例,并将所学知识用于完成练习,读者将逐步了解、熟悉并精通C语言。
本书包括四周的课程,前三周详细介绍了C语言,第四周是附加课程,简要地介绍了最流行的面向对象语言——C。第一周的课程介绍了C语言程序的基本元素,包括变量、常量、语句、表达式、函数和循环;第二周介绍了数组、指针、字符和字符串、结构和共用体、变量的作用域、输入/输出等;第三周介绍了有关指针和函数的高级主题、磁盘文件读写、字符串操纵函数、函数库、内存管理以及编译器的高级用法等。