C++编程入门:从基础到实战(持续更新中...)
一、什么是C++
1.简介
C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。
C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点。
C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。
C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。
注意:使用静态类型的编程语言是在编译时执行类型检查,而不是在运行时执行类型检查。
2.特性
C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性:
-
封装(Encapsulation):封装是将数据和方法组合在一起,对外部隐藏实现细节,只公开对外提供的接口。这样可以提高安全性、可靠性和灵活性。
-
继承(Inheritance):继承是从已有类中派生出新类,新类具有已有类的属性和方法,并且可以扩展或修改这些属性和方法。这样可以提高代码的复用性和可扩展性。
-
多态(Polymorphism):多态是指同一种操作作用于不同的对象,可以有不同的解释和实现。它可以通过接口或继承实现,可以提高代码的灵活性和可读性。
-
抽象(Abstraction):抽象是从具体的实例中提取共同的特征,形成抽象类或接口,以便于代码的复用和扩展。抽象类和接口可以让程序员专注于高层次的设计和业务逻辑,而不必关注底层的实现细节。
3.组成部分
标准的 C++ 由三个重要部分组成:
- 核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
- C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
- 标准模板库(STL),提供了大量的方法,用于操作数据结构等。
二、数据类型
1.基本类型
| 类型 | 关键字 |
| 布尔型 | bool |
| 字符型 | char |
| 整型 | short(2),int(4),long(4),long long(8) |
| 单精度实型(实型) | float |
| 双精度实型(实型) | double |
| 常双精度实型(实型) | long double |
2.构造类型
| 类型 | 关键字 |
| 数组类型 |
- |
| 结构类型 | struct |
| 联合类型 | union |
| 枚举类型 | enum |
3.指针类型
| 类型 | 关键字 |
| 空指针 | null |
4.空类型(无值类型)
| 类型 | 关键字 |
| 空类型 | void |
三、如何编写程序
1.头文件(预处理命令)
所有c语言程序都必须写头文件,头文件相当于是一个仓库,后面写的东西需要从头文件这个库里取东西,格式如下
#include<>
//<>中一般为stdio.h
2.主函数
main函数的一般形式:
int main(void){
return 0;
}
//void有没有都一样
3.表示
格式化输出符号,可以将数据转化输出到标准数据流
%d 整形
%s 字符串
%c 字符
4.常用操作
(1)输入
scanf();
//eg. scanf(" %d %d",&a,&b);
一行输入连续的字符串如下
//^\n连续输入非换行字符串
//尾端默认携带\0字符(占一个字符位)
scanf("%10000[^\n]", str);
//10000表示最多连续输入一万个
(2)输出
printf();
//eg. printf("num = %d\n", num);
// printf("%s", str);
(4)循环
for(;;){}
//eg. for(int i=1;i<10;i++){...}
(5)计算
这里需要用到math库里的方法
所以需要写头文件
#include<math.h>
下面是一些进阶计算
//开根
sqrt();
//幂乘(a是底数,b是指数)
pow(a,b);
下面是一些计算常用操作
//向上取整(()用浮点型)
ceil();
//向下取整(()用浮点型)
floor();
//四舍五入(这里默认取整)
//可以用printf的格式化方法(%.nf或%d来实现目的,这里n是保留的小数位)
round();
(6)零补全
用零补全空缺位(eg.要求四位,输入30输出0030)
int a;
printf("%.04d",a);
(7)更新中...
5.注释
(1)行注释
//请输入文本...
(2)块注释
/*请输入文本...
请输入文本...*/
tips.注释不可以出现在关键字中!
6.更新中...
tips.
1)有些以\开头的特殊字符为转义字符(直接输会报错)
\n 换行
\t 横向跳格
\r 回车
\\ 反斜杠
\" 引号
2)c中字母也可比较大小(以下题为例)
我们给出一种最简单的加密方法,对给定的一个字符串,把其中从 a∼y,A∼Y 的字母用其后继字母替代,把 z 和 Z 用 a 和 A 替代,其他非字母字符不变。请根据该加密规则将输入的密码进行解密。
提示:这里需要进行解密操作,而不是加密。
(长度不多于 10000 个字符)
#include <stdio.h>
int main() {
char str[10001];
scanf("%10000[^\n]", str);
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
if (str[i] == 'a') {
str[i] = 'z';
} else {
str[i] = str[i] - 1;
}
} else if (str[i] >= 'A' && str[i] <= 'Z') {
if (str[i] == 'A') {
str[i] = 'Z';
} else {
str[i] = str[i] - 1;
}
}
}
printf("%s", str);
return 0;
}
四、进制转换
类型有二进制(BIN)、八进制(OCT)、十进制(DEC)、十六进制(HEX)
换算方法:每一位上对应的数乘上他权值(目的进制的权值,比如十进制权值就是10,二进制就是2)的位数次幂(个位为0,向左数依次加一,向右数(小数点后)依次减一)
...
更多推荐

所有评论(0)