理性认识C程序 导论(Week 6) 明确学习进度 讲课内容 感性➡️理性➡️函数➡️指针等 作业练习 初级阶段 ➡️正常作业练习 C语言的由来 程序设计语言的分类 低级语言之机器语言 001010101001-- 低级语言之汇编语言 load 0 a 数据装入寄存器0-- 高级语言之C语言 d = a * b + c 顶机器语言一连串10101010-- 高级程序设计语言 1954-1956--John Backus--FORTRAN(FORmula TRANslation)--数学计算领域…
计算机的历史与未来(Week 2) 计算机历史 早期计算机:手工计算器➡️机械计算器➡️计算机原型 现代计算机:电子管计算机➡️晶体管计算机➡️集成电路计算机➡️超大规模集成电路 早期的手工计算辅助工具 功能:标记计算过程,记录计算结果,辅助数字计算 缺点:无法记录计算法则,无法设定计算步骤 帕斯卡加法器:一种齿轮装置,能做6位加法和减法 莱布尼兹:提出二进制,其加法器能够进行四则运算,到1 巴贝奇:制作出差分机,机器分位堆栈,运算器,控制器 Hollerith制表机,电子穿孔卡片汇总 电气元件…
期末编程测试(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输入字符…
C程序中的数组(Week 10) 一维数组 数组的定义 类型 数组名[常量表达式] int sheep[10] 定义数组时,[]内必须为常量表达式 可以用const int 可以在main函数前,#define(预定义部分) 数组的初始化 int a[10] = {1,2,3,4,5,6,7,8,9,10} int a[ ] = {1,2,3,4} int a[4] = {1,2} // a[2]和a[3]就为0了 二维数组 int a[3][4] //3行4列 在内存中存储,拉平成一个线性的序…
C语言中的控制成分(Week 9) 计算机程序的基本结构 任何具有单入口单出口的程序,都可以用顺序结构.分支结构.循环结构来表达 分支语句 在执行if语句前,先对表达式求解 if()内可以是任意的数值类型(整形.实型.字符型.指针型等) 表达式的值为0➡️按假处理:表达式的值非0➡️按真处理 多分支语句 switch语句 switch(//表达式) { case /*常量表达式1*/: /*语句1*/; case /*常量表达式2*/: /*语句2*/; case /*常量表达式3*/: /*语…
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 5) 总结回顾 计算机只能按照程序去执行,不可能自己"想出"一个解决问题的方法 面对一个问题,你必须自己找到解决方案,才有可能做出相应的程序 所以,没有解决方案的时候,不要急着动手写程序 切饼 假设:有一张足够大的饼,有一把足够长的刀 要求:每次切一刀 问题:n刀最多能切出多少块饼 结论:q(n)=q(n-1)+n ⬅️这个解决方案是计算机"想"不出来的 现有构想再写程序 问题➡️解决方案:思考 解决方案➡️程序:描述 在结构化程序…
感性认识计算机程序(Week 4) 引入 编程序 = 给计算机设计好运行步骤 程序 = 人们用来告诉计算机应该做什么的东西 问题➡️该告诉计算机什么?用什么形式告诉? 如果要创造一门"程序设计语言" 问题1: 是不是无论什么"单词",计算机都能明白 问题2: 是不是我们无论在程序里写什么"数"和"计算符号",计算机都能明白? 问题3: 我们需要多少"句式"才够描述各种逻辑 答案1:NO.定义一些有特定含义的…