2021-10-29-

作者:Nico
时间: 2021-10-25
网站地址:https://github.com/sxfinn

目录

文章目录

  • 2021-10-29-
    • 目录
    • 💦什么是语句
    • 💦分支语句(选择结构)
    • 💦循环语句
    • 💦goto语句

💦什么是语句

C语句可分为以下五类:

  • 表达式语句
  • 函数调用语句
  • 控制语句
  • 复合语句
  • 空语句

这里介绍的是控制语句。

控制语句用于控制程序的执行流程,以实现特定的功能和结构,它们具有特定的语句定义符组成,C语言有九种控制语句。

分为三类:

  1. 分支语句:if、switch语句;
  2. 循环语句:while、for、do while语句;
  3. 转向语句:break、continue、goto、return语句;

💦分支语句(选择结构)

if语句

面对选择,我们会直接想或者说:我要XXX,我不要XXX。

举个例子:

面临以下选择

  1. 好好学习—>收获满满
  2. 无所事事—>继续废柴

可以看到二者是不可兼得的,只能选择其中的一个。

那么对于计算机呢?

if的语法结构:

//一般结构
if(表达式)语句;
if(表达式)语句;
//多分支结构
if(表达式1)语句1;
else if(表达式2)语句2;
else语句;

注意:表达式的内容只看真假,可以是一个常数,可以是一个变量。

如下图:
在这里插入图片描述

由图可知:

若表达式结果为真,则对应语句执行。

那么C语言中如何表示真假?

C语言中 0为假,非0为真。

如果要执行的语句不止一条,那我们还需要将要执行的语句用大括号{}括起来。

例:

#include<stdio.h>
//代码1
int main()
{int age = 0;scanf("%d", &age);if (age < 18){printf("未成年\n");}else if (age > 18 && age < 60){printf("壮年\n");}else if (age > 60){printf("老年\n");}return 0;
}
代码2
int main()
{double grade_point = 0;//初始化绩点scanf("%lf", &grade_point);if (grade_point >= 4.0 && grade_point < 5.0){printf("优秀\n");}else if (grade_point < 4.0 && grade_point >= 3.0){printf("一般\n");}elseprintf("差\n");return 0;
}    

一个if与一个else匹配,如果有多个if或者else语句呢?

int main()
{int a = 1;int b = 2;if (a == 5)if (b == 2)printf("true");elseprintf("false");return 0;
}

输出结果:

无输出结果。

所以可以断定else是与第二个if匹配的。

可以看到上面代码的写法,很容易让我们产生误解,所以代码风格非常重要。

我们可以改写成以下形式:

int main()
{int a = 1;int b = 2;if (a == 5){if (b == 2)printf("true");}else{printf("false");}return 0;
}

结论:else必须紧挨if后要执行的语句,且总是与最近且未匹配else的if匹配。

if语句的书写形式

	//代码1//函数体
if (1){return 1;}return 2;

返回值结果:

​ 1

上述代码给人模棱两可的感觉,表达不清晰,很容易产生误解。

我们来换一种写法

	//代码2if (1){return 1;}else{return 2;}

返回值结果:

1

显然,代码2的逻辑更加清晰,可读性更高。

结论:代码风格很重要,可读性和逻辑要好。

练习:

判断一个数是奇书还是偶数。

奇数:不可以被2整除的数。

偶数:可以被2整除的数。

能否被2整除就是我们的突破口,可以用此条件进行区分。

代码:

int main()
{int i = 0;scanf("%d", &i);if (i % 2 == 0){printf("%d是偶数\n", i);}else{printf("%d是奇数\n", i);}return 0;
}

输入:3

输出:3是奇数

输入:4

输出:4是偶数

分支语句(branch),如同河流的不同支流,分支少还好,但是当分支很多的情况呢?

我们再一个一个去写就太繁琐,于是switch语句的作用就体现出来了。

switch语句

通常是多分支的,有多种情况可以选择。

例如:我们想输出今天周几

输入1,输出周一

输入2,输出周二

输入3,输出周三

输入4,输出周四

输入5,输出周五

输入6,输出周六

输入7,输出周天

