Linux C++ 自学笔记1

程序

程序通常包括数据结构和算法两部分。按照任务需要,设计数据结构和算法,编写代码测试其正确性,得到正确的运行结果。

程序设计方法学:程序设计应遵循一定的方法和原则,养成良好的编程风格。

算法

问题的求解方法
不允许存在二义性
算法设计过程是逐步求精的
常使用流程图描述算法

数据结构

数据:程序操作对象
数据结构:数据对象之间的相互关系及构造方法,与算法关系密切,良好的数据结构可使算法更简单,恰当的算法可使数据结构更易理解。

以上非常重要,事物是普遍联系的,一定要把算法和数据结构关联起来,当项目或工程越大,这种关系越能体现出来。由马克思主义哲学,他们在一定情况下还可以相互转化。一个程序当中,算法不容易变动,数据结构容易变动,首先应该攻克不容易变动的部分。
结构化程序设计(基础)
数据结构,程序流程控制,函数与算法,程序组织。
面向对象程序设计
对象:行为与属性的集合
类与对象,对象构造,继承与派生。
范型编程
标准模板库:迭代器,容器,抽象算法。

例子

例1:一个典型的c++代码

#include <iostream>
using namespace std;
int main()
{
	cout << "hello world" << endl;
	return 0;
}

解析

和C一样,在代码开头有一条预编译指令(在编译之前就要执行的指令),在早期使用的是iostream.h,新版本的c++去除了.h,直接使用iostream代替。

第二条语句直接翻译就是“使用名空间std”,所以std是一个名空间,为什么要用std这个名空间呢?因为在main里使用了cout和endl,这两条语句在std这个名空间里。假如删掉第二行语句,那么只需要把主函数的第一条语句改为

std::cout << "hello world" << std::endl;

如果每次使用cout和endl都要加上std::会比较麻烦,所以在开头直接写明了。双冒号::叫做名解析操作符。

第三条语句cout << “hello world”<<endl;
endl意思是end line,就是换行。
cout是标准输出对象,在输出设备(一般是屏幕)上输出一行文本。
<<表示数据流动方向,是从右往左流动!向左侧输出对象提供右侧信息。

例2:计算用户输入的两个整数之和

#include <iostream>
using namespace std;
int main()
{
	int a = 0,b= 0,sum = 0;
	cout << "a:";
	cin >> a;
	cout << "b:";
	cin >> b;
	sum = a+b;
	cout << a << "+" << b << "=" << sum << endl;
	return 0;
}

cin >> a;表示把用户输入的一个数给a;

程序设计的基本流程

在这里插入图片描述
源文件如果是c++那么是.cpp,如果是c那么格式是.c
头文件是.h的文件
编译生成的目标文件一般是.o格式的。

编辑
行文本编辑器:vi 或vim 系统一般都自带。
窗口文本编辑器:gedit或其他,需要自己下载。
编译
gcc:编译c程序
g++:编译c++程序
示例:g++ main.cpp,当前目录会生成一个a.out的可执行文件
执行
使用./a.out就可以执行当前目录下a.out这个文件。

数据类型相关

3.14e3表示3.14乘以10的三次方,e用大小写都可以。

常量

格式:const 数据类型 常量名称 = 初始值;
例如:const int dd = 444;
只能在定义的时候对其初始化,之后就不能对其进行赋值操作了。
常量的意义:解决出现的文字无法解释其意义的问题。
注意事项:

  1. 常量的初始值必须能在编译期间计算出来。
  2. 定义常量必须初始化。
  3. 常量不可改变他的值。

操作符分类

一元操作符:只有单个操作数,例如负号;
二元操作符:有2个操作数,例如减号;
三元操作符:有三个操作数,例如条件表达式;

宏定义

例如:#define PI 3.14
一旦定义可以代替常量使用,但宏定义不是常量。
书写程序优先使用常量,而不是宏。

语句简写

a += b等价于a = a+b;
a = b等价于a = ab;
a /= b等价于a = a / b;如果想得到小数,需要把a或b变为小数。
a %=b等价于a = a%b;
特别说明:a*=a+b等价于x = x*(a+b)

源代码排版

递进层次应左缩进
每行代码不要超过80个字符
函数代码不要超过60行
使用空行区别不同功能代码
复合语句(大括号书写要统一)书写格式要统一
除非特别需要,不要在一行书写多行语句
命名规范要一致
无论采用什么标准,都一定要按照该标准执行

猜你喜欢

转载自blog.csdn.net/qq_35543026/article/details/105484956