C++基础入门

1.C++概述

C++是一门很强大很难学的计算机编程语言。

2.运行环境

Visual Studio 2020

3.基础知识

3.1 注释

//在C++中双斜杠//表示单行注释

/*
	/*...*/表示多行注释内容
*/

3.2 第一个程序

#include<iostream>
//in,out,stream 输入输出流,即表示引入输入输出流库

using namespace std;
//using表示利用,namespace表示命名空间,std表示标准,C++语言每行结束需要加分号;cout属于std
//可以不用写using namespace std;直接在代码中写std::cout

int main(){
    //main()函数为程序的入门(程序从这开始执行)
    cout << "Hellow World!" << endl;
    //打印"Hellow World!"语句,cout为输出函数
    
    return 0;
    //程序运行结束后返回0,可省略改行代码,	
    //C++文件运行启动一个进程,返回码为0,若return -1,则返回码为-1
}

3.3 常量

#include<iostream>
using namespace std;

#define X "Hellow World!"
#define Y "Autumn"
//打印X,Y时会将后面的语句进行替换打印

#define Z 1+2
#define Q (1+2)
//意义不同,代入表达式的优先级运算不同

const int b = 1;
//变量b变为常量,不可被修改

int main(){
    cout << endl;
    //endl表示空行,会打印空行
    
    cout << X << Y << endl;
    //X,Y不换行打印
    //输出Hellow World!Autumn
    
    cout << X << endl << Y << endl;
    //X,Y之间换行打印
	
    cout << Z * Z;
    //1+2 * 1+2 = 5
    
    cout << Q * Q'
    //(1+2)*(1+2) = 9
    
    return 0;
}

3.4 变量

1.C++语言中变量大小写敏感

2.C++保留的关键字无法用做变量名

3.变量命名规则

​ a.只能由数字,字母,下划线组成,且数字不放开头

​ b.字母区分大小写

#include<iostream>
using namespace std;
int main(){
    //变量的定义(数据类型 变量名 = 初始值;)
	int i = 1;
	int x = 0 + 2;
    
    //变量的打印准则
    cout << "i = " << i << endl;
    cout << "x = " << x << endl;
    //打印 i = 1
    //    x = 2
    
    //未初始化变量打印会报错
    
//整形变量
    /*
    整形变量  字节数(一个字节等于八位)  表示范围
	short      2						2^16(-2^15——2^15-1)
	int		   4						2^32(-2^31——2^31-1)
	long       4						2^32(-2^31——2^31-1)
	long long  8						2^64(-2^63——2^63-1)
    */
    
    //sizeof关键字获取变量位数
    short x = 1;
    int y = 2;
    cout << sizeof(short) << endl;
    cout << sizeof(x) << endl;
    //12
    
    cout << sizeof(int) << endl;
    cout << sizeof(y) << endl;
    //24
    
    cout << sizeof(long) << endl;
	cout << sizeof(long long) << endl;
    //48
    
    
//浮点数(小数)
    /*
    	float    4字节
		double   8字节
    */
    
    float x = 3.1415926f;
    //通常在后面加上f表示浮点数
    
    double y1 = 3.1415926;
    
    double y2 = 1.5e5;
    //1.5e5表示e后乘上10^5
    
    double y3 = 1.5e-5;
    //1.5e-5为10的-5次方
    
    cout << setprecision(7) << x << endl;
    //setprocision()表示操控精度,7表示全部位数
    
    double y4 = 1.0 / 2789347 * 2789347;
	//f5 = 0.99999999998987
    
    //double fabs(double x) 返回浮点数 x 的绝对值。
	/*fabs()用于计算一个数的绝对值。这个函数在处理数学运算时非常有用,可以确保获得数值的非负表示。*/
    
    if (fabs(y4 - 1) < 0.00000001){
        cout << "y4的精度小于0.00000001" << endl;
    }
    //比较浮点数的绝对值,以确定其是否在某个误差范围内与目标值相等。
    
    
//字符型
    char c = 'a';
    //char c = "a";不能用双引号,双引号用于字符串。
    
    cout << c << endl;
    cout << sizeof(c) << endl;
    //a1
    
    //强转字符
    char a = 'a';
    char b = 'b';
    cout << (int)a << endl;
    cout << (int)b << endl;
    cout << b-a << endl;
    //字符在内存中存储为数字,a == 97,b == 98,b - a == 1
        
//字符串型
	//char 变量名[] = "字符串常量";
	char c6[] = "英雄算法联盟";
	cout << sizeof(c6) << endl;
	//每个字两个字节,加上结尾存在一个\0,一个13个字节

	//第二种字符串表示方法
	//string,先导入string库
	string c7 = "夜深人静写算法";
	cout << c7 << endl;

//布尔类型(真和假)
	bool flag1 = true; //真
	bool flag2 = false;//假
	cout << flag1 << flag2 << endl;
	//输出0,1
    
	cout << sizeof(bool) << endl;
    
	//取反操作
	flag1 = !flag1;
	cout << flag1 << endl;
    
//转义字符
    char c1 = '\a';
	cout << (int)c1 << endl;
    
	char c2 = '\n';
	cout << (int)c2 << endl;
	cout << "c2为换行语句" << c2;
    
	//\n为换行,\t为制表符(空格),\\表示\,\0为忽略后面的字符,\077则表示八进制数,\"表示"
    
    
    
    
//数据的输入和输出
    //1.整形的输入
    int i1 = 5;
    cin >> i1;
    cout << "i1的值变为了" << i1 << endl;

    //2.浮点型的输入
    double d1 = 3.1;
    cin >> d1;
    cout << "d1的值变为了" << d1 << endl;

    //3.字符型的输入
    char ch1 = 'a';
    cin >> ch1;
    cout << "ch1的值变为了" << ch1 << endl;

    //4.字符串型
    string st = "abc";
    cin >> st;
    cout << "st的值变为了" << st << endl;


    //5.布尔型
    bool bo = true;
    cin >> bo;
    cout << "bo的布尔值变为了" << bo << endl;
    
    
    
//算书运算符号
	int i3 = 1;
	int i4 = 2;
	cout << i3 + i4 << endl;
	cout << i3 - i4 << endl;
	cout << i3 * i4 << endl;
	cout << i3 / i4 << endl;
    //两整数相除为整除,
	
    cout << i3 * 1.0 / i4 << endl;
    //浮点数相运算会出现小数   
    
//越界
	int i5 = 10000000;
	int i6 = 100000;
	cout << i5 * i6 << endl;//i5 * i6的结果会越界
    
    //解决办法
	cout << (long long)i5 * i6 << endl;//强转类型
    
    int i7 = -1;
	int i8 = 2;
	cout << i7 / i8 << endl;//结果为0,会截断小数点部分
    
    int i9 = -1;
    int i10 = -i9;
    cout << i9 << " " << i10 << endl;//-符号化为取反,无--符号,可以-(-a)
    
    
    
    return 0;
}

