博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[笔记][mooc]《程序设计入门—C语言》
阅读量:6438 次
发布时间:2019-06-23

本文共 2120 字,大约阅读时间需要 7 分钟。

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

  • 当输入的值 与 设置变量类型不一致时,将输入默认值

    • (迷)或是当前某处内存的值

      • 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

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

  • C99 与 ANSI C 的区别

其他

0的故事

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

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

    • 代码中默认的两种0的字体

转载地址:http://nakwo.baihongyu.com/

你可能感兴趣的文章
Data-Mediator专题之属性回调
查看>>
每天一个Linux命令之ps-查看系统进程信息
查看>>
图解JavaScript原型链继承
查看>>
用VIPER构建iOS应用
查看>>
Java开源诊断工具 Arthas 发布v3.1.0
查看>>
什么是以太坊
查看>>
高效开发者是如何个性化VS Code插件与配置的?
查看>>
Java日志那些事
查看>>
117. Populating Next Right Pointers in Each Node II
查看>>
【笔记】重学前端-winter
查看>>
大数据构建模块:选择体系结构和开源框架
查看>>
62. Unique Paths
查看>>
告诉你微信域名被封的原因和防封方案
查看>>
七个你没用过的炫酷开发工具推荐
查看>>
深度解析利用ES6进行Promise封装总结
查看>>
css的content属性
查看>>
熬过了互联网“寒冬”,接下来的金三银四你该怎么面试进BAT?
查看>>
Java 开源库精选(持续更新)
查看>>
Scrum联盟发布2015年Scrum状况报告
查看>>
在 Ubuntu 16.04 LTS 上安装 Python 3.6.0
查看>>