if语句实现:

int main()
{int day = 0;scanf("%d", &day);if (day == 1)printf("周一");else if (day == 2)printf("周二");else if (day == 3)printf("周三");else if (day == 4)printf("周四");else if (day == 5)printf("周五");else if (day == 6)printf("周六");else if (day == 7)printf("周七");elseprintf("输入错误");return 0;
}

我们用if else语句实现看起来实在拖拉,且形式复杂。

使用switch语句呢?

int main()
{int day = 0;scanf("%d", &day);switch (day){case 1:printf("周一");case 2:printf("周二");case 3:printf("周三");case 4:printf("周四");case 5:printf("周五");case 6:printf("周六");case 7:printf("周天");		}return 0;
}

输入:5

输出:周五周六周天

与我们想要的似乎不太一样,我只想打印初周五,但是周六周天也打印出来了,可以看到,在执行完case 5后并没有跳出switch语句,而是继续执行接下来的语句,这显然不是分支。

如果我们想要执行完一个分支后立马跳出switch语句该怎么办?

在switch语句中的break

在switch语句中,我们没办法直接实现分支,必须依赖break与switch语句想结合,才能实现真正的分支。

int main()
{int day = 0;scanf("%d", &day);switch (day){case 1:printf("周一");break;case 2:printf("周二");break;case 3:printf("周三");break;case 4:printf("周四");break;case 5:printf("周五");break;case 6:printf("周六");break;case 7:printf("周天");	break;}return 0;
}

break语句的实际效果是把语句列表分成不同的分支,所有的分支都是并列的。

假如我们的需求变化,在输入1~5是输出工作日,在输入6和7后输出休息日。

思考:这还是分支吗?

//代码1
int main()
{int day = 0;scanf("%d", &day);switch (day){case 1:printf("工作日");break;case 2:printf("工作日");break;case 3:printf("工作日");break;case 4:printf("工作日");break;case 5:printf("工作日");break;case 6:printf("休息日");break;case 7:printf("休息日");	break;}return 0;
}

这样未免太麻烦了。

既然语句流会贯穿每一个case标签,那我们可以这样。

int main()
{int day = 0;scanf("%d", &day);switch (day){case 1:case 2:case 3:case 4:case 5:printf("工作日");break;case 6:case 7:printf("休息日");break;}return 0;
}

可以看到这仍然是分支,不过每一个分支的范围似乎不止是一个case,而是多个case组成的一个分支。

而将语句列表划分为每个分支的就是break

switch语句一般形式:

switch(type)
{case 1:case 2:case 3:default://默认实行语句
}

需要注意的几点:

  • type只能为整数
  • type为多少,就跳入case type分支,按照顺序执行
  • case只决定从哪里进,不决定从哪里出
  • case后面必须是整型常量
  • 如果所有case都不能进入,则默认执行default,每个switch语句只能出现一个default子句

default:可以出现在switch语句中的任何位置,而且语句流会像贯穿case标签一样贯穿default子句,若想让default子句成为一个新的分支,则也需要加break

编程好习惯

  • 最后一个case加上break

  • 每个switch语句都放入一个default

注意:break只能在switch语句和循环语句中使用,且一个break只能跳出当前的循环或者switch语句

switch语句的嵌套

例:

int main()
{int m = 1;int n = 2;switch (n)//case 2{case 1:m++;case 2:n++;case 3:switch (m){case 1:m++;case 2:n++;	}default:printf("结束\n");}printf("m=%d n=%d ", m, n);return 0;
}

输出:结束

​ m=4 n=2

总结:分支语句就是将语句列表划分不同的分支,分支的大小是任意的,分支的内容也是任意的可以是一个语句,也可以是多条语句。


💦循环语句

生活中我们有每天重复循环的事情,C语言中也同样存在,当我们想重复做一件事情,那该怎么处理?

C语言当然可以实现:

  • while
  • for
  • do while

while循环

我们已经了解了if语句:

if(condition)
{语句;
}

当condition为真时,if后面的语句被执行,反之则不执行。

但是if后的语句只会被执行一次,假如我们想要他执行多次,那我怎么做呢?C语言给我们提供了while循环做到这件事。

