printf

break与continue

走远了吗. 提交于 2020-04-02 09:38:35
continue直接跳出本次循环,进入下次循环。 break直接跳出循环。 for( i=1;i<=10;i++) { if(i==6) break; printf(“%d”,i); } //输出结果:12345 for(var i=1;i<=10;i++) { if(i==6) continue; printf(“%d”,i); } //输出结果:1234578910 来源: https://www.cnblogs.com/two-fire/p/10930719.html

Memcached内存缓存技术

北战南征 提交于 2020-04-01 15:17:06
Memcached是什么,有什么作用? Memcached是一个开源的、高性能的内存缓存软件,从名称上看Mem就是内存的意思,而Cache就是缓存的意思。 Memcached通过在事先规划好的内存空间中临时缓存数据库中的各类数据,以减少业务直接对数据库的访问,从而减轻数据库的访问压力和网站集群的响应速度。 Memcached服务在企业集群架构中应用场景 1.作为数据库的前端缓存应用 完整缓存(易):例如商品分类,以及商品信息,可实现放到内存里,然后再对外提供数据访问。这个被称之为预热。用户访问时可以只读取memcached缓存,不读取数据库了。 热点缓存(难):需要前端程序配合。只缓存热点的数据,即缓存经常被访问的数据。先预热基础数据,然后再动态更新。程序先读取缓存,如果缓存里没有对应的数据,程序再去读取数据库,然后程序把读到的数据放入缓存。 特殊说明: 如果碰到电商秒杀等高并发的业务,一定要事先预热,或者其他思想实现,例如:秒杀只是获取资格,而不是瞬间秒杀到手商品。如果数据更新,要同时触发缓存更新,防止给用户过过期数据。 2.作为集群的session会话共享存储 优点:速度比files块,可以解决共用session问题 缺点:不能持久化,只能单点部署,多点数据无法同步,即使用hash分配节点,也会有session丢失 Memcached服务在不同企业业务应用场景中的工作流程 1

CF #560 div3

戏子无情 提交于 2020-04-01 04:22:58
碎碎念 只想着快了 细节考虑不周,补题时一直就奇怪当时怎么就没这么想呢, 还有题意,老是会遗漏,英文水平不够呀 还有特判问题,错误想法前的特判,改掉其他地方后特判也要改呀 对于数学规律,算出的公式看自己的解决思路来化简 写写前五题吧 后俩有空补一下 A:给定01字符串s,长度n,x,y, 0=<x<y<n;可任意对某位取反,问使得s % 10^x == 10^y需进行的最小操作数。 嘛 简单 保证s的倒数y位都为0就ok了嘛 然后倒数的 x~y位之间也都是0就可以了 嗯 搞搞, 过了,开心 早上一看 hacked了 哇 看了下代码 判断倒数第x位的时候顺手判断了一下该位是否为1, 为0则操作数++,其实保证了s没有前导0 ,x<n,那倒数x位前肯定有1存在,x位是啥就无所谓了 呜 #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #include<string> #include<algorithm> #include<map> #include<queue> #include<stack> #include<list> #include<set> using namespace std; typedef long long ll; typedef pair

IP地址匹配

拟墨画扇 提交于 2020-04-01 03:14:08
问题描述: 在路由器中,一般来说转发模块采用最大前缀匹配原则进行目的端口查找,具体如下: IP地址和子网地址匹配: IP地址和子网地址所带掩码做AND运算后,得到的值与子网地址相同,则该IP地址与该子网匹配。 比如: IP地址:192.168.1.100 子网:192.168.1.0/255.255.255.0,其中192.168.1.0是子网地址,255.255.255.0是子网掩码。 192.168.1.100&255.255.255.0 = 192.168.1.0,则该IP和子网192.168.1.0匹配 IP地址:192.168.1.100 子网:192.168.1.128/255.255.255.192 192.168.1.100&255.255.255.192 = 192.168.1.64,则该IP和子网192.168.1.128不匹配 最大前缀匹配: 任何一个IPv4地址都可以看作一个32bit的二进制数,比如192.168.1.100可以表示为:11000000.10101000.00000001.01100100, 192.168.1.0可以表示为11000000.10101000.00000001.00000000 最大前缀匹配要求IP地址同子网地址匹配的基础上,二进制位从左到右完全匹配的位数尽量多(从左到右子网地址最长)。比如: IP地址192.168.1

25-字符串

≡放荡痞女 提交于 2020-04-01 02:05:30
字符串是位于双引号中的字符序列 在内存中以"\0"结束,所占字节比实际多一个 注意: (1)可以把一个字符常量赋给一个字符变量,但不能把字符串常量赋给字符变量 (2)C语言中没有字符串变量,可以 用字符数组来存放字符串 1、字符数组的概念   用来存放字符的数组称为字符数组。 2、字符数组定义   形式和前边介绍的数值数组相同    char 数组名[常量表达式] 例如:char ch[5];   字符数组也可以是二维或多维数组。    char 数组名[常量表达式1][常量表达式2];   例如:char ch[2][5]; 即为二维字符数组。 注意:定义字符数组时,应确保数组长度比字符串长度至少多1 3、字符数组初始化 字符数组也允许在定义时作初始化赋值 char ch[4] = {'a', ' ', 'o'}; 赋值后各元素的值为: ch[0] = 'a'; ch[1] = ' '; ch[1] = 'o'; 其中ch[3]未赋值,系统自动赋值为0。 当对全体元素赋初值的时候也可以省去长度说明。例如:   char ch[] = {'f', 'A', ' '}; 这时数组长度自动定为3。 注意:未被使用的元素均被自动初始化为0 4、字符数组的引用   字符数组和普通数组一样,也是通过下标引用。 5、字符串和字符串结束标志   在C语言中没有专门的字符串变量

