C++入门

C++基础入门学习

一、下载安装

  1. visual studio 社区版(免费版), 跳转下载地址

二、开始撸代码

  1. 创建一个项目
  2. 创建一个文件
    在这里插入图片描述
  3. 编写代码
#include<iostream>
using namespace std;
/*
* 多行注释,快捷键:(ctrl+K+C)
*/
//单行注释  快捷键:(ctrl+shi+\)
int main()
{
   cout << "hello world" << endl;  //相当于print,上下代码是一个框架,(endl:输出换行)
   system("pause");
   return 0;
}

三、基础知识

1. 变量

作用:给一个指定的内存空间起名,方便操作这段内存空间。
语法:数据类型 变量名 = 初始值;

#include<iostream>
using namespace std;

int main()
{
	int a = 10;
	cout << "a=" << a<< endl;  
	system("pause");
	return 0;
}

2. 常量

作用:记录程序中不可变更的数据。
语法:

  • #define 宏常量:常在文件上方定义,表示一个常量;
    # define 常量名 常量值
  • const修是的变量:常在变量定义前加关键字const,修饰改变量为常量,不可更改;
    const 数据类型 变量名=常量名

3. 关键字

关键字url

4. 标识符命名规则

  • 不能是关键字;
  • 只能由字母、数字、下划线组成;
  • 第一个字符必须为字符或下划线;
  • 字母区分大小

5. 数据类型

5.1字符型
 1)用于显示单个字符变量,只占1个字节。在显示字符变量时,用单引号将字符括起来,不要用双引号;
 2)单引号内只能有一个字符,不可以是字符串;
 3)通过将对应的ASCII编码放入到存储单元中存储,a-97;A-65
char ch ='a';
cout << int(ch) << endl; //字符变量对应的ASCII编码

5.2 转义字符

\n换行
\t水平制表(跳到下一个tab位置)
\\反斜线“\”

5.3 字符串

#include<iostream>
using namespace std;
#include <string>  //用C++风格字符串时,需要包含这个头文件

int main()
{
//c 风格字符串:char 字符串名 [] = “”
//用双引号包含字符串
	char str1[] = "hello\n world";
	cout << str1 << endl;  
//c++ 风格字符串
	string str2 = "hello\t world";
	cout << str2 << endl;  
	string str3 = "hi\t world";  //"\t"输出结果8个字符空间后,对齐
	cout << str3 << endl; 
	system("pause");
	return 0;
}

5.4 浮点型

5.5 数据输入
关键字:cin (从键盘获取数据)

语法:cin >> 变量
float f = 1.111f; //单精度,默认double
cout << "请给浮点型f进行赋值:" << endl;
cin >> f;
cout << "f现在为:" << f << endl;

6. 运算符

6.1 前置递增(++a):先变量+1,再进行表达式的运算
6.2 后置递增(a++):先进行表达式运算,再变量+1
6.3 赋值运算符
1)加等于:a=0;a+=2;结果:a=2;
2)减等于:a=4;a-=2;结果:a=2;
3)除等于:a=4;a/=2;结果:a=2;
4)膜等于:a=5;a%2;结果:a=1;
6.4 比较运算符

==术语:相等于;如:4==3,结果:0

6.5 逻辑运算符
! :非; &&:与;||:或

//前置递增:
int a1 = 1;
int b1 = ++a1 *10; 
cout << "a1=" << a1 << endl;  //a1=2
cout << "b1=" <<b1 << endl;  //b1 =20
//后置递增:
int a2 = 1;
int b2 = a2++ *10;
cout << "a2=" << a2 << endl;  //a2=2
cout << "b2=" << b2 << endl; //b2=10
int a = 10;
if(a > 0//后面不能加“;”,若加不论if是否,if后的代码都会执行;
{
	cout << "a大于0" << endl;
}
else
{
	cout << "a不大于0" << endl;
}

7 程序流程结构

7.1 选择结构
1)if
2)三目运算符
语法:表达式1?表达式2:表达式3
解释:
若 表达式1为真,执行表达式2,并返回2的结果;
若 表达式1为假,执行表达式3,并返回3的结果;
注:在C++中三目运算符返回的是变量,可以继续赋值;

int a = 10;
int b = 20;
(a>b?a;b) =100; //a!>b,返回b的值,并将100赋值给b,a=10;b=100;

3)switch语句
if和switch的区别: switch只能判断整型或者字符型,不可以是一个区间;

switch()
{	
	case 结果1:执行语句;
	break; //退出当前分支
	case 结果2:执行语句;
	breakdefault:执行语句;  //前面的条件都不存在,执行此处
	break;
}

7.2循环结构
1)while

