理性认识C程序 导论(Week 6) 明确学习进度 讲课内容 感性➡️理性➡️函数➡️指针等 作业练习 初级阶段 ➡️正常作业练习 C语言的由来 程序设计语言的分类 低级语言之机器语言 001010101001-- 低级语言之汇编语言 load 0 a 数据装入寄存器0-- 高级语言之C语言 d = a * b + c 顶机器语言一连串10101010-- 高级程序设计语言 1954-1956--John Backus--FORTRAN(FORmula TRANslation)--数学计算领域…
C语言中的运算成分(Week 8) 赋值运算符 "="赋值运算符 给赋值号左边的变量赋予数值 在变量定义的同时可以为变量赋初值 要点一:两面类型不同 若=两边的类型不一致,赋值时要进行类型转换 不管=右边是什么类型,都转为=左边的类型 cout打印默认6位精度 要点二:长数赋给短数 截取长数的低n位送给短数 要点三:短数赋给长数 低位不变,高位全补0或1 要点四:符号位的赋值处理 直接搬运,不管符号位还是数字位 表达式 程序中由运算符.操作数和括号等所组成的计算式,是计算求值的基本单位…
C语言中的数据成分(Week7) 内存 把内存想象成长带,带子上有许多方格,每个方格有8位(8bit) 2^10 = 1024 1B = 8 b 1KB = 1024Byte MB.GB.TB.PB-- 变量 值可以变化的量 变量的定义格式:(变量类型)(变量标识符) 最好在定义的时候赋予初始值 先定义,再使用 定义变量后:找到一片存储空间,给这片存储空间起名(变量名),将数据存储到这个存储空间中,将名字(变量名)和存储空间的起始地址联系起来 基本数据类型 整形 分类: 基本型 int(32bi…
感性认识计算机程序(Week 4) 引入 编程序 = 给计算机设计好运行步骤 程序 = 人们用来告诉计算机应该做什么的东西 问题➡️该告诉计算机什么?用什么形式告诉? 如果要创造一门"程序设计语言" 问题1: 是不是无论什么"单词",计算机都能明白 问题2: 是不是我们无论在程序里写什么"数"和"计算符号",计算机都能明白? 问题3: 我们需要多少"句式"才够描述各种逻辑 答案1:NO.定义一些有特定含义的…
计算机的历史与未来(Week 2) 计算机历史 早期计算机:手工计算器➡️机械计算器➡️计算机原型 现代计算机:电子管计算机➡️晶体管计算机➡️集成电路计算机➡️超大规模集成电路 早期的手工计算辅助工具 功能:标记计算过程,记录计算结果,辅助数字计算 缺点:无法记录计算法则,无法设定计算步骤 帕斯卡加法器:一种齿轮装置,能做6位加法和减法 莱布尼兹:提出二进制,其加法器能够进行四则运算,到1 巴贝奇:制作出差分机,机器分位堆栈,运算器,控制器 Hollerith制表机,电子穿孔卡片汇总 电气元件…
C语言中的控制成分(Week 9) 计算机程序的基本结构 任何具有单入口单出口的程序,都可以用顺序结构.分支结构.循环结构来表达 分支语句 在执行if语句前,先对表达式求解 if()内可以是任意的数值类型(整形.实型.字符型.指针型等) 表达式的值为0➡️按假处理:表达式的值非0➡️按真处理 多分支语句 switch语句 switch(//表达式) { case /*常量表达式1*/: /*语句1*/; case /*常量表达式2*/: /*语句2*/; case /*常量表达式3*/: /*语…
存储程序式计算机 冯·诺伊曼式计算机 "关于EDVAC的报告草案" 组成:控制器(协调工作).运算器(算数&逻辑运算).存储器(存储操作信息和中间结果).输入设备.输出设备--他们由总线相连 工作过程: 在控制器指挥下,从存储器上取出指令 分析指令,得到计算命令和待操作的数 从存储器上取出待计算的数放入运算器 运算器计算结果 输出到存储器 输出到存储器或输出设备 和实体的对应: CPU=运算器+控制器+存储器中的高速缓存 内存条=存储器中的内存 磁盘=存储器中的外存 存储器 存…
计算机的基本原理(Week 1) 第一次数学危机 公元前500年,毕达哥拉斯学派,他们相信数是万物的本源:一切数均可表示成整数或者整数之比 然而毕达哥拉斯证明了勾股定理,某些直角三角形的三边比不能用整数表达 希帕索斯悖论:边长为1的正方形,对角线? 危机的缓解:比例论,使用几何方法避开无理数 危机的解决:实数理论的建立 第二次数学危机 微积分:牛顿和莱布尼兹,建立在**无穷小****分析之上 贝克莱悖论:无穷小一会儿是0,一会儿不是0,像一个幽灵~ 危机的缓解:重建实数理论 新的问题:魏尔斯特拉…
期末编程测试(Week 12) Quiz1 判断闰年 #include <iostream> using namespace std; int main() { int year; cin >> year; if(year % 100 == 0 && year % 400 != 0 || year % 4 != 0 || year % 3200 == 0) cout<<'N'<<endl; else cout<<'Y'<&l…
C程序中的字符串(Week 11) 字符数组 所有的字符串,都是以\0结尾的 只能在数组定义并初始化的时候:char c[6] = "China"; 不能用赋值语句将一个字符串常量或字符数组直接赋给另一个字符数组 可以利用二维字符数组存储多个字符串 字符/字符数组/字符串的输入与输出 输入的过程 输入缓冲区 输入的时候会有一个指针标定我们读取到哪里(缓冲区指针) 用cin输入数据 连续输入的情况 while(cin>>i) 一个字符的输入和输出 方法一:直接用cin输入字符…