C语言字符串函数大全

时间秒杀一切 提交于 2020-03-31 18:55:35
C语言字符串函数大全 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法 : char *stpcpy(char *destin, char *source); 程序例 : #include <stdio.h> #include <string.h> int main(void) { char string[10]; char *str1 = "abcdefghi"; stpcpy(string, str1); printf("%s\n", string); return 0; } 函数名 : strcat 功 能 : 字符串拼接函数 用 法 : char *strcat(char *destin, char *source); 程序例 : #include <string.h> #include <stdio.h> int main(void) { char destination[25]; char *blank = " ", *c = "C++", *Borland = "Borland"; strcpy(destination, Borland); strcat(destination, blank); strcat(destination, c); printf("%s\n", destination); return 0; } 函数名 : strchr 功

操作系统实验二

不打扰是莪最后的温柔 提交于 2020-03-31 05:14:10
专业:商业软件工程 班级:商软2班 姓名:梁仕标 学号:201406114248 实验二 作业调度模拟程序 一、目的和要求 1. 实验目的 (1)加深对作业调度算法的理解; (2)进行程序设计的训练。 2 .实验要求 用高级语言编写一个或多个作业调度的模拟程序。 单道批处理系统的作业调度程序。作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素。 作业调度算法: 1) 采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度。总是首先调度在系统中等待时间最长的作业。 2) 短作业优先 (SJF) 调度算法,优先调度要求运行时间最短的作业。 3) 响应比高者优先(HRRN)调度算法,为每个作业设置一个优先权(响应比),调度之前先计算各作业的优先权,优先数高者优先调度。RP (响应比)= 作业周转时间 / 作业运行时间=1+作业等待时间/作业运行时间 每个作业由一个作业控制块JCB表示,JCB可以包含以下信息:作业名、提交(到达)时间、所需的运行时间、所需的资源、作业状态、链指针等等。 作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种之一。每个作业的最初状态都是等待W。 一、 模拟数据的生成 1. 允许用户指定作业的个数(2-24),默认值为5。 2.

蛇形矩阵

匆匆过客 提交于 2020-03-31 04:59:52
题目参考<算法竞赛入门经典>第二版第三章 3.1 1 #include <stdio.h> 2 #include <string.h> 3 4 #define N 20 5 int a[N][N]; 6 int main(int argc, char **argv){ 7 int n; 8 while(scanf("%d",&n)!=EOF){ 9 memset(a, 0, sizeof(a)); 10 int tol = 1; 11 int x, y; 12 x = -1; 13 y = n; 14 while(tol<=n*n){ 15 x++; 16 y--; 17 while( x < n && a[x][y] == 0){ 18 a[x++][y] = tol++; 19 }// x = n y = n-1 20 x--; 21 y--; 22 while(y >= 0 && a[x][y] == 0){ 23 a[x][y--] = tol++; 24 } 25 x--; 26 y++; 27 while(x >= 0 && a[x][y] == 0){ 28 a[x--][y] = tol++; 29 } 30 x++; 31 y++; 32 while( y < n && a[x][y] == 0){ 33 a[x][y++] = tol++; 34 } 35 }

sync_with_stdio和cin.tie(0); cout.tie(0);

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-31 03:43:25
sync_with_stdio 这个函数是一个“是否兼容stdio”的开关,C++为了兼容C,保证程序在使用了std::printf和std::cout的时候不发生混乱,将输出流绑到了一起。 应用 在ACM里,经常出现数据集超大造成 cin TLE的情况。这时候大部分人(包括原来我也是)认为这是cin的效率不及scanf的错,甚至还上升到C语言和C++语言的执行效率层面的无聊争论。其实像上文所说,这只是C++为了兼容而采取的保守措施。我们可以在IO之前将stdio解除绑定,这样做了之后要注意不要同时混用cout和printf之类。 在默认的情况下cin绑定的是cout,每次执行 << 操作符的时候都要调用flush,这样会增加IO负担。可以通过tie(0)(0表示NULL)来解除cin与cout的绑定,进一步加快执行效率。 ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); 原来而cin,cout之所以效率低,是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来打消iostream的输入 输出缓存,可以节省许多时间,使效率与scanf与printf相差无几. 参考来源: 来源: https://www.cnblogs.com/xwh-blogs/p/12602671.html

操作系统之实验二作业调度模拟程序

五迷三道 提交于 2020-03-31 02:01:05
实验二 作业调度模拟程序 专业:商业软件工程 班级:商软2班 姓名:甘佳萍 学号:201406114207 一、目的 实验目的: (1)加深对作业调度算法的理解; (2)进行程序设计的训练。 二、要求 实验要求: 用高级语言编写一个或多个作业调度的模拟程序。 单道批处理系统的作业调度程序。作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素。 作业调度算法: (1) 采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度。总是首先调度在系统中等待时间最长的作业。 (2) 短作业优先 (SJF) 调度算法,优先调度要求运行时间最短的作业。 (3) 响应比高者优先(HRRN)调度算法,为每个作业设置一个优先权(响应比),调度之前先计算各作业的优先权,优先数高者优先调度。RP (响应比)= 作业周转时间 / 作业运行时间=1+作业等待时间/作业运行时间 每个作业由一个作业控制块JCB表示,JCB可以包含以下信息:作业名、提交(到达)时间、所需的运行时间、所需的资源、作业状态、链指针等等。 作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种之一。每个作业的最初状态都是等待W。 一、 模拟数据的生成 1. 允许用户指定作业的个数(2-24),默认值为5。 2.