strcmp

面向对象程序设计作业1

℡╲_俬逩灬. 提交于 2020-01-31 10:28:45
问答题: 回答以下问题: 如果你不了解C++请回答以下问题:你认为C语言有什么缺陷(你觉得哪里用的不顺手)。 如果你已经了解C++请回答以下问题:你觉得C++和C语言比有什么优点。 答:对指针和建立数据类型很不顺手,感觉很麻烦 查阅相关资料,简述一下C语言/C++的编译过程。(以下内容为百度所取,非本人原创) 1.预处理.预处理用于将所有的#include头文件以及宏定义替换成其真正的内容。 2.编译.将经过预处理之后的程序转换成特定汇编代码 3.汇编.汇编过程将上一步的汇编代码转换成机器码 4.链接.链接过程将多个目标文以及所需的库文件,链接成最终的可执行文件 (以上四行内容为百度所取,非本人原创) 自己动手,完成以下任务: 查看自己的C++编译器版本。 ** Visual Studio 2019 Developer Command Prompt v16.4.3 ** Copyright (c) 2019 Microsoft Corporation ********************************************************************** C:\Users\15905686425\source\repos>cl.exe 用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.24.28315 版 版权所有(C)

FreeRTOS专栏12:二值信号量

ε祈祈猫儿з 提交于 2020-01-30 01:22:31
信号量 1 信号量用于共享资源的访问: 2 信号量用于任务同步: 为什么一直说在中断服务函数中,不能够做太多的事情? 在进入中断服务函数时,低优先级的中断就不能响应,同类型的中断也无法响应,所以就要求ISR一定要短,快进快出。 最好的解决方案时,在中断服务函数中发送一个信号量,在任务中等待信号量,实现任务同步。 二值信号量 二值信号量简介: 二值信号量其实就是一个只有一个队列项的队列,这个特殊的队列要么是满的,要么是空的,这不正好就是二值的吗? 任务和中断使用这个特殊队列不用在乎队列中存的是什么消息,只需要知道这个队列是满的还是空的。可以利用这个机制来完成任务与中断之间的同步。 二值信号量执行流程: 创建信号量: 动态创建二值信号量: 实际上,信号量就是通过队列来实现的,源码如下: #define semSEMAPHORE_QUEUE_ITEM_LENGTH ((uint8_t)0U) #if (configSUPPORT_DYNAMIC_ALLOCATION == 1) #define xSemaphoreCreateBinary() xQueueGenericCreate((UBaseType_t)1, semSEMAPHORE_QUEUE_ITEM_LENGTH, queueQUEUE_TYPE_BINARY_SEMAPHORE) #endif 实际上,就是调用创建队列的函数

[极客大挑战 2019]BuyFlag

