您的位置:首页 > 健康 > 养生 > 重庆企业网站优化_外贸英文网站_互联网营销培训_市场推广策略 包括哪些

重庆企业网站优化_外贸英文网站_互联网营销培训_市场推广策略 包括哪些

2025/3/17 21:12:50 来源:https://blog.csdn.net/2301_79706509/article/details/143313684  浏览:    关键词:重庆企业网站优化_外贸英文网站_互联网营销培训_市场推广策略 包括哪些
重庆企业网站优化_外贸英文网站_互联网营销培训_市场推广策略 包括哪些

一、C++基本框架

#include "iostream"using namespace std; //命名空间//预处理指令,必须要包含//另一种方式#include <iostream.h>,这样在主函数中必须要使用“std::”int main(){cout << "Hello,World!" << endl;//同cout << "Hello World!\n";//C语言中为printf("Hello,World!");return 0;}

cout 对外输出,相当于C语言中的printf。

<< 后面跟要输出的信息。

endl 输出一个换行符,相当于C语言中的\n。

C++注释:基本同C语言,有以下两种

单行注释://注释内容多行注释:/**注释内容**/

二、cout打印输出

1.单份输出

cout << "Hello" <<endl;cout << 10 << endl;

2.多份输出

//格式:cout << ... << ... << endl;cout << "I am" << 10 << "years old\n";

3.格式化输出

#include <iomanip>cout << setw(20) << "A";//设置A第一个输出从20列开始cout << setfill('*') << setw(20) << endl;//设置填充字符为*,同时setw设置这个填充字符到19位

setiosflags可以用于设置多种格式标志,例如:

  1. ios::fixed: 使用定点格式输出浮点数。
  2. ios::scientific: 使用科学计数法输出浮点数。
  3. ios::showpoint: 始终显示小数点,即使在整数时也显示。
  4. ios::uppercase: 在科学计数法中使用大写字母(例如,E而不是e)。

setprecision可以用于设置浮点数的有效数字或小数位数,具体取决于流的格式标志(如ios::fixed或ios::scientific)的设置。

  1. 默认情况下,setprecision设置的是有效数字的数量。
  2. 当与ios::fixed一起使用时,setprecision设置的是小数点后的位数。
  3. 当与ios::scientific一起使用时,setprecision同样设置小数点后的位数。

当使用以上两个控制符时,不仅设定了保留几个小数还确定了小数点对齐(即小数位数对齐)

三、常量

同C语言。

20;//数字180.6;//小数'c'//字符"ABC"//字符串#define FAT_BMI 28 //符号常量,define+标识符+常量,后续使用标识符即使用这个常量

C++中常量后面是可以有后缀的。

10L; //指定long类型123UL; //指定为unsigned long类型

 

四、变量

同c语言,变量存储数据。

int num; //变量类型+变量名num = 10; //变量赋值//同 int num = 10;

常见变量类型:

1.int 整型2.float 实型(浮点数)  3.char 字符型4.string 字符串型

五、无符号和有符号数字

 

六、实型

注意:实型数据没有signed和unsigned之分,所以都是有正负的。

七、char类型

char类型用来表示字符,同时支持有符号和无符号。

八、转义字符

九、字符串

与C稍有区别。但也可以使用C语言风格

string c = "c++";char s[] = "c";

字符串的拼接

使用+将不同的字符串拼接。

string major = "物理";string class_name = "一班";string name = "LZY";string all = "我的专业是" + major + ",我来自" + class_name + "我叫" + name;

注意:+仅支持用于字符串和字符串的拼接,对于连接非字符串,需将字符串转换为字符串,可以使用内置函数to_string()转换成字符串。

string name = "小李";int height = 185;string sen = name + "的身高为" + to_string(height) + "cm。";

十、布尔型

布尔数据类型用以表达互斥。

bool flag = true;

十一、cin数据输入

基本结构:数据类型 变量

cin >> 变量;        这一行代码执行的是用户输入数据给变量,相当于C语言中的scanf("%d",&n);

int num;cin >> num;

十二、算术运算符

十三、赋值运算符

十四、比较运算符

用于对两个数据进行比较(大,小,相等),得到bool类型结果。

C语言字符串比较可以使用strcmp函数。

#include "cstring"char s1[]="hello";char *s2="hello";int rusult = strcmp(s1,s2);//结果有三种 -1(s1<s2)、0(s1=s2)、1(s1>s2)cout << result << endl;

C++中字符串比较,只要两个字符串中有一个是string类型就可以用比较运算符。

string s3 = "a";char s4[] = "a";cout << "s3是否等于s4" << (s3 == s4) << endl;//注意,这里在输出里面比较最好使用()区分开

十五、逻辑运算符

用于对单个或多个表达式进行逻辑判断。

十六、三元运算符

语法:

产出bool结果的表达式 ?值1 :值2;

如果?之前的表达式结果为true,则结果是值1,若结果为false则是值2。

int num1,num2;cin >> num1;cin >> num2;string value = num1 > num2 ? "a" : "b"cout << value << endl;//若num1>num2,则value=a,否则等于b//C语言风格if (num1 > num2)value = "a";elsevalue = "b";

十七、switch语句