//while语法
while(condition)
{循环语句;
}

while循环流程图:
在这里插入图片描述

如何在屏幕上打印出1~10的数字?

难道要十个printf来输出吗?显然,我们拥有while后不再需要如此麻烦。

代码:

int main()
{int i = 1;while (i <= 10){printf("%d\n", i);i++;}return 0;
}

可以看到我们只用了一个printf,但是利用while循环做到了与十个printf的效果。

简单了解while工作流程我们接着看:

while中的break和continue

break介绍:

#include<stdio.h>int main()
{int i = 0;while (i < 10){if (i == 5)break;printf("%d ", i);i++;}return 0;
}

运行结果:

0 1 2 3 4

可以看到在i == 5时遇到了break循环就停止了。

结论:break可以永久终止当前循环。

continue介绍:

#include<stdio.h>
//代码1:
int main()
{int i = 0;while (i < 10){if (i == 5)continue;printf("%d", i);i++;}return 0;
}
//代码2:
int main()
{int i = 0;while (i < 10){i++;if (i == 5)continue;printf("%d ", i);}return 0;
}

代码1:

死循环

代码2:

输出: 1 2 3 4 6 7 8 9

看起来continue似乎不像break那么暴力直接终止循环了,但是代码2的结果却少了一个5,代码一进入了死循环。

continue的作用:终止本次循环,直接跳到下一次的循环判断位置。

总结:break永久终止循环。


continue终止本次循环,进入下一次循环判断位置。

getchar函数

作用:在输入缓冲区读取一个字符、

int getchar ( void );//函数原型

putchar函数

作用:输出一个字符。

int putchar ( int character );//函数原型

输入缓冲区是什么呢?

可以理解为一块区域用来存储我们键盘输入的数据的这么一块区域。在输入操作时,如果缓冲区有内容就直接被scanf或者getchar读走,如果缓冲区没有内容,则等待用户输入。

示例:

#include<stdio.h>int main()
{	int ch = 1;scanf("%d", &ch);while ((ch = getchar())!=EOF)//将getchar得到的字符赋值给ch,判断是否与EOF相等{putchar(ch);}return 0;
}

输入:abc

输出:abc

利用getchar清理输入缓冲区

int main()
{char arr[10] = { 0 };scanf("%s", arr);int ch = getchar();printf("%d", ch);return 0;
}

输入: abcd

输出:10

输入:zxcv

输出:10

无论输入什么输出都是10.

这是为什么呢?明明没有输入10,却每次都会在屏幕上输出一个10。

查阅ASCII码可以看到
在这里插入图片描述

10所对应的是换行符,也就是说getchar读到的是我们输入结束时敲入的回车。

于是我们面对这类问题时,可以利用getchar清理输入缓冲区。

int main()
{int ch = 0;while ((ch = getchar()) != '\n')//读取到\n时就不再读取{;}return 0;
}

如果我们想只读取输入的某一类数据,该如何处理呢?

