strcmp

2020寒假作业-1

笑着哭i 提交于 2020-01-25 23:35:32
这个作业属于哪个课程 2020年面向对象程序设计 这个作业要求在哪里 面向对象程序设计寒假作业1 这个作业的目标 1.安装C++开发环境 2.完成问答题、实践题及编程题 3.发布博客 作业正文 https://www.cnblogs.com/ying-hua/p/12222477.html 其他参考文献 https://jingyan.baidu.com/article/b2c186c81e79a6c46ef6ffd1.html 一.问答题 1.c语言的缺陷: 我不了解c++,学习c语言到现在的确遇到一些不顺手的地方。例如:输入或输出不同类型的变量时要用不同的格式符,比如%d %lf。有时整个程序都要修改,比较麻烦。最烦恼的地方就是在程序某些地方写错的时候不会编译错误,比如把%d写成%n,或者忘记加地址符&,这类错误就难以找到。 2.c语言的编译过程: (1)进行编译预处理:对程序中的伪指令和特殊符号进行处理。 (2)编译:将经过预处理之后的程序转换成特定汇编代码。 (3)汇编:将汇编代码转化为机器码,产生目标文件。 (4)连接:连接多个目标文件和库文件,产生可执行文件。 二.实践题 1.查看c++编译器版本 打开devc++,就在右上角,如图 2.使用命令行编译一份c语言代码 由于不懂什么事命令行,我搜索到了如下网址,并按他的方法操作 https://jingyan.baidu

第一次作业