#include<iostream>
using namecpace std;
//time系统时间头文件添加
#incloude<ctime>
int main(){
	//添加随机数种子,作用:利用当前系统时间生成随机数,防止每次随机数都一样
	srand((unsigned int)time(NULL));
	int a = rand()%100; //生成0-99的随机数
	int num = 0;
	while(num<10)
	{
		cout << num << endl;
		num++;
	}
	system("pause");
	return 0;
}

2)for(起始表达式;条件表达式;末尾循环体){循环语句}
for(int i = 0;i<10;i++){ }

#include<iostream>
using namespace std;
int main() {
	for (int i = 1; i <= 100; i++) 
	{//如果是7的倍数,或个位有7,或十位有7
		if (i%7==0 || i%10 ==7 ||i/7==0)
		{
			cout << "敲桌子!" << endl;
		}
		else
		{
			cout << i << endl;
		}
	}
	system("pause");
	return 0;
}

3)嵌套循环

#include<iostream>
using namespace std;
//乘法口诀表
int main() {
	for (int i = 1; i <= 9; i++) 
	{
		for (int j = 1; j <= i; j++) {
			cout << j << "*" << i << "=" << j * i ;
		}
		cout << endl;
	}
	system("pause");
	return 0;
}

7.3 跳转语句
1)break
switch中,终止case并跳出switc;循环中,跳出当前循环语句;嵌套循环中,跳出最近的内层循环语句。
2)continue
3)goto:标记A
标记A:

8 函数

8.1 函数定义
作用:将常用的代码封装起来,以便代码复用;大项目分割成若干个模块,每个实现特定的功能。

语法:
返回值类型 函数名(参数列表)
{
	函数体语句
	return 表达式
}
#include<iostream>
using namespace std;

//如果函数不需要返回值,声明的时候写void 函数名(){}
//一个加法函数
int add(int num1, int num2) 
{//num1和num2没有真实数据,形式上的参数,简称形参;当函数调用时,实参的值会传递给形参;
	int sum = num1 + num2;
	return sum;
}

int main()
{
	int a = 10;
	int b = 20;
	int c = add(a, b); //调用函数,并赋值
	cout << "sum=" << sum << endl;
	//system("pause");
	while (1)
	{
	}
	return 0;
}

8.2函数的调用

语法:函数名(参数)
#include<iostream>
using namespace std;

//函数常见样式:
//1、无参无返
void test01()
{
	cout << "test01" << endl;
}
//2、有参无返
void test02(int a)
{
	cout << "test02,a=" << a << endl;
	
}
//3、无参有返
int test03()
{
	cout << "test03" <<endl;
	return 1000;
}
//4、有参有返
int test04(int a)
{
	cout <<"test04,a=" << a << endl;
}


int main(){
	//1、
	test01();
	//2、
	test02(100);
	//3、
	int num3 = test03();
	cout << "num3=" << num3 <<endl;
	//4、
	int num4 = test04(1000);
	cout << "num4=" << num4 << endl;
	system("pause");
	return 0;
}

8.3 函数的声明
作用:提前告诉编译器函数的存在;函数的定义在main之后,必须有函数的声明;
声明可以多次,定义只有一次;

int max(int a,int b);//语法:返回值类型 函数名(形参列表)
int main(){
}
int max(int a, int b)

8.4 函数分文件编写
1)创建.h的头文件,在头文件中写函数的声明;
2)创建.cpp的源文件,在源文件中写函数的定义;

//1)头文件.h
#include<iostream>
using namespace std;

//头文件中,写函数声明
void sw(int a, int b);
//2)源文件.cpp
#include "sw.h"  //源文件中添加头文件,作用:将”源文件和头文件相关联
				// “”代表自己写的头文件
//源文件中,函数定义
void sw(int a, int b)
{
	int ch = a;
	a = b;
	b = ch;
	cout << "替换后,a=" << a << endl;
	cout << "替换后,b=" << b << endl;
}

3)调用,仅需包含头文件即可

#include<iostream>
using namespace std;
#include "sw.h"  //包含头文件

int main() {
	int a = 10;
	int b = 20;
	sw(a, b);
	system("pause");
	return 0;
}

C++程序中包含两类文件:.cpp(C++源文件,源代码)+.h(C++头文件,也是源代码)
c++源文件和头文件作用详解
○ 在一个文件中定义函数,在其他文件中声明这个函数。头文件不用被编译。
○ 把所有函数声明全部放进头文件中,当一个.cpp源文件需要它们时,就可以通过一个宏命令#include 包含进.cpp文件中,从而内容合并到.cpp文件中。
dll分析与编写
§ dll主要三块内容:全部变量、函数接口、资源;
§ lib:导入库文件,分静态库和动态库;

四 通过Python调用c++

ctypes是Python的外部函数库。它提供C兼容的数据类型,并允许在DLL或共享库中调用函数。它可以用于将这些库包装在纯Python中
ctypes官方文档

  • 指针 、 结构体、类和对象、 C++面向对象的三大特性为:分装、继承、多态

传智播客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值