上次给大家介绍了一些简单的c程序,今天我们继续给大家介绍新的代码,并且补充一些技巧!
eg01:
#include<stdio.h>
int main()
{
char a,b;//定义两个字符型。
int res = 0;//定义整型。
scanf("%c%c",&a,&b);//输入字符。
res = a>b;//结果变量。
printf("(%c>%c)=%d" ,a,b,res);//判定a大于b是否为真。
printf("(%c<%c)=%d",a,b,a<b);//判定a小于b是否为真。
printf("(%c!=%c)=%d",a,b,a!=b);//判定a不等于b是否为真。
return 0;//返回初值
}
上方的代码是对键入的两个字符应用单目运算符分别进行大于,等于,小于的比较!
解析:由于在C语言中定义0为假,1为真所以在上述printf函数中%d输出的结果只可以为0或1.
本次代码的核心要点就是C语言中对正误判断的%d结果,以及多样的单目运算符的恰当应用。
eg02:
#include<stdio.h>
int main()
{
unsigned char a = 0x58;//二进制表示:0101 1000
unsigned char b = 0xd7;//二进制表示:1101 0111
unsigned char c = 0;//二进制表示:0000 0000
c= a & b;//二进制表示:0101 1000 * 1101 0111 = 0101 0000=50(H)
printf("c = a& b= %#x\n",c);
c=a | b;//二进制表示:0101 1000 1 1101 0111 = 1101 1111=df(H)
printf("c =a| b = %#x\n",c);
c = (a & ~b)^0xf1;//二进制表示: (a & -b)=101 100000100111 =00001000
//(a & ~b)^0xf1=0000 1000 ^ 1111 0001=1111 1001=f9(H)
printf("c = (a & ~b)^0xf1 = %#x\n",c);
return 0;//返回初值。
}
本次代码是对我们发布的第一篇文章中二进制的代码形式介绍:
1,在设计一些实际生活中的案例时,我们如果不想加入判断是否为正数或者一些参数不可以为正数时比如(公里数,时间,GDP)。
2,在每一行代码的注释之后我们可以观察出C程序在计算这些十六进制时会将其自动转换为二进制进行计算,在通过printf函数显示出对应的进制,如图中使用的就是%#x十六进制输出。0x是代表十六进制的前缀。