3.5 数据的输入输出及运算符

#include<iostream>
using namespace std;

int main(){
    
//数据的输入和输出
    //1.整形的输入
    int i1 = 5;
    cin >> i1;
    cout << "i1的值变为了" << i1 << endl;

    //2.浮点型的输入
    double d1 = 3.1;
    cin >> d1;
    cout << "d1的值变为了" << d1 << endl;

    //3.字符型的输入
    char ch1 = 'a';
    cin >> ch1;
    cout << "ch1的值变为了" << ch1 << endl;

    //4.字符串型
    string st = "abc";
    cin >> st;
    cout << "st的值变为了" << st << endl;


    //5.布尔型
    bool bo = true;
    cin >> bo;
    cout << "bo的布尔值变为了" << bo << endl;
    
    
    
//算书运算符号
	int i3 = 1;
	int i4 = 2;
	cout << i3 + i4 << endl;
	cout << i3 - i4 << endl;
	cout << i3 * i4 << endl;
	cout << i3 / i4 << endl;
    //两整数相除为整除,
	
    cout << i3 * 1.0 / i4 << endl;
    //浮点数相运算会出现小数   
    
//越界
	int i5 = 10000000;
	int i6 = 100000;
	cout << i5 * i6 << endl;//i5 * i6的结果会越界
    
    //解决办法
	cout << (long long)i5 * i6 << endl;//强转类型
    
    int i7 = -1;
	int i8 = 2;
	cout << i7 / i8 << endl;//结果为0,会截断小数点部分
    
    int i9 = -1;
    int i10 = -i9;
    cout << i9 << " " << i10 << endl;//-符号化为取反,无--符号,可以-(-a)
    
//字符运算
    char a1 = 'A';
    a1 = a1 + 1;
    cout << a1 << endl;//a1变为B
    
    
//取模运算符%用于两个整数之间,为整除之后的余数
    int integer1 = 100;
    int integer2 = 9;
    cout << integer1 % integer2 << endl;
    //1
    
    int integer1 = -100;
	int integer2 = 9;
	cout << integer1 % integer2 << endl;//-1
	//总结:取模符号和被除数相关(integer1)
    
    
//递增运算符++,递减运算符--
	int integer3 = 1;
	integer3++;//先其他运算再加
	++integer3;//先加再其他运算
	cout << integer3 << endl;

	integer3--;//先其他运算再减
	--integer3;//先减再其他运算
	cout << integer3 << endl;
 
	int integer4 = 1;
	int integer5 = (integer4++) + (++integer4);//1 + 3 = 4
    
    
//赋值运算符 = 
	integer3 = integer3 + integer5;
	integer3 += integer5;
	// x += y // x -= y // x *= y // x /= y // x %= y
    
    
//比较运算符,输出的是布尔值0/1
    ==   等于
    !=  不等于
    <    小于
    >    大于
    <=   小于等于
    >=   大于等于
    cout << (a == b) << endl;//需要加括号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值