用户名: 密码:
授课大纲
介绍:计算机、程序和C语言;计算:变量和表达式
C0.1.1 计算机与编程语言
C0.1.2 计算机的思维方式
C0.2.1 为什么学C
C0.2.2 C语言简单历史
C0.3.1 安装编程软件
C0.3.2 第一个C程序
C0.3.3 命令行
C0.3.4 做点运算
C1.1.1 变量定义
C1.1.2 变量赋值
C1.1.3 常量vs变量
C1.1.4 浮点数
C1.2.1 表达式
C1.2.2 优先级
C1.2.3 交换两个变量
C1.2.4 复合赋值
C1.3.1 关于scanf
C1.3.2 0的故事
判断:分支结构
C2.0.1 编程题解析
C2.1.1 做判断
C2.1.2 判断的条件
C2.2.1 找零计算器
C2.2.2 否则的话
C2.2.3 if语句再探
C2.2.4 嵌套的if-else
C2.2.5 级联的if-else
C2.2.6 if常见错误
C2.2.7 多路分支
循环
C3.1.1 循环
C3.1.2 while循环
C3.1.3 do-while循环
C3.2.1 循环计算
C3.2.2 算平均数
C3.2.3 猜数
C3.2.4 逆序的整数
循环控制
C4.1.1 for循环
C4.1.2 循环的选择
C4.2.1 循环控制
C4.2.3 多重循环
C4.2.4 离开多重循环
C4.3.1 求和
C4.3.2 最大公约数
C4.3.3 整数分解
数据类型和处理
C5.1.1 数据类型
C5.1.2 整数类型
C5.1.3 整数的内部表达
C5.1.4 整数的范围
C5.1.5 整数的格式化
C5.1.6 选择整数类型
C5.1.7 浮点类型
C5.1.8 浮点数的范围与精度
C5.1.9 字符类型
C5.1.10 逃逸字符
C5.1.11 类型转换
C5.2.1 逻辑类型
C5.2.2 逻辑运算
C5.2.3 条件和逗号运算
函数
C6.1.1 初见函数
C6.1.2 函数定义和调用
C6.1.3 从函数中返回
C6.2.1 函数原型
C6.2.2 参数传递
C6.2.3 本地变量
C6.2.4 函数庶事
数组
C7.1.1 初试数组
C7.1.2 定义数组
C7.1.3 统计个数
C7.2.1 数组运算
C7.2.2 素数
C7.2.3 二维数组
指针
C8.1.1 取地址运算
C8.1.2 指针
C8.1.3 指针与数组
C8.2.1 逃逸字符
C8.2.2 字符类型
C8.3.1 字符串
C8.3.2 字符串变量
C8.3.3 字符串输入输出
C8.3.4 字符串函数
字符串
CII1.1.1 指针的使用
CII1.1.2 指针与数组
CII1.1.3 指针与const
CII1.2.1 指针计算
CII1.2.2 动态内存分配
CII1.3.1 单字符输入输出
CII1.3.2 字符串数组
CII1.4.1 函数strlen
CII1.4.2 函数strcmp
CII1.4.3 函数strcpy
CII1.4.4 字符串搜索函数
图形库
CII2.1 ACLLib介绍
CII2.2 WIn32API
CII2.3 创建ACLLib程序
CII2.4 基本绘图函数
结构类型
CII3.1 枚举
CII3.2.1 结构类型
CII3.2.2 结构与函数
CII3.2.3 结构中的结构
CII3.3.1 类型定义
CII3.3.2 联合
链接
CII4.1.1 可变数组
CII4.1.2 数据访问
CII4.1.3 自动增长
CII4.2.1 可变数组的缺陷
CII4.2.2 链表
CII4.2.3 链表的函数
CII4.2.4 链表的搜索
CII4.2.5 链表的删除
CII4.2.6 链表的清除
程序结构
CII5.1.1 全局变量
CII5.1.2 静态本地变量
CII5.1.3 贴士
CII5.2.1 宏
CII5.2.2 带参数的宏
CII5.3.1 大程序
CII5.3.2 头文件
CII5.3.3 声明
交互图形
CII6.1 终端输入输出
CII6.2.1 函数指针
CII6.2.2 函数指针的使用
CII6.3.1 回调函数
CII6.3.2 图形交互消息
CII6.4.1 MVC设计模式
CII6.4.2 游戏设计思路
文件和位运算
CII7.1.1 格式化输入输出
CII7.1.2 文件输入输出
CII7.1.3 二进制文件
CII7.2.1 按位运算
CII7.2.2 移位运算
CII7.2.3 位运算例子
CII7.2.4 位段
搜索与排序
CII8.1.1 线性搜索
CII8.1.2 搜索的例子
CII8.1.3 二分搜索
CII8.2 排序
课程概述

程序设计是一门基础课程。对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯;对于非计算机专业而言,程序设计的学习有助于理解计算机的能力所在,理解哪些是计算机擅长解决的问题,怎样的方式方法是计算机擅长的手段,从而能更好地利用计算机来解决本专业领域内的问题。任教的学者。

C语言是古老而长青的编程语言,它具备了现代程序设计的基础要求,它的语法是很多其他编程语言的基础,在系统程序、嵌入式系统等领域依然是无可替代的编程语言,在各类编程语言排行榜上常年占据前两名的位置。

中国绝大多数高校的工科专业要求学习C语言。对于非计算机专业的学生,学习本课程的主要目的是掌握程序设计的基本方法,C语言是教学媒介。但是对于计算机专业的学生,本课程是向后续的计算机组成、操作系统、编译原理、体系结构等课程前进的基石,对于C语言本身甚至程序设计语言基础原理的深入理解都是应该掌握的。

程序设计是实践性很强的课程,该课程的学习有其自身的特点,听不会,也看不会,只能练会。你必须通过大量的编程训练,在实践中掌握编程知识,培养编程能力,并逐步理解和掌握程序设计的思想和方法。在这里所提供的,只是基础的知识讲解,要想学会编程,还需要更多时间的投入和努力。

为了学习编程,你需要有一台计算机,安装必要的编程软件。无论是MS Windows、Mac OS X还是Linux,都有适合C语言编程的软件。

教师介绍

翁恺,计算机博士,浙江大学计算机学院教师,ACM-ICPC优秀教练奖得主,2011世界总决赛金牌教练。主要讲授包括C、C++、Java程序设计,程序设计语言原理,计算机体系结构,嵌入式系统等课程。

专业方向为嵌入式操作系统和嵌入式系统应用,是国内Arduino和树莓派应用的鼓吹者,翻译出版了多本相关书籍,在创客界交友广泛。

业余爱好无线电,1988年开始玩业余电台,电台呼号BA5AG,主要玩莫尔斯码、短波、数据通信和卫星通信。是浙大传统毅行的发起者和早期组织者之一。

COPYRIGHT:浙江大学
规划/设计/制作:浙江大学现代教育技术中心