C++笔记(一)【基础知识】

C++笔记(一)【基础知识】

一、整体规范

1.1 C++对C的扩充

  • 变量的定义可以出现在任何行
  • 提供了标准输入输出流对象cin,cout
  • 用const定义常变量
  • 函数重载,函数模板,带默认值的函数
  • 引用类型
  • 单目作用域运算符
  • string类型字符串
  • 使用new和delete代替malloc和free函数等

​ c++是面向对象的,c是面向过程的。

​ c++11是最流行的版本

1.2 开发工具

  • 记事本(notepad+=)+命令行
  • Visual C++ 6.0(经典,但与流行OS不兼容)
  • VS 2015或VS2017(功能强大,但体积大,而且是微软的C系列)
  • Code::Blocks(目前如日中天的开源c++开发工具)
  • DEV C++(很经典,但05年开始停止更新)

1.3 关于头文件

​ 头文件的命名约定如下:

头文件类型约定示例说明
c旧风格以.h结尾stdio.hc,c++通用
c++旧风格以.h结尾iostream.hc++可以使用
c++新风格没有扩展名iostreamc++使用,需要用namespace
转换后的c加上前缀c并且没有扩展名cmathc++使用

​ #开头的语句为预处理器指令

​ #include<iostream>输入流流到管道中,这里的管道为cout(c out),管道连向内存。进程间通信也是借助管道进行通信

命名空间(namespace)

using namespace std (standard,使用命名空间为std,使用标准命名空间)这句没有的话,cout前要加std::,但若有重名的,就需要要显式的用。相当于python中的import as

​ 其他用法:

using std::cout;
using std::cin;
using std::endl;

include中<>和""的区别

​ #include <windows.h>
​ <>表示,从编辑器默认的路径中去找文件stdio.h.这个默认的路径,取决于编译器.不同平台下不同编译器的路径都不相同.这个默认的路径下,已经包含了c标准库所需的所有头文件.
使用c++标准库的头文件使用该方法.

​ #include “mytest.h”
​ ""表示从当前目录下寻找文件mytest.h。如果当前目录下找不到,再从编辑器默认的路径中查找。使用用户自定义的头文件使用该方法。

头文件函数
<stdio.h>或者<cstdio>printf
<iostream>cout,cin,endl

​ 备注:endl有清空缓存区的功能

printf("我的名字是:%s",tlj)

1.4 编译执行过程

预处理->编译->目标文件->链接

  1. 预处理:把#include语句的相关库,代码包含进来(.ii)
  2. 编译:转为汇编文件(.s)
  3. 目标文件(汇编):可执行的二进制文件(.o)
  4. 链接:与c++函数库连接形成.exe文件

二、数据类型

2.1 常用数据类型

数据类型符号位数范围
整型int32-2147483648~+2147483647
短整型(谨慎使用)short int16-32768~+32767
长整型(与int范围一样的)long int32-2147483648~+2147483647
单精度浮点型(谨慎使用)float32-3.4E-38+3.4E+38(只有67为有效数字,精度很低)
双精度浮点型double641.7E-308~1.7E308(十五位有效数字)
字符型char8隶属于整型(bool类型也是隶属于整型),机器中还是按照整型存放
其他long long int(c++11标准中增加的);long double
//定义别名
typedef char wode_char;
wode_char name='a';

//自带的提前定义好的
size_t t;
//相当于
unsigned int t;

//宏定义的固定常量,系统自带的,全大写
INT_MAX;
//相当于
#define INT_MAX 2147483647;
//若系统没有则在头文件加个 #include <climits>

//保留小数后两位
cout << fixed << setprecision(2);

//测量数据类型的长度
cout << sizeof(double) << endl;

//字符串加的时候会以ascii码大小运算
cout << 'A'+' ' << endl;
//A为65 空格为 32 因此为97
cout << (char)('A'+' ') << endl;
//a

//
cin >> num;//scanf("%d",&num);
chi1=cin.get();//获取一个字符

//字符串数组
//c++风格
string names="tlj";
//c风格
char names[]="tlj";
char* name="";


​ 其他数据类型:

