Part1 本萌写在前面的话 绪论
这学期开始学习C++,作为计科专业的学生代码能力不行真的受罪...现在回想起当年高考报志愿作为小白毅然踏入计科的深坑的自己觉得实在后悔,然而后悔也木得作用,不仅选专业妄自菲薄,军训的时候更是参加奇怪的院内面试进了奇怪的班级签死了专业,实在是:一入计卓深似海,从此风月是路人。
那么牢骚发完了,下面就针对某中部高校C++课程笔记进行整理。(其实是快考试了...)
本课程采用书籍:清华大学出版社由郑莉,董渊,何江舟主编的C++语言程序设计,本系列部分采用书中解释,部分采用课堂PPT解释。
绪论主要知识点:
- 计算机程序设计语言是计算机可以识别的语言,用于描述解决问题的方法,供计算机阅读和执行。计算机语言可以分为:低级语言(机器,汇编)和高级语言。
- 面向对象的基本概念:类与对象,封装性,继承性和多态性等。
- 面向对象的软件工程是面向对象方法在软件工程领域的全面应用
- 计算机加工对象是数据信息,而指挥计算机操控的是控制信息。所有信息在计算机内部都是由二进制表示的,表示方法根据信息类型有所不同
- 程序的开发过程
计算机语言:记得学CSAPP时候做过一道题目,区分低级语言,高级语言,机器可读懂和机器不可读懂等(我这个小傻子当时还错了)汇编语言机器当然读不懂,人能读懂的机器都读不懂。高级语言又分结构化高级语言和非结构化高级语言。
面向对象:Everything is an object.特性:封装,继承,多态,聚合,接口,依赖,耦合。再提一提面向过程的程序设计方法,面向过程:自顶向下,逐步求精。 结构:由顺序,选择,循环三种基本结构组成。 优点:有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 缺点:可重用性差、数据安全性差、难以开发大型软件和图形界面的应用软件。
面向对象的软件工程:OOA,OOD,OOP,OOT,OOSM(分析,设计,编程,测试,软件维护)
下面一部分内容是讲烂了的信息表示与存储,我似乎已经听过五六个老师在不同的课堂上讲这个知识了...
整数部分进制转换:除基取余,由下而上 ↑
小数部分进制转换:乘基取整,由上而下 ↓
二八十六相互转换
原码:符号位数字0正1负 真值-23 [X]原 = 1001 0111
反码:正同,负数符号位为1其余各位取反 真值-23 [X]反 = 1110 1000
补码:模减该数的绝对值,负数反码+1正数原反补相同 真值-23 [X]补 = 1110 1001
补码有一些奇妙的地方:0的表示唯一0000 0000....补码运算的符号位作为数值参与运算,减法可转换为加法。
定点数和浮点数
ASCII,EBCDIC
课后的作业和一些练笔题
本人小白,代码水平极低,故大概率不会放很多代码作业...不过也许可以放一点接受大佬们的批评...
1-9.请将以下十进制数值转换为二进制和十六进制补码。(不方便标下标,我就不标了嗷)
(1) 2 二进制补码:10 十六进制:2
(2) 9 二进制补码:1001 十六进制:9
(3) 93 二进制补码:1011101 十六进制:5D
(4) -32 二进制(32位):原码:1000 0000 0000 0000 0000 0000 0010 0000
补码:1111 1111 1111 1111 1111 1111 1110 0000
十六进制(8位):原码:0000 0020
补码:FFFF FFE0
(5) 65535 二进制补码:1111 1111 1111 1111(这个数是要记住的)
十六进制补码:FFFF
(6) -1 二进制(32位):原码:1000 0000 0000 0000 0000 0000 0000 0001
补码:1111 1111 1111 1111 1111 1111 1111 1111
十六进制(8位):补码:FFFF FFFF
1-10.请将以下数值转换为十进制:
(1) 1010 二进制 十进制:10
(2) 1000 1111 二进制 十进制:143
(3) 0101 1111 1100 0011 十进制:24515
(4) 7F 十六进制 十进制:127
(5) 2D3E 十六进制 十进制:11582
(6) F10E 十六进制 十进制:61710
1-11.简要比较原码,反码,补码等几种编码方式
解:把怎么变原反补和特点说一遍(绪论的重点原来还是数制嘛...)
这个家伙把格式重新修改了一边(强迫症没救了)