首页 / C++ / C++基础知识(1)
C++基础知识(1)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++基础知识(1),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7958字,纯文字阅读大概需要12分钟。
内容图文
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
C++学习记录--每天进步一点点
前言
C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。
对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。
类 - 类可以定义为描述对象行为/状态的模板/蓝图。
方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。
即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。
提示:以下是本篇文章正文内容,下面案例可供参考
一、C++基本语法
1. using namespace std; 告诉编译器使用 std 命名空间;
2. main() 是程序开始执行的地方;
3. 在 C++ 中,分号是语句结束符。也就是说,每个语句必须以分号结束,可以在一行上放置多个语句,如:x = y; y = y+1; add(x, y);
4. C++ 标识符是用来标识变量、函数、类、模块,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9),C++ 标识符内不允许出现标点字符,比如 @、& 和 %。C++ 是区分大小写的编程语言。因此,在 C++ 中,Manpower 和 manpower 是两个不同的标识符。
5. C++ 注释一般有两种:
// - 一般用于单行注释。
/* ... */ - 一般用于多行注释。
二、C++数据类型
1.布尔型(bool)、字符型(char)、整型(int)、浮点型(float)、双浮点型(double)、无类型(void)、宽字符型(wchar_t);
2. endl,这将在每一行后插入一个换行符,<< 运算符用于向屏幕传多个值。我们也使用 sizeof() 函数来获取各种数据类型的大小;
3. 您可以使用 typedef 为一个已有的类型取一个新的名字。下面是使用 typedef 定义一个新类型的语法:
typedef type newname;
例如,下面的语句会告诉编译器,feet 是 int 的另一个名称:
typedef int feet;
4. 创建枚举,需要使用关键字 enum
三、变量
1.变量类型
变量其实只不过是程序可操作的存储区的名称。
变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。
变量定义
type variable_list;
type 必须是一个有效的 C++ 数据类型,variable_list 可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。下面列出几个有效的声明:
int i, j, k;
char c, ch;
float f, salary;
double d;
变量可以在声明的时候被初始化(指定一个初始值)。初始化器由一个等号,后跟一个常量表达式组成。
type variable_name = value;
下面列举几个实例:
extern int d = 3, f = 5; // d 和 f 的声明,extern 关键字在任何地方声明一个变量
int d = 3, f = 5; // 定义并初始化 d 和 f
byte z = 22; // 定义并初始化 z
char x = 'x'; // 变量 x 的值为 'x'
同样,在函数声明时,提供一个函数名,而函数的实际定义则可以在任何地方进行。
C++ 中的左值(Lvalues)和右值(Rvalues):
左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。
右值(rvalue):右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,右值只能以出现在赋值号的右边,但不能出现在赋值号的左边。
2.变量作用域
作用域是程序的一个区域,一般来说有三个地方可以定义变量:
1. 在函数或一个代码块内部声明的变量,称为局部变量。
2. 在函数参数的定义中声明的变量,称为形参。
3. 在所有函数外部声明的变量,称为全局变量。
在程序中,局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。
如:
#include <iostream>
using namespace std;
// 全局变量声明
int g = 20;
int main ()
{
// 局部变量声明
int g = 10;
cout << g;
return 0;
}
四、常量
常量是固定值,在程序执行期间不会改变,在定义后不能进行修改。
常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。
1.定义常量
一般将常量定义为大写字母形式。
- 使用#define:
#define identifier value
#define WIDTH 5
#define NEWLINE '\n'
- 使用const关键字
const type variable = value;
const int WIDTH = 5;
const char NEWLINE = '\n';
2.整数常量
整数常量可以是十进制、八进制或十六进制的常量,0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。
实例:
212 // 合法的
215u // 合法的
0xFeeL // 合法的
078 // 非法的:8 不是八进制的数字
032UU // 非法的:不能重复后缀
3.浮点常量
浮点常量由整数部分、小数点、小数部分和指数部分组成;
可以使用小数形式或者指数形式来表示浮点常量。
当使用小数形式表示时,必须包含整数部分、小数部分;
当使用指数形式表示时, 必须包含小数点、指数;
带符号的指数是用 e 或 E 引入的。
浮点常量的实例:
3.14159 // 合法的
314159E-5L // 合法的
510E // 非法的:不完整的指数
210f // 非法的:没有小数或指数
.e55 // 非法的:缺少整数或分数
4.布尔常量
true 真;false 假
5.字符常量
括在单引号中。
在 C++ 中,有一些特定的字符,当它们前面有反斜杠时,它们就具有特殊的含义,被用来表示如换行符(\n)或制表符(\t)。
\\ \ 字符
\' ' 字符
\" " 字符
\? ? 字符
\a 警报铃声
\b 退格键
\f 换页符
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符
\ooo 一到三位的八进制数
\xhh . . . 一个或多个数字的十六进制数
6.字符串常量
括在双引号中
五.C++运算符
1.算术运算符
假设变量 A 的值为 10,变量 B 的值为 21;
运算符 描述 实例
+ 把两个操作数相加 A + B 将得到 31
- 从第一个操作数中减去第二个操作数 A - B 将得到 -11
* 把两个操作数相乘 A * B 将得到 210
/ 分子除以分母 B / A 将得到 2
% 取模运算符,整除后的余数 B % A 将得到 1
++ 自增运算符,整数值增加 1 A++ 将得到 11
-- 自减运算符,整数值减少 1 A-- 将得到 9
2.关系运算符
==
!=
>
<
>=
<=
3.逻辑运算符
&&
||
!
4.位运算符
p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1
异或 ^:参与运算的两个值,如果两个相应位相同,则结果为0,否则为1
**补码~:**A = 0011 1100,(~A) 将得到 -61,即为 1100 0011
**左移<<:**左操作数的值向左移动右操作数指定的位数,A = 0011 1100,A << 2 将得到 240,即为 1111 0000
**右移>>:**左操作数的值向右移动右操作数指定的位数,A = 0011 1100,A >> 2 将得到 15,即为 0000 1111
5.赋值运算符
*= += -= = /= %=
<<= C <<= 2 等同于 C = C << 2
&= C &= 2 等同于 C = C & 2
^= C ^= 2 等同于 C = C ^ 2
|= C |= 2 等同于 C = C | 2
>>= C >>= 2 等同于 C = C >> 2
6.杂项运算符
六.循环
循环类型 | 描述 |
---|---|
while循环 | 条件为真时,重复循环体;在执行循环体之前判断条件 |
do…while循环 | do…while 循环会确保至少执行一次循环 |
for循环 | 多次执行一个语句序列,简化管理循环变量的代码 |
嵌套循环 | 可在 while、for 或 do…while 循环内使用一个或多个循环 |
do
{
cout << "a 的值:" << a << endl;
a = a + 1;
}while( a < 20 );
循环控制 | 描述 |
---|---|
break | 终止loop或者switch,执行loop后的下一条语句 |
continue | 跳过循环主体的剩余部分,立即重新开始判断条件 |
goto | 将控制转移到被标记的语句 |
七.判断
1.if
没有冒号
if(boolean_expression)
{
// 如果布尔表达式为真将执行的语句
}
2.if…else
没有冒号
if(boolean_expression)
{
// 如果布尔表达式为真将执行的语句
}
else
{
// 如果布尔表达式为假将执行的语句
}
3.嵌套if
if( boolean_expression 1)
{
// 当布尔表达式 1 为真时执行
if(boolean_expression 2)
{
// 当布尔表达式 2 为真时执行
}
}
4.switch
在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。
switch(expression){
case constant-expression :
statement(s);
break; // 可选的
case constant-expression :
statement(s);
break; // 可选的
// 您可以有任意数量的 case 语句
default : // 可选的
statement(s);
}
5.嵌套switch
switch(ch1) {
case 'A':
cout << "这个 A 是外部 switch 的一部分";
switch(ch2) {
case 'A':
cout << "这个 A 是内部 switch 的一部分";
break;
case 'B': // 内部 B case 代码
}
break;
case 'B': // 外部 B case 代码
}
6.?:运算符
可以用来替代 if…else 语句。
如果 Exp1 为真,则 Exp2 的值即为整个 ? 表达式的值。如果 Exp1 为假,则Exp3 的值为整个 ? 表达式的值。
它的一般形式如下:
Exp1 ? Exp2 : Exp3;
内容总结
以上是互联网集市为您收集整理的C++基础知识(1)全部内容,希望文章能够帮你解决C++基础知识(1)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。