RPG编程同C语言编程的比较.docx
《RPG编程同C语言编程的比较.docx》由会员分享,可在线阅读,更多相关《RPG编程同C语言编程的比较.docx(31页珍藏版)》请在咨信网上搜索。
用法 ile rpg例子 变量声明 1、 整数(i(整数)、b (二进制)、s(区位十进制)、p (压缩十进制)) i(整数)只可为3、5、10、20个字节长。 dposls5i 0inz(*zero) dpos2slOi 0inz(*zero) dpos3s3i 0inz(*zcro) dpos4s20i 0inz(*zero) 注意 s(区位十进制) dpos5s16s 0 inz(*zero) 2、 浮点数 只能定义为4字节和8字节 dfls4finz(*zero) df2s8fin z(* zero) cevalf2=121212.12121212 cf2dsply cevalfl=121212.12121212 cfldsply 注意在小数点位数必须为blanko 8字节相当于double 4字节相当于float dsply +1.2l21212e+05 3、 字符串 das30a inz(*blank) a单字节或多字节 n指示符,单字节 4、 数组 这里只说明运行时数组 darrays2s 0 dim(12) 引用array(下标),下标从1开始。 dcharrs5a dim(12) 5、 基指针 基指针必须为4字节,且必须与4字节边界对齐。 6、 结构 D ParmDSDS1024 D SFldl50 D SFld2200 D C*ENTRYPList CParmParmDS C*这是我们经常使用的一种结构定义方式和使用方式,这种用于传递人口参数的数据结构,一定 不能使用1NZ关键字。 Dints2s 0 inz(*zero ) Cevalcharl = '1' Cmovelcharlint Cintdsply Ceval*inlr=T Creturn 此时字符串实际长度小于数字长度,movel时,此时int显示 DSPLY 10 Dcharls1a inz(*blank) Dints2s 0 inz(*zero ) Cevalcharl = '1' Cmovecharlint Cintdsply Ceval*inlr='1' Creturn 此时字符串实际长度小于数字长度,move时,此时int显示 DSPLY 1 Dcharls2a inz(*blank) Dints2s 0 inz(*zero ) Cevalcharl ='12' Cmovecharlint Cintdsply Ceval*inlr='1' Creturn 此时字符串实际长度等于数字长度,movel和move时,此时int都显示 DSPLY 12 Dcharls3a inz(*blank) Dints2s 0 inz(*zero ) Cevalcharl = '123' Cmovelcharlint Cintdsply Ceval*inlr=1' Creturn 此时字符串实际长度大于数字长度,movel时,此时int显示 DSPLY 12 move时,此时int显示 DSPLY 23 当int向char移动时也遵循这个结果. 函数比拟 一、 字符函数 das30ainz(*blank) dbs20ainz(*blank) des50ainz(*blank) 1、 字符串连接 C eval a='gaodianhua, C eval b= is a good boy' C eval c=a+b CC dsply c*c的值dsply为 gaodianhua is a good boy C eval a=%trim(a)+%trimr(b) c a dsply c*c的值dsply为 gaodianhua is a good boy 2、 扫描字符串 C eval pos=%scan(,oo':a:1) C if pos = 0 c 'not found1 dsply c else c pos dsply c endif 3、%check(comparator:base{:start}):在 base 串中查找第一个不在 comparator 中存 在的字符的位置,如果base市的所看字符均在comparator中存在,那么返回0。 %checkr(comparator:base{:start}):在 base 串中查找最后一个不在 comparator 中存在的字符的位置,如果base中面所有的字符均在comprator中存在,那么返回0。 4、%SUBST (字符串:开始位置{:长度})返回自变量字符串的一局部。它也可用作带 EVAL操作码的赋值的结果5、%STR (基指针{:最大长度})(右边) %STR (基指针:最大长度)(左边)%alloc(number) Deallocptr1%realloc(ptr:number) Number /、须是不带小数的非浮点数。 %STR既可以用来获取以NULL结束的字符串(当在表达式的右边使用时,此函数返 回第一个参数指向的数据,直至(但不包括)指定长度中找到的第一个空字符(xW)o 可在字符表达式有效的位置处使用此内置函数。在运行时,假设在指定的长度中找不到 NULL终止符,那么不出错。在此情况下,结果值的长度与指定的长度相同。),又可以用 来存储以NULL结束的字符串(当在表达式的左边使用时,%STR(ptr:length)将表达 式右边的值赋给指针指向的存储器,并在尾部添加以NULL结束的字节。可指定的最 大长度是65535o这表示最多可使用右边的65534字节,因为必须为末尾的NULL 终止符保存1个字节。)。 对基指针操作,务必现分配空间或赋值一个已分配空间的地址。 Dptrls ★ Dbufs 20a based(ptr2) C eval ptr1=%alloc(20) C eval %str(ptr1:20)=,gaodianhua, C eval ptr2=%alloc(20) C c*与下面的结果相同 eval buf=,gaodianhua, c eval %str(ptr2:20)=,gaodianhua, 举例: Dptrls* Dbufs20a Cevalptr1=%alloc(20) Ceval%str(ptr1:20)='gaodianhua is a good boy' Cevalbuf=%str(ptr1:20) C* 或evalbuf=%str(ptr1) Cbutdsply Cdeallocptr1 Ceval*inlr='1' Creturn 或如下例子 Dptr2s* Dbufs30abased(ptrl) Dbufls20a Cevalptr2=%alloc(20) Cevalptr1 =%alloc(%size(buf)) Cevalbuf='gaodianhua is a good boy, Ceval%str(ptr2:20)=%str(ptr1:30) Cevalbuf1=%str(ptr2) C buf1dsply Cdeallocptr2 Cdeallocptr1 Ceval*inlr='1' Creturn 注意: Darrs20a dim(5) Dparrs* dim(5) Dents3p 0 Cforcnt=1 to 5 by 1 Cevalarr(cnt)='gaodianhua'+%char(cnt) Cendfor Cevalparr=%addr(arr) C*"%addr的参数是数组的名时,那么在基指针中存放的都是数组arr第一个元素C* 的地址 Cevalparr=%addr(arr(*)) (?当%2(13的参数是带下标(*)的数组名时,那么在基指针中存放的相应元素的地址 Cforcnt=1 to 5 by 1 Cevalgdh=%str(parr(cnt) :20) C gdhdsply Cendfor 6.%REPLACE (替换字符串:源字符串{:开始位置:要替换的源长度}) Dsrc_strs30ainz(*zero) VARYING Drpl_strs15ainz(*zero) VARYING Dgdhs 40a C eval src_str='gaodianhua,is a good boy1 C eval rpl_str='liuhaitao' C eval gdh=%replace(rpl_str:src_str) C*gdh=1iuhaitao ,is a good boy, C eval rpl_str=' not* C eval gdh=%replace(rpl_str:gdh:%scanC, C src_str)+3) C*gdh=*liuhaitao ,is notood boy, C eval gdh=%replace(rpl_str:gdh:%scan(', C src_str)+3:4) C*同上 C*gdh=liuhaitao ,is notood boy, C eval gdh=%replace(rpl_str:gdh:%scanC, C src_str)+3:0) C*gdh=liuhaitao ,is not a good boy',当第 4 个参数为 0 时,那么插入 rpl C eval gdh=%replace(rpl_str:gdh:%scan(', C src_str)+3:8) C*gdh=1iuhaitao ,is notboy, C eval *inlr='1' C return 其中VARYING表示该变量长度可变,不是固定长度。 假如定义了变量buf。 Dbufs 30a inz(*zero) C eval buf=,gaodianhua, C eval len=%len(buf) C*len=30 Dbufs 30a inz(*zero) varying C eval buf=,gaodianhua, C eval len=%len(buf) C*len=10 Varying的效果等同于: C eval len=%len(%trim(buf)) 转换及日期函数str 1、%char (表达式{:格式}):可以将数字、日期、时间或时间戳记数据转换为字符型。 当表达式是日期、时间或时间戳记数据时,要将返回的字符数据转换成的日期、时间或时间戳记格式。如:%char (date:*iso)或 %char (time: *hms) 2、%int(数字表达式):%INT将数字表达式的值转换为整数。截断所有小数 %inth(数字表达式):与%山丁相同,不同点:转换为带四舍五入的整数格式3、%float(数字表达式):将数字表达式的值转换为浮点格式。 4、%xlate(from:to:string{:startpos}):# string 中的 startpos 位置开始将存在的 from 传替换为to转换后返回的值具看与string相同的类型和长度。 (1)如果在string中包含from串中的第n个字符,那么将使用to串中的第n个字符替 换。(from和to的串长度〉n) (2)如果to串长度小于from串长度,那么to为了匹配from的长度,那么to自动使用空 格填充,并且和from中的每一位对应. (3)如果to串长度大于from串长度,贝?from只匹配to串中from个串长度各字符。 举例: Dfrom s 30A Dto s 30A Dbuf s 40A (1) from串长度=to串长度 C eval from='123' C eval to='abc' c eval buf='123456, c eval buf=%xlate(from:to:buf) Cbuf dsply Buf 显示为:abc456 (2) from串长度vto串长度 C eval from='123‘ C eval to='abcd" c eval buf='123456, c eval buf=%xlate(from:to:buf) Cbuf dsply Buf 显示为:abc456 (3) from串长度>to串长度 C eval from='1234' C eval to='abc' c eval buf='123456, c eval buf=%xlate(from:to:buf) Cbuf dsply Buf显示为:abc56 /*4被空格替代*/ 当to的定义长度大于实际赋值长度时会出现这种情况 否那么不会出现空格代替的情况.如下例: Dfrom s 30A Dto s 3A Dbuf s 40A C eval from='1234' C eval to='abc' C eval buf='123456, C eval buf=%xlate(from:to:buf) Cbuf dsply Buf显示为:abc456 /*4未被空格替代*/ 实际上from和to之间的位数是对应的。 假如 from=,1234\to=,abc,1a 2--b3——c 4的对应情况比拟复杂,分两种情况 当机 en(to) == %len (%trim(to)) U'J-4无对应 当%len(to) > %len(%trim(to))B?f4空格 假如 from=,12,Jto=,abc,1a 2--b To中的c有from中的谁来对应呢? 分两种情况当%len(from)==当 en (祝rim (from))时 c无对应当%len(from) > %len(%trim(from))时 c空格 Dcharl s 10a inz(*blank) varying Dchar2 s 10a inz(*blank) Dto s 3a inz(*zero ) Dfrom s 2a inz(*zero) Diccccccc s10i 0 inz(*zero )evalcharl ='abcoobb' evalfrom='12'evalto='abc' evalcharl =%xlate(from:to:'12 2145') charldsplyeval*inlr='1' return此时charl显示为:abba45 当from有如下定义时Dfroms3a inz(*zero) Charl 显示为:abcba455、和日期有关的函数 %date (expression{:date-format})}:将表达式的值由字符、数字或时间戳记数据转换成 日期型,第一个参数是要转换的值。如果不出现任何参数,那么%DATE返回当前系统 日期。对于字符或数字输入,第二个参数是日期格式。无论输入具有什么样的格式,输 出总是以*ISO格式返回。 注意:当被转换的表达式的值没有任何分隔符时,那么使用具体的date-format加”0”的方 式实现格式转换。如下: (1).表达式没有任何分隔符 Ddatestr s 10ainz('20060821') Ddate s d C eval date=%date(datestr:*isoO) C date dsply (2).表达式有分隔符。Date-format假设是*ISO,那么默认为叱“ Ddatestr s 10ainz('2006-08-21,) Ddate s d C eval date=%date(datestr:*iso) C date dsply (3) .%date()不指定任何参数,那么返回系统日期(*ISO ) Ddate sd C evaldate=%date() C c latedsply Date-fromat的格式共有如下几种: RPG名称描述格式(缺省分隔符)有效分隔符 Length 例如 *MDY 月/日/年 mm/dd/yy8 01/15/91 *DMY 日/月/年dd/mm/yy8 15/01/91 *YMD 年/月/日yy/mm/dd/・.,'&'8 91/01/15 *JUL 儒略历 yy/ddd6 91/015 *ISO 国际标准组织 yyyy-mm-dd-10 1991-01-15 *USA 旧MUSA 标准mm/dd/yyyy /10 01/15/1991 *EUR IBM 欧洲标准 .10 *JIS 日本工业标准公元纪元 yyyy-mm-dd -10 1991-01-15 %TIME{(expression{:time-format})}:将表达式的值由字符、数字或时间戳记数据转换成 时间型 o转换后的值保持不变,但是作为时间返回。第一个参数是要转换的值。如果不 指定任何参数,那么%TIME返回当前系统时间。对于数字或字符输入,第二个参数是 时间格式。无论输入具有什么样的格式,输出总是以*ISO格式返回。 Time-format 的格式: RPG名称描述格式(缺省分隔符)有效分隔符 Length 例如 *HMS 小时:分钟:秒 hh:mm:ss:8 14:00:00 *ISO 国际标准组织.8 *USA 旧MUSA标准。AM和PM可以是大写和小写的任意混合。 hh:mm AM or hh:mm PM : 8 02:00 PM *EUR IBM 欧洲标准 hh.mm.ss . *JIS 日本工业标准公元纪元 hh:mm:ss :8 14:00:00 %years (number) %months(number) %days(number) %hours(number) %minutes(number) %seconds(number) %mseconds(number) Ddates d Dtime S t C eval date=%date() C date dsply c eval time=%time() c time dsply c eval date=date+%years(2)+%months( 13) c c dale dsply +%days(10) c eval time=time+%hours(3)+%minutes(30) c c time dsply +%seconds(30) 将数字转换成可以添加到日期或时间戳记值的持续时间。左边的值必须是日期或时间戳 记。结果是加上或减去了适当年数的日期或时间戳记值. 注意:日期经过加减运算后具有不可逆性如Date=2006-08-31 Eval date=date+%months(1 )-%months(1)现在date的值是:2006-08-30 %SUBDT(value:*MSECONDS|*SECONDS|*MINUTES|*HOURS|*DAYS|*MONTHS|* YEARS) %SUBDT(value:*MS|*S|*MN|*H|*D|*M|*Y) %subdt:抽取日期、 时间或时间戳记的一局部,并返回。 第一个参数是日期、 时间或时间戳记值。 第二个参数是要抽取的局部。 对于日期:*DAYS、 *MONTHS 和 *YEARS 对于时间:*SECONDS. *MINUTES 和 *HOURS 对于时间戳记:*MSECONDS、"SECONDS、*MINUTES、*HOURS、*DAYS、*MONTHS 和 *YEARS 对于此函数,*DAYS 总是指一个月中的天而不是一年中的天(即使使用儒略日期格式 亦如此)。例如,2月 10日的天局部是10而不是41。此函数总是返回4位的年份, 即使日期格式使用2 :位的年份亦如此。 如: Ddate sd inz(D,2006-8-21,) Dtime st inz(T'22.58.32') Dnum s8p 0 C eval num=%subdt(date:*years) C*num=2006 C evalnum=%subdt(date:*days) C*num=21 C eval num=%subdt(time:*hours) C*num=22 C eval num=%subdt(time:*minutes) C*num=58 SUBDUR操作可用来: 减去持续时间以建立新的“日期”、“时间”或“时间戳记” 计算持续时间 Subdur操作码的用法: Ddate 1 sd inz(D'2006-08-21,) Ddate2 sd Dyy s2p0 inz(2) Dmm s2p0 inz(2) Ddd s2p 0 inz(10) C datel dsply C datel subdur yy:*ydate2 C datel subdur mm:*mdate2 C datel subdur dd:*ddate2 C date2 dsply C*date2=D,2006-08-11, C datel subdur yy:*y date2 C subdur mm:*m date2 C subdur dd:*d date2 C*date2=D,2004-06-11',在 subdur 的因子 1(date1 出现了 3 次还是 1 次)C*要注意两次date2值得区别 C*等价于adddur的用法 C datel adddur -2:*y date2 C adddur -2:*m date2 C adddur -10:*d date2 C* C datel subdur -2:*y date2 C subdur -1:*m date2 C subdur -10:*d date2 C*date2=D'2008-10-0T/*9 月份只有 30 天 */ C*等价于adddur的用法 C datel adddur 2:*y date2 C adddur 1:*m date2 c adddur 10:*d date2 C*date2= D'2008-10-01'/*9 月份只有 30 天 */ C date2 subdur datel num:*y C*num=2 C date2 subdur datel num:*m C*num=25 t “date2-date1 差 20 天满 26 个月*/ C*等价于%diff函数用法如下: C eval num=%diff(date2:date1 :*m) c eval *inlr='1' c return %DIFF (两个日期、时间或时间戳记值之间的差)%DIFF(op1:op2:*MSECONDS|*SECONDS|*MINUTES|*HOURS|*DAYS|*MONTHS|* YEARS)%DIFF(op1:op2:*MS|*S|*MN|*H|*D|*M|*Y) TEST操作允许在使用前测试日期、时间或时间戳记字段的有效性。 Test的用法: 因子1 操作码 结果字段 指不符 Test(E) 日期/时间或时间戳记字段 -ER- 日期格式 Test(DE) 字符或数字字段 -ER- 时间格式 Test(TE) 字符或数字字段 -ER- 时间戳记格式 Test(ZE) 字符或数字字段 -ER- 具体的日期格式、时间格式、时间戳记格式在上面都做了相应的注释。 对于测试操作,必须指定操作码扩充符“E”或错误指示符ER,但不能同时指定。 一般情况下操作码带扩展符E时,那么应和%ERROR配合使用。 如果结果字段变量已声明为“日期”、“时间”或“时间戳记”的字段,那么不能指定 dtz^format (因子1)的操作数,并且不允许操作码扩充符“口”、T 和 2 精度转换函数%DEC(numeric expression{:precision:decimal places}) %DEC将数字表达式的值转换为带精度位和小数位的十进制(压缩)格式,假设省略这 些参数,那么从数字表达式的属性中获取精度和小数位。 %DECH (数字表达式:精度:小数位)%DECH将进行四舍五入,所有三个参数都是必需的。 %DECPOS (数字表达式)%DECPOS返回数字变量或表达式的小数位数。返回的值是常数,因此可参与常数合 并。数字表达式一定不能是浮点变量或表达式。 Dp7 s 7p 3 inz (1234.567) Ds9 s 9s 5 inz (73.73442) Df8 s 8f inz (123.456789) D resultl s 15p5 D result2 s 15p 5 D results s 15p5 D result4 s 5i0 C eval resultl =%dec(p7)+0.011 C*Mresult1" is now 1234.57800 C eval result2=%dec (s9 : 5: 0) C*Mresult2" is now 73.00000 C eval result3=%dech (f8: 5: 2) C"result3" is now 123.46000 C eval result4=%decpos(p7) Cwresult4M is now 3 %len 和%5126%len(表达式):可用来取得变量表达式的长度,或设置变长字段的当前长度 %len在右边时:在表达式的右边使用时,这个函数返回变量表达式的位数或字符数。 对于数字表达式来说,返回的值表示表达式的精度而不一定是有效数字的实际位数。对于浮点变量或表 达式,返回的值是4或8。当参娄是数字文字时,返回的长度是文字的位数。 对于字符、图形或UCS-2表达式,返回的值是表达式值中的字符数。对于可变长度值(如从内置函数返 回的值或变长字段),%LEN返回的值是字符、图形或UCS-2值的当前长度。 %len在左边时:这个函数设置变长字段的当前长度。如果设置长度比当前长度长,那么将字段中 旧长度和新长度之间的字符设置为空格。 Dien S 3i0 Dint S 10i0 DcharlO S 10 varying inz('abcde') Dch10 S 10 inz('abcde') D C eval len=%len(int) C*len=10(字符数或位数) C eval len=%size(int) C*len=4(占用字节数) C*对于使用了 VARYING关键字和不使用的区别 C eval len=%len(char10) C*但是,如果该结构不是作为程序入口参数或是作为下级调用的接口参数,一般要在工程中约定 使用INZ关键字。INZ关键字会让系统在程序被激活时,自动按结 C*构各子字段的类型自动初始化, 数字零。 Dmystruds D name D age D memo D addr 1 D tell 21 D te12 33 或 Dmystru ds D name D age D memo D addr D tell D te!2 或 Dmystru ds D name D age D memo D addr D tell D tel2 D other 多重数据结构及使用 Dmystruds D name D age D memo D addr D tell D te12 D other Dents C*给第一个mystru赋值 否那么上述结构中SFIdl字段的值将是一个非法的空格值而不是 20a3s 0 44a 20a 32a 42a 68 20a 3s 0 44a 20a overlay(memo: I) 12a overlay(memo:21) 12a overlay(memo:33)20a 3s 0 44a 20a overlay (memo) 12a overlay (memo: *next) 12a overlayCmemo^next) 12aoccurs(lO) inz 20a 3s 0 44a 20aoverlay (memo) 12aovcrlay(mcmo: *ncxt) 12aoverlay(memo: *next) 12a 2s 0 inz(*zero) C1 occur mystru C eval name='高殿华' c eval age=3() c eval addr='河北省吴桥县’ c eval C*len=5 Cevalien=%size(char10) C*len=12(应该加上2) Cevallen=%len(ch10) C*len=10(虽然进行了初始化,但是他有空格填充) Cevallen=%size(int) C*len=10(占用字节数) %SIZE (变量) %SIZE (文字) %SIZE (数组{:*ALL}) %S1ZE (表{:*ALL}) %SIZE (屡次出现数据结构{:*ALL}) %SIZE返回常数或字段占用的字节数。自变最可以是文字、命名常量、数据结构、数据结构子字 段、字段、数组或表名。它不能包含表达式,但可以接受一些具有常数值的内置函数和常量表达式。 返回的值是无符号整数格式(类型U)o对于图形文字来说,大小是图形字符占用的字节数。对于 十六进制或UCS-2文字,返回的大小是文字中十六进制位数的一半。对于变长字段来说,%SIZE返 回字段占用的总字节数(比声明最大长度长两个字节)。假设自变量是数组名、表名或屡次出现数据 结构名,那么返回的值是一个元素或值的大小。假设将*ALL指定为%SIZE的第二个参数,那么返回的 值是所有元素或值占用的存储器。对于包含指针子字段的屡次出现数据结构来说,该大小可能大于 一个值乘以值数的大小。这是可能的,因为系统要求将指针放在地址为16的偶数倍的存储器中。 这表示可能必须增长各值的长度以使其足以是16的精确倍数,以便在存储器中正确定位各值的指 针子字段。 数据库文件 操作 1、 read 代码 因子1因子2 结果字段指示符 READ (E N)文件名 data-structure _ ER EOF READ (E N)记录名_ ER EOF 附录资料:不需要的可以自行删除 Abstract: Based on the comprehensive analysis on the plastic part's structure service requirement, mounding quality and mould menu factoring cost. A corresponding injection mould of internal side core pulling was designed. By adopting the multi-direction and multi-combination core-pulling. A corresponding injection mould of internal side core pulling was designed, the working process of the mould was introduced C语言详解-枚举类型注:以下全部代码的执行环境为VC++60 在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可 能是: #define MON 1#define TUE 2 #define WED 3#define THU 4 #define FRI 5#dcfinc SAT 6 #define SUN 7在此,我们定义一种新的数据类型,希望它能完成同样的工作。这种新的数据类型叫枚举型。 1 .定义一种新的数据类型-枚举型 以下代码定义了这种新的数据类型-枚举型enum DAY { MON=1,TUE, WED, THU, FRI, SAT, SUN}; (1)枚举型是一个集合,集合中的元索(枚举成员)是一些命名的整型常量,元素之间用逗号,隔开。 2 2) DAY是一个标识符,可以看成这个集合的名字,是一个可选项,即是可有可无的项。 (3)第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。 (4)可以人为设定枚举成员的值,从而自定义某个范围内的整数。 (5)枚举型是预处理指令#define的替代。 (6)类型定义以分号;结束。 3 .使用枚举类型对变量进行声明新的数据类型定义完成后,它就可以使用了。我们已经见过最基本的数据类型,如:整型im,单精度浮点型floai, 双精度浮点型double,字符型char,短整型short等等。用这些基本数据类型声明变量通常是这样: chara; //变量a的类型均为字符型charcharletter; intx,y, z; //变量x,y和z的类型均为整型intint number; double m, n;double result; //变量result的类型为双精度浮点型double 既然枚举也是一种数据类型,那么它和基本数据类型一样也可以对变量进行声明。 方法•:枚举类型的定义和变量的声明分开enum DAY MON=1,TUE, WED, THU, FRI, SAT, SUN cnum DAY yesterday;enum DAY today; enum DAY tomorrow; 〃变量 tomorrow 的类型为枚举型 enum DAYenum DAY good_day, bad_day; 〃变量 good_day 和 bad_day 的类型均为枚举型 enum DAY 方法二:类型定义与变量声明同时进行: enum 〃跟第一个定义不同的是,此处的标号DAY省略,这是允许的。 ( Saturday, sunday = 0, monday, tuesday, Wednesday, thursday, friday} workday; 〃变量workday的类型为枚举型enum DAY- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RPG 编程 语言 比较
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文