【扩展知识二】学习一些重要的知识
【扩展目录】
1. 布尔型,浮点型、指针的变量与0值得比较
2. 类型转换
A:bool变量与0值得比较
布尔型,用于表示布尔值,即逻辑值TRUE(真)和FALSE (假)。在C语言中非零即为真,零就为假。
较合理的写法是:
//测试环境:win7_32+VC++6.0。有的编译器可能不识bool
//bool变量与0,1的比较
#include <stdio.h>
int main( void )
{
boolbnum; //定义bool类型的变量
bnum=0; //赋值为0,即假
if(bnum )
{
printf("假\n" );
}
if(!bnum )
{
printf("真\n" );
}
return 0;
}
B:float变量与零值得比较
较合理的比较:
//float变量与零值的比较
#include <stdio.h>
#define PRECISION 0.000001
int main( void )
{
floatscore= 0;
if(( score>= -PRECISION ) && (score<= PRECISION ) )
{
printf("score等于0\n" );
}
else
{
printf( "score不等于0\n");
}
return 0;
}
C:指针变量与零值得比较
虽然还没学到指针,这先稍微提一下,后续再讲。
指针就是一个存放地址的变量。
int*ptt;
声明了一个整型指针ptr。ptr是指针,*ptr是ptr的地址里的值。
//指针变量与零值的比较
#include <stdio.h>
int main( void )
{
char*ptr= NULL; //定义一个char类型指针ptr,并初始化为NULL
if(ptr== NULL ) //NULL在C中被定义为 0。
{
printf( "YES\n" );
}
else
{
printf("NO\n" );
}
return 0;
}
D:类型转换
( 1 )自动类型转换
高 double ←← float
↑ ↑
↑ long
↑ ↑
↑ unsigned
↑ ↑
低 int ←← char,short
[自动转换顺序表]
#include <stdio.h>
int main( void )
{
inta;
intb;
a=4.5; //浮点型数自定转换为int型
b='A'; //字符'A'也自动转换为int型
printf("%d\n", a ); // a= 4
printf("%d\n", b ); // b= 65
return0;
}
( 2 )强制类型转换
//强制类型转换
#include <stdio.h>
int main( void )
{
inta= 1;
intb= 2;
intc= 3;
floatx= 4.1;
floaty= 5.9;
a=( int )y; //把y强制转换为int型
b=( int )( x+ y ); //把x+ y的和在强制转换为int型
c=( int )x+ y; //c是先把x强制转换为int,在相加,和再隐式转换为int
printf("a= %d\n", a );
printf("b= %d\n", b );
printf("c= %d\n", c );
return0;
}
【指尖的微笑】错误在所难免,希望得到大家的指正^-^
转载时保留原文的链接http://oursharingclub.joinbbs.net和http://blog.csdn.net/mirrorsbeyourself