01.C++基本语法元素
1.程序设计的基本概念
程序
一系列遵循一定规则并能正确完成特定功能的代码或指令序列。
通常包括数据结构与算法两部分。
程序设计与程序设计语言
程序设计:按照任务需要,设计数据结构与算法,编写代码并测试其正确行,得到正确运行结果的过程
程序设计方法学:程序设计应遵循一定的方法与原则,养成良好的编程风格
程序设计语言:编写程序代码的规范,具有特定的语法规则、意义与使用环境(语法、语义、语用)
算法
算法的求解方法与步骤
不允许存在二义性
算法设计过程是逐步求精的
常使用伪代码、流程图描述算法
数据与数据结构
数据:程序操作的对象
数据结构:数据对象之间的相互关系及构造方法
与算法关系密切,良好的数据结构可使算法更简单,恰当的算法可使数据结构更易理解
结构化程序设计
数据结构、程序流程控制、函数与算法、程序组织
面向对象程序设计
对象:行为与属性的集合
类与对象、对象构造、继承与派生
范型编程
标准模板库:迭代器、容器、抽象算法
简单C程序介绍
编写程序,显示字符串“Hello World!”
#include <stdio.h> //预编译指令,包含标准头文件。std-standard io-input,output h-header 标准输入输出库头文件
int main() //主函数的函数头,全局唯一。每个程序都有且只能有一个
{
printf("Hello World!\n"); //标准库函数,在输出设备上输出一行文本函数调用;printf函数原型位于stdio.h中;\n为转移字符,表示换行;分号表示语句结束
return 0; //函数结束执行,程序退出
}
简单C++程序介绍
编写程序,显示字符串“Hello World!”
#include <iostream> //预编译指令,包含标准头文件
using namespace std; //标准名空间
int main() //主函数的函数头,全局唯一
{
cout<<"Hello World!"<<endl; //cout,endl都位于std名空间中。若不写using namespace std需写为:std::cout<<""<<std::endl;“::”为名空间解析操作符;endl为endline结束此行-换行符;“<<”表示数据流动方向,向左侧输出对象提供右侧的信息
return 0;
}
编写程序,计算用户输入的两个整数之和
#include <iostream>
using namespace std;
int main()
{
int a,b,sum;
cout<<"a:";
cin>>a;
cout<<"b:";
cin>>b;
sum=a+b;
cout<<a<<"+"<<b<<"="<<sum<<endl;
return 0;
}
C/C++程序结构特点
由一个或多个函数组成
具有唯一一个主函数main
程序执行由主函数开始,其他函数由主函数调用或间接调用
程序执行流程与函数定义顺序无关
每个函数包含函数头与函数体两部分
C/C++包含大量库函数和算法,可直接使用
2.程序设计的基本流程
Linux环境下的编辑与编译
编辑
行文本编辑器:vi编辑器或其他编辑器
窗口文本编辑器:gedit编辑器或类似编辑器
编译
gcc:编译C程序
g++:编译C++程序
示例:g++ main.cpp 编译没问题后会自动链接生成可执行文件
执行
缺省可执行文件:./a.out
3.数据类型
整数类型
使用int定义整数类型的数据对象
整数类型具有取值范围,仅能表示特定区间内整数值(32位表示,-21亿~21亿)
定义a为整数:int a;
整数的符号:确定是否表示负数
signed、unsigned
定义b为无符号整数:unsigned int b; //(0~42亿)
整数的长短:确定证书取值范围的大小(主流编译器中long int就是int)
long、short
定义c为短整数:short int c; //有的编译器为8位,有的为16位(0~65535或-32768~32767)
浮点数类型
使用double或float表示小数
同样具有取值范围
首选double,精度更高
量与表达式
表达式
操作数与操作符序列,表达运算过程
操作数:文字、量、函数调用、括号
操作符:运算逻辑
表达式值:运算结果
表达式求值:计算表达式值的过程
类比:按普通四则运算理解表达式求解过程,逐一计算表达式中所有操作符,直至完成
变量
先定义再使用
定义格式:变量类型 变量名称[,变量名称];
单独定义例:int a;
同时定义例:double b,c;
变量名称应既有唯一性(不允许重名),又有四大基本特征,即VANT
变量总是具有值(value)
变量总是与内存中的地址(address)相对应
变量总是具有名称(name)
变量总是具有确定的类型(type)
文字与常量
文字的定义:程序中单独出现的值
例:3.14、100等
常量的定义:程序执行期间其值不可改变的量
格式:const 数据类型 常量名称=初始值;
例:const int zero=0;
赋值与初始化
格式:变量名称=表达式
例:
int a=0;
a=0;
a=b+c;
操作符与操作数
一元操作符:只有单个操作数,例如符号(-),非(!)
二元操作符:带有两个操作数,例如加减乘除等
三元操作符:带有三个操作数,例如条件表达式(?)
语句
简单语句
格式:表达式后跟分号
复合语句
格式:花括号对括起来的语句序列
空语句
格式:单独出现的分号
目的:满足程序特定语法规则的要求;作为未来添加程序代码的占位标记
4.程序设计风格
注释
//与/* */
命名规范
标识符:以下划线或字母开头,由下划线、字母、数字组成,表示常量、函数、类型等名称,区分大小写