C语言经验技巧破解C语言Word文件下载.docx
- 文档编号:16166607
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:11
- 大小:19.18KB
C语言经验技巧破解C语言Word文件下载.docx
《C语言经验技巧破解C语言Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言经验技巧破解C语言Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。
do
语句
while(条件);
/*注意do/while循环语句结尾一定要加上分号;
*/
还有就是do/while和其它编程语言的不同,它的条件不是直到真才退出,而是当真是才
退出。
不过我们可以动些手脚,小技巧将它改为直到条件才退出,就是将条件改为逻辑非
求位数
main()
{
longnum=1234567,n;
n=(num%1000000)/100000;
/*求余数再除*/
printf("
%d"
n);
}
例:
(num%1000000)/100000求十万位
(num%1000)/100求十位
经过上例引出如果想得到什么位的就余想求的数再除以该位数,不过数据类型一定为正
数。
求得扫描码
ESC0x11b
UP0x4800
DOWN0x5000
LEFT0x4b00
RIGHT0x4d00
如果想知到键盘的数据码就要用到bioskey(0)
/****************************************************************/
bioskey函数
函数原型:
intbioskey(intcmd);
函数功能:
利用函数bioskey可以实现三种功能,参数cmd为要实现的功能号,值只能为0、1、2,具
体含义如下:
0:
在系统中有一个按键队列,所有的键盘按键都在这里排成队。
该功能就是如果按键队
列中有按键,那么读取队列首位的按键,并返回按键值;
否则等待键盘按键出现。
(其
中按键值的高字节为扫描码,低字节为ASCII码)
1:
如果按键队列中没有按键,那么返回零,否则返回非零。
2:
返回特殊按键Shift、Ctrl、Alt等键的按键状态。
#include<
stdio.h>
bios.h>
intspecialkey(intkey[2]);
intkey[2]={0,0};
扫描码ASCⅡ码\n"
for(;
;
)
specialkey(key);
if(key[0]||key[1])
%d"
key[0]);
%d\n"
key[1]);
if(key[0]==1)exit
(1);
specialkey(intkey[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);
/*参加单位微秒,这个函数通常都不精确*/
sleep(5);
/*参加单位秒,比较精确*/
几个常用的循环
:
}/*没条件循环*/
while()
while((c=getch())!
='
\n'
}/*这个是通常用来循环赋值给字符数组,直到回车才停止*/
while(*py!
\0'
%c"
*py++);
/*同样也可以用pritnf("
%s"
py);
随机函数
#include<
time.h>
randomize();
/*随机种子*/
random(10);
/*值为十之内的数*/
另一种
srand();
rand()%10;
/返回值为32767,通过取余运符号变为十之内的数*/
#defineN10/*N取1-32767范围内,可以相应的求出最高数值,N为10就得最高数为9
,N为6就最高数为5。
intx;
srand(time(NULL));
x=rand()%N+1;
therandomnumberis:
x);
scanf();
和gets();
字符输入函数的比较
s);
这个函数不可以输入有空格的字符串,因为输入空格就代表着输入另一
个格式变量了。
gets();
这个函数就可以输入有空格的字符串,不过一次只可以输入单一个变量的值。
const的一个好用处(函数形参)
voiddeal(constint[][13],constchar*[]);
const的作用是不改变传入的实参数
几个常用输入字符函数的比较
getch(void)
c=getch();
/*返回从键盘读入的字符,不显示出来*/
getche(void)
c=getche();
/*返回从键盘读入的字符,显示出来*/
C语言里"
%n"
是什么意思
是储存Printf中前面的字符个数>
inti,j;
Andywu%nGPAStudio%n"
&
i,&
j);
%d,%d"
i,j);
/*那么输出的就是6和9*/
通过bioskey
(1);
来到实现不执行当前的命令而跳往下一条命令
dos.h>
intkey;
inti;
if(bioskey
(1)!
=0)/*就是这个函数的主要功能了*/
key=bioskey(0);
if((key&
0x00ff))key=key&
0xff;
gotoxy(40,30);
i++);
if(key==27)break;
gotoxy(50,40);
cputs("
结束"
getch();
kbhit()函数的,用来判断当前是否按下键
while(!
kbhit())/*kbhit();
*/
i);
delay(1000);
数组指针
int(*p)[4];
是定义一个指向四个元素的数组指针
main(){
inta[4];
intcount;
p=a;
for(count=0;
count<
4;
count++)
*(p+i));
指向数组的指针运算
inta[3][4];
*(a+2)+3?
è
&
a[0]+11同样也可以为下式:
&
a[0][0]+4*2+3
因为a[0]和a[0][0]都代表了首地址
扬声器发音
sound(n);
/*n是一个过百位数的数,比如100、200之类的数到什么数没有我都不太清
楚了!
/*声音时间长度也可以用sleep
(1)*/
nosound();
/*关闭声音*/
调试后看结果的问题
一个网友的问题"
用一些c的编译器编译程序,在执行时,弹出的ms-dos窗口对结果数据
显示的太快,我还什么都没看到呢,窗口就关了,怎么办呀?
"
其实可以用这个命令getch();
来到停止当时的程序。
复合运算符的特别运算
a/=b+c
这些都是一定先求了左边的才运算这个复合运算。
特殊的按键(方向键等)
在C语言扫描码是所有键盘上的识别码,ASCII码也是键盘里的字母和数字。
但是就是有
些特殊的键盘表达不出来,通常我们编程常常就需要这些按键,就象方向键和HOME、END
,F1、F2……等之类的键。
可是我们就只知道ASCII码,其实有一个技巧可以得到它的扫
描码。
程序如下:
/*得到扫描码和ASCII高八位扫描码,低八位ASCII码*/
if(key&
0x00ff)key=key&
0x00ff;
/*如果低八位有的话就证明这可以用ASCII表达
出来的*/
elsekey=key>
8;
/*否非则是向下移动八位取得高八位的扫描码*/
动态伸请数组
我们定义一个数组常常是规定了其长度,如果定义得少就不够用,定义得多了就会浪费
空间,那么我们怎么来控制这种场面呢?
是有方法的,因为不是太直观所以都没有常用
。
int*ab;
ab=(int*)malloc(n*sizeof(int);
/*n这里是变量,随自己输的*/
这样就生成了一个指向n个空间的新地址,赋给了ab,ab就为首地址,像我们平时用数组
一样的形式调用第几个元素
ab[0];
/*这里是第一个元素*/
ab[1];
/*第二个元素*/
其实当然也可以算指针的形式一样*(ab+0)和*(ab+1)一样来到调用。
更灵活的一点就是不用的空间可以随时给删除,用free()这个函数
free(ab);
这里只是删除当前ab指向的那个空间,而不是全部删除,知道了这点我们就
可以利用循环等其它方法来批量删除或其它特别的用途,这完全要靠自己的想象力了。
神秘函数getpass();
char*password;
password=(char*)getpass("
Pleaseinputthenumber"
/*这里输入不能显示出屏幕
password);
这个函数可以用来做密码保护功能
指针的类型和指针所指向的类型
通常我们都很容易搞错这两个概念,因为就看上去好像就是一样吗。
可是真正运用起来
就有很大的区别,就像下面的一个例子吧。
i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 经验 技巧 破解