#include<stdio.h>int main()
{int ch = 0;while ((ch = getchar()) != EOF){//只打印26个字母字符if (ch > 'a' && ch < 'z')putchar(ch);}return 0;
}

总结:利用循环我们可以节省很多时间,处理一些步骤相同的问题时,循环可以迅速解决这类问题。

for循环

既然已经有了while循环,为什么还会有for循环呢?

我们先看一看for循环的结构:

for(exp1;exp2;exp3)
{循环语句;
}
  • exp1为初始化部分,用于初始化循环变量。

  • exp2为条件判断部分,用于判断循环执行条件。

  • exp3为调整部分,用于调整循环变量。

打印出0~9的数字

我们使用while和for两种循环分别实现。

#include<stdio.h>int main()
{//代码1 whileint i = 0;	//初始化部分while (i < 10)//判断部分{printf("%d ", i);i++;	//调整部分}return 0;
}
//代码2 for
int main()
{int i = 0;for (i = 0; i < 10; i++){printf("%d ", i);}return 0;
}

可以看到代码1的初始化部分、条件判断部分和调整部分在for循环中都可以集成到一起,看起来更加简洁,使用起来更加方便。

for循环流程图
在这里插入图片描述

break和continue在for循环中

作用与while基本相同,但有一些微小差异

#include<stdio.h>
//break 
//代码1
int main()
{int i = 0;for (i = 0; i < 10; i++){if (i == 5)break;printf("%d ", i);}return 0;
}
//continue
//代码2
int main()
{int i = 0;for (i = 0; i < 10; i++){if (i == 5)continue;printf("%d ", i);}return 0;
}

代码1:

输出:0 1 2 3 4

代码2:

输出:0 1 2 3 4 6 7 8 9

与while中使用continue后死循环不同,这里在i==5时,continue被执行,直接跳入循环判断部分,并且i++,再次进入循环后 i !=5,于是程序正常进行下去。

结论:continue跳过的是循环体部分而不包括条件判断部分。

for的循环控制变量

建议:

  1. 不要再循环体内部改变循环变量,防止循环失去控制
  2. 建议循环控制变量的取值采用左闭右开区间
#include<stdio.h>int main()
{int i = 0;for (i = 0; i < 10; i++)//左闭右开更清爽{i = 1;printf("%d ", i);}return 0;
}//最终程序死循环了

for循环的变种

#include<stdio.h>
//变种1
//省略了初始化部分
//条件判断部分
//调整部分
int main()
{int i = 0;for (;;)//没有判断条件默认恒为真{printf("hehe\n");}return 0;
}

运行结果:

重复的打印hehe

//变种1
int main()
{int count = 0;int i = 0;int j = 0;for (i = 0; i < 10; i++){for (j = 0; j < 10; j++){printf("hehe\n");count++;}}printf("%d", count);return 0;
}

运行结果:

打印出了100个hehe

//变种2
#include<stdio.h>int main()
{int count = 0;int i = 0;int j = 0;for (; i < 10; i++)//未初始化变量{for (; j < 10; j++)//未初始化变量{printf("hehe\n");count++;}}printf("%d", count);return 0;
}

运行结果:

打印出了10个hehe

可以看到虽然只是小小的改变,但引起的效果却截然不同,所以省略for循环中的表达式要慎用!

使用多个变量控制循环

#include<stdio.h>int main()
{int x = 0;int y = 0;for (x = 0, y = 0; x < 10 && y < 5; x++, y++){printf("haha\n");}return 0;
}

运行结果:

打印出5个haha

练习

循环了多少次?

#include<stdio.h>int main()
{int i = 0;int j = 1;for (i = 0, j = 1; j = 2; j++)printf("haha\n");return 0;
}

答案:死循环

你做对了吗?

do while()循环

do while语句的用法

do
{循环体语句;
}while(condition)

执行流程:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9c35PG4U-1635580969183)(assets/【C语言详解】分支与循环/dowhile.png)]

do while语句的特点

无论是否满地条件判断,循环体至少会被执行一次。

int main()
{int i = 10;do{printf("%d ", i);} while (i < 10);//不满足循环条件return 0;
}

运行结果:

10

do while循环中的break和continue

#include<stdio.h>
//break
int main()
{int i = 0;do{if (i == 5)break;printf("%d ", i);i++;} while (i < 10);return 0;
}

输出结果:

0 1 2 3 4

#include<stdio.h>int main()
{int i = 0;do{if (i == 5)continue;printf("%d ", i);i++;} while (i < 10);return 0;
}

运行结果:

死循环

可以看到do while中的break和continue的作用与while循环的基本一致。

练习

在有序数组中查找一个数

#include<stdio.h>
//二分法
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int left = 0;//要查找的范围内的左下标int right = sizeof(arr) / sizeof(arr[0]) - 1;//要查找范围内的右下标int k = 0;//要查找的数scanf("%d", &k);while (left <= right){int mid = (left + right) / 2;//中间下标if (arr[mid] < k)//判断在哪个区间{left = mid + 1;}else if (arr[mid] > k)//判断在哪个区间{right = mid - 1;}else {printf("found it!下标为%d", mid);break;}}return 0;
}

运行结果:
在这里插入图片描述

