返回

C++ 语言

发布时间:2022-09-22 09:56:08 536
# c++# 数据

数据类型

  • 向内存申请空间

C++ 语言_#include

C++ 语言_操作符_02

#inculde 
int main()
{
char ch = 'A';//'ch'为变量
printf("%c",ch);//%c——打印字符格式的数据
return 0;
}
#inculde 
int main()
{
int age = 17;//'age'为变量
printf("%d",ch);//%d——打印整型十进制的数据
return 0;
}

变量

  • 局部变量
  • 全局变量
  • **定义:**使用“=”为其赋值
#inculd 
int num2 = 20;//全局变量定义在代码块{}之外
int main ()
{
int num1 = 10;//局部变量定义在代码块{}之内
return 0;
}
  • 当局部变量和全局变量的名称相同时,局部变量优先
int a=100
int main()
{
int a=10//当该变量优先
return 0;
}
  • 局部变量有局限
int main()
{
{
int a = 10;
}
printf("%d",a);//此时'a'无法打印
return 0;
}

两数求和

#define _CRT_SECURE_NO_WARNINGS
//在VS上需要加这一句才可使用'scanf'等函数
#include
int main()
{
int num1=0;
int num2=0;
int sum=0;
//C语言规定,变量要定义在当前代码块最前面
//'scanf'是输入函数
scanf("%d%d",&num1,&num2);//'&'为取地址符号
//'&num1'相当于一个地址
sum=num1+num2;
printf("sum=%d",sum);
return 0;
}

变量的作用域和生命周期

作用域

C++ 语言_#include_03

  • 局部变量的作用域是变量所在的局部范围
#include
int main()
{
int num = 0;
printf("%d",num);
return 0;
}
//"{}"花括号内即为局部变量的作用域
  • 全局变量任何地方都可以用
#include
int fabulous=0;
int main()
void text()
{
printf("test()--%d\n",fabulous);
}
int main()
{
test();
printf("%d",fabulous);
return 0;
}

还可跨源文件


生命周期

C++ 语言_#include_04

常量

  • 字面常量
  • const 修饰的常变量
#include 
int main()
{
//"0,1,11"等为字面常量
const int num = 0;
// "const"修饰"num"变量,该变量变为常变量
print("%d",num);
return 0;
}
  • #define 定义的标识符常量
#include 
#define MAX 10
int main()
{
int arr[MAX] = {0};
printf("%d",MAX);
return 0;
}
  • 枚举常量
//一一列举---枚举常量
enum Color
{
RED,// 0
YELLOW,// 1
BLUE // 2
};
//RED,YELLOW,BLUE---枚举常量,不可改变
int main()
{
enum Color color = BLUE;
return 0;
}

字符串

  • 由双引号引起来的一串字符
  • 字符串的结束标志是 "\0" 的转义字符
#include 
int main()
{
char arr1[]="abc";//数组
//"abc"---'a''b''c''\0'---'\0'字符串结束标志
char arr2[]={'a','b','c',0};//'0'-'\0'
printf("%s",arr1);
printf("5s",arr2);
printf("%d",strlen(arr1));
//strlen-计算字符串长度
return 0;
}
  • 转义字符:即使用 \ 将字符转义

注释

//  注释内容

函数

  • 自定义函数
  • 库函数
#include 
//求和函数
int add(int a,int b)
{
int z = a + b;
return z;
}
// add 为自定义函数
int main()
{
int x = 100;
int y = 200;
int sum = 0;
sum = add(x,y);
printf("%d",sum);
return 0;
}
//printf 等为库函数

数组

  • 定义:一组相同类型元素的集合
  • 规定所有元素都有下标从0开始到n-1
//例
int arr[10]={1,2,3,4,5,6,7,8,9,10};
//定义一个整型数组最多放10个元素
float arr[10]//浮点数类型数组
char ch[4]//字符类型数组
#include 
int main()
{
int arr[10]={1,2,3,4,5,6,7,8,9,10};
int i = 0;
//将数组内容打印
while(i<10)
{
printf("%d",arr[i]);
i++;//在使用i之后,i值再加1
}
return 0;
}

操作符

  • 算术操作符
+ - * / %  //加 减 乘 除 模
  • 移位操作符
>>  //向右移一个(二进制)位
<< //向左移一个(二进制)位
  • 位操作符