switch(expression){case expression_1: //expression_1是我们给expression设置的其中一个值code;break;default;//以上几种情况都不满足就执行这一句跳出switch}

十八、枚举类型

枚举:本质上是一个被命名的整形常数的集合

枚举一般用于将一些数字或字符串符号化。

/*enum 枚举名{枚举元素1,枚举元素2,......};*///枚举里面的元素第一个对应数字0,依次递增,可以通过访问数字达到访问枚举里面的元素enum Season{SPRING,  //0SUMMER,  //1AUTUMN,  //2WINTER   //3}; //元素和对应数字是等价的//判断的时候用SPRING判断其实就是与0判断实例代码:enum Season{SPRING,  //0SUMMER,  //1AUTUMN,  //2WINTER   //3};string season;cout << "你最喜欢的季节是:";cin >> season >> endl;switch(season){case SPRING:cout << "你最喜欢的季节是春天。" << endl;break;case SUMMER:cout << "你最喜欢的季节是夏天。" << endl;break;case AUTUMN:cout << "你最喜欢的季节是秋天。" << endl;break;case WINTER:cout << "你最喜欢的季节是冬天。" << endl;break;   }

十九、循环中的continue和break的区别

continue:使得这一次循环提前结束,进入下一次循环。

break:使得循环直接结束,跳出循环。

二十、goto语句

语法:

label1:...;goto label1;

实际案例:

int main(){int i = 1;loop:cout << i << " ";i++;if(i<=10)goto loop;cout << endl;return 0;}

二十一、数组的遍历

int arr[] = {1,2,3,4,5};for(int i = 0;i<sizeof(arr)/sizeof(arr[0]);i++){   //这里的sizeof是用来求数组的元素个数的cout << arr[i] << endl;}

二十三、多维数组

二维数组:

int v[2][2] = {{2,2},{3,3},{4,4},{5,5}};//一层2*2的二维数组

三维数组:

int v[2][3][3]={{{1,2,3},{4,5,6},{7,8,9}},{{1,2,3},{4,5,6},{7,8,9}}};//有两层,每层是一个3*3的而维数组

数组遍历:

//二维int v[2][2] = {{2,2},{3,3},{4,4},{5,5}};for(int i = 0;i<sizeof(v)/sizeof(v[0]);i++){for(int p = 0;p < sizeof(v[0])/sizeof(v[0][0]);p++){cout << v[i][p] << endl;   }}//三维for(int m = 0;m < sizeof(v2)/sizeof(v2[0]);m++){for(int n = 0;n < sizeof(v2[0])/sizeof(v2[0][0]);n++){for(int j = 0;j < 3;j++){cout << v[m][n][j] << endl;     }   }}

二十四、指针

对于定义指针,我们需要在定义完后并给他赋值,这样指针就有确切的值,并不会并指向其它地方,否则可能会指向一个重要的地址,然后更改它的值导致重要数据被更改这样的问题。

指针运算

指针的运算是针对内存地址进行运算,例如p++,就是对p指向的内存往后加对应的字节。

二十五、动态内存分配

new运算符分配内存,delete运算符释放new申请内存。

int *p = new int;//申请了一个int类型的空间,并把这个空间的地址赋给指针p//此时这个地址上还未赋初始值*p = 10;cout << *p << endl;delete p;//用delete,对象是指针int *n = new int[5];n[0]=1;*n=1;//两个等价n[1]=2;*(n+1)=2;//二者等价cout << p[0] << endl;cout << *(n+1) << endl;delete[] p;

二十六、数组元素的移除

int *num = new int[5] {1,2,3,4,5};int *newnum = new int[4];for(int i = 0;i < 5;i++){if(num[i]==2)continue;if(num[i]>=3)newnum[i-1]=num[i];   elsenewnum[i]=num[i];}for(int p = 0;p<4;p++){cout << newnum[p] << endl;}

二十七、函数的重载

可以对一个函数名进行不同定义,使用这个函数时会自动对输入的形参类型以及数量来判断使用哪一个。

int sum(int a,int b);double sum(double c,int d[]);long sum(double e[],int f,double g);//方便重载函数的模板template <typename T>  //作用域只在这下面一行T sum(T A[],T B)

二十八、指针悬挂

指针指向的区域被回收(delete),即指针此时指向一个为止的地址,这是很危险的,因为你不知道这个地址上有什么。

注意:

1.不要轻易进行指针之间的赋值。

2.delete回收空间前,确保这个空间100%不被使用。

二十九、结构体

用户自定义复合数据类型,可以包括不同的数据类型。

struct student{string name;int age;string Class;};struct student stu = {.name:"aurora",.age:18,.class:"一"};cout << stu.name << endl;//默认值,有时候会给结构里面的元素提供一个默认值,这样后续就可以不给这些元素一个默认值//这样不给值的时候会默认提供默认值struct student{string name,int age,string class="一"};

1)结构体数组

//结构体数组,这个数组里面的一个元素是一个结构体struct student arr[2];arr[0]={.name:"周杰伦",/age:10,.class:"一"}arr[1]={.name:"林俊杰",/age:11,.class:"二"}cout << arr[0].name <<  endl;//定义加直接声明struct student arr[2]={[0]:{.name:"周杰伦",/age:10,.class:"一"},[1]:{.name:"林俊杰",/age:11,.class:"二"}};

2)结构体指针

struct student{string name,int age,string Class};struct student stu = {"小明",11,"一"};struct student *p = &stu;//以上使用方法使用的是静态内存空间,不可回收,下面使用动态内存空间struct student *p = new student {"小明",11,"一"};//这个可以使用delete删除cout << p->name << endl;cout << p->age << endl;cout << p->Class << endl;

3)结构体数组指针

struct student stu[] = {{"小明",11,"一"},{"小红",10,"一"}};struct student *p = stu;cout << p[0].name << endl;cout << p[1].name << endl;//以上使用的是静态内存空间struct student *p = new student[2]{{"小明",11,"一"},{"小红",10,"一"}};cout << p[0].name << endl;cout << p[1].name << endl;delete[] p;//这种使用动态内存空间,减少内存占用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com