C++ 第1章 基本数据与表达式

2024-09-07 04:48
文章标签 c++ 数据 基本 表达式

本文主要是介绍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章 基本数据与表达式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144098

相关文章

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

C++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

SpringBoot @Scheduled Cron表达式使用方式

《SpringBoot@ScheduledCron表达式使用方式》:本文主要介绍SpringBoot@ScheduledCron表达式使用方式,具有很好的参考价值,希望对大家有所帮助,如有... 目录Cron 表达式详解1. 表达式格式‌2. 特殊字符解析3. 常用示例‌4. 重点规则5. 动态与复杂场景‌

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa