1.计算机和C++编程入门(计算机系统、算法、编程环境、典型C++代码、编码规范)

1.计算机和C++入门

1.1计算机系统

计算机要遵循的一系列指令统称为程序
计算机使用的各种程序称为软件
组装一台计算机所需的物理设备称为硬件

硬件

输入设备:使用户将信息发送给计算机的设备,主要是键盘和鼠标
输出设备:计算机将信息发送给用户的设备,常见的是显示器,有时将键盘和显示器统称 终端
存储器:程序储存在储存器中,分为主存储器和辅助存储器,主存储器相当于一个很长的编号位置列表,这些位置列表就是储存位置内存位置
CPU:中央处理单元

软件

操作系统为计算机必须完成的不同人物分配计算机资源,操作系统实际是一个程序,或者是多个相互协作的程序。程序是计算机需要遵照执行的一系列指令。 数据是向一个程序提供的输入。

字节和位

主内存被划分称为字节的多个编号位置,一个字节的编号位置就是该字节的地址。每个字节都代表一个能容纳8个二进制位的内存位置。

主存储器

主存储器简称内存,也可以简称为RAM,也就是随机存取存储器

辅助存储器

辅助存储器能在计算机使用之后(和之前)持久性地保存数据。

1.2编程和问题求解

算法

用于解决问题的一系列准确的指令称为算法,通常也可以称为方法、指令、过程和例程等。

1.3C++入门

面向对象程序设计

C++完全支持面对对象的程序设计,包括面对对象开发的四大特性:封装、抽象、继承、多态

C++的起源

BCPLC语言->B语言->C语言->C++

标准库

标准的C++有三个重要部分组成:

  • 核心语言,提供了所有构件块,包括变量、数据类型和常量等等
  • C++标准库,提供了大量的函数,用于操作文件、字符串等等
  • 标准模板库(STL),提供了大量的方法,用于操作数据结构等

C++的开发工具

记事本(Notepad++)+命令行
Visual C++ 6.0
VS2015
Code::Blocks
其他开发工具
DEV C++、CLion、C-Free、Xcode、C4droid

一个典型的C++代码

#include <iostream>
using namespace std;

int main()
{
cout <<"hello World!"<<;
return 0;
}
  • 以#开头的语句成为预处理命令,告诉编译器到哪里寻找与程序中使用的特定项目有关的信息、#include语句不是必须的,但如果一旦程序中有该语句,就必须把它放到程序的开始处

  • 将iostream文件的内容添加到程序中,iostream中包含了有关输入输出语句的函数

  • using namespeace std为使用命名空间,std是standard(标准的意思)的缩写,std::cout或std::endl代表从属的关系

  • 所谓命名空间(namespeace)是一种将程序库名称封装起来的方法。通过这种方法,可以避免和应用程序发生命名冲突的问题(所谓命名冲突时指程序内两个不同的实体具有相同名称,导致程序无法区分两者,命名冲突发生时,程序必须等到命名冲突获得决议之后才得以继续执行)。命名空间像是在冲多名称的课件范围之间暑期的一道围墙。

  • <<符号表示把字符串"Hello World!"发送给cout打印。endl是控制符,(end line的缩写)表示重起一行(\n)。

  • 与其说是程序显示了一条信息,不如说它s将一个字符插入到了输出流中
    。从概念上看,输出是一个流,可以理解成从程序流出的一系列字符。cout右边<<符号是插入运算符,可以将右侧信息插入流中

  • 头文件命名约定

头文件类型 约定 示例 说明
C旧式风格 以.h结尾 stdio.h/math.h C、C++通用
C++旧式风格 以.h结尾 iostream.h C++可以使用
C++新式风格 没有扩展名 iostream C++使用,需要使用namespeace
转换后的C 加上前缀c,没有扩展名 cmath/cytype等 C++使用
  • endl 和 \n的 区别
    1.\n为纯粹的换行
    2.endl为换行和确保程序立刻输出(清空缓冲区)

  • cin:输入语句,读作“see-in”,用于输入

  • cout:输出语句,读作“see-out”,用于输出

编程提示

<<和>>表示数据移动的方向

cin >> number;
cout << number;

C++编码规范

1.每条语句占一行
2.每个函数都有一个开始和结束花括号,花括号各占一行
3.函数中的语句相对于花括号进行缩进
4.与函数名称相关的小括号周围没有空白

编译和执行过程

  1. 编译(预处理->编译->目标文件)
    形成可执行代码/文件。可执行代码是编译器的输出结果,文件扩展名为“.o”或“.obj”
  2. 链接
    将目标代码跟C++函数库相连接,并将源程序的库代码与目标代码合并,形成最终可执行的二进制代码(可执行程序)
  3. 执行
    在特定的机器环境下运行C++应用程序

各种程序错误

语法错误:编译器能够捕捉特定类型的错误,并在检测到错误后输出一条错误信息,表示程序违反了编译语言的语法规则,比如遗漏分号。
警告信息:表明代码从技术上说没有违反语法规则,但出乎寻常,所以它可能是个错误,编译器相当于在说:“你真的是这个意思吗?”
逻辑错误:基础语法错误或者将所发翻译成C++语言的错误,如将*错误的写成了+

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,324评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,356评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,328评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,147评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,160评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,115评论 1 296
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,025评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,867评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,307评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,528评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,688评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,409评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,001评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,657评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,811评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,685评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,573评论 2 353

推荐阅读更多精彩内容