像程序员一样思考
像程序员一样思考
1000+ 人选课
更新日期:2025/05/04
开课平台智慧树
开课高校佳木斯大学
开课教师于莉莉马丹丹赵佳彬李美珊刘越王晓娟
学科专业理学数学类
开课时间2025/01/21 - 2025/07/20
课程周期26 周
开课状态开课中
每周学时-
课程简介
枯燥语法趣味化;经典例题形象化。
课程大纲

在线教程

章节简介教学计划
从问题到程序
登录后可预览视频
认识C语言
于莉莉
简单C程序
于莉莉
从现实问题到程序
于莉莉
世界上有两种人——了解二进制
于莉莉
师傅领进门——数据类型、运算符、表达式
爱上编程 — 程序设计基础
一览程序之美——C程序结构
赵佳彬
好手艺还需好家什——VC++6.0编译器
赵佳彬
你准备好了吗——编程前
赵佳彬
2+3+6 — 两量、三型、六式
小明又来了——整型量程序编写
赵佳彬
小明又来了—— 整型量程序编写(2)
赵佳彬
小明四年级了—— 浮点型量程序编写
赵佳彬
兄弟也要来较量——— 单精度双精度有效范围
赵佳彬
各位分离——除模运算
赵佳彬
加减也精彩——自增减及复合运算
赵佳彬
字母也能来设计——字符量程序编写
赵佳彬
计算升级—— 数值间的混运算合
赵佳彬
两量可以来交换——赋值
赵佳彬
最后是王者——逗号运算
赵佳彬
关键判真假——关系运算+逻辑运算
赵佳彬
如果是真的——条件运算
赵佳彬
谁大谁小排一排——运算优先级
赵佳彬
一站到底——顺序结构程序设计
一个一个来和去——字符输入输出
赵佳彬
结果展示设计大师——printf输出
做竖式呀!——整型数据输出
赵佳彬
保留几位啊?——浮点型数据输出
赵佳彬
重要的VIP——特殊字符输出
赵佳彬
优秀的快递员——scanf输入
赵佳彬
数学函数嗨起来——常用数学库函数
赵佳彬
选择结构
如果——if语句
教室停电就不上课了——if语句的最简形式
于莉莉
else神器——if语句的完整形式
于莉莉
如果里的如果——if语句的嵌套
于莉莉
多路开关——switch语句
于莉莉
循环结构
看好了情况再出手——while语句
于莉莉
先出手干了再说——do...while语句
于莉莉
按劳分配——for语句
于莉莉
循环里的循环——循环的嵌套
于莉莉
埋头干活中的抬头看路——continue语句和break语句
于莉莉
高楼大厦任你盖——数组
直线升级
一维数组的定义及数组元素
马丹丹
立体升级——二维数组
马丹丹
一维数组的初始化
马丹丹
逻辑挑战——一维数组
逻辑挑战——数组收纳和找东西的艺术
马丹丹
逻辑挑战——混乱之治
马丹丹
立体升级——二维数组
马丹丹
逻辑挑战——矩阵转置
马丹丹
字符的妙用——字符数组
字符数组的定义和初始化
马丹丹
字符数组的输入和输出
马丹丹
字符串处理技术
马丹丹
字符串数组与多个字符串的处理
马丹丹
综合逻辑挑战
马丹丹
探索神秘的黑箱——函数
从讲故事开始——函数概述
马丹丹
给黑箱解剖
函数定义及调用
马丹丹
函数调用的过程
马丹丹
函数的返回值
马丹丹
不能随意摆放黑箱
马丹丹
黑箱里的“黑箱”
函数的嵌套调用
马丹丹
函数的递归调用
马丹丹
变量的时空范围
空间范围——变量的作用域
马丹丹
时间范围——变量的存储类别
马丹丹
游戏环节
猜数游戏
于莉莉
寻找幸运数字
复制数组
于莉莉
寻找幸运数字
于莉莉
重新排列数组元素
于莉莉
  • 第一章从问题到程序

    任何事情在开始的时候,都需要先试试水。本章就带领大家认识C语言,如何把问题变成程序,尝试一下简单的C语言编程。

  • 1.1认识C语言

    为什么要学习C语言,而不是B语言。

  • 1.2简单C程序

    通过几个简单的C语言程序,让学生抄写模仿程序,迅速上手。

  • 1.3从现实问题到程序

    通对几个经典的算法问题切入,概括了问题解决的基本方法和步骤。同时通过实际编写C程序来解决几个典型的问题,从而体会到问题解决的思路和应用。

  • 1.4世界上有两种人——了解二进制

    通过趣味手势教学,让学生简单了解二进制。

  • 第二章师傅领进门——数据类型、运算符、表达式

    计算机程序就是一系列的操作步骤,我们掌握编程本领,让计算机遵照你的意愿来工作,就可以成为它真正的主人。学习C语言编程,先来学习C语言中的“单词”、“短语”以及如何写句子。本章将学习各种数据和运算符用C语言怎么说、怎么写,学习表达式及输入输出函数,编写简单小程序。

  • 2.1爱上编程 — 程序设计基础

    计算机的任何功能都是通过程序来完成的,没有程序,计算机就不能够做任何工作。本节着重介绍C语言程序结构的特点,如何使用VC++6.0编译器编写C程序并且编译、调试、运行。最后介绍简单的程序编写要点。

  • 2.22+3+6 — 两量、三型、六式

    本节重点讲解永不变的常量和储物功能的变量。讲解C语言中整型、实型、字符型和字符串四种数据类型怎样表示。学习各种运算符功能用法,怎样建立表达式应用常用算法。

  • 第三章一站到底——顺序结构程序设计

    无论那种方式使用计算机,必须面对键盘鼠标显示器。键盘鼠标输入,显示器屏幕查看内容。如果只有主机的计算机是没人能用的,同样没有输入输出的程序也是无意义的。本章重点讨论数据的输入和结果的输出,只要在程序中做到输入输出运用自如,便可奠定高手基础。

  • 3.1一个一个来和去——字符输入输出

    单个字符输出就如向屏幕开火;单个字符输入就如一口一口来吃饭。想要运用单个字符输入输出函数有效,必须要先拿到库函数仓库的钥匙。

  • 3.2结果展示设计大师——printf输出

    相较单个字符的输入输出来说,成串的字符输入输出实现起来更加过瘾。多个字符形成字符串输出重点在于字符串输出的格式。本节重点介绍字符串的格式化输出。

  • 3.3优秀的快递员——scanf输入

    为使程序功能强大,就要能处理键盘输入的数据。我们要找到一个优秀的快递员,将键盘输入的数据值成功的运送到对应变量的家中。本节重点设计快递员—----格式化输入函数。

  • 3.4数学函数嗨起来——常用数学库函数

    能够编写简单的程序之后,首先想解决数学问题,C语言提供了math库,有丰富的数学函数,我们一起将这些函数用起来。

  • 第四章选择结构

    程序并不会总是执行同样的处理。例如,按下某个键的时候执行A处理,按下其他键的时候执行B处理……像这样,程序通过条件判断的结果选择性第执行某种处理的情况是非常多见的。
    本章将会带领大家学习根据条件改变程序流程的基本方法。

  • 4.1如果——if语句

    遇见如果就选择,if语句会根据对某个条件的判断结果,将程序的流程分为两支。

  • 4.2 多路开关——switch语句

    本节将介绍的switch语句,则会将程序分为多个分支。

  • 第五章循环结构

    人生就是日复一日地不断重复,既有相同的事情,也有相似的事情,却无论如何也无法回到最初。要想在生活的每一刻都能有新的发现,恐怕只是一个美好的愿望。
    本章将会为大家介绍程序中的重复流程——循环。

  • 5.1看好了情况再出手——while语句

    C语言中提供了3种循环执行语句。首先我们来看一下while语句。

  • 5.2先出手干了再说——do...while语句

    和上一节介绍的while语句不同,在执行循环体后再判断的do语句。

  • 5.3按劳分配——for语句

    比起使用while和do语句,使用for语句实现循环会使程序更加简洁、易读。本节就来学习for语句。

  • 5.4循环里的循环——循环的嵌套

    将循环语句的循环体作为循环语句,就可以进行二重、三重循环。这样的循环称为多重循环,即循环的嵌套。本节就来学习多重循环。

  • 5.5埋头干活中的抬头看路——continue语句和break语句

    本节介绍两个在循环体中改变循环执行的两个特殊语句。

  • 第六章高楼大厦任你盖——数组

    单个变量可以被看做是一栋平房,只能住一户人家,但现代城市已经很少能见到平房了,大多是高楼大厦。相对于平房,楼房的优势是可以分层,占用相同土地面积的楼房可以居住更多的人。楼房层数越多,能居住的人也越多,这就相对缓解了城市土地资源缺少的问题。
    在C语言中也有类似楼房的变量,这就是数组。在许多实际应用中,需要存储与处理大量的数据。例如,在数值计算中,向量和矩阵的运算,它们不但有多个数据,而且各数据间有一定的次序。像这样,数据量大、数据间有一定次序关系的问题,如果用简单的变量来表示,不仅十分烦琐,而且很难描述它们之间的顺序关系。为了提高处理效率而把具有相同类型的数据有序地组织起来的一种形式就是数组。

  • 6.1 直线升级

    把平房变楼房,把简单变量换成数组变量,我们从最简单的一维数组说起。
    一维数组是由数字组成的以单纯的排序结构排列的结构单一的数组,就像我们排队一样,一维数组是计算机程序中最基本的数组。

  • 6.2逻辑挑战——一维数组

    知识要学以致用,学以致用最根本的是要把理论的知识和实际的应用要联合起来,由浅入深地达到熟能生巧的目的。

  • 6.3立体升级——二维数组

    一维数组只有一个下标,其下标只能在一个方向上变化,它能处理的数据是队列式的;而二维数组有两个下标,即其下标在两个方向变化,所以二维数组处理类似表格这样有行有列的数据,它可以看作是一维数组的二次叠加产生的。

  • 6.4逻辑挑战——矩阵转置

    学到的东西要经常揣摩,融会贯通,真正地理解其含义(包括使用的方法,注意的事项),然后按照理论的要求在实践过程中应用,解决实际生活中的问题。

  • 6.5 字符的妙用——字符数组

    数值型数据可以用一维数组或二维数组来处理,那么字符型数据怎么办呢?本节的字符数组就是用来存放字符或字符串的数组,字符数组中的一个元素存放一个字符,多个连续的元素就可以存放字符串。

  • 6.6综合逻辑挑战

    培根曾说过:一个人不能为读书而读书,读书的最终目的是为了用。从生活中遇到的问题,用学习新的知识来解决,这样相互促进学习,逐步加深自己的理论知识与实践应用。

  • 第七章探索神秘的黑箱——函数

    小到手表、收音机、电脑,大到火车、飞机、航母,都包含了许多元器件,它们可以分别被维修、更新或替换,而不影响其他部分。类似地,在程序中我们也可以制造和使用自己的“元器件”——就是函数,一个个函数可被看做是“蒙着面干活”的“黑箱”,它们分别用于实现不同的功能,并随时听候我们的调用,而我们在调用时根本不必关心其内部细节。有了函数,不仅可以大大简化编程的复杂度,还可以使程序逻辑更为清晰。

  • 7.1从讲故事开始——函数概述

    在一个程序的编写过程中,随着代码量的增加,如果把所有的语句都写到 main 函数中,一方面程序会显得的比较乱,另外一个方面,当同一个功能需要在不同地方执行时,我们就得再重复写一遍相同的语句。此时,如果把一些零碎的功能单独写成一个函数,在需要它们时只需进行一些简单的函数调用,这样既有助于程序结构的清晰条理,又可以避免大块的代码重复。为了能更好的学习函数,我们先从一个故事开始。

  • 7.2给黑箱解剖

    一个个函数可被看做是“蒙着面干活”的“黑箱”, 虽然我们在调用时根本不必关心其内部细节,但在编写程序时还是需要我们一步一步编写出来的。那么我们就把它解剖开来,看看里面到底有什么。

  • 7.3不能随意摆放黑箱

    要想让编写好的函数发挥其功能,并不是什么位置都可以摆放的,如果位置摆放不对,那也是不能完成它的使命的。

  • 7.4 黑箱里的“黑箱”

    为什么第二个黑箱用双引号括起来呢?因为它不是真正意义上的黑箱里可以再放黑箱含义,就好比一个抽屉里放另一个抽屉的钥匙一样,想要打开抽屉就要打开下一个抽屉,也许下一个抽屉里面又是另一把抽屉的钥匙,直到找到要打开抽屉的钥匙为止,即一个函数调用另一个函数。

  • 7.5变量的时空范围

    世间万物,皆有生灭,变量也不例外,变量从其空间被开辟,到该空间被释放所经历的时间就是变量的生存期,具体体现在变量的存储类别上,即存储类别反映了变量在时间上的作用范围。
    变量在程序中能够起作用的地域范围则是变量的作用域。具体有两种:一种是变量只在局部范围内起作用,另一种是变量在整个程序中都起作用。本节我们就学习变量的作用域和变量的存储类别。

  • 第八章游戏环节

    本章通过几个简练的游戏小程序,带领大家一边接触实用性编程一边学习。

  • 8.1猜数游戏

    本节要编写的是“猜数游戏”程序。我们先做一个测试版本,之后再逐步为其增加其他功能。

  • 8.2寻找幸运数字

    本节将带领大家编写一个训练软件“寻找幸运数字”,程序会从1到9中抽掉一个数字,玩家则需要瞬间找出该数字。

  • 开始学习
  • 第一章  作业测试
    第一章 从问题到程序

    1.1 认识C语言

    1.2 简单C程序

    1.3 从现实问题到程序

    1.4 世界上有两种人——了解二进制

    视频数4
  • 第二章  作业测试
    第二章 师傅领进门——数据类型、运算符、表达式

    2.1 爱上编程 — 程序设计基础

    2.2 2+3+6 — 两量、三型、六式

    视频数16
  • 第三章  作业测试
    第三章 一站到底——顺序结构程序设计

    3.1 一个一个来和去——字符输入输出

    3.2 结果展示设计大师——printf输出

    3.3 优秀的快递员——scanf输入

    3.4 数学函数嗨起来——常用数学库函数

    视频数6
  • 第四章  作业测试
    第四章 选择结构

    4.1 如果——if语句

    4.2 多路开关——switch语句

    视频数4
  • 第五章  作业测试
    第五章 循环结构

    5.1 看好了情况再出手——while语句

    5.2 先出手干了再说——do...while语句

    5.3 按劳分配——for语句

    5.4 循环里的循环——循环的嵌套

    5.5 埋头干活中的抬头看路——continue语句和break语句

    视频数5
  • 第六章  作业测试
    第六章 高楼大厦任你盖——数组

    6.1 直线升级

    6.2 逻辑挑战——一维数组

    6.3 立体升级——二维数组

    6.4 逻辑挑战——矩阵转置

    6.5 字符的妙用——字符数组

    6.6 综合逻辑挑战

    视频数12
  • 第七章  作业测试
    第七章 探索神秘的黑箱——函数

    7.1 从讲故事开始——函数概述

    7.2 给黑箱解剖

    7.3 不能随意摆放黑箱

    7.4 黑箱里的“黑箱”

    7.5 变量的时空范围

    视频数9
  • 第八章  作业测试
    第八章 游戏环节

    8.1 猜数游戏

    8.2 寻找幸运数字

    视频数4
  • 期末考试