本文主要是介绍C++ 第1章 基本数据与表达式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C++语言源于C语言。C语言诞生于20世纪70年代,最初设计的目的是编写操作系统。
C++语言以函数为程序运行的基本单位,函数的一般形式:
类型 函数名 (参数表)
{语句序列;}基本头文件:
#include <iostream> 使用名字空间,std标准库
using namespace std;
cin(标准输入)
cout (标准输出)
结构化方法编程:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{double r, girth, area;const double PI = 3.1415;cin >> r;girth = 2 * PI * r;area = PI * r * r;cout << "radius = " << r << endl;cout << "girth = " << girth <<endl;cout << "area = " << area <<endl;return 0;
}
面向对象方法编程:
#include <iostream>
using namespace std;
class Circle
{double radius;
public :void SetRadius( double r ){radius = r;}double GetRadius(){return radius;}double GetGirth(){return 2 * 3.1415 * radius;}double GetArea(){return 3.1415 * radius * radius;}};int main(int argc, char *argv[])
{Circle A, B;A.SetRadius(12.6);cout << "A.Radius = " << A.GetRadius() << endl;cout << "A.Girth = " << A.GetGirth() << endl;cout << "A.Area = " << A.GetArea() << endl;B.SetRadius(8.26);cout << "B.Radius = " << B.GetRadius() << endl;cout << "B.Girth = " << B.GetGirth() << endl;cout << "B.Area = " << B.GetArea() << endl;return 0;
}//程序运行结果:
A.Radius = 12.6
A.Girth = 79.1658
A.Area = 498.745
B.Radius = 8.26
B.Girth = 51.8976
B.Area = 214.337
程序的编译执行:
C++的.cpp文件是文本文件。必须翻译成二进制代码才能在机器上运行。
翻译方式有两种:
1.解释方式:由“解释程序”对源程序逐个语句一边翻译,一边执行。执行速度慢,便于观察调试程序。
2.编译方式:由“编译程序”把源程序全部翻译成二进制代码。编译后的程序称为“目标程序”,可以反复高速运行。
一个C++语言源程序主要经过以下3个步骤:
1.编辑
2.编译
3.运行
程序错误可分为如下4种:
1.编译错误
2.连接错误
3.运行错误
4.逻辑错误
程序目标:
1.正确性
2.易读性
3.健壮性
4.运行高效率
变量定义
类型 标识符表;
例:int a, b c;double d;
访问变量:
1.名访问
变量 = 表达式;
a = a+b;2.地址访问
int a;
&a // 变量a的地址(指针)
*(&a) //a的地址所指的对象3.指针变量与间址访问
指针类型变量定义形式为:
类型 * 标识符;
int a = 8, b = 9;
int *pa, *pb;
pa = &a;
pb = &b;a,b的地址可以表示为:
&a 或 pa;
&b 或 pb;a,b的值可以表示为:
a 或 *(&a) 或 *(pa)
b 或 *(&b) 或 *(pb)当指针变量不指向任何内存单元时可以赋NULL值;
指针变量的关联类型可以为空类型void。
空类型指针变量可以指向任意数据类型的对象,但需要强制类型转换。
void *vp;
int a = 99;
int *ip;
vp = &a;
cout << *(int*)vp<<endl;
cout << *(char*)vp<<endl;
ip = (int*)vp;
cout << (*ip)<<endl;4.引用
C++允许为对象定义别名:
类型 &引用名 = 对象名;
int a;
int *pa;
int &ra = a; //ra是a的别名,只能在定义时初始化
pa = &a; // pa指向a,这里“&”是取址符
常量和约束访问
1.标识常量
当用关键字const约束基本类型存储单元为只读时:(不可修改常量的值)
const 类型 常量标识符 = 常量表达式;
const double PI = 3.1415;
const int MIN = 50;2.指向常量的指针
用const约束指针对所指对象的访问时,这个指针称为指向常量的指针:(限制用指针间址访问对象方为“只读”)
const 类型 *指针 或 类型 const *指针3.指针常量
指针常量的意义是指针变量的值只能在定义的时候初始化,定义后不能修改,即不能改变指针变量的指向,但不影响所指对象的变问特性;
指针常量的定义形式为:
类型 *const 指针
int var1=88,var2=99;
int *const const_P1 = &var1;
const_P1 = &var2 //错误,不能修改指针常量
*const_P1 = var2; //可以修改指针常量所指对象的值4.指向常量的指针常量
指针本身和所指对象的值在定义后都限制为只读,不能写。
const 类型 *const 指针 或 类型 const *const 指针
int var = 23, other_var = 256;
const int MAX = 299;
const int * const double_P1 = &var;
const int * const double_P2 = &MAX;5.常引用
冠以const定义的引用,将约束对象用别名方式访问时为只读。
const 类型 & 引用名 = 对象名;
int a = 89;
const int & ra = a;
表达式
1.运算符
C++运算符主要有:算术运算符 + - * / % ++ --关系运算符 > < == >= <= !=逻辑运算符 && || !位运算符 << >> ~ | ^ &赋值运算符 = 及扩展的复合运算符条件运算符 ? :逗号运算符 ,指针运算符 * &求字节运算符 sizeof强制类型转换符 类型符分量运算符 . ->下标运算会 []其他 () :: new delete
条件表达式
操作数1 ? 操作数2 : 操作数3
类型转换
强制类型转换的一般形式:
(类型)(表达式)
(类型)表达式
类型 (表达式)
数据输入和输出
cin >>变量1>>变量2 … >>变量n;
cout <<表达式1<<表达式2… <<表达式n;
输出格式控制符
需要包含头文件iomainp
控制符 | 功能 |
---|---|
endl | 输出一个新行符,并清空流 |
ends | 输出一个字符串结束符,并清空流 |
dec | 用十进制数的形式输入或输出数值 |
hec | 用十六进制数的形式输入或输出数值 |
oct | 用八进制数的形式输入或输出数值 |
setfill(char c) | 设置填充符c |
setprecision(int n) | 设置浮点数输出精度(包括小数点) |
setw(int n) | 设置输出宽度 |
这篇关于C++ 第1章 基本数据与表达式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!