在C++中三目运算符返回的是变量,可以继续赋值
- #include
- using namespace std;
-
- int main()
- {
- //三目运算符
- int a = 30;
- int b = 20;
- int c = 0;
-
- //a>b?c=a:c=b;
- c = (a > b ? a : b);
-
- cout<<"c的值为:"<
-
- //在C++中三目运算符返回的是变量,可以继续赋值
- (a > b ? a : b) = 100;
- cout << "a=" << a <
//a=100 - cout << "b=" << b <
//b=20 -
-
- system("pause");
- return 0;
- }
二、if和switch区别?
switch缺点:判断时候只能是整型或者字符型,不可以是一个区间
switch优点:结构清晰,执行效率高
三、C++生成随机数
- //添加随机种子,作用:利用当前系统时间生成随机数,防止每次随机数都一样
- srand((unsigned int)time(NULL));
-
- //系统生成随机数
- int num = rand()%100+1;//rand()%100生成 0-99之间的随机数,包括0和99
使用srand((unsigned int)time(NULL));代码需要在代码首部添加 time系统时间头文件包含
#include
四、一维数组
一维数组定义格式:
数据类型 数组名[数组大小];
数据类型 数组名[数组大小]={值1,值2,值3,...};
数据类型 数组名[]={值1,值2,值3,...};
- int array1[5]={1,2,3,4};
- int array2[5];
- int array3[5] = {3,5};//只初始化前两个元素,默认其他元素为0
- int array4[] = {3,4,5,6};//编译器计算元素个数
- double array6[20] = {}; //所有元素被设为0
一维数组名称用途:
1.可以统计整个数组在内存中的长度 sizeof(arr)
2.可以获取数组在内存中的首地址
数组名是常量,不可以对数组名进行复制操作。
五、二维数组
1.二维数组定义的四种方式:
1.数据类型 数组名[行数][列数];
2.数据类型 数组名[行数][列数] = {{数据1,数据2},{数据3,数据4}};
3.数据类型 数组名[行数][列数] = {数据1,数据2,数据3,数据4};
4.数据类型 数组名[ ][列数] = {数据1,数据2,数据3,数据4};
以上四种方式中,第二种更加直观,提高代码可读性
2.二维数组数组名
二维数组名称的两种核心用途:
- 查看二维数组所占内存空间
- 获取二维数组首地址
注意:当访问数组中某一个元素的地址时需要添加 取地址符 &
- #include
- using namespace std;
-
- int main()
- {
- //二维数组名称用途
- //1.可以查看占用内存空间大小
- int arr[2][3] =
- {
- {1,2,3},
- {4,5,6}
- };
-
- cout << "二维数组占用内存空间大小:" << sizeof(arr) << endl;
- cout << "二维数组第一行占用内存为:" << sizeof(arr[0]) << endl;
- cout << "二维数组第一个元素占用内存为:" << sizeof(arr[0][0]) << endl;
-
- cout << "二维数组行数为:" << sizeof(arr)/sizeof(arr[0]) << endl;
- cout << "二维数组列数为:" << sizeof(arr[0])/sizeof(arr[0][0]) << endl;
-
- //2.获取二维数组首地址
- cout << "二维数组首地址为:" << arr << endl;
-
- //注意:当访问数组中某一个元素的地址时需要添加 取地址符 &
- cout << "二维数组第一个元素地址" << &arr[0][0] << endl;
-
-
- system("pause");
- return 0;
- }