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

相关文章

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I