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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言经验技巧.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言经验技巧.doc

1、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格式符%后面放一个*,表示在

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

3、n; n=(num%1000000)/100000; /* 求余数再除 */ printf("%d",n); } 例:(num%1000000)/100000 求十万位 (num%1000)/100 求十位 经过上例引出如果想得到什么位的就余想求的数再除以该位数,不过数据类型一定为正 数。   求得扫描码 ESC 0x11b UP 0x4800 DOWN 0x5000 LEFT 0x4b00 RIGHT 0x4d00 如果想知到键盘的数据码就要用到bioskey(0) /******************************

4、/ bioskey函数 函数原型: int bioskey(int cmd); 函数功能: 利用函数bioskey可以实现三种功能,参数cmd为要实现的功能号,值只能为0、1、2,具 体含义如下: 0:在系统中有一个按键队列,所有的键盘按键都在这里排成队。该功能就是如果按键队 列中有按键,那么读取队列首位的按键,并返回按键值;否则等待键盘按键出现。( 其 中按键值的高字节为扫描码,低字节为ASCII码) 1:如果按键队列中没有按键,那么返回零,否则返回非零。 2:返回特殊按键Shift、

5、Ctrl、Alt等键的按键状态。 /****************************************************************/ #include #include   int specialkey(int key[2]);   main() { int key[2]={0,0}; printf("扫描码 ASCⅡ码\n"); for(;;) { specialkey(key); if(key[0]||key[1]) { printf(" %d ",key[0])

6、 printf("%d \n",key[1]); if(key[0]==1)exit(1); } } }   specialkey(int key[2]) { if(bioskey(1)){key[0]=0;key[1]=0;return;} key[0]=key[1]=bioskey(0); key[0]>>=8; /*高八位落到底八位*/ key[1]&=0xff; /*高八位清零 0xff00 这个是底八位清零 */ } 0xff = ff16 = 111111112   等待函数 delay(5000); /*参加单

7、位微秒,这个函数通常都不精确*/ sleep(5); /*参加单位秒,比较精确*/   几个常用的循环 for(;;) { : : } /*没条件循环*/   while() { : : } /*没条件循环*/   while((c=getch())!='\n') { : : } /*这个是通常用来循环赋值给字符数组,直到回车才停止*/   while(*py!='\0') printf("%c",*py++); /*同样也可以用pritnf("%s",py);   随机函数 #include

8、me.h> randomize(); /*随机种子*/ random(10); /*值为十之内的数*/   另一种 #include srand(); rand()%10; /返回值为32767 ,通过取余运符号变为十之内的数*/ 比如: #define N 10 /*N 取1-32767范围内,可以相应的求出最高数值,N为10就得最高数为9 ,N为6就最高数为5。 main() { int x; srand(time(NULL)); x=rand()%N+1; printf("the random number

9、is :%d",x); }   scanf();和gets();字符输入函数的比较 scanf("%s",s);这个函数不可以输入有空格的字符串,因为输入空格就代表着输入另一 个格式变量了。 gets();这个函数就可以输入有空格的字符串,不过一次只可以输入单一个变量的值。   const的一个好用处(函数形参) void deal(const int [][13],const char * []); const 的作用是不改变传入的实参数   几个常用输入字符函数的比较 getch(void) c=getch(); /*返回从键盘读入的字符,

10、不显示出来*/   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()

11、 { int key; int i; for(;;) { if(bioskey(1)!=0) /*就是这个函数的主要功能了*/ { 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()) /*k

12、bhit(); */ { printf("%d",i); delay(1000); }   数组指针 int (*p)[4]; 是定义一个指向四个元素的数组指针 main(){ { int a[4]; int (*p)[4]; int count; p=a; for(count=0;count<4;count++) { printf("%d",*(p+i)); } }   指向数组的指针运算 int a[3][4]; *(a+2)+3 ?è&a[0]+11 同样也可以为下式: *(a+2)+3 ?è &

13、a[0][0]+4*2+3 因为a[0]和a[0][0]都代表了首地址   扬声器发音 sound(n); /*n是一个过百位数的数,比如100、200之类的数 到什么数没有我都不太清 楚了!*/ delay(1000); /*声音时间长度 也可以用sleep(1)*/ nosound(); /*关闭声音*/   调试后看结果的问题 一个网友的问题"用一些c的编译器编译程序,在执行时,弹出的ms-dos窗口对结果数据 显示的太快,我还什么都没看到呢,窗口就关了,怎么办呀?" 其实可以用这个命令getch();来到停止当时的程序。   复合运算符

14、的特别运算 a/=b+c 这些都是一定先求了左边的才运算这个复合运算。   特殊的按键(方向键等) 在C语言扫描码是所有键盘上的识别码,ASCII码也是键盘里的字母和数字。但是就是有 些特殊的键盘表达不出来,通常我们编程常常就需要这些按键,就象方向键和HOME、END ,F1、F2……等之类的键。可是我们就只知道ASCII码,其实有一个技巧可以得到它的扫 描码。程序如下: int key; key=bioskey(0); /*得到扫描码和ASCII 高八位扫描码,低八位ASCII码*/ if ( key & 0x00ff ) key=key&0x00f

15、f; /*如果低八位有的话就证明这可以用ASCII表达 出来的*/ else key=key>>8; /*否非则是向下移动八位取得高八位的扫描码*/   动态伸请数组 我们定义一个数组常常是规定了其长度,如果定义得少就不够用,定义得多了就会浪费 空间,那么我们怎么来控制这种场面呢?是有方法的,因为不是太直观所以都没有常用 。 int *ab; ab=(int *)malloc(n*sizeof(int); /*n这里是变量,随自己输的*/ 这样就生成了一个指向n个空间的新地址,赋给了ab,ab就为首地址,像我们平时用数组 一样的形式调用第几个元素

16、ab[0];/*这里是第一个元素*/ ab[1];/*第二个元素*/ 其实当然也可以算指针的形式一样*(ab+0)和 *(ab+1)一样来到调用。 更灵活的一点就是不用的空间可以随时给删除,用free()这个函数 free(ab);这里只是删除当前ab指向的那个空间,而不是全部删除,知道了这点我们就 可以利用循环等其它方法来批量删除或其它特别的用途,这完全要靠自己的想象力了。   神秘函数getpass(); #include main() { char *password; password=(char *)getpass("

17、Please input the number"); /*这里输入不能显示出屏幕 */ printf("%s",password); } 这个函数可以用来做密码保护功能   指针的类型和指针所指向的类型 通常我们都很容易搞错这两个概念,因为就看上去好像就是一样吗。可是真正运用起来 就有很大的区别,就像下面的一个例子吧。 main() { int *p; /*这里定义的是一个整数的指针*/ char c[]="ynynynynyn"; int i; p=c; /*这里将字符数组的地址传了给整型指针*/ for(i=0;i<5;i++)

18、 { printf("%c",*p++); /*结果这里输出的是5个y 是因为整型指针相对移动地址是2字节, 而字符是一字节的,所以跳过了一个字符*/ } getch(); }   exit(0)和exit(1)的区别 其实这也没有什么特别的,不过是从书上看回来,现在记录下来。 exit(0); /*这个是正常的关闭所有程序 */ exit(1); /*这个就刚好相反,有错误的关闭 */   time_t 和 clock_t 的数据类型 time_t 通常用来记录时间的类型,其实它只是长整型数据, 可以在time.h头文件来看到,如下是它的定义; typedef long time_t; typedef long clock_t;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服