按照变量的作用域可分为:
1.全局变量:在函数外定义的变量(从定义的一刻起,向下都有效)
2.局部变量:在函数中定义的变量。(只在函数中有效)
3.程序块中的变量:在函数内部,在复合语句中定义变量。(只在块内有效)
当块内变量与局部变量名字相同时,将在块内隐藏局部变量。
当局部变量和全局变量发生命名冲突时,遵循向上就近原则。
补充:在c++中,a = ::g_max;代表全局变量
printf 函数称为格式输出函数,功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。
printf 函数调用的一般形式为:printf(“格式控制字符串”,输出表列);
其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。
格式字符串是以%开头的字符串,在%后面跟有各种格式字符,如:
“%d” 表示按十进制整型输出; “%o” 表示按八进制整型输出;
“%ld” 表示按十进制长整型输出; “%c” 表示按字符型输出; “%f” 表示按浮点数输出;
非格式字符串在输出时原样照印,在显示中起提示作用。
scanf 函数称为格式输入函数,一般形式scanf(“格式控制字符串”,地址表列);
其控制字符串与printf 函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址列表中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。
用#define定义的宏常量:可以用#define定义一个标识符来表示一个常量。其特点是:定义的标识符不占内存,只是一个临时符号,预编译后这个符号就不存在了。(一般定义的时候不要给 分号)
定义变量时,一旦前面加了关键字 const ,那这个变量就无法改变了,变成了常变量,但其本质还是变量。(例如:int const x =0; 和 const int x = 0;是等价的)
在c语言中,全局常变量未赋值默认为0,局部常变量未赋值没有意义。因此,定义常变量时要赋值。在c++中则不能编译,但常变量可以作为常量使用,在编译的时候替换。
枚举的常量只能是整型,枚举变量的取值范围只能是枚举元素给出的值。
‘’ 是字符的定界符 “” 是字符串的定界符 如char cha='a'实际存储的是字符a的ACSII码值 97,而它与char chb=97不同之处在于 ‘’ 定界符告诉计算机这是个字符。打印结果取决于格式符。