∥☆過路亽.° 提交于 2020-01-25 15:22:39
这个作业属于哪个课程 2020面向对象程序设计 这个作业要求在哪里 面向对象程序设计寒假作业1 这个作业的目标 1.了解c语言的局限性 2.了解编译过程 3.使用命令行查看c++编译器版本并且编译一个c代码 4.使用白话文编程 作业正文 第一次作业 其他参考文献 c语言编译过程 , 命令行编译c语言 一·问答题 (1)不够简洁 我们在写代码的时候,有时会把一段代码复制粘贴好几次。比如引用数组时,要写好几次的循环,这样既浪费空间也浪费时间。同时为了实现某一功能时,时常要写很长的代码。 (2)不够安全 写程序时,只要不会违反语法,就不会报错,这就导致写程序时会更加困难,比如数组越界,在编译时就不会报错。 2.(1.预处理: 预处理阶段主要是完成对源程序的替换工作。经过替换后,会生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件.i,该输出文件中只有常量如数字、字符等,或者是变量的定义,以及C语言的关键字如if、else等,如#define pi 3.14,那么之后系统把所有的pi都变成3.14. (2.编译: 主要进行语法检查,查看是否有语法错误,但是如果该源程序运用了非本源文件中定义的函数,只要有对应的声明,编译器不会报错。 (3.汇编: 汇编是将汇编代码生成机械码,这个文件就叫做目标文件,也就是说汇编是机械转换的过程。 (4.链接:

第一次作业

偶尔善良 提交于 2020-01-24 23:53:12
面向对象程序设计2020第一次作业 这个作业属于哪个课程 2020面向对象程序设计张栋班 这个作业要求在哪里 面向对象程序设计寒假作业1 这个作业的目标 对c语言与c++的思考,安装开发环境,了解编译的过程,学习文字的编程,通过思考与学习提高基础能力并记录博客 作业正文 第一次作业 其它参考文献 c语言编译过程 命令行编译c 一.问答题 1 .(1)复杂 c语言具有较多的运算符,不容易记住,而且对于那么多的优先级难以搞清楚,容易混乱而出错。 c语言在实现某些功能时需要写的很多很复杂。 (2)不安全 c语言的数组越界,程序不会报错,容易破环程序。 c语言对于浮点变量赋给整型只会提示warning,即有歧义的程序也可以通过,容易攻击。 2 .编译过程:编译预处理>编译阶段>优化阶段>汇编过程>链接程序 (1)对伪指令以及特殊符号进行处理。伪指令即以#开头的指令,包括宏定义指令,条件编译指令,头文件包含指令等,而特殊符号可以被预编译程序识别。于是最终生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件,完成整个编译预处理过程。 (2)这是一个将高级语言转化为机械语言的过程。通过语法以及词法分析翻译成等价代码或者中间代码。 (3)优化阶段分为两部分。一部分是对中间代码进行优化,另一部分是对目标代码的生成而进行的。经过优化得到的汇编代码必须经过汇编程序的汇编转换成相应的机器指令

Is this the only return value for strcmp() in C?

混江龙づ霸主 提交于 2020-01-23 12:01:25
问题 I'm learning C, and am currently studying String Handling. From where I'm studying, strcmp() is defined as- This is a function which compares two strings to find out whether they are same or different. The two strings are compared character by character until there is a mismatch or end of one of the strings is reached, whichever occurs first. If the two strings are identical, strcmp( ) returns a value zero. If they’re not, it returns the numeric difference between the ASCII values of the

Is this the only return value for strcmp() in C?

十年热恋 提交于 2020-01-23 11:58:22
问题 I'm learning C, and am currently studying String Handling. From where I'm studying, strcmp() is defined as- This is a function which compares two strings to find out whether they are same or different. The two strings are compared character by character until there is a mismatch or end of one of the strings is reached, whichever occurs first. If the two strings are identical, strcmp( ) returns a value zero. If they’re not, it returns the numeric difference between the ASCII values of the

ARM裸板开发——简单编写实现“shell”功能

谁说胖子不能爱 提交于 2020-01-21 12:44:56
文章目录 简单编写实现一个裸板环境下使用的“shell”功能程序,可以控制LED、beep等。 main主程序设计 主要函数:strcmp实现 LED初始化及控制功能实现 UART初始化及控制功能实现 使用Makefile编译 执行结果 简单编写实现一个裸板环境下使用的“shell”功能程序,可以控制LED、beep等。 main主程序设计 # include "uart.h" # include "strcmp.h" # include "led.h" //保存从上位机接收的数据信息 static char buf [ 32 ] ; void main ( void ) { //1.初始化UART uart_init ( ) ; //2.初始化LED led_init ( ) ; //3.根据用户需求完成业务 while ( 1 ) { uart_puts ( "\n Shell#" ) ; uart_gets ( buf , 32 ) ; if ( ! my_strcmp ( buf , "led on" ) ) led_on ( ) ; else if ( ! my_strcmp ( buf , "led off" ) ) led_off ( ) ; else uart_puts ( "\n Your command is invalid\n" ) ; } } 主要函数

Linux System Calls Hooking Method Summary

坚强是说给别人听的谎言 提交于 2020-01-19 02:57:33
1. 相关学习资料 http://xiaonieblog.com/?post=121 http://hbprotoss.github.io/posts/li-yong-ld_preloadjin-xing-hook.html http://www.catonmat.net/blog/simple-ld-preload-tutorial/ http://os.51cto.com/art/201004/195510.htm http://sebug.net/paper/pst_WebZine/pst_WebZine_0x03/html/%5BPSTZine%200x03%5D%5B0x03%5D%5B%E9%AB%98%E7%BA%A7Linux%20Kernel%20Inline%20Hook%E6%8A%80%E6%9C%AF%E5%88%86%E6%9E%90%E4%B8%8E%E5%AE%9E%E7%8E%B0%5D.html http://blog.chinaunix.net/uid-26310563-id-3175021.html http://laokaddk.blog.51cto.com/368606/d-26/p-2 http://m.blog.csdn.net/blog/panfengyun12345/19480567 https://www.kernel.org

为Linux 操作系统建立兼容的 Windows命令接口

匆匆过客 提交于 2020-01-18 00:46:07
简单实现的dos命令 CLS, DATE,TIME,FIND,FINDSTR,COMP,FC,EXIT,HELP,MORE 说明 由于自己能力和时间有限,程序依旧存在不少bug,并且不是原模原样的实现dos命令,有的简单实现,有的命令参数众多,只实现了几个 这个程序写的并不优雅,违反了很多大忌,只是简单能跑 写完后我再也不想见到“段错误”这三个字,心酸,这个可能在出现段错误时为你提供点解决思路 https://www.cnblogs.com/zl-graduate/p/5735288.html 使用的环境 gcc 9.2.1 20190909 GNU gdb (Debian 8.3-1) 8.3 Kali-Linux-2018.2-vm-amd64 参考的Linux api文档 Linux c api 参考手册 https://legacy.gitbook.com/book/wizardforcel/linux-c-api-ref/details https://github.com/guodongxiaren/LinuxAPI/wiki 结构 为了演示,所用到的两个文档1.txt 2.txt CLS 功能 cls命令的功能是清屏 设计流程 其实就是简单地 fputs("\x1b[2J\x1b[H", stdout);其中的不明所以的字符串是VT100的控制码,部分定义如下 "

实验:词法分析

℡╲_俬逩灬. 提交于 2020-01-17 09:57:49
#include<stdio.h> #include<stdalign.h> #define M 100 main() { int i,i1=0,i2=0,j; char n[M],n1[M],n2[M]; printf("请输入一串数据:(数字,字母,界符,运行符)\n"); gets(n); for(i=0;i<n;i++) { j=(int)n[i]; n1[i]=n[M]; if((j>=65)&&(j<=90)||(j>=90)&&(j<=122)) { n1[i1]=n[i]; i1++; } else{ while(i1!=0) { n1[i1]='\0'; if( strcmp(n1,"auto")==0||strcmp(n1,"int")==0||strcmp(n1,"double")==0||strcmp(n1,"long")==0 ||strcmp(n1,"char")==0||strcmp(n1,"float")==0||strcmp(n1,"short")==0||strcmp(n1,"signed")==0 ||strcmp(n1,"unsigned")==0||strcmp(n1,"struct")==0||strcmp(n1,"union")==0||strcmp(n1,"enum")==0 ||strcmp(n1,"static")==0|

词法分析实验

陌路散爱 提交于 2020-01-15 21:39:47
实验一、词法分析实验 专业:商业软件工程 姓名:伍明航 学号:201506110090 一、 实验目的 (1) 理解词法分析在编译程序中的作用。 (2) 加深对有穷自动机模型的理解。 (3) 掌握词法分析程序的实现方法。 (4) 用C语言对一个简单语言的子集编制一个一遍扫锚的编译理解,掌握编译程序的实现方法和技术。 二、 实验内容和要求 1,待分析的简单语言的词法。 2,各种单词符号对应的种别码。 3,词法分析程序的功能(输入,输出)。 三、 实验方法、步骤及结果测试 1. 源程序名:词法分析 .cpp #include<stdio.h> #include<string.h> #include<stdlib.h> char TOken[10];//分开进行比较 char ch; /*char rwtab[6]={"begin","if","then","while","do","end"};*/ char r1[]={"auto"}; char r2[]={"break"}; char r3[]={"case"}; char r4[]={"char"}; char r5[]={"const"}; char r6[]={"continue"}; char r7[]={"default"}; char r8[]={"do"}; char r9[]={"double"}; char