一、什么是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,向左数依次加一,向右数(小数点后)依次减一)

...

更多推荐