旧巷老猫 提交于 2020-01-28 21:22:35
0x00 知识点 php中的strcmp漏洞 说明: int strcmp ( string $str1 , string $str2 ) 参数 str1第一个字符串。str2第二个字符串。如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。 可知,传入的期望类型是字符串类型的数据,但是如果我们传入非字符串类型的数据的时候,这个函数将会有怎么样的行为呢?实际上,当这个函数接受到了不符合的类型,这个函数将发生错误,但是在5.3之前的php中,显示了报错的警告信息后,将return 0 , 也就是虽然报了错,但却判定其相等 php中的is_numeric()漏洞 is_numeric函数对于空字符%00,无论是%00放在前后都可以判断为非数值,而%20空格字符只能放在数值后。所以,查看函数发现该函数对对于第一个空格字符会跳过空格字符判断,接着后面的判断! 0x01 解题 查看源代码发现: <!-- ~~~post money and password~~~ if (isset($_POST['password'])) { $password = $_POST['password']; if (is_numeric($password)) { echo "password can't be number</br>";

PHP时间函数

坚强是说给别人听的谎言 提交于 2020-01-28 19:24:48
PHP输出时间差函数 <?php date_default_timezone_set('PRC'); //默认时区 echo "今天:",date("Y-m-d",time()),"<br>"; echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"<br>"; echo "昨天:",date("Y-m-d",strtotime("-1 day")), "<br>"; echo "明天:",date("Y-m-d",strtotime("+1 day")), "<br>"; echo "一周后:",date("Y-m-d",strtotime("+1 week")), "<br>"; echo "一周零两天四小时两秒后:",date("Y-m-d G:H:s",strtotime("+1 week 2 days 4 hours 2 seconds")), "<br>"; echo "下个星期四:",date("Y-m-d",strtotime("next Thursday")), "<br>"; echo "上个周一:".date("Y-m-d",strtotime("last Monday"))."<br>"; echo "一个月前:".date("Y-m-d",strtotime("last month"))."<br>";

面向对象程序设计寒假作业一解题报告

依然范特西╮ 提交于 2020-01-27 22:49:10
这个作业属于哪个课程 面向对象程序设计 这个作业要求在哪里 面向对象程序设计寒假作业1 这个作业的目标 安装C++开发环境、回顾知识、查看自己的C++编译器版本、使用命令行编译一份C语言/C++代码、实现简单的中文编程、编写博客 作业正文 问答题 、 实践题 、 编程题 其他参考文献 C语言的不足之处 C语言的缺陷 C语言的编译过程 一、问答题 1.如果你不了解C++请回答以下问题:你认为C语言有什么缺陷(你觉得哪里用的不顺手)。 如果你已经了解C++请回答以下问题:你觉得C++和C语言比有什么优点。 我对C++不怎么了解,在使用C语言的过程中,我发现了以下问题: (1)C语言语法限制不严格,对变量的类型约束不严格,影响程序的安全性,比如C语言中将一个浮点型数据赋给一个整型变量,编译时只会警告,不会报错。 (2)C语言是面向过程的语言,写大项目的时候很容易崩溃。 (3)C语言存在着一些不应该存在的语法限制。例如, switch语句由 case结构组成,每个 case结束之后都要使用一个 break来跳出 case结构,否则将会继续执行下面的 case,这样就会造成错误。 2.查阅相关资料,简述一下C语言/C++的编译过程。 过程:C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序-->可执行文件 编译---->形成目标代码

面向对象程序设计寒假作业1

大城市里の小女人 提交于 2020-01-27 21:21:51
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020OOP/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10224 这个作业的目标 1)你认为C语言有什么缺陷.2)查看自己的C++编译器版本并使用命令行编译一份C语言/C++代码.3)编程题. 作业正文 问答题 实践题 编程题 其他参考文献 https://www.cnblogs.com/2002ljy/p/12233463.html https://www.cnblogs.com/031902522ycy/p/12234902.html 问答题 1)当使用不同的数据类型一起运算时c语言不会进行报错,导致结果无法与预期相同. 2)对数组边界进行访问时容易出现无效内存引用. 实践题 查看自己的C++编译器版本 开始是一直使用gcc -v而无法查看,在参考其他同学的才发现问题所在。 使用命令行编译一份C语言/C++代码 访问目录一直错误导致无法找到应该运行的代码。 编程题 编程题要求: 1)读题,提取出题目的要求。 对题目所提出的关键字进行处理,再进行简单的运算后以要求方式输出。 2)分解需求,把需求分解为几个你觉得不太相关的模块。 阿拉伯数字与中文之间的转换 计算 对输入错误的处理(未完成) 3

ZJNU 2133 - 认亲大会

百般思念 提交于 2020-01-27 17:36:26
将辈分差距转为数字 例如 A 是 B son A=B-1 A 是 B grandfather A=B+2 然后编号1数字设置为0,建图bfs 最后搜索编号2到100是否存在>0的数即可 1 /* 2 Written By. StelaYuri 3 On 2020/01/15 4 */ 5 #include<bits/stdc++.h> 6 using namespace std; 7 typedef pair<int,int> P; 8 vector<P> v[105]; 9 queue<int> q; 10 int dis[105]; 11 bool vis[105]; 12 int main(){ 13 memset(dis,0x3f,sizeof dis); 14 int N,i,now,cnt,a,b; 15 char s[15]; 16 scanf("%d",&N); 17 while(N--){ 18 scanf("%d is %d's %s",&a,&b,s); 19 if(strcmp(s,"father.")==0){ 20 v[a].push_back(P(b,-1)); 21 v[b].push_back(P(a,1)); 22 } 23 else if(strcmp(s,"son.")==0){ 24 v[a].push_back(P(b,1)); 25 v

寒假作业1.3

