char

[51单片机学习笔记ONE]-----LED灯的多种使用方法

≯℡__Kan透↙ 提交于 2020-03-30 01:54:39
一.交替闪烁8个LED灯,时间间隔为1s 1 /****************************************************** 2 实验名称: 交替闪烁8个LED灯,时间间隔1s 3 实验时间: 2014年12月2日 4 ******************************************************/ 5 6 #include <reg51.h> 7 8 void delay(unsigned char a); 9 10 void main() 11 { 12 while(1) 13 { 14 /*根据原理图,P0置高电平灯亮*/ 15 P0 = 0x00; 16 delay(45); 17 18 /*根据原理图,P0置低电平灯灭*/ 19 P0 = 0xFF; 20 delay(45); 21 } 22 } 23 24 /*延时1s,有误差。计算公式大约可以用((((c*2)+3)*b+3)*a)*/ 25 void delay(unsigned char a) 26 { 27 unsigned char b,c; 28 for(;a>0;a--) 29 for(b=152;b>0;b--) 30 for(c=70;c>0;c--); 31 32 } 实验的代码很简单。但是实际操作过程中还是遇到了以下问题:

实验一、词法分析实验

送分小仙女□ 提交于 2020-03-29 21:36:41
实验一、词法分析实验 专业:商业软件工程2班 姓名:崔格畅 学号:201506110148 一、 实验目的 编制一个词法分析程序 二、 实验内容和要求 输入:源程序字符串; 输出:二元组(种别,单词本身); 待分析语言的词法规则。 三、 实验方法、步骤及结果测试 1. 源程序名:识别字符串 .c 2. 原理分析及流程图 词法分析程序,运行后,提示用户输入字符串 ( 遇到 ’#’ 退出输入 ) ,调用函数 scanner() , scanner 函数内部用了 while 嵌套 while , while 里再嵌套 for 对用户输入的字符数组元素进行分类, for 里进行多分支判断,若为字母,存入辅助数组 tempc[] ,调用函数 recignition() , recignition() 函数里对字符数组 tempc[] 判断,若为相应关键字,输出(种别码,本身),否则输出当前字母,退出函数 recignition() 。若为数字,用输出该字符 -48 的值。若不为上述字符,进入对符号的判断,若判断是定义的符号,则输出(种别码,本身),结束。 3. 主要 程序段及其解释: #include<stdio.h> #include<string.h> char tempc[100]; char tempf[100]; char tempn[100]; char ch[100];

词法分析程序实验

做~自己de王妃 提交于 2020-03-29 21:34:07
词法分析程序实验 一、 实验目的 编制一个词法分析程序。 二、 实验内容和要求 输入:源程序字符串 输出:二元组(种别,单词符号本身)。 三、 实验方法、步骤及结果测试 源程序名: bianyiyuanli .c 可执行程序名: bianyiyuanli .exe 原理分析及流程图 通过一些for循环和while循环进行一个个的翻译。 源程序如下: #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 r10[]={"else"}; char r11[]={"enum"}; char r12[]={"extern"}; char r13[]={"float"};

PL/0 词法分析

…衆ロ難τιáo~ 提交于 2020-03-29 20:25:04
  用 C 语言编写一个 PL/0 词法分析器 ,为语法语义分析提供单词, 使之能 把输入的字符 串 形式的源程序分割成一个个单词符号传递给语法语义分析, 并把分析结果 (基本字,运算符, 标识符 ,常数以及界符) 输出 。   PL/0 的词法分析程序 GETSYM 是一个独立的过程,其功能是为语法语义分析提供单词,把输入的字符串形式的源程序分割成一个个单词符号传递给语法语义分析。 其主要任务为: 1、滤空格;2、识别基本字;3、识别标识符;4、拼数;5、拼复合词;6、输出源程序。 PL/0 编译程序一般设置 3 个全程变量: SYM :存放每个单词的类别,用内部编码形式表示; ID : 存放用户所定义的标识别符的值; NUM :存放用户定义的数。 PL/0 语言的单词的种类分成基本字(亦称保留字)、运算符、标识符、常数、界符 5 个大类,以下是针对这 5 类单词的一种 EBNF 描叙:   < 无符号整数 > :: =< 数字 >{< 数字 >}   < 标识符 > :: =< 字母 >{< 字母 >|< 数字 >}   < 字母 > :: =a|b| …… |X|Y|Z   < 数字 > :: =0|1|2| …… |8|9   < 保留字 > :: = const | var | procedure | begin | end | odd | if | then |

【视频开发】ONVIF、RTSP/RTP、FFMPEG的开发实录

笑着哭i 提交于 2020-03-29 14:01:59
ONVIF、RTSP/RTP、FFMPEG的开发实录 前言 本文从零基础一步步实现ONVIF协议、RTSP/RTP协议获取IPC实时视频流、FFMPEG解码。开发环境为WIN7 32位 + VS2010。 最终成功获取浩云、海康、大华的IPC实时视频流。 如果要了解本文更多细节,或者用本文作设计指导,那最好把文中提到的连接都打开,与本文对照着看。 前期准备 1.准备一个ONVIF服务器 既然开发的是客户端,那必需要有服务端了。我这里大把的IPC,好几个品牌的,就随便拿了一个。 如果没有IPC,倒是可以用 VLC media player 搭建一下。或者其他播放器也可以。这个网上很多资料。 2.准备一个ONVIF 测试工具 这个工具在ONVIF的官网上可以找到:ONVIF Device Test Tool 。 3.准备解码器相关资料及资源 收到视频流后,需要解码。可以用ffmpeg,也可以用其他解码库。这个是后话了,等ONVIF搞定之后再搞解码也不迟。推荐链接: http://wenku.baidu.com/view/f8c94355c281e53a5802ffe4.html?re=view (Windows下使用MinGW编译ffmpeg与x265) 4.准备资料 ONVIF协议书必看,ONVIF官网自然是不能少的。其他资料推荐几个链接: http://www.cuplayer

HDU 6494 球赛 [dp]

纵饮孤独 提交于 2020-03-29 13:31:09
身体是革命的本钱,这道题是关于运动的。 Alice和Bob在进行乒乓球比赛,比赛一共打了 n 个球,对于每一球,如果Alice赢了,那么裁判员会在计分板上记下'A',如果Bob赢了则会记下'B'。 时间转眼间到了2050年,计分板上某些信息因为时间流逝丢失了,但我们想要复现当年的激烈局面。 丢失的位置用'?'表示,我们想知道,计分板上对应的乒乓球球赛,最多进行了多少局(最后一局可以没打完,但是如果没打完的话就不计入答案)? 在一局比赛中,先得11分的一方为胜方,10平后,先多得2分的一方为胜方。 第一行一个整数 T (1≤T≤51) 表示数据组数。 接下来 T 组数据,每行一个字符串表示计分板上记录的信息,计分板上只包含'A','B','?'这些字符,计分板长度 n≤10000。 \(dp_{i,j,k}\) 表示当前弄到第 \(i\) 个位置有 \(j:k\) 最大的局数。 // powered by c++11 // by Isaunoya #pragma GCC diagnostic error "-std=c++11" #include <bits/stdc++.h> #define rep(i, x, y) for (register int i = (x); i <= (y); ++i) #define Rep(i, x, y) for (register int i

spine实现预加载(一)

好久不见. 提交于 2020-03-29 12:01:27
前言   本文实现了spine动画的预加载,解决在战斗等大量加载spine动画的时候出现卡顿现象。 这里使用和修改三个类,直接修改的源码,当然你也可以继承LuaSkeletonAnimation,自己封装一个类。这里做个例子, 不自己写类,直接改源码。如果想自己写,绑定到lua,看我别的帖子。废话不多说,入主题。 在之前对图片 应该对图片进行异步加载,详细以后再说。 版本:quicklua 3.3 win vs2012 原理 先分析下,LuaSkeletonAnimation类 class LuaSkeletonAnimation: public spine::SkeletonAnimation { public: static LuaSkeletonAnimation* createWithFile (const char* skeletonDataFile, const char* atlasFile, float scale = 1); LuaSkeletonAnimation (const char* skeletonDataFile, const char* atlasFile, float scale = 1); virtual ~LuaSkeletonAnimation(); }; LuaSkeletonAnimation 继承自 SkeletonAnimation类

C语言中字符数组库函数

拈花ヽ惹草 提交于 2020-03-29 04:04:25
以下内容摘自《C程序设计教程》(美)H.M.Deitel P.J.Deitel著,薛万鹏等译,机械工业出版社。 void *memccpy (void *dest, const void *src, int c, size_t n); 从sr*所指向的对象复制*个字符到*est所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。 void *memcpy (void *dest, const void *src, size_t n); 从sr*所指向的对象复制*个字符到*est所指向的对象中。返回指针为dest的值。 void *memchr (const void *s, int c, size_t n); 在s所指向的对象的前n个字符中搜索字符c。如果搜索到,返回指针指向字符c第一次出现的位置;否则返回NULL。 int memcmp (const void *s1, const void *s2, size_t n); 比较s1所指向的对象和s2所指向的对象的前n个字符。返回值是s1与s2第一个不同的字符差值。 int memicmp (const void *s1, const void *s2, size_t n); 比较s1所指向的对象和s2所指向的对象的前n个字符,忽略大小写

c语言字符串处理函数

这一生的挚爱 提交于 2020-03-29 04:03:21
很高效的字符串处理函数: void *memccpy (void *dest, const void *src, int c, size_t n); 从src所指向的对象复制n个字符到dest所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。 void *memcpy (void *dest, const void *src, size_t n); 从src所指向的对象复制n个字符到dest所指向的对象中。返回指针为dest的值。 void *memchr (const void *s, int c, size_t n); 在s所指向的对象的前n个字符中搜索字符c。如果搜索到,返回指针指向字符c第一次出现的位置;否则返回NULL。 int memcmp (const void *s1, const void *s2, size_t n); 比较s1所指向的对象和s2所指向的对象的前n个字符。返回值是s1与s2第一个不同的字符差值。 int memicmp (const void *s1, const void *s2, size_t n); 比较s1所指向的对象和s2所指向的对象的前n个字符,忽略大小写。返回值是s1与s2第一个不同的字符差值。 void *memmove (void *dest, const void

恶心的C语言strtok函数

喜你入骨 提交于 2020-03-29 04:00:05
从C#、JAVA到C ,让我觉得像是从公产主义社会回到了原始社会,不顺手,所以很心里憋气!!! 函数名: strtok 功 能: 查找由在第二个串中指定的分界符分隔开的单词 用 法: char * strtok( char * str1, char * str2); 程序例: #include < string .h > #include < stdio.h > int main( void ) { char input[ 16 ] = " abc,d " ; char * p; /**/ /* strtok places a NULL terminator in front of the token, if found */ p = strtok(input, " , " ); if (p) printf( " %s\n " , p); /**/ /* A second call to strtok using a NULL as the first parameter returns a pointer to the character following the token */ p = strtok(NULL, " , " ); if (p) printf( " %s\n " , p); return 0 ; } 下面是恶心的strtok函数,用作分割字符串