理性认识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输入字符…
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列 在内存中存储,拉平成一个线性的序…
从现实问题到计算机程序(Week 5) 总结回顾 计算机只能按照程序去执行,不可能自己"想出"一个解决问题的方法 面对一个问题,你必须自己找到解决方案,才有可能做出相应的程序 所以,没有解决方案的时候,不要急着动手写程序 切饼 假设:有一张足够大的饼,有一把足够长的刀 要求:每次切一刀 问题:n刀最多能切出多少块饼 结论:q(n)=q(n-1)+n ⬅️这个解决方案是计算机"想"不出来的 现有构想再写程序 问题➡️解决方案:思考 解决方案➡️程序:描述 在结构化程序…
(首先,关于Honor Code,我咨询过了Help Center,分享课后练习的思考题的想法是可以的(注意不是代码),但要标明引用,引用格式来源于https://guides.lib.monash.edu/citing-referencing/apa-university-course-materials.) 北京大学(Producer). (2019) . 计算导论与C语言基础[Coursera] . Retrieved from https://www.coursera.org/learn…
您也可以在我的个人博客中阅读此文章:跳转 编程题#1:求字母的个数 描述 在一个字符串中找出元音字母a,e,i,o,u出现的次数. 输入 输入一行字符串(字符串中可能有空格,请用gets(s)方法把一行字符串输入到字符数组s中),字符串长度小于80个字符. 输出 输出一行,依次输出a,e,i,o,u在输入字符串中出现的次数,整数之间用空格分隔. ##样例输入If so, you already have a Google Account. You can sign in on the right…
操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进程创建.撤销.阻塞.唤醒.... 0.2 线程模型 为什么引入线程 线程的组成 线程机制的实现 用户级线程.核心级线程.混合方式 1. 进程的基本概念 1.1 多道程序设计 允许多个程序同时进入内存运行,目的是为了提高CPU系统效率 1.2 并发环境与并发程序 并发环境: 一段时间间隔内,单处理器上…
思考问题 1.“数”在计算机中是如何表示的? 2.逻辑上“数”是怎么运算的? 3.物理上“数”的计算是怎么实现的? 从图灵机计算问题得出: 1.字母表中的符号越多(几进制),读入移动次数减少,但程序数据就越多 2.字母表中的符号越少,程序量会减少,但读入移动次数就越多 字母表与状态 1.字母表中符号的最优数量,可能是欧拉常数e(2.7182)取整为3 2.与具有两个电子状态的电子元件相比,具有三个状态的电子元件在制造上更困难,可靠性更低 十进制.二进制.十六进制 1.从右向左4位二进制是1位16…
类和对象(Week 3) 内联成员函数和重载成员函数 内联成员函数 inline + 成员函数 整个函数题出现在类定义内部 class B{ inline void func1(); //方式1 void func2() //方式2 { }; }; void B::func1(){} 成员函数的重载及参数缺省 重载成员函数 成员函数--带缺省参数 #include<iostream> using namespace std; class Location{ private: intx,y; p…
1.是一门高级程序语言 低级语言-机器语言(二进制) 汇编语言-load add save mult 高级语言:有利于人们编写理解 2.C语言的规范定义非常的宽泛 1.long型数据长度不短于int型 2.short型不长于int型 导致:相同的程序在不同编译器上具有不同解释 相同程序在不同平台上运行结果不用 其他的类似的:整形变量定义:对++.--的解释:输入输出赋值顺序的不同:浮点数计算精度的不同 3.程序设计语言的基本成分(计算机科学技术百科全书) 1.数据成分,用以描述程序中所涉及的数据…
C程序中的函数(Week 1&2) 函数 函数的定义 对函数的普遍认识:y=f(x) C语言中的常用函数: 平方根: r = sqrt(100.0) 底数x的y次幂:k = pow(x,y) 字符串的长度:i = strlen(str1) 比较两个字符串的大小: v = strcmp(str1,str2) 把字符串转换为相应整数: n = atoi(str1) 在C语言中,我们可以把所有程序都组织成函数 定义一个函数: int absolute(int n)//n为形式参数,用于辅助进行函数定义…
赋值运算符 1.两边类型不同:赋值时要进行类型转换,右边要转换到左边 2.长数赋值短数 最后的部分截断赋值给短数 3.短数赋给长数 数不变 4.符号位赋值 --计算机不区分符号位数字位,直接赋值 表达式:由运算符.操作数和括号等所组成的计算式,是计算求值的基本单位a*b+c 123<10 'a'*3.14f==1 a=b 所有的表达式都是有值的,赋值语句也不例外(值就是赋值语句传递的值i=10  10) 复合赋值运算+= ×= 连续的赋值运算:由右向左的结合顺序a=b=c=5(对因为赋值运算是有…
1.整形数据 1.基本型(int 4B).短整型(short 2B).长整型(long 4B)  VC环境下 sizeof运算符用于计算某种类型的对象在内存中所占的字节数 ,用法:size(int) 2.整数的存储:在计算机中存储补码 有利于计算机的运算 打印一个数的十六进制cout<<hex<<a<<endl; 定义十六进制int a = 0x7FFFFF85: 打印一个数的八进制cout<<oct<<a<<endl; 定义int…
只要你认真的思考,你就会发现这个世界是如此的简单,正如我们想象的一样,正因为如此,我们的思考才更加的有价值 1.单词:关键字(有特定含义的):其他词用关键字定义出来 2.数和计算符号:数据类型+运算符 3.句式:顺序.分支.循环 #include <iostream> using namespace std; int main { int a=0,b=0; cout<<"请输入两个数"<<endl; cin>>a>>b;//中…
已知:电路能完成计算 怎么计算:设计好很多个原子电路,需要的时候就把他们临时组装在一起--ENIAC 升级:冯诺依曼-EDVAC(现在的计算机都是) 1.通过某种命令来控制计算机.让计算机按照这种命令来运行,这种命令可以用电信号表示 2.这种命令不是“临时输入”到计算机,而是存放在某个地方,随时可以更改 3.命令改了,计算机的功能也就改了 结论--存储程序式计算机 问题 1.什么是“存储程序式计算机”?它都包含哪些部分? 2.命令是什么样子?它是怎么被执行的? 3.程序是什么样子?跟命令一样吗?…
有限状态读写头从一个初始状态开始,对存储器上的输入数据进行读或写操作,经过有限步操作之后停机,此时存储器上的输出数据就是计算结果 (1) 图灵机的构成: 1.一条存储带:双向无限延长:上有一个个的小方格:每个小方格可存储一个数字.字母 2.一个控制器 <1>包含一个读写头,可以读.写.更改存储带上每个格的数字/字母 <2>可以接受设定好的程序语句 <3>可以存储当前自身的状态 <4>可以变换自身的状态 <5>可以沿着存储带一格一格地左移右移 (2…
指针(二) (Week 5) 字符串与指针 指向数组的指针 int a[10]; int *p; p = a; 指向字符串的指针 指向字符串的指针变量 char a[10]; char *p; p = a; int main() { int a = 5; int *pa = &a; int b[6] = {1,2,3,4,5,6}; int *pb = b; char c[6] = {'h','e','l','l','o','\0'}; char *pc = c; cout<<a<…
Introduction and Announcement Emails (Week 3) Overview of Introduction & Announcement Emails Basic Purpose & Approaches Key language for Writing Introduction Email Subject ❌ Meet Sam Boyle ✅Meet Sam Boyle, CPA Tax Specialist ✅Introducing Sam Boyle…
Get to Know Basic Email Writing Structures(Week 1) Introduction to Course Email and Editing Basics Subject Lines and Email Text Introductions and Announcements Requests and Apologies Culture Considerations Email an Introduction of Yourself to Your Co…
指针(一) (Week 4) 什么是"指针" 互联网上的资源--地址 当获得一个地址,就能得到该地址对应的资源,所以可以把"网址"称为指向资源的"指针" 内存中的位置--地址 变量的三要素:变量的地址,变量的值,变量的名字 通常把某个变量的地址称为"指向该变量的指针" 如何拿到or看到一个变量的地址 可以利用 取地址运算符"&" 实现 cout<<&c<<endl;…
Culture Matters(Week 5) High/Low Context Communication High Context Communication The Middle East, Asia, Africa, South America Non-explicit Descriptive Longer Emails Low Context Communication North America, Western Europe Straight forward Concise Eff…
Request and Apology Emails(Week 4) How to Write Request Emails Write more POLITELY & SINCERELUY Please Could/Would...? Would you mind...? would like Polite Request PLEASE Please send me your resume. Please meet me today at 3PM. Please give me directi…