22常量 2.2.1文字常量( literal)和常量定义 例 line <66 ci=3.141592*dia s[i]!=-0 又如: #define pagesize 66 66、3.141592和0°都是文 字常量 #define pi 3.141592 #define endstring 0 则上面可以写成: line pagesize ci =pi dia S[ ENDSTRING 使用常量定义的好处: ●可提高程序的可读性 ●程序的可移植性更好,可维护性更好 第二章数据、运算符、表达式
第二章 数据、运算符、表达式 2.2常量 2.2.1文字常量(literal)和常量定义 例: line < 66 ci = 3.141592 * dia; s[i] != ‘\0’; 又如: #define PAGESIZE 66 #define PI 3.141592 #define ENDSTRING ‘\0’ 则上面可以写成: line < PAGESIZE ci = PI * dia; s[i] != ENDSTRING; 使用常量定义的好处: z可提高程序的可读性 z程序的可移植性更好,可维护性更好 66、3.141592和‘\0’都是文 字常量
2.2.2各种常量 1)整型常量(十进制、八进制、十六进制、long整型常量) 如:1275,0127,0x19a,0xABD,123,89L 2)浮点常量 23.15.-8E-3.-125e+4 3)字符常量 用一对单引号括起来字符称为字符常量,如: A3,b,? 一个字常量的值是该字符在机饗字符集(通常是ASCⅥ字符集 但某些BM大型机用 EBCDIC码)中的编码值,它是一个整数 值。如上,在ASCI字符集中A的值为65,b的值为98,?°的 值为63。 转义字符常量,如 t,b’.r,f, d(位模式,d为八进制数,其值为do 字符常量可像其它数一样参与数值运算,主要用于同其它字符 作比较,如: if(c>='a&&c<=z) return(C+a-a: 第二章数据、运算符、表达式
第二章 数据、运算符、表达式 2.2.2各种常量 1)整型常量(十进制、八进制、十六进制、long整型常量) 如:1275, 0127, 0x19a, 0xABD, 123l, 89L 2)浮点常量 23.15, -8E-3, -125e+4 3)字符常量 用一对单引号括起来字符称为字符常量,如: ‘A’, ‘b’, ‘?’ … 一个字符常量的值是该字符在机器字符集(通常是ASCII字符集 ,但某些IBM大型机用EBCDIC码)中的编码值, 它是一个整数 值。如上,在ASCII字符集中‘A’的值为65,‘b’的值为98,‘?’的 值为63。 转义字符常量,如: ‘\0’, ‘\n’, ‘\t’, ‘\b’, ‘\r’, ‘\f’ ‘\\’, ‘\’‘, ‘\ddd’(位模式,ddd为八进制数,其值为ddd) 字符常量可像其它数一样参与数值运算,主要用于同其它字符 作比较,如: if( c >= ‘A’ && c <= ‘Z’) return ( c + ‘a’ – ‘A’);
4)字符串常量 用一对双引号括起来的字符串称为字符串常量,如: The C Programming Language 注意:所有字符串均以“0°结束(代码值为0的字符),因此 ,“x”和x不同,末尾的“0由编译程序自动添加。 第二章数据、运算符、表达式
第二章 数据、运算符、表达式 4)字符串常量 用一对双引号括起来的字符串称为字符串常量,如: “The C Programming Language” 注意:所有字符串均以‘\0’结束(代码值为 0的字符),因此 ,“x” 和‘x’不同,末尾的‘\0’由编译程序自动添加
2.3基本数据类型 数据类型 般32位操作系统16位操作系统 (如UNIX,W32) (如DOS) 32 short(int) 16 16 long(int) 32 32 unsigned(int) 32 float double 64 64 ch 在 ANSI C中,还有两个类型修饰符: const-其变量值在程序执行中不可以通过赋值等方法对它进行 修改(是定义常量的另一种方法,用# define定义的常量无类型, 而用 const定义的常量有类型)。 Volatile-变量的值可能在程序中以某种不明显方式改变。 第二章数据、运算符、表达式
第二章 数据、运算符、表达式 2.3基本数据类型 数据类型 一般 32 位操作系统 (如 UNIX, W32) 16 位操作系统 (如 DOS) int 32 16 short(int) 16 16 long(int) 32 32 unsigned(int) 32 16 float 32 32 double 64 64 char 8 8 在ANSI C中,还有两个类型修饰符: const ---- 其变量值在程序执行中不可以通过赋值等方法对它进行 修改(是定义常量的另一种方法,用#define定义的常量无类型, 而用const定义的常量有类型)。 Volatile ---- 变量的值可能在程序中以某种不明显方式改变
2.4类型转换 可利用函数将一种类型转换成另一种类型,如: nt atoi(char[ D) int n=0: or(i=0;s[>=0&&s[ 0*n+s[ return(n) ain( har st[100] f ("%s", st) n=atoi(st) printf("%dn”,n) 第二章数据、运算符、表达式
第二章 数据、运算符、表达式 2.4类型转换 可利用函数将一种类型转换成另一种类型,如: int atoi(char s[ ]) { int i, n; n = 0; for(i=0; s[i] >= ‘0’ && s[i] <= ‘9’; i++) n = 10*n + s[i] – ‘0’; return (n); } main( ) { int n; char st[100]; scanf(“%s”, st); n = atoi(st); printf(“%d\n”, n); }