时光毁灭记忆、已成空白 提交于 2020-01-27 15:08:21
这次的编程作业我把需求分为输入,汉字转为数字,计算,数字转为汉字并输出4个部分 而其中最重要也是最难的部分是汉字转为数字阶段,我先在开始开辟两个字符数组用来存放汉字的零至十和会输入的指令 同时将零至十和数组地址做好一一对应以方便后续查找 char key[6][20]={"整数","钱包","等于","增加","减少","看看"}; char num[11][4]={"零","一","二","三","四","五","六","七","八","九","十"}; 以及做好一个报错函数来让我不用每次都要打那段话(斜眼笑) void error(){ printf("输入错误\n"); }//输入报错情况 然后就是汉字转数字阶段,我用了这么一大段代码来处理转换,同时若发现输入的中文数字不符合规范,将返回(-1)来供程序进行报错与重新输入 int change(char a[20]) { int i,n,sum; char x[10],y[10]; n=strlen(a); if(n==2)//0-10的输入 { for(i=0;i<=11;i++) { if((strcmp(a,num[i])==0)) return i; if(i==11) return -1; } } if(n==4)//11-20以及10的倍数 { for(i=0;i<2;i++){ x[i]=a[i]; } for

C++寒假第一次作业

允我心安 提交于 2020-01-27 00:13:42
这个作业属于哪个课程 2020年面向对象程序设计 这个作业要求在哪里 寒假第一次作业要求 这个作业的目标 1)了解C/C++的一些优缺点,以及相关编译过程,自行安装开发环境;2)学会使用命令行来查看编译器版本,以及编译源文件;3)利用白话文来编程 作业正文 问答题 实践题 编程题 其他参考文献 百度百科之编译 Windows下使用Visual Studio自带的MSVC,命令行编译C/C++程序 问答题 问题一:你认为C语言有什么缺陷(你觉得哪里用的不顺手)? 缺陷:(1)C语言危险性高。比如C语言里可以把一个浮点型数据赋给一个整型变量,这样会丢失精度,而编译器只会警告,不会报错。我之前学过一点点Java,在Idea IDE上试了也一下上述做法,发现编译器直接报错了。再比如C语言使用的指针和数组,如果编程者没有正确及时地给指针变量赋值,或是访问了数组时越界了,编译器都不会报错,而这些操作都可能会使程序没法实现我们预期的功能。这么看来,用C语言编程会比较自由,但可能会有一些比较危险甚至不符合我们预期的表达不被编译器发现或禁止。(2)结合运用大量运算符写出的C语言程序容易会让人费解。在C语言中,有众多可使用的运算符。就我个人体验来说,在阅读那些把很多运算符结合在一起使用的C代码时,我需要厘清其中众多运算符的优先级,结合性,这样的C代码对我来说会比较难读懂。 问题二:简述一下C语言/C+

C++寒假第一次作业之编程题

五迷三道 提交于 2020-01-27 00:11:34
这个作业属于哪个课程 2020年面向对象程序设计 这个作业要求在哪里 寒假第一次作业要求 这个作业的目标 利用白话文来编程 作业正文 见下文 其他参考文献 无 编程题 中国文化博大精深,从仓颉造字开始,汉字一直流传到了今天。我们在感叹汉字的源远流长时,也不禁感慨,为什么没有一门使用汉字编程的语言? 汉字真的不能编程吗?最近文言文编程火了一把,吾有一數。曰三。名之曰「甲」。这朴实无华的变量定义无疑不是几千年来中华文化的发展中一朵奇葩。 今天小王同学想,文言文能编程那白话文呢?他找到了你,让你帮帮他。 编程要求 编写一个程序,输入满足以下语法要求的一段文字,输出运行后的结果。 变量定义:整数 钱包 等于 零 运算(加法):钱包 增加 四 运算(减法):钱包 减少 四 输出:看看 钱包 样例 输入: 整数 钱包 等于 零 钱包 增加 四 钱包 减少 三 看看 钱包 输出: 一 注意: 输入输出用例均为GBK编码,推荐使用vscode把文本切换为GBK编码。 数字只会出现以下 零一二三四五六七八九十 。 思考过程: 一.阅读题目,理解编程要求 由题可知需要对“ 整数 ”、“ 钱包 ”、“ 等于 ”、“ 增加 ”,“ 减少 ”、“ 看看 ”等关键字定义相关操作。比如,“ 整数 ”用来限定输入的中文数额(零、一、......)为整数;“ 钱包 ”相当于是一个储存数据的变量;“ 等于 ”相当于给