拥有了循环和判断,我们还可以实现一个猜数小游戏:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>void menu()//菜单
{printf("***************************\n");printf("*******1.play 2.exit*******\n");printf("***************************\n");
}
//游戏进行
void game()
{int guess = 0;int i = (rand() % 100) + 1;	//生成随机数1~100//printf("%d\n", i);测试while (1){printf("猜数:\n");scanf("%d", &guess);if (i < guess){printf("猜大了\n");}else if (i > guess){printf("猜小了\n");}else{printf("猜对了!\n");break;}}
}
int main()
{srand((unsigned int)time(NULL));//设置种子值为一个变量int input = 0;	do{menu();printf("请输入:->(1/0)");scanf("%d", &input);switch (input){case 1:game();break;case 0:printf("退出游戏\n");break;default:printf("请重新输入:->(1/0)\n");break;}} while (input);return 0;
}

运行:
在这里插入图片描述

💦goto语句

C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。

从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。 但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。

流程图:
在这里插入图片描述

例如:一次跳出两层或多层循环。 多层循环这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。 goto语言真正适合的场景如下:

#include<stdio.h>
//跳出多重循环
int main()
{int i = 0;int j = 0;int k = 0;for (i = 0; i < 10; i++){for (j = 0; j < 10; j++){for (k = 0; k < 10; k++){...循环语句;goto out;...}}}out:语句;return 0;
}

goto代替循环

