程序设计入门—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("内容||变量类型",变量名称);

  • 尽量使用双引号?

    • 《单引号 = 字符

    • 《双引号 = 字符串

程序设计

基本思路

  • 《 一个函数的基本模型模型

    • 读一些输入

    • 做一些计算

    • 输出一些东西

  1. 需要什么变量的 * 在问题的解决中 需要处理到什么数据。

    • 怎么从 用户处 取得数据。

  2. 怎么计算

    • 算法

  3. 输出些什么

优秀的代码?

  • 有时候需要代码足够笨,笨的让很多人一眼就能看懂。

    • 《 就像数学题写得一步一步地

    • 例子:

例子

  • 计算时间

    • 将输入的 时间和分钟 进行 分钟化||小时化 后 》

    • 再做计算 获得最后的值 》

    • 小时部分: [最后的值]/60 =[小时数] [最后的值]/60 =[分钟数]

C语言

特点

  • 一种有类型的语言

    • 所有的变量

      • 必须具有确定的数据类型

        • 可以存放什么数据

        • 只能存放指导类型的数据

        • 运行过程中不得改变变量的类型

C语言标准

  • C99

    • 允许在运算过程的任意位置定义变量

  • ANSI C

    • 只能代码的开头定义变量

其他

0的故事

  • 当人类有电报之后 0[零] 和 O[噢] 长的特别像。

  • 后来终端出现之后,默认字体:

[笔记][mooc]《程序设计入门—C语言》相关推荐

  1. MOOC程序设计入门——C语言(翁恺)第五周编程作业“念整数”

    MOOC程序设计入门--C语言(翁恺)第五周编程作业"念整数" ****念整数 题目内容: 你的程序要读入一个整数,范围是[-100000,100000].然后,用汉语拼音将这个整 ...

  2. MOOC 程序设计入门 C语言 错题集

    1.以下哪些是有效的变量名? A.  main B. 4ever C. monkey-king D. __int 变量名的开头必须是字母或下划线,不能是数字.实际编程中最常用的是以字母开头,而以下划线 ...

  3. MOOC:程序设计入门——C语言:期末考试编程题

    题目内容: 分数可以表示为"分子/分母"的形式.编写一个程序,要求用户输入一个分数,然后将其约分为最简分式.最简分式是指分子和分母不具有可以约分的成分了.如6/12可以被约分为1/ ...

  4. 中国大学mooc程序设计入门C语言:素数和

    素数和: 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,n大于m,两数字均在0-100之间.你的程序要计算第n个素数到第m个素数之间所有的素 ...

  5. 笔记:中国大学MOOC课程《程序设计入门——C语言》编程练习

    笔记:中国大学MOOC课程<程序设计入门--C语言>编程练习 第7周 数组运算 1 多项式加法 第8周 指针与字符串 2 GPS数据处理 第7周 数组运算 1 多项式加法 题目内容: 一个 ...

  6. 【C语言 MOOC】程序设计入门_C语言(翁恺)

    文章目录 程序设计入门-C语言(MOOC-翁恺) Week 1 程序设计与C语言 lesson 1 计算机和编程语言 辗转相除法 程序的执行 lesson 2 第一个程序 Week 2 计算 less ...

  7. c语言编程题素数和,程序设计入门——C语言 第4周编程练习 1 素数和(5分)

    题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0 输入格式: 两个整数,第一个表示n,第二个表示m. 输出格式: 一个整数,表示第n个素数到 ...

  8. 程序设计入门——C语言 习题汇总

    <img width="108" height="40" alt="浙江大学" src="http://imgsize.ph ...

  9. 翁恺c语言程序设计入门期末,程序设计入门-C语言 翁恺.doc

    第 PAGE \* MERGEFORMAT 39 页 共 NUMPAGES \* MERGEFORMAT 39 页 程序设计入门-C语言 浙大 翁恺循环类型编程源代码1.#include int ma ...

最新文章

  1. 内网虚拟服务器怎么固定域名,如何让自己的局域网用(虚拟的)域名访问?
  2. pybind11向C++ dll 传递数组 图像
  3. 论文笔记——PRUNING FILTERS FOR EFFICIENT CONVNETS
  4. go 数据添加元素和删除特定元素
  5. 用html5交换两个变量的值,Python判断两个对象相等的原理 python交换两个变量的值为什么不用中间变量...
  6. DB2时间函数 实现 时间加减
  7. faster rcnn论文_52 个深度学习目标检测模型汇总,论文、源码一应俱全!(附链接)...
  8. 安卓更改目标sdk_您最近是否修改了目标?
  9. android 第三方框架
  10. python绘制散点图的函数_python绘制散点图
  11. 跨域cookie设置
  12. dataframe数据按行做线性拟合
  13. 能源管理可视化破冰而出,数字孪生打破传统运维僵局
  14. pb语言是什么计算机语言,pb编程语言排行榜_世界编程语言排行榜 搜狗百科
  15. ITIL v3 中级认证
  16. SX1278与STM8L的精美结合。
  17. python pandas str列内置方法
  18. 国内安装oh-my-zsh
  19. AR模型参数估计、Y-W方程、L-D算法原理部分
  20. framebuffer之overview/双缓冲/alpha与colorkey/窗口平移与virtual screen平移

热门文章

  1. mysql数据库 quota_shell脚本抓取用户存储quota写道mysql并展现到grafana面板
  2. python中向量长度_Python线性代数学习笔记——什么是向量?实现我们自己的向量...
  3. 解决用户登录查库问题
  4. mysql 配置文件
  5. 自定义镜像-镜像结构
  6. Nacos-快速入门
  7. MyBatis 实际使用案例-objectFactory【重点】
  8. 设计模式之间的关联关系和对比
  9. 数据库设计:pd工程创建数据库表
  10. 访问数组元素进行赋值