​ size_t类型,枚举类型,自定义类型,指针类型,空类型等。

2.2 常量问题

//c风格
define N 5;   //这种方式叫宏定义,但是不好,因为只有在下面语句中遇到N的时候才替换,这意味着没替换前的N要占内存空间开销

//c++风格
const int N=20;//这里定义的就是真正的常量,遇到的N就是常量,不需要ti'huan
for (int i=0;i<N;i++)
{
    cout << i << endl;
}

三、运算符与表达式

/* 取模运算 */
int num1=-5,num2=2;
cout << num1%num2 << endl;  //符号取决于num1
//取模运算场景
//取某个数的个位数
//一个月余多少天

num1= num2++ - --num2;
//num1=0 num2=2
//num2先减一,因为在同一行,前面的num2也会变为1之后1-1=0 num2再加一,即整个表达式运算完后才算

int num1=0;
int num2=2;
num1= num2++ - num2--;
// num1=-1 num2=2   这里不太明白为什么

3.1 关于i++与++i

i++是先赋值,然后再自增;++i是先自增,后赋值。
用代码表示就是:
若 a = i++; 则等价于 a=i;i=i+1;
而 b = ++i; 则等价于 i=i+1;b=i;

i++ 与 ++i 的主要区别有两个:

1、 i++ 返回原来的值,++i 返回加1后的值。

2、 i++ 不能作为左值,而++i 可以。

3.2 类型转换

​ 原则:小范围的转换到大范围的

int num1=5,num2=2;
double num3=num1/num2;
// 2 因为表达式从右到左,先是两个整型相除得到2之后把2转成double类型的2

3.3 运算符优先级

  1. 单目运算符一般最高(! ~ +±- sizeof)这里的!和~是二进制的运算
  2. 算术运算符>关系运算符>逻辑运算符

3.4 switch 结构

switch(表达式)
{
    case 常量1:
        语句;
        break;
    case 常量2:
        语句;
        break;
    default:
        语句;
        
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会为您提供一份细致的C++知识笔记,希望对您有所帮助。 1. C++语言概述 C++是一种面向对象的编程语言,它是C语言的扩展版本C++可以用于开发各种类型的应用程序,包括操作系统、驱动程序、游戏、桌面应用程序、移动应用程序、Web应用程序等等。 2. C++基础语法 C++程序由函数组成,每个函数由一系列语句组成。C++程序从main函数开始执行,然后按照顺序执行函数中的语句。C++程序由头文件、全局变量、函数和类组成。头文件包含了程序所需的库函数和类定义。 3. C++数据类型 C++支持多种数据类型,包括整型、浮点型、字符型、布尔型等。整型数据可以是有符号或无符号的,浮点型数据可以是单精度或双精度的。C++还支持枚举类型和指针类型。 4. C++运算符 C++支持多种运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符等。算术运算符包括加、减、乘、除等。比较运算符包括等于、大于、小于等。逻辑运算符包括与、或、非等。 5. C++C++流是一种输入/输出机制,用于从文件、内存或其他设备中读取和写入数据。C++流由输入流和输出流组成,输入流用于读取数据,输出流用于写入数据。C++还支持格式化的输入/输出,可以按照特定的格式读取或写入数据。 6. C++函数 C++函数是一段可重用的代码,用于完成特定的任务。函数由函数名、参数列表和函数体组成。C++函数可以返回一个值或不返回任何值。函数可以被调用多次,可以在函数内部调用其他函数。 7. C++C++类是一种用户定义的数据类型,它封装了数据和函数。类具有属性和方法,属性表示数据,方法表示函数。C++类可以被继承,可以派生出新的类。C++类还支持多态性,可以使用相同的接口处理不同的数据类型。 8. C++异常处理 C++异常处理是一种处理程序错误的机制,用于在程序运行时捕获和处理异常。C++异常处理由try、catch、throw语句组成。try语句用于尝试执行一段代码,如果出现异常,则由catch语句捕获并处理异常。throw语句用于抛出异常。 以上是C++基础知识,还有很多高级特性和应用场景需要学习和掌握。希望这份笔记能够帮助您更好地理解C++语言

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值