#include<stdio.h>
#include<stdlib.h>
int main()
{char input[10] = { 0 };system("shutdown -s -t 60");again:printf("电脑将在1分钟内关机,如果输入:“不要关机”则取消关机\n 请输入:>");scanf("%s", input);if (0 == strcmp(input, "不要关机")){system("shutdown -a");break;}else{goto again;//跳转到again}return 0;
}

总结:

  • 在明确知道循环的次数时使用for循环

  • 在循环体无论如何都至少会被执行一次时使用do while循环

  • 其他情况使用while循环

  • goto语句尽量不使用

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. SDUT数据结构PTA专题(实验五)题解

    数据结构与算法A实验五树和二叉树7-1 还原二叉树 (25 分)7-4 树的遍历 (25 分)7-1 还原二叉树 (25 分) #include<bits/stdc.h> #define ll long long const int N 2e5 10; using namespace std;int n; // 节点数 char pre[N]; // 记录前序遍历 char mid[N]; // 记录…...

    2024/5/2 19:29:40
  2. 华为云专家向宇:工欲善其事必先利其器,才能做数据的“管家”

    据研究机构Forrester预测&#xff0c;物联网所带来的产业价值要比互联网高30倍&#xff0c;到2020年&#xff0c;中国物联网产业将成长为一个超过五万亿规模的巨大市场。 5G、AI、区块链等新一代信息技术与物联网加速融合。在智能互联的愿景中&#xff0c;物联网系统的机器、设…...

    2024/5/4 15:42:44
  3. TaoCloud SSAN+VMWare vSphere超融合解决方案

    VSAN那么好,用户还会考虑其他存储方案吗? VMWare vSphere是业界领先的虚拟化平台,VSAN是一种新型的分布式软件定义存储,vSphere+VSAN可谓是完美的虚拟化整体解决方案。但是,永远不要低估用户的诉求,只要存在较大的实际动力,在一些特定的场景下,用户就会主动寻求替换VSA…...

    2024/5/2 22:34:53
  4. Synchronized 和 Lock 区别

    Synchronized 和 Lock 区别 1、Synchronized 内置的 Java 关键字&#xff0c;Lock 是一个 Java 类 2、Synchronized 无法判断获取锁的状态&#xff0c;Lock 可以判断是否获取到了锁 3、Synchronized 会自动释放锁&#xff0c;Lock 必须要手动释放锁&#xff01;如果不释放锁…...

    2024/5/2 22:34:47
  5. 01kNN_Regression

    使用k近邻算法解决回归问题 根据预测点最近的k个数据点获得预测值 预测值可以是k个数据点的平均值&#xff0c;也可以是加权平均值 使用kNN解决回归问题&#xff0c;波士顿房价预测&#xff1a; import numpy as np import matplotlib.pyplot as plt from sklearn import da…...

    2024/5/7 0:47:20
  6. [记录学习][C基础018]C没有专门求平方的函数

    C语言没有专门用来求平方的函数&#xff0c;对于变量x&#xff0c;其平方可以表示为x*x&#xff0c;即直接使用两个数 (或变量)相乘即可。 另外&#xff0c;C语言中&#xff0c;math.h文件中含有乘方 (包括开方)的库函数pow (x,y)。 如果要打印一个1~10的平方表&#xff0c;可…...

    2024/5/2 22:34:40
  7. JAVA中的SPI机制

    一、介绍 SPI全称Service Provider Interface&#xff0c;是Java提供的一套用来被第三方实现或者扩展的API&#xff0c;它可以用来启用框架扩展和替换组件。 ava SPI 实际上是 “基于接口的编程&#xff0b;策略模式&#xff0b;配置文件” 组合实现的动态加载机制。 系统设计…...

    2024/5/7 1:37:57
  8. 【Matlab基础】绘图

    一、绘图 新建一个图: figure() 把屏幕分成m✖n个子图&#xff0c;并在第p副图中绘图&#xff1a; subplot(m,n,p)1. 根据数据绘图 clf; %擦除已有图线plot(xn,yn,s); legend(this is picture); axis([xmin,xmaxc,ymin,ymax]);%坐标范围%axis square %坐标系图形为方形 %…...

    2024/5/2 22:34:31
  9. Flink窗口应用代码结构

    在流处理应用中&#xff0c;数据是连续不断的&#xff0c;有时我们需要做一些聚合类的处理&#xff0c;例如&#xff1a;在过去的1分钟内有多少用户点击了我们的网页。 在这种情况下&#xff0c;我们必须定义一个窗口(window)&#xff0c;用来收集最近1分钟内的数据&#xff0…...

    2024/5/2 22:34:27
  10. C语言复习之整数类型与变量01

    1&#xff0c; 变量&#xff1a;用一个变量名称来标识内存中的某一个存储位置。 例&#xff1a;int a; int a, b; 变量命名规则&#xff1a;&#xff08;1&#xff09;以数字&#xff0c;字母&#xff0c;下划线 _组成&#xff0c;不能含有下划线_以外的特殊字符&#xff08…...

    2024/5/2 22:34:23
  11. 高斯消元解线性方程组

    高斯消元&#xff1a;O(n3)O(n^3)O(n3) 写出增广矩阵&#xff0c;将增广矩阵通过初等行变换变成阶梯型&#xff0c;然后往回带适用于求解包含nnn个方程&#xff0c;nnn个未知数的多元线性方程组 例如下式多元方程组&#xff1a; {a1,1∗x1a1,2∗xi⋯a1,n∗xnb1a2,1∗x1a2,2∗x…...

    2024/5/2 22:34:19
  12. 动态规划—环形子数组的最大和(leetcode 918)

    题目描述 给定一个由整数数组 A 表示的环形数组 C&#xff0c;求 C 的非空子数组的最大可能和。 在此处&#xff0c;环形数组意味着数组的末端将会与开头相连呈环状。&#xff08;形式上&#xff0c;当0 < i < A.length 时 C[i] A[i]&#xff0c;且当 i > 0 时 C[iA.…...

    2024/5/2 22:34:16
  13. day260:只出现一次的数字 III

    问题&#xff1a; 给定一个整数数组 nums&#xff0c;其中恰好有两个元素只出现一次&#xff0c;其余所有元素均出现两次。 找出只出现一次的那两个元素。你可以按 任意顺序 返回答案。 进阶&#xff1a;你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现&a…...

    2024/5/2 22:34:12
  14. C++容器详解之deque

    目录 1.deque容器概念 2.deque对象的构造 2.1deque对象的默认构造 2.2deque对象的带参数构造 3.deque头部和末尾的添加移除操作 4.deque的数据存取 5.deque与迭代器 6.deque的赋值 7.deque的大小 8.deque的插入 9.deque的删除 1.deque容器概念 deque容器概念 deque是…...

    2024/5/2 22:34:08
  15. zynq7035单板创建PYNQ镜像V2.6

    1 步骤 本次设计是在zynq7035器件上进行&#xff0c;创建PYNQ框架v2.6版本&#xff0c;构建需要如下步骤&#xff1a; 编译环境准备构建硬件平台构建PYNQ镜像在Jupyter Notebook中测试PYNQ文件传输到单板 2 编译环境准备 Ubuntu18.04 Vivado 2020.1 Petalinux 2020.1 Pynq2…...

    2024/5/2 22:34:03
  16. Java核心技术----异常处理

    一、异常概述 在程序中&#xff0c;错误可能产生于程序员没有预料到的各种情况&#xff0c;或者是因为超出了程序员控制之外的环境因素&#xff0c;如用户的坏数据、试图打开一个根本不存在的文件等。在Java中这种在程序运行时可能出现的一些错误称为异常。 二、处理程序异常…...

    2024/5/2 22:34:00
  17. 黑马 JVM ---3 ---类加载 与 字节码 技术

    黑马 JVM —3 —类加载 与 字节码 技术 类文件结构字节码指令编译期处理类加载过程类加载器运行期优化 类文件结构 1.1 魔数 0~3 字节&#xff0c;表示它是否是【class】类型的文件 0000000 ca fe ba be 00 00 00 34 00 23 0a 00 06 00 15 09 1.2 版本 4~7 字节&#xff0c;表…...

    2024/5/2 22:33:55
  18. 被3乘除的子序列

    被3乘除的子序列 这个题目开始拿到手上不知道怎么设置状态转移&#xff0c;很多博客也没解释为什么那样转换是可以的。 首先我们要在数学上弄明白&#xff1a;mod 3&#xff0c;是非常特殊的&#xff0c;因为10%31,这有什么用呢。 如果目前1-i-1的某个子序列此时为x,取余3为k1…...

    2024/5/2 22:33:51
  19. ES基本使用

    RESTful Api 在ES中&#xff0c;提供了功能丰富的restful api 的操作&#xff0c;包括基本的CURD、创建索引、删除索引等操作。 创建非结构化索引 在lucene中 &#xff0c;创建索引是需要定义字段名称以及字段的类型的&#xff0c;在ES中提供了非结构化的索引&#xff0c;就是…...

    2024/5/2 22:33:47
  20. Selenium之鼠标键盘操作

    (1) click() &#xff1a;鼠标点击操作 # 创建浏览器实例对象 driver webdriver.Chrome() # 点击注册按钮 driver.find_element_by_link_text("注册").click()(2) sent_keys() 1、输入文本 sent_keys() 传入的参数为 String 类型的文本时&#xff0c;主要是在在输…...

    2024/5/2 22:33:43

最新文章

  1. uniapp 按钮在右上角(与标题一起)如何触发

    1、在page.json页面 {"path": "pages/index/attend","style": {"navigationBarTitleText": "关注分组","app-plus": {"titleNView": {"buttons": [{"text": "确定",&quo…...

    2024/5/7 2:51:29
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/6 9:38:23
  3. 爱自然生命力粤东中心家风家教高端研讨会在广东汕头盛大开启

    2024年3月30日&#xff0c;爱自然生命力粤东中心家风家教高端研讨会在广东汕头金海湾大酒店隆重召开。 &#xff08;图为活动现场&#xff09; 本次由爱自然生命力体系粤东中心主办的粤东家风家教高端研讨会&#xff0c;主题为“携手校家社&#xff0c;共筑新格局”&#xff0…...

    2024/5/5 8:44:20
  4. 【蓝桥杯嵌入式】13届程序题刷题记录及反思

    一、题目分析 考察内容&#xff1a; led按键&#xff08;短按&#xff09;PWM输出&#xff08;PA1&#xff09;串口接收lcd显示 根据PWM输出占空比调节&#xff0c;高频与低频切换 串口接收&#xff08;指令解析&#xff09;【中断接收】 2个显示界面 led灯闪烁定时器 二…...

    2024/5/6 16:35:32
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/6 9:21:00
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/6 21:42:42
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57