c语言找等位线坐标,C语言小技巧大作用

减少不必要的BAK文件

当使用TC默认配置时,会产生大

量的*.bak文件。因为按照TC默认

设置,修改某个C文件后,将生成

同名的*.bak备份文件,该类文件

的存在没多大作用。解决办法是

把Options->Environment->Backup files设置为off。

优化设置使编译的文件更小

如果你使用的是TC默认的配置话

,那么,你所编译的文件还可以

进一步缩小。方法是把Options->

Complier->Optimization下第3、4

项也设置为on。

使用Windows98自带的Pdos95

当要使用中文系统时,其实不必要

为了使用中文而去下载中文系统。

只要是典型安装,用Win98自带的

Pdos95系统足矣。建立一快捷方

式,命令行只需一句:C:\COMMAN

D.COM /k C:\windows\command\

pdos95.bat,然后还可以将工作目

录设置为TC目录,那么进入中文

系统后只需键入TC即可启动TC。

而且,Pdos95还自带了四种输入

法(国标、区位、双拼、拼音),使

用Shift+Ctrl切换,极为好用。

在Windows下编写C代码

我们一般是在TC界面下编写C代码

的。其实,在Windows下编写C代

码,不仅可以充分利用Windows的

剪切、复制、粘贴功能,而且可以

直接输入汉字。方法是:按住Shift

键在任意一C文件上击鼠标右键,

在弹出菜单中选择"打开方式...",

然后在程序列标中选择NOTEPAD

,同时将"始终使用该程序打开这

种类型的文件"项打钩。按"确定",

以后双击*.c文件即可直接用记事

本编辑。使用该方式,注意打开

用TC编辑过的文件时,先要去掉

文本末尾的C文本结束符(表现为一

实心矩形),否则在TC重新读取文

本时,你的添加工作将会前功尽弃。

使用库函数优化代码之N进制转换

刚学习编程的朋友都遇到过进制转

换的问题,一般的要将一个十进制

的数转化为N进制输出,常规解法

是循环取余的方法。其实这类问题

若是用C的库函数解决则可简化到

极点:

使用char *itoa(int value,char *string,int radix)。

radix值是要转化的进制数,string

是转化后的字符串的存放指针。

譬如10进制转化为3进制输出可以

这样写代码:(TC2.0版)

main()

{

int value;char s[20];

puts("input value:");

scanf("%d",&value);

itoa(value,s,3);/*3进制转换*/

printf("result is:%s\n",s);/*输出结果*/

}

看,进制转换是不是非常简单了?

使用库函数优化代码之字符串操作

学习指针时,一般要练习自己去写

如字符串大小转换,一字符串在另

一字符串中的位置的函数。而在实

际运用中,库函数可以很好地解决

这类问题。例如:

字符串内所有字符转大写:

char *strupr(char *s);

字符串内所有字符转小写:

char *strlwr(char *s);

s2子串第一次出现在s1中的位置:

char *strstr(const char *s1,const char *s2)

然后用查找串指针-查找后返回指

针得到具体位置。如:

main()

{ char s1[10]="c:\\tc\\tc.exe";

int position;

position=(int)s1-(int)strstr(s1,".exe");/*相减得具体位置*/

}

这只是例举的几个小的方面,如果

能灵活运用字符串库函数则诸如目

录提取、扩展名判断和字符串查找

则变得非常简单。

使用位段类型快速进行位分解

一般我们进行位分解使用的是循环

位移再位与运算的方法来进行的,

这种方法会对原数据进行破坏,而

如果要保存原数据则要多占用几个

数据单元。其实有一种更好、更快

的解决办法,那就是:用位段数据

类型进行分解。将struct和union类

型结合使用,即发挥了指针运算的

高效,又保护了原始数据不被破坏

。具体实现方法如下:

typedef union/*8位位段分解类型*/

{char value;

struct

{unsigned b0:1;

unsigned b1:1;

unsigned b2:1;

unsigned b3:1;

unsigned b4:1;

unsigned b5:1;

unsigned b6:1;

unsigned b7:1;

}bits;

}

bits8;

这样,用该结构来保存数据,即可

以用.value来保存和访问数据,又

可以用.b0、.b1...来访问第1、2...

等位,非常方便。读者还可以仿造

该结构定义16位位段分解类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值