• c++:程序流程结构,switch语句,while循环语句,do while循环


    c++:程序流程结构,switch语句,while循环语句,do while循环

    2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c++的话,
    我所知道的周边的会c++的同学,可手握10多个offer,随心所欲,而找啥算法岗的,基本gg
    提示:系列c++学习的基础和高阶知识,用于公司生产实践中,实实在在的公司部署产品要用的,因为c++速度快,
    而java和Python速度慢,自然往硬件里面部署算法啥的,都得用c++或者c,因此本科学的c很重要,后来的Python或者java就没有那么重要了,


    c++:switch

    在这里插入图片描述
    switch里面的语句,变量,是啥?
    根据这个结果1,2,3走不同的分支

    都没有,就是default,执行默认分支

    在这里插入图片描述
    中间的break你要是漏掉了
    那么不好意思,它会默认每一条分支都去执行哦
    很炸锅

    #include
    using namespace std;
    
    void rate() {
    	//switch 表达式
    	//9--10分,经典
    	//8--7非常好
    	//6--5一般
    	//其他的烂片
    	int rate;
    	cout << "请输入您的打分:" << endl;
    	cin >> rate;
    
    	switch (rate) {
    	case 10:
    		cout << "经典" << endl; break;
    	case 9:
    		cout << "经典" << endl; break;
    	case 8:
    		cout << "非常好" << endl; break;
    	case 7:
    		cout << "非常好" << endl; break;
    	case 6:
    		cout << "一般般" << endl; break;
    	case 5:
    		cout << "一般般" << endl; break;
    	default:
    		cout << "垃圾电影" << endl;
    	}
    }
    
    int main() {
    
    	rate();
    
    	system("pause");
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    在这里插入图片描述

    
    void rate2() {
    	//switch 表达式
    	//9--10分,经典
    	//8--7非常好
    	//6--5一般
    	//其他的烂片
    	int rate;
    	cout << "请输入您的打分:" << endl;
    	cin >> rate;
    
    	switch (rate) {
    	case 10:
    		cout << "经典" << endl; ;
    	case 9:
    		cout << "经典" << endl; ;
    	case 8:
    		cout << "非常好" << endl; ;
    	case 7:
    		cout << "非常好" << endl; ;
    	case 6:
    		cout << "一般般" << endl; ;
    	case 5:
    		cout << "一般般" << endl; ;
    	default:
    		cout << "垃圾电影" << endl;
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    你会发现,判断分支时
    if可以放区间
    但switch只能是int或者char类型,没法整区间了
    switch优点就是枚举类型,结构清晰,可解释性非常强
    switch执行效率高,不用一步一步去判断if了,switch只会走一个分支


    循环语句

    在这里插入图片描述
    在这里插入图片描述
    千万不要不断搞a++
    这种垃圾代码
    在这里插入图片描述
    重复性过高

    void whiles() {
    	//循环打印0--9,不但递增呗
    	int a = 0;
    	while (a < 10) {
    		cout << a++ << endl;
    	}//自增,后递增
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    不写循环条件,那就炸锅了,死循环
    最后程序炸锅

    在这里插入图片描述

    案例while

    在这里插入图片描述
    在这里插入图片描述

    java中庸random函数
    c++呢?

    生成随机数
    用啥函数呢?头文件又是啥呢??

    rand()函数 srand()随机种子

    rand()%n生成0–n-1的随机数
    如果你想把起点改为a,则直接在上面加a即可
    rand()%n+a
    这样就是a–n-1
    在这里插入图片描述

    int x = rand() % 100 + 1;//[1,100)
    	cout << x << endl;
    
    • 1
    • 2

    如何最快猜对呢?
    一般,咱们搞二分法,使劲去找
    在这里插入图片描述
    while循环的目的就是不断猜,只要猜对了,就退出:break
    break的目的就是跳出当前while循环

    你再玩一次试试??
    在这里插入图片描述
    咋rand每次都生成68呢
    这是伪随机数

    我们序要搞一个随机数种子,利用当前的系统时间,来重新生成随机数
    系统时间不一样,随机数才真的是随机的

    **time(NULL)**函数可以获取当前的系统时间戳
    用它做种子生成随机数
    一定不一样
    在这里插入图片描述
    本案例的核心就是while循环
    break可以退出循环

    搞定

    
    #include  //系统时间函数
    void guess() {
    	cout << time(NULL) << endl;
    	srand((unsigned int)time(NULL));//随机数种子,time(NULL)是取当前的系统时间
    
    	int x = rand() % 100;//[0,100)生成的是0--N左开右闭的随机数
    	//cout << x << endl;
    	x = rand() % 100 + 1;//[1,100] 主要是N控制的是区间大小,而+1,是起点
    	//cout << x << endl;
    
    	int value;//玩家猜的+——输入一个数吧
    	while (1) {
    		cin >> value;
    		if (value > x) cout << "太大" << endl;
    		else if(value < x) cout << "太小" << endl;
    		else {
    			cout << "恭喜" << endl;
    			break;//成功就退出当前循环
    		}
    	}
    	
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    do while循环语句

    先干一句
    再判断

    在这里插入图片描述
    在这里插入图片描述
    第一次那个0必然要输出的
    在这里插入图片描述
    while里面是控制循环满足,再继续,就是先干一句,再和while一样就行了

    void doWhile() {
    	//用do while生成0--9
    	int x = 0;
    	do {
    		cout << x++ << endl;
    	} while (x < 0);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    while循环是先判断再执行
    而while是先执行再判断

    这就是区别,好说


    总结

    提示:重要经验:

    1)
    2)学好c++,即使经济寒冬,手握10个大厂offer绝对不是问题!
    3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

  • 相关阅读:
    搜题题库接口使用方法
    echarts-wordcloud ——文字云制作企业标签——基础积累
    “历久弥新 | 用AI修复亚运珍贵史料”活动震撼来袭!
    接扫理解.exe文件的结构原理即运行过程
    DevOps|研发效能不是老板工程,是开发者服务
    [spring]spring详细总结
    机车外套哈哈我真的是因为
    Python类和对象(在学过其他语言类和对象的基础上)
    江西省职业院校技能大赛中职组网络安全竞赛之Linux操作系统渗透测试
    代码随想录二刷day49
  • 原文地址:https://blog.csdn.net/weixin_46838716/article/details/127137050