C语言中数据之间的转换之隐式转换:低字节类型转换高字节类型无损失,高字节转换低字节如果过满会溢出,导致数据的变换和损失。
C语言还有一种强制转换类型:printf("%d,%d",d,(类型)(数据或者表达式));
目前C语言的数据类型算是暂告一段落。
算术表达式的运算方式均和任何一种编程语言都是相通的:a+=b → a=a+b
a-=b → a=a-b
a*=b → a=a*b
a/=b → a=a/b
以及 各种运算符,对前面JS的数据和表达式的方式相通,运算符的计算方式也是相同的!
另外,今天也在编写小函数中学习到的Math.h 平方和开方的用法,下面是3个双精度的实数的不同求值过程:
void main() {
double a, b, c;
a = 5.5;
b = 6.6;
c = 7.7;
printf("\n%f",a+b+c);
printf("\n%f", (a + b + c )/ 3);
printf("\n%f", pow((a + b + c), 2));
printf("\n%f",pow((a+b+c),0.2));
getchar();
}
下面是给出一个三位数,分别取出他的个位十位百位进行相加,方法比较笨拙,但是也能达到同样的效果:
void main() {
int a = 123;
int i, j, k;
i = a / 100;
j = (a - 100) / 10;
k = a % 120;
printf("%d",(i+j+k));
getchar();
}
下面是两个数的多种位运算小函数:
void main() {
int b, c;
b = 56;
c = 78;
printf("\n%d,\n%d,\n%d,\n%d",b&c,b^c,!b,!c);
getchar();
}
另外还学习了,多种方式的输入输出:putchar(字符数出) , getchar(字符输入) , printf (格式输出) , scanf(格式输入) .
scanf(格式,地址表); %o 无符号的八进制输出 %e输出单双精度实数 %g选用输出宽度较小格式输出实数
C语言的表达式就这些。