20240405,数据类型,运算符,程序流程结构

是我深夜爆炸,不能再去补救C了,真的来不及了,不能再三天打鱼两天晒网了,真的来不及了呜呜呜呜

我实在是不知道看什么课,那黑马吧......MOOC的北邮的C++正在进行呜呜

复制代码
#include <iostream>
using namespace std;
int main() 
{
	cout << "hallo world" << endl;
	system("pause");
	return 0;
}
1.1 变量

定义变量:数据类型 变量名称 = 变量初始值【格式】

1.2 常量 不可修改

1,#define 宏常量, #define 常量名 常量值

2,const 修饰的变量 ,const 数据类型 常量名=常量值

复制代码
#include <iostream>
#define DAY 7
using namespace std;
int main() 
{
	const int mouth = 31;
	cout << "hallo world,一周"<<DAY<<"天,大月"<<mouth << endl;
	system("pause");
	return 0;
}
1.3 关键字

标识符命名规则:非关键字,字母+数字+下划线,首位非数字,大小写

建议,最好能够见名知意

二,数据类型

2.1 整型

short ==2 【-32768~32767】;int ==4;long==4(分那啥);long long==8;

sizeof( )

复制代码
#include <iostream>
using namespace std;
int main() 
{
	short num1 = 32768;
	int num2 = 32768;
	long num3 = 0;
	long long num4 = 0;
	cout << num1 << "------"<<sizeof(short)<<endl;
	cout << num2 << "------" << sizeof(int) << endl;
	cout << num3 << "------" << sizeof(long) << endl;
	cout << num4 << "------" << sizeof(long long) << endl;
	system("pause");
	return 0;
}
2.2 实型(浮点型

float 单精度,7有效数字,数值后面加上F表示类型;double,双。。,15-16位

默认输出6位小数,科学计数法

复制代码
#include <iostream>
using namespace std;
int main() 
{
	float fnum1 = 3.15344534f;//加后缀自动识别FLOAT,否则DOUBLE
	double dnum2 = 4.4335363748456345234232;
	float num3 = 3e2;
	float num4 = 3e-2;
	cout << fnum1 << "------"<<sizeof(float)<<endl;
	cout << dnum2 << "------" << sizeof(double) << endl;
	cout << num3 << endl;
	cout << num4 << endl;
	system("pause");
	return 0;
}
2.3 字符型

CHAR 变量名 ='单个字符',大小1字节,ASCII码,a-97,A-67,0-31控制字符,32-126打印字符

复制代码
#include <iostream>
using namespace std;
int main() 
{
	char a = 'a';
	cout << a << "------"<<sizeof(char)<<endl;
	cout << a << "------" << (int)a << endl;
	system("pause");
	return 0;
}
2.4 转义字符

水平制表符------对齐、整齐输出,换页和垂直制表感觉和换行差不多

复制代码
#include <iostream>
using namespace std;
int main()
{
	cout << "aaa\abbb" << endl;
	cout << "aaa\bbb" << endl;
	cout << "aaa\f换页bbb" << endl;
	cout << "aaa\nbbb" << endl;
	cout << "aaa\tbbb" << endl;
	cout << "a\tbbb" << endl;
	cout << "aaa\vbbb\v垂直制表" << endl;
	cout << "aaa\vbbb\v垂直制表" << endl;
	cout << "aaa\\bbb" << endl;
	cout << "aaa\'bbb" << endl;
	cout << "aaa\"bbb" << endl;
	cout << "aaa\?bbb" << endl;
	return 0;
	system("pause");
}
2.5 字符串型

1,C风格字符串:CHAR 变量名【】="字符串值";CHAR A='A'字符,CHAR A[ ]="A"字符串

2,C++风格字符串:STRING 变量名="字符串值";;包含头文件#include <string>

复制代码
#include <iostream>
#include <string>
using namespace std;
int main()
{
	char a[] = "hallo word?";
	string b = "ni hao,xiexie";
	cout << a << endl;
	cout << b << endl;
	return 0;
	system("pause");
}
2.6 布尔类型BOOL

true--1,false--0,sizeof(bool)==1;赋值给数字,除了0都代表真

复制代码
#include <iostream>
using namespace std;
int main()
{
	bool flag = true;
	cout << flag << endl;
	flag = false;
	cout << flag << endl;
	cout << sizeof(bool) << endl;//1
	return 0;
	system("pause");
}
2.7 数据输入
复制代码
#include <iostream>
#include<string>
using namespace std;
int main()
{
	//int
	int ant = 23;
	cout << ant << endl;
	cin >> ant;
	cout << ant << endl;

	//float
	float ff = 5.8900f;
	cout << ff << endl;//输出抹零了
	cin >> ff;
	cout << ff << endl;

	//char
	char ch = 'a';
	cout << ch << endl;
	cin >> ch;
	cout << ch << endl;

	//string
	string b= "qunidsefw";
	cout << b << endl;
	cin >> b;
	cout << b << endl;

	//bool
	bool flag = false;
	cout << flag << endl;//除了0,输入啥都是1
	cin >> flag;
	cout << flag << endl;

	return 0;
	system("pause");
}

三,运算符

3.1 算数运算符

+,-,*,/,%【小数和小数不能做取余运算】,++A,A++,--A,A--,同C

复制代码
#include <iostream>
using namespace std;
int main()
{
	int a = 2;
	int b = a++;
	int c = ++a;
	cout << a << "\t" << b << "\t" << c << endl;
	cout << c % a << endl;
	cout << a++ * 100 << endl;
	cout << ++a * 100 << endl;
	return 0;
	system("pause");
}
3.2 赋值运算符

+=,-=,*=,/=,=,%=

3.3 比较运算符

==,!=,<,>,<=,>=

复制代码
#include <iostream>
using namespace std;
int main()
{
	int a = 2;
	int b = ++a;
	cout << (a>b)<< endl;
	cout << (a < b) << endl;
	cout << (a != b) << endl;
	cout << (a==b)<< endl;
	cout << (a <= b) << endl;
	cout << (a >= b) << endl;
	return 0;
	system("pause");
}
3.4 逻辑运算符

!非【BOOL里面,不是0都是真】,&&与,||或

复制代码
#include <iostream>
using namespace std;
int main()
{
	int a = 2; int b = 10;
	cout << !a << endl;
	cout << !!a << endl;
	a = 2; b = 2;
	cout << (a&&b)<< endl;
	cout << (a || b) << endl;
	a = 0; b = 3;
	cout << (a && b) << endl;
	cout << (a || b) << endl;
	a = 0; b = 0;
	cout << (a && b) << endl;
	cout << (a || b) << endl;
	return 0;
	system("pause");
}

四,程序流程结构

顺序,选择,循环

【C撸了不少了,就不仔细打了】

4.1 选择结构

1.0 IF------同C

2.0 三目运算符:表达式?A:B,如果表达式为真,返回A,假返回B【返回的是变量,可以继续赋值】

3.0 SWITCH------同C【结构清晰,效率高,只能整型和字符型,BREAK】

复制代码
#include <iostream>
using namespace std;
int main()
{
	int a = 9, b = 90;
	cout << (a > b ? a : b) << endl;
	(a > b ? a : b) = 78;//==78
	cout << a << endl;
	cout << b << endl;
	(a < b ? a : b) = 78;
	cout << a << endl;
	cout << b << endl;
	return 0;
	system("pause");
}
4.2 循环结构

1.0 WHILE循环

【RAND()%100,%100表示生成随机数的区间,0~99,0+1~99+1,rand()%100+1

可以用BREAK退出当前循环

2.0 DO......WHILE循环

复制代码
#include <iostream>
#include<ctime>
using namespace std;
int main()
{
	srand((unsigned int)time(NULL));
	//添加随机数种子,作用:利用当前系统时间生成随机数,防止每次随机数都一样
	int num=rand() % 100 + 1;
	cout << "请猜数字" << endl;
	int val;
	cin >> val;
	while(num!=val)
	{
		if (num > val)
		{
			cout << "猜小了" << endl;
		}
		else if (num < val)
		{
			cout << "猜大了" << endl;
		}
		cin >> val;
	}
	cout << "恭喜猜对了,数字就是" <<val<< endl;
	return 0;
	system("pause");
}

#include <iostream>
#include<ctime>
using namespace std;
int main()
{
	int a = 0;
	do
	{
		cout << a << endl;
		a++;
		if (a == 10)break;
	} while (a);

	a = 0;
	while (a)
	{
		cout << a << endl;
		a++;
		if (a == 10)
		{
			break;
		}
	}
	return 0;
	system("pause");
}

3.0 FOR循环

​​​​​​​4.0 嵌套循环------外层执行一次,内层执行一周

复制代码
#include <iostream>
#include<ctime>
using namespace std;
int main()
{
	for (int i = 0; i < 10; i++)
	{
		for (int i = 0; i < 10; i++)
		{
			cout << "* ";
		}
		cout << endl;
	}
	return 0;
	system("pause");
}

4.3 跳转语句

1.0 break语句,跳出循环,嵌套循环中可以是跳出内循环

2.0 continue语句,结束本次,继续下一次循环

相关推荐
liang_20263 分钟前
【HT周赛】T3.二维平面 题解(分块:矩形chkmax,求矩形和)
数据结构·笔记·学习·算法·平面·总结
緈福的街口5 分钟前
【leetcode】2900. 最长相邻不相等子序列 I
算法·leetcode·职场和发展
易只轻松熊6 分钟前
C++(20): 文件输入输出库 —— <fstream>
开发语言·c++·算法
远瞻。26 分钟前
【论文阅读】人脸修复(face restoration ) 不同先验代表算法整理
论文阅读·算法
进击的小白菜32 分钟前
LeetCode 153. 寻找旋转排序数组中的最小值:二分查找法详解及高频疑问解析
数据结构·算法·leetcode
dog2501 小时前
BBR 的 buffer 动力学观感
人工智能·算法
冲帕Chompa3 小时前
图论part10 bellman_ford算法
数据结构·算法·图论
緈福的街口3 小时前
【leetcode】144. 二叉树的前序遍历
算法·leetcode
GG不是gg4 小时前
排序算法之基础排序:冒泡,选择,插入排序详解
数据结构·算法·青少年编程·排序算法
随意起个昵称4 小时前
【双指针】供暖器
算法