计算机程序和C++语言简介
C++程序设计
第一章 计算机程序和C++语言简介
1、计算机是一台能够存储并处理数据的电子设备,包含硬件和软件两部分。
2、计算机硬件由:
1)中央处理单元(Central Processing Unit,CPU)
2)内存(主存)
3)外存储设备(磁盘、光盘、磁带)
4)输入输出设备(显示器、键盘、鼠标、打印机)
5)通信设备(调制解调器、网卡)
这些设备通过总线连接起来。数据传输通过总线进行。【总线又分为控制总线、数据总线、地址总线】
3、CPU
1)cpu通常由两部分组成:控制单元(control unit)和算数/逻辑单元(arithmetic/logic unit)。
2)前者进行控制和协调其他部件的动作。后者执行算子运算(加减乘除)和逻辑运算(比较)。
3)赫兹大小用以标定cpu的运算速度。1GHz为1000MHz,为1000百万Hz,即1秒钟发出10亿个电子脉冲,用来控制和同步计算机部件动作的步调。
4、内存
a) 内存是最小的存储单位
b) 内存字节可以按任意顺序访问,因此内存也被称为随机访问存储器(random-access memory,RAM)
5、外存储设备
a) 磁盘驱动器(硬盘和软盘)
b) 光盘驱动器(CD-R光驱、CD-RW光驱和DVD光驱)
- CD分为CD-R只读 CD-RW 读写,两种
- DVD表示通用数字光盘
c) 磁带驱动器 顺序保存数据
d) USB闪盘存储器
驱动器:能操纵磁盘、光盘和磁带等存储介质的设备。
6、输入输出设备
a) 键盘
b) 鼠标
c) 显示器
- 显示器显示文本或图形信息,分辨率和点距决定了显示的质量。
- 分辨率是指显示器每平方英寸的像素数量。像素(Pixel,picture elements)
- 分辨率越高,图像显示一越锐利、清晰。
- 点距:是指像素间的间隔大小,一般在0.21~0.81mm之间,点距越小显示效果越细腻。
7、通信设备
8、程序
这个很关键,我觉得,到现在总是很迷茫,学的C++跟java都用来写水仙花数,这个很没有意义,但是学了一些课程,看了看一些工业界的培训视频,发现c/c++学习的课程基本跟大学类似,但是Java的使用真的很坑。Java那样真的很浪费。但是抱怨并没有意义,语言不过是说话的方式,写软件靠的是想法。只不过不同的语言,擅长描述的东西不一样,所以选定语言基本上也就定义了方向。但是这并不妨碍你转型。
目前常用的高级语言数以百计,常用的有:
COBOL(COmmon Business Oriented Language,通用商业程序设计语言)主要用于商业数据处理
FORTRAN(FORmula Translation,公式翻译)主要用于数值计算。
BASIC(Beginner All-purpose Symbolic Instructional Code,初学者通用符号指令码)易于学习和使用
Pascal(以Blaise Pascal命名)
Ada(以Ada lovelace 命名)是美国国防部开发的,主要用于国防项目。
Visual Basic(微软开发的一种类Basic的可视化编程语言)图形用户界面的开发以及应用程序快速开发
Delphi (Borland公司开发的一种类Pascal 的可视化编程语言)图形用户界面的开发以及应用程序的快速开发
C(它的开发者先设计了B语言)结合了汇编语言的强大亨利和高级语言易于使用、移植性好的优点。
C++(一种基于C的面向对象编程语言)在系统软件(如编译器和操作系统)开发领域得到了广泛应用,windows操作系统就是用C++开发的
Java 是由sun公司开发的,广泛用于Internet应用程序的开发。
C#(微软开发的一种类Java的编程语言)。是有微软开发的一个新的高级语言,用于开发基于微软.NET平台的应用程序。
高级语言编写的程序成为源程序。由于计算机不能理解源程序,需要用一个称为编译器compiler的程序将源程序翻译为机器语言程序。机器语言程序通常还要和其他的支撑库代码连接在一起形成可执行的文件。
9、操作系统
a) 控制和监视系统活动
b) 分配和指派系统资源【分配时,优先分配占用资源多的进程】
c) 任务调度
- 多道程序技术,多个进程
- 多线程技术 多个线程
- 多处理技术 并行处理技术,使用更多的的处理器一起来执行一个任务。
10、数制 这个 直接做习题吧
11、C++语言历史 有机会再抠
12、简单的C++程序
13、C++程序开发周期 编写编译连接执行
14、使用visual C++开发c++程序。
习题:【关于习题我怎么想就怎么写吧,并不能保证正确,但这是努力的方向。欢迎斧正】
1.1给出硬件和软件的定义:
硬件:可见的计算机物理设备,cpu control processing unit 内存 外存 输入输出 总线 调制解调器 等等
软件:不可见的在物理设备上运行的程序。由数据和指令组成的可由计算机执行的最终的集合。从操作系统到,我们使用的各种聊天软件工作软件 杀毒软件游戏软件或者驱动程序都是软件的范畴。
书上定义:P2 。
硬件:可见的物理特征。
软件:不可见的指令。
1.2给出机器语言、汇编语言和高级程序设计语言的定义
机器语言就是二进制代码,不易于人的理解掌握学习,并且与机器相关,相同的二进制编码未必表示同样的意义。
汇编语言,是机器语言的进化体,加入了一些助记符,比如add等等。这样易于程序的读写。是高级语言诞生的基石。【看书后:汇编语言不能直接被计算机所识别,需要编译器将汇编语言翻译成机器语言】
高级程序设计语言是基本上与平台无关的语言,这种语言更像是英语,更符合人的书写和理解习惯。便于程序的开发。
P5
机器语言:真正的计算机语言是指计算机的本机语言或者机器语言,机器语言(machine language) 是每台计算机都内置的一组原语指令。
汇编语言(assembly language) 是一种低级语言,它使用一些助记符便是机器语言指令。
高级语言(high-level language)类洗浴英语,易于学习,易于用来编程。
1.3什么是操作系统
操作系统就是计算机的大管家,负责监视计算机程序的运行,为计算机上运行的程序分配和调度资源,管理程序的运行。解决程序的冲突。
P6
操作系统是计算机上运行的最重要的程序,他负责管理和控制计算机的所有活动。主要任务包括:1、控制和监视系统活动。2、分配和指派系统资源3、任务调度【多道程序技术 多线程技术 多处理技术(并行处理技术)】
1.4 将下列进制数转换成 十六进制数和二进制数:
1.1给出硬件和软件的定义:
硬件:可见的计算机物理设备,cpu control processing unit 内存 外存 输入输出 总线 调制解调器 等等
软件:不可见的在物理设备上运行的程序。由数据和指令组成的可由计算机执行的最终的集合。从操作系统到,我们使用的各种聊天软件工作软件 杀毒软件游戏软件或者驱动程序都是软件的范畴。
书上定义:P2 。
硬件:可见的物理特征。
软件:不可见的指令。
1.2给出机器语言、汇编语言和高级程序设计语言的定义
机器语言就是二进制代码,不易于人的理解掌握学习,并且与机器相关,相同的二进制编码未必表示同样的意义。
汇编语言,是机器语言的进化体,加入了一些助记符,比如add等等。这样易于程序的读写。是高级语言诞生的基石。【看书后:汇编语言不能直接被计算机所识别,需要编译器将汇编语言翻译成机器语言】
高级程序设计语言是基本上与平台无关的语言,这种语言更像是英语,更符合人的书写和理解习惯。便于程序的开发。
P5
机器语言:真正的计算机语言是指计算机的本机语言或者机器语言,机器语言(machine language) 是每台计算机都内置的一组原语指令。
汇编语言(assembly language) 是一种低级语言,它使用一些助记符便是机器语言指令。
高级语言(high-level language)类洗浴英语,易于学习,易于用来编程。
1.3什么是操作系统
操作系统就是计算机的大管家,负责监视计算机程序的运行,为计算机上运行的程序分配和调度资源,管理程序的运行。解决程序的冲突。
P6
操作系统是计算机上运行的最重要的程序,他负责管理和控制计算机的所有活动。主要任务包括:1、控制和监视系统活动。2、分配和指派系统资源3、任务调度【多道程序技术 多线程技术 多处理技术(并行处理技术)】
1.4 将下列进制数转换成 十六进制数和二进制数:
100的十六进制是64。二进制是1100100.
4340的十六进制是10F4。二进制是1000011110100.
2000的十六进制是7D0.二进制是11111010000。
1.5将下列二进制数转换成十六进制数和十进制数。
1000011001转换成10进制是537.这样我们用得到的10进制数利用前面的结果来得到它的16进制数字。它的16进制数字是219.
100000000的10进制是256,16进制是100。
100111的10进制是39,,16进制27.
1.6将下列十六进制数转换成二进制数和十进制数:
FEFA9 的10进制是1044393,二进制是11111110111110101001。
93的10进制是147 二进制是10010011
2000的10进制是8192 二进制是10000000000000。
1.7描述C++语言的历史,C++语言可以运行于任何机器吗?编译和运行C++程序需要什么条件?
大概是开始现有的basic,然后做B的开发了c,c++语言之父从在支持了c的语法特性之后,加入了面向对象的思想。成就了,我们现在用的C++的基本框架,当然后期不断完善,大概就这样吧。并不很了解。
是的吧,需要配置一些环境,在无论是linux 还是 unix还是windows的操作系统上面,当然android和 ios以及各种系统都是linux或unix的衍生,当然主要是linux的。而windows本身也是用c++写得,所以在完成环境的配置后,c++语言是可以在任何机器上面说的通的,也就是被计算机识别的。可以最终生成可执行的exe文件。
编译c++需要对应的编译器。以及源代码。编译之后行程目标文件。
预编译是等价替代的操作 define那一波。
编译,就是转换成机器码文件。
连接就是把相关的机器码文件都组合在一起。形成一个可执行的程序。
然后运行。运行不需要什么额外的条件了吧。
C++语言历史。
这个 不这样弄了,太费时间了。而且没什么实际意义。P9.
/*C、C++、Java和C#是非常相似的,而且是有“血缘”关系的。Java是在C++之后成型的,C#是C++的子集,且具有类似Java的一些特性。如果我们掌握了其中一门语言,就很容易学习其他几门语言。
C语言是从B语言发展而来的,而B语言是从BCPL语言发展而来的。BCPL语言是Martin Richards*/
1.8一个c++编译器的输入输出是什么?
输入的应该是一些原文件一般以.cpp结尾。输出的是.obj文件。
1.9列出一些C++开发工具。像Visual C++和 DEV-C++ 这样的开发工具是不同于C++的另一种程序设计语言,还是C++的“方言”或扩展?
QT,记事本,eclipse,visual studio,devc++。是方言或扩展。
1.10C、C++、Java和C#之间的关系是什么?
C、C++、Java和C#是非常相似的,而且是有“血缘”关系的。Java是在C++之后成型的,C#是C++的子集,且具有类似Java的一些特性。如果我们掌握了其中一门语言,就很容易学习其他几门语言。
1.11解释C++关键字这一概念。列出一些你从本章学到的C++的关键字。
关键字这种东西用来表示特殊语义的单词,这些词具有它在语言中的特殊含义不能被用户赋予别的含义的词,成为关键字。Int return Include。
1.12C++是大小写敏感的么?C++关键字呢?
是敏感的,大写和小写的含义不同,C++关键字必须都是小写的。
1.13C++源文件的扩展名是什么?Windows平台中C++可执行文件的扩展名是什么?
.cpp,.exe
1.14什么是注释?C++注释的语法是怎样的?编译器忽略掉注释么?
注释是编译器会忽视的一部分用来方便计算机程序员交流的内容。用以描述或者概括或者解释某些不易理解的C++代码。单行注释// 多行注释:/**/。会忽略掉。
1.15能在控制台显示一个字符串的语句是什么?
Cout<< 一个字符串<<endl;
1.16找出并修正下面代码中的错误:
#include <iostream>
Int main(){
//display welcome to C++ to the console
Std::cout<<”welcome to C++!”<<std::endl;
Return 0;
}
1.17用GNU编译器编译一个C++程序的命令是什么?在Windows平台和UNIX平台上运行一个C++程序的命令分别是什么?
G++ a.cpp -0 a.exe
Windows: a
Unix不知道。
www.cs.armstrong.edu/liang/cpp 正确答案:
Chapter 1 Introduction to Computers, Programs, and C++
1. A computer is an electronic device that stores and processes data. A computer includes both hardware and software. In general, hardware is the physical aspect of the computer that can be seen, and software is the invisible instructions that control the hardware and make it work. The hardware of a computer consists of a CPU, cache, memory, hard disk, floppy disk, monitor, printer, and communication devices.
- The machine language is a set of primitive instructions built into every computer. Assembly language is a low-level programming language in which a mnemonic is used to represent each of the machine language instructions. The high-level languages are English-like and easy to learn and program.
- The operating system (OS) is a program that manages and controls a computer’s activities. The examples of OS are Windows 98, NT, 2000, XP, or ME. Windows. Application programs such as an Internet browser and a word processor run on top of an operating system.
- 100 in decimal => 64 in hex
100 in decimal => 01100100 in binary
4340 in decimal => 10F4 in hex
4340 in decimal => 1000011110100 in binary
4340 in decimal => 10F4 in hex
4340 in decimal => 1000011110100 in binary
1000011001 in binary => 219 in hex
1000011001 in binary => 537 in decimal
100000000 in binary => 100 in hex
100000000 in binary => 256 in decimal
100111 in binary => 27 in hex
100111 in binary => 39 in decimal
FEFA9 in hex => 27 in decimal
FEFA9 in hex => 11111110111110101001 in binary
93 in hex => 27 in decimal
93 in hex => 10010011 in binary
2000 in hex => 8192 in decimal
2000 in hex => 10000000000000 in binary
- C++ is an extension of C, developed by Bjarne Stroustrup at Bell Labs during 1983-1985. C++ added a number of features that improved the C language. Most importantly, it added the support of using classes for object-oriented programming.
To compile and run C++ programs on a computer, you need a C++ compiler for the computer. The compiler generates the machine code for the computer.
8. The input is the C++ source code and the output is the machine code (if compiled successfully).
9. C++Builder by Borland and Visual C++.NET by Microsoft are the tools for developing C++ programs. These tools make developing C++ programs easier and more productive. These tools support standard ANSI C++, but have some proprietary extensions. A standard C++ program should be compiled on all the IDEs without any changes in the source code or with very small modifications.
10. C, C++, Java, and C# are very similar. C++ evolved from C. Java was modeled after C++. C# is a subset of C++ with some features similar to Java. If you know one of these languages, it is easy to learn the others.
11. Keywords have specific meaning to the compiler and cannot be used for other purposes in the program such as variables or funciton names. Examples of keywords are int, return, and include.
12. C++ source code is case sensitive. C++ keywords are always in lowercase.
13. The source file extension is .cpp and the executable file name extension is .exe on Windows.
14. Comments are used to document what a program is for and how a program is constructed. Comments help the programmers or users to communicate and understand the program. Comments are not programming statements and are ignored by the compiler. In C++, comments are preceded by two forward slashes (//) in a line or enclosed between /* and */ in multiple lines. When the compiler sees //, it ignores all text after // in the same line. When it sees /*, it scans for the next */ and ignores any text between /* and */.
15. std::cout << “Hello world”;
- Line 1. include should be #include.
Line 3. main should be main().
Line 6: Welcome to C++! should be enclosed inside double quotation marks.
17. g++ is the GNU C++ compiler command. To run a .exe file on Windows, simply type the file name. To run an executable file on Unix, type ./filename.
翻译
计算机、程序和C++的介绍
1、一个计算机是一个电子设备,用来存储和处理数据。一个计算机包含软件和硬件两个部分。总的来说,硬件是指计算机的物理层面的部分,他是可见的。软件是不可见的指令用以控制硬件的执行,并且让他能够工作。计算机的硬件包括CPU,内存,硬盘,软盘,显示器,打印机和通信设备。
2、机器语言是建立在每台计算机上的原始指令集合。汇编语言是低级的编程语言,每一个机器语言指令都有一个用来代表它的助记符。高级语言是很像英语的易于学习和编程的语言。
3、操作系统是一个程序,用来管理和控制计算机的活动。位操作系统举个例子:windows98,nt,2000,xp或者 ME.Windows 应用程序例如网页浏览器和一个运行在操作系统上的文字处理程序。
4、5、6、
7、C++是C的扩展,于1983-1985年间在贝尔实验室被Bjarne Stroustrup开发。C++添加了很多C进化的特性。最重要的是,它添加了使用类进行面向对象开发的支持。
为了在计算机上编译和运行一个C++程序,这台计算机至少需要一个编译器。这个编译器会为计算机生成机器代码。
8、输入时C++源代码输出时机器代码(如果编译成功的话)。
9、Borland做的C++Builder和 Microsoft做的 Visual C++.NET 都是用来开发C++程序的工具。这些工具让C++程序的开发变得更容易并且更高产。这些工具支持标准的ANSI C++,但是有一些扩展。标准C++程序应该可以在所有的集成开发环境上编译,并且不需要再源代码上作任何的修改或者只有一些微调。
10、C、C++、Java和C#是非常相似的。C++有C进化而来,Java以C++作为模板。C#是C++的子集拥有与Java很像的特性。如果你知道这些语言中的一种,学习其他的语言都会很容易。
11、关键字对编译器来讲有特殊的含义。不能在程序中用作其他用途,比如变量或者方法名。举个例子int return 和include.
12、C++源代码是大小写敏感的,C++关键字都是小写的。
13、源文件的扩展名是.cpp 并且在windows里面可执行文件的扩展名都是.exe
14、注释是为了说明一个程序是用来干什么的以及一个程序如何构建起来的文档。注释用来帮助编程人员或者使用者交流或者理解这段程序。注释不是编程的声明并且会被编译器忽略。在C++中,注释是由两个斜线开头在一行中,或者包裹在/*和*/中间在多行的时候。当编译器看到//,他会忽视本行中所有在//后面的文本。当他看见/*的时候,它会扫描下一个*/,并且忽视这中间的文本。
15、Std::cout<<”Hello world”;
16、第一行中的include 应该写成 #include
第三行的main 应该写成 main()
第六行中的 welcom to C++! 应该被引号包裹起来。
17、G++是GNU C++ 的编译命令。为了运行一个.exe文件在windows上面,仅需要简单的打印文件的名字(不需要带后缀)。为了执行一个文件在Unix上面,需要打印./filename 。
计算机程序和C++语言简介的更多相关文章
- JavaScript学习01 语言简介、基本使用和变量声明
JavaScript语言简介.基本使用和变量声明 JavaScript是网景(Netscape)公司开发的一种基于客户端浏览器.面向对象.事件驱动式的网页脚本语言. JavaScript的前身叫Liv ...
- D语言简介
D语言,一种通用计算机程序语言,威力强大.功能丰富,支持多种编程范式,例如面向对象.[1] D语言最初由Digital Mars公司就职的Walter Bright于2001年发布,意图改进C++语 ...
- 第一章.C语言简介
C语言第一章 C语言简介 目录 一.C语言介绍 二.C语言特点 三.Hello World 四.转义符 五.占位符 六.俄罗斯方块游戏 七.文件下载 一.C语言介绍 C是一种通用的编程语言,广泛用 ...
- 00-Java 语言简介
一.开发环境搭建: (一).JAVA语言简介: 1.JAVA语言简介: (1)什么是JAVA:Java是一种计算机编程语言.它是一种计算机编程语言.它是一种软件开发平台.它是一种软件运行平台.它是一种 ...
- Go语言简介
Go语言简介 - Go语言是由Google开发的一个开源项目,目的之一为了提高开发人员的编程效率. Go语言简介 Go语言是由Google开发的一个开源项目,目的之一为了提高开发人员的编程效率. Go ...
- 第一章C语言简介及输出函数 上机部分
第一章C语言简介及输出函数 上机1 #include "stdio.h" void main() { printf("南方学院,你好!\n"); printf( ...
- GO 语言简介(网摘)
GO 语言简介 原文出处:[陈皓 coolshell] Hello World 文件名 HELLO.GO package main //声明本文件的package名 import "fmt& ...
- python笔记一(语言简介、解释器、输入输出)
一.python语言简介 一顿狂吹python目前有多火.多NB,哈哈哈,不过用起来心情确实很舒畅. 解释性语言:缺点,运行速度慢. 二.python解释器 与C.C++.java不同,以上都需要先将 ...
- lua脚本之lua语言简介以及lua的安装
本博主不擅于进行文字创作,所以,相当一部分文字皆复制于其他博文.还希望能够得到谅解. 一.Lua语言简介 Lua是一个免费的开源软件,可以免费用于科研及商业.Lua具有一个专家团队在维护和升级,其设 ...
随机推荐
- Amoeba搞定mysql主从读写分离
前言:一直想找一个工具,能很好的实现mysql主从的读写分离架构,曾经试用过mysql-proxy发现lua用起来很不爽,尤其是不懂lua脚本,突然发现了Amoeba这个项目,试用了下,感觉还不错,写 ...
- HDU1540 Tunnel Warfare 水题
分析:不需要线段树,set可过,STL大法好 #include <iostream> #include <cstdio> #include <cstring> #i ...
- 网站HTTP请求过程解析
网站性能优化中首要的一条就是要减少HTTP请求,那么为要减少HTTP请求呢?其实有些HTTP分析工具可以帮我们了解当浏览器请求一个资源时大致需要经历的哪些过程: 1 域名解析(DNS Lookup): ...
- WCF SOA --- AJAX 跨域请求处理 CORS for WCF
一.问题 跨域请求无法处理的问题,由于为了阻止恶意的网站通过JS脚本来窃取正常网站受保护的资源.所由所有的浏览器的默认策略是阻止XmlHttpRequest的跨域的异步请求. 但是对于一 ...
- Zabbix探索:Proxy没有回传任何数据
因为Zabbix使用Puppet搭建的,实际上是通过脚本安装的,为了偷懒,将脚本都写一块去了,后来发现Proxy的配置和Zabbix的配置不同,又偷懒一次,复制了一下,但是为了调整脚本使用的便捷性,将 ...
- 网页推送库 SignalR
SignalR 可以用这个库开发网页聊天室应用 ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能 ...
- STM32 串口功能 库函数 详解和DMA 串口高级运用(转载)
数据传输时要从支持那些相关的标准?传输的速度?什么时候开始?什么时候结束?传输的内容?怎样防止通信出错?数据量大的时候怎么弄?硬件怎么连接出发,当然对于stm32还要熟悉库函数的功能 具起来rs232 ...
- javascript设计模式8
桥接模式(将抽象与其实现隔离开来,以便二者独立变化) function sendInfo(element){ var id=element.id; ajax("GET"," ...
- MFC用PostMessage传递消息
1.自定义消息ID. #define WM_MY_MESSAGE (WM_USER+100) WM_USER为windows系统为非系统消息保留的ID,这里至少要用100,因为其它控件 ...
- 在C中定义一个动态的二维数组
一般来讲两种办法: 第一种:连续内存分配 #include "stdio.h" #include "stdlib.h" int main() { int x,y ...