收获一:
全局变量初始值为0,局部变量初始值随机数、垃圾值。
全局变量的默认初始值是 0(它所占用的每一个字节都是0值),
局部变量的默认初始值是随机的,是垃圾值,没有规律。这就告诫我们,使用局部变量之前一定要初始化,否则它的值是没有意义的。
收获二:
变量,数据类型转换
在ASCII 码表中,E、F、G、H 的值分别是 69、70、71、72。
字符和整数没有本质的区别。可以给 char 变量一个字符,也可以给它一个整数;反过来,可以给 int 变量一个整数,也可以给它一个字符。 char 变量在内存中存储的是字符对应的 ASCII 码值。如果以 %c 输出,会根据 ASCII 码表转换成对应的字符;如果以 %d 输出,那么还是整数。 int 变量在内存中存储的是整数本身,当以 %c 输出时,也会根据 ASCII 码表转换成对应的字符。也就是说,ASCII 码表将整数和字符关联起来了。
收获三:
变量,数据类型转换
收获四:

#include<stdio.h> 
int main(){ 
    float PI=3.14159; 
    int s1, r=5; 
    double s2; 
    s1 = r*r*PI; 
    s2 = r*r*PI; 
    printf("s1=%d, s2=%f\n", s1, s2); 
    return 0; 
} 

运行结果: 
s1=78, s2=78.539753 

在计算表达式 r * r * PI 时,r 和 PI 都转换成 double 类型,表达式的结果也
为double类型。但由于 s1 为整型,所以赋值运算的结果仍为整型,舍去了小
数部分。

注意是将小数部分直接丢掉,而不是按照四舍五入向前舍入。

无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据
长度进行的临时性转换,而不改变数据说明时对该变量定义的类型。

收获五:转义字符\八进制、十六进制对应ASCII
在C 语言中,所有的ASCII 码都可以用反斜杠\加数字(默认是 8进制)来
表示,称为转义字符(Escape Character),因为\后面的字符都不是它原来的
ASCII 字符的意思了。
除了八进制,也可以用十六进制来表示。用十六进制表示时数字要以x开头。
“123abc” 对应的 ASCII 码值的十六进制分别是 31、32、33、61、62、63,
所以也可以写为:
puts("\x31\x32\x33\x61\x62\x63");
注意:只能使用八进制或十六进制,不能使用十进制。
一个完整的例子:
#include <stdio.h>
int main(){
puts(“The string is: \61\62\63\x61\x62\x63”);
return 0;
}
运行结果:
The string is: 123abc

相关文章:

  • 2021-10-06
  • 2021-05-16
  • 2021-12-09
  • 2021-12-05
  • 2021-11-05
  • 2021-09-29
  • 2021-11-30
猜你喜欢
  • 2021-12-09
  • 2021-11-30
  • 2021-12-04
  • 2020-07-13
  • 2022-01-13
  • 2021-08-09
  • 2021-04-28
  • 2021-11-06
相关资源
相似解决方案