& //按位与  (集合中的且)
| //按位或 (集合中的或)
^ //按位异或
//对应的二进制位相同,为1
//对应的二进制位相异,为0
  • 复合赋值符
+= -= /= &=
// a = a + 1 = a += 1
  • 单目操作符

C++ 语言_#include_05

  • sizeof()
printf("%d",sizeof());
// sizeof 类型用来计算大小,单位是字节
  • ~
//~
int main()
{
int a = 0;
int b = ~a;
//~--按二进制位取反
//例000
//对应111
printf("%d",b);//-1
return 0;
}
  • --与++
//--与++
int main()
{
int a = 10;
int b = a++;
//后置++,先把a赋值给b使用,再++
printf("a=%d b=%d",a,b);//a=11,b=10
return 0;
}
{
int a = 10;
int b = ++a;
//前置++,先++,再把a赋值给b使用
printf("a=%d b=%d",a,b);//a=11,b=111
return 0;
}
  • (类型)
int main()
{
int a = (int)3.14;
//(类型)该操作符将3.14强制转换为int类型
return 0;
}
  • 关系操作符

C++ 语言_操作符_06

  • 逻辑操作符

C++ 语言_#include_07

//&&
int main()
{
//0表示假,非0为真
int a = 3;
int b = 5;
int c = a && b;//&&可理解为数学中的并且
printf("c=%\n",c);//c=1
return 0;
}
//||
int main()
{
//0表示假,非0为真
int a = 0;
int b = 5;
int c = a || b;//||可理解数学中的或
printf("c=%\n",c);//c=1
return 0;
}
  • 条件操作符(三目操作符)

C++ 语言_#include_08

<表达式1>?<表达式2>:<表达式3>
//若表达式1为真,则执行表达式2,否则执行表达式3
  • 逗号表达式

C++ 语言_局部变量_09

  • 下标引用,函数调用和结构成员

C++ 语言_局部变量_10

关键字

C++ 语言_局部变量_11

  • typedef类型重定义
int mian()
{
typedef unsigned int u_int;
// typedef 将unsigned int 重新定义为 u_int
unsigned int num = 1;
u_int num2 = 1.1;
return 0;
}
  • static:用来修饰变量和函数
// static 修饰局部变量
//局部变量生命周期变长
#include
void test()
{
static int a = 1;//a 局部变量是自生 自灭的
//static 将a变为一个静态局部变量,即a不被销毁
a++;
printf("a=%d\n",a);
}
int main ()
{
int i = 0;
while (i<5);
{
test();
i++;
}
return 0;
}

//源文件1
//static修饰全局变量
static int g_val = 2021;//定义一个全局变量
//static 改变了变量的作用域,使静态的全局变量只能在自己所在的源文件内部使用,出了源文件将不可再用
//源文件2
//static 修饰全局变量
#invlode
int mian()
{
//extern - 声明外部(在其它源文件中)符号用的
extern int g_val;
printf("g_val=%d",g_val);//程序无法运行
return 0;
}

//static 修饰函数与修饰全局变量类似
//其改变来了函数的连接属性(外部变为内部)

#define定义常量和宏

//#define 定义的标识符常量
#define MAX 100
//#define 定义宏-带参数
//比定义函数更简洁,只需一行
#define MAX(X,Y)(X>Y?X:Y)
int main()
{
int a = 10;
int b = 20;
int max = MAX(a,b);
printf("max=%d\n",max);
return = 10;
}

指针

  • 即地址 P168
int main()
{
int a = 10;
int* p = &a;//类型加 * 符号
//p 是指针变量,用来存放地址
printf("%p\n",&a);
printf("%p",p);//两者打印结果相同
*p = 5;//* -解引用操作符
//通过p中存放的地址,找到该地址a将其中内容改为5
return 0;
}
  • 指针大小为4个字节(32位)或8个字节(64位)

结构体

#include
//创建一个结构体类型
struct Book//struct 结构体关键字
{
char name[20];
short price;
};
int main()
{
struct Book b1 = {"C语言程序设计",55};
printf("书名:%s\n",b1.name);
//. 操作符- 结构体变量.成员
printf("价格:%d 元",b1.price);
return 0;
}
int main()
{
struct Book b1 = {"C语言程序设计",55};
//用指针变量表示
struct Book* pb=&b1;
//-> 操作符-结构体指针->成员
printf("书名:%s\n",pb->name);
printf("价格:%d 元",pb->price);
return 0;
}
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线