ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:19.18KB ,
资源ID:3261059      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3261059.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言经验技巧破解C语言.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言经验技巧破解C语言.docx

1、C语言经验技巧破解C语言C语言经验技巧 位运算&的运用 a&0xff 高8位清零,底8位保持原数 a&0xff00 高8位保持原数,底8位清零 单精度和双精度的有效位数 在Turbo C里 float 有效位数7位 double 有效位数16位 (由左至右) 奇怪的(i+)+(i+)+(i+)表达式 (i+)+(i+)+(i+)这条表达式运算原理是这样的,它们都把i先赋值,比如i是5那么这 个得数就是15了。这里补充说明一下,有可能对于某种编译器有不同的结果,这里以TC 为例。 scanf 加*的作用 sanf格式符%后面放一个*,表示在输入时跳过对应的输入项而不予读入 比如: scanf(%

2、*c); 没有任何输入 scanf(%*c%d,data); 代表前一个不予读入,跟着%是输出%,再输入整数类型data do/while 循环语句 do 语句 while (条件) ; /*注意do/while循环语句结尾一定要加上分号;*/ 还有就是do/while和其它编程语言的不同,它的条件不是直到真才退出,而是当真是才 退出。不过我们可以动些手脚,小技巧将它改为直到条件才退出,就是将条件改为逻辑非 求位数 main() long num=1234567,n; n=(num%1000000)/100000; /* 求余数再除 */ printf(%d,n); 例:(num%100000

3、0)/100000 求十万位 (num%1000)/100 求十位 经过上例引出如果想得到什么位的就余想求的数再除以该位数,不过数据类型一定为正 数。 求得扫描码 ESC 0x11b UP 0x4800 DOWN 0x5000 LEFT 0x4b00 RIGHT 0x4d00 如果想知到键盘的数据码就要用到bioskey(0) /*/ bioskey函数 函数原型: int bioskey(int cmd); 函数功能: 利用函数bioskey可以实现三种功能,参数cmd为要实现的功能号,值只能为0、1、2,具 体含义如下: 0:在系统中有一个按键队列,所有的键盘按键都在这里排成队。该功能就是

4、如果按键队 列中有按键,那么读取队列首位的按键,并返回按键值;否则等待键盘按键出现。( 其 中按键值的高字节为扫描码,低字节为ASCII码) 1:如果按键队列中没有按键,那么返回零,否则返回非零。 2:返回特殊按键Shift、Ctrl、Alt等键的按键状态。 /*/ #include #include int specialkey(int key2); main() int key2=0,0; printf(扫描码 ASC码n); for(;) specialkey(key); if(key0|key1) printf( %d ,key0); printf(%d n,key1); if(key

5、0=1)exit(1); specialkey(int key2) if(bioskey(1)key0=0;key1=0;return; key0=key1=bioskey(0); key0=8; /*高八位落到底八位*/ key1&=0xff; /*高八位清零 0xff00 这个是底八位清零 */ 0xff = ff16 = 111111112 等待函数 delay(5000); /*参加单位微秒,这个函数通常都不精确*/ sleep(5); /*参加单位秒,比较精确*/ 几个常用的循环 for(;) : : /*没条件循环*/ while() : : /*没条件循环*/ while(c=g

6、etch()!=n) : : /*这个是通常用来循环赋值给字符数组,直到回车才停止*/ while(*py!=0) printf(%c,*py+); /*同样也可以用pritnf(%s,py); 随机函数 #include randomize(); /*随机种子*/ random(10); /*值为十之内的数*/ 另一种 #include srand(); rand()%10; /返回值为32767 ,通过取余运符号变为十之内的数*/ 比如: #define N 10 /*N 取1-32767范围内,可以相应的求出最高数值,N为10就得最高数为9 ,N为6就最高数为5。 main() int

7、x; srand(time(NULL); x=rand()%N+1; printf(the random number is :%d,x); scanf();和gets();字符输入函数的比较 scanf(%s,s);这个函数不可以输入有空格的字符串,因为输入空格就代表着输入另一 个格式变量了。 gets();这个函数就可以输入有空格的字符串,不过一次只可以输入单一个变量的值。 const的一个好用处(函数形参) void deal(const int 13,const char * ); const 的作用是不改变传入的实参数 几个常用输入字符函数的比较 getch(void) c=getc

8、h(); /*返回从键盘读入的字符,不显示出来*/ getche(void) c=getche(); /*返回从键盘读入的字符,显示出来*/ C语言里%n是什么意思 是储存Printf 中前面的字符个数 int i,j; printf(Andywu%nGPAStudio%n,&i,&j); printf(%d,%d,i,j); /*那么输出的就是6和9*/ 通过bioskey(1);来到实现不执行当前的命令而跳往下一条命令 #include #include #include main() int key; int i; for(;) if(bioskey(1)!=0) /*就是这个函数的主要

9、功能了*/ key=bioskey(0); if(key & 0x00ff) key=key&0xff; gotoxy(40,30); printf(%d,i+); if(key=27) break; gotoxy(50,40); cputs(结束); getch(); kbhit()函数的,用来判断当前是否按下键 while(!kbhit() /*kbhit(); */ printf(%d,i); delay(1000); 数组指针 int (*p)4; 是定义一个指向四个元素的数组指针 main() int a4; int (*p)4; int count; p=a; for(count=

10、0;count8; /*否非则是向下移动八位取得高八位的扫描码*/ 动态伸请数组 我们定义一个数组常常是规定了其长度,如果定义得少就不够用,定义得多了就会浪费 空间,那么我们怎么来控制这种场面呢?是有方法的,因为不是太直观所以都没有常用 。 int *ab; ab=(int *)malloc(n*sizeof(int); /*n这里是变量,随自己输的*/ 这样就生成了一个指向n个空间的新地址,赋给了ab,ab就为首地址,像我们平时用数组 一样的形式调用第几个元素 ab0;/*这里是第一个元素*/ ab1;/*第二个元素*/ 其实当然也可以算指针的形式一样*(ab+0)和 *(ab+1)一样来到

11、调用。 更灵活的一点就是不用的空间可以随时给删除,用free()这个函数 free(ab);这里只是删除当前ab指向的那个空间,而不是全部删除,知道了这点我们就 可以利用循环等其它方法来批量删除或其它特别的用途,这完全要靠自己的想象力了。 神秘函数getpass(); #include main() char *password; password=(char *)getpass(Please input the number); /*这里输入不能显示出屏幕 */ printf(%s,password); 这个函数可以用来做密码保护功能 指针的类型和指针所指向的类型 通常我们都很容易搞错这两个概念,因为就看上去好像就是一样吗。可是真正运用起来 就有很大的区别,就像下面的一个例子吧。 main() i

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1