C语言之变量与常量
2015-09-13 00:59
344 查看
关于变量、常量、类型和运算符等。
2.1 变量名
变量名由字母和数字组成,首字母必须是字母,下划线“_”看作是字母,所以可以放在首字母。但是,尽量不用用下划线作为首字母,因为在库函数中经常这样命名。变量名用小写字母,符号常量用大写字母。变量名字的选择需要根据实际目的,局部变量用短名,外部变量用长名。
2.2 数据类型和大小
编译器会给硬件自由选择合适的大小,它只服从于这样的约束条件:short和int至少16位,long至少32位,short不长于int,int不长于long,通常,short是16位,long是32位,int或者是16位,或者是32位。
2.3 常量
字符常量’\0’代表的是一个空字符,它的值是0,'\0’经常替代0被写出来是为了强调一些表达式的字符性质,但它的数值仍然是0。
技术上说,字符串常量实际是一个字符数组,在数组的最后有一个空字符’\0',所以数组的长度会比字符的个数多一个。函数strlen()可以用来计算字符串的长度,但不包括'\0'。
区分字符常量和字符串需要小心,'x'和"x"并不是相同的,'x'代表的是一个整型,是根据机器字符集中字母x产生的一个数值,而"x"是一个数组,包括一个字符x和一个'\0'。
枚举常量(enumeration constant)是一个整型常量列表,除非明确表明,那么第一个名字数值时0,第二个名字数值时1,...。如果只是其中一些名字表明了数值,那么其他未被表明的名字按照前一个数值递增。枚举为常量值和名字提供了一个很方便的连接。
2.4 声明
变量在使用之前一定要声明,在声明的同时可以初始化。如果变量不是自动变量,那么初始化只进行一次,概念上来说是在程序执行之前,初始化值必须是一个常量表达式。一个已经明确初始化过的自动变量在每次函数或是块进入之后再次初始化,外部变量和静态变量的值默认初始化为0,自动变量不确定。
修饰符const表明变量的值不会被改变,用const修饰数组变量表明数组中的值不可以改变,const还可以用来修饰函数中的数组参数,表示函数不会改变数组。
2.5 算数运算符
2.6 关系和逻辑运算符
优先级排序:
算数 》 关系 》 等号 》 逻辑
&&的优先级高于||,等于(==)或不等于(!=)优先级高于赋值。
2.1 变量名
变量名由字母和数字组成,首字母必须是字母,下划线“_”看作是字母,所以可以放在首字母。但是,尽量不用用下划线作为首字母,因为在库函数中经常这样命名。变量名用小写字母,符号常量用大写字母。变量名字的选择需要根据实际目的,局部变量用短名,外部变量用长名。
2.2 数据类型和大小
编译器会给硬件自由选择合适的大小,它只服从于这样的约束条件:short和int至少16位,long至少32位,short不长于int,int不长于long,通常,short是16位,long是32位,int或者是16位,或者是32位。
2.3 常量
字符常量’\0’代表的是一个空字符,它的值是0,'\0’经常替代0被写出来是为了强调一些表达式的字符性质,但它的数值仍然是0。
技术上说,字符串常量实际是一个字符数组,在数组的最后有一个空字符’\0',所以数组的长度会比字符的个数多一个。函数strlen()可以用来计算字符串的长度,但不包括'\0'。
区分字符常量和字符串需要小心,'x'和"x"并不是相同的,'x'代表的是一个整型,是根据机器字符集中字母x产生的一个数值,而"x"是一个数组,包括一个字符x和一个'\0'。
枚举常量(enumeration constant)是一个整型常量列表,除非明确表明,那么第一个名字数值时0,第二个名字数值时1,...。如果只是其中一些名字表明了数值,那么其他未被表明的名字按照前一个数值递增。枚举为常量值和名字提供了一个很方便的连接。
2.4 声明
变量在使用之前一定要声明,在声明的同时可以初始化。如果变量不是自动变量,那么初始化只进行一次,概念上来说是在程序执行之前,初始化值必须是一个常量表达式。一个已经明确初始化过的自动变量在每次函数或是块进入之后再次初始化,外部变量和静态变量的值默认初始化为0,自动变量不确定。
修饰符const表明变量的值不会被改变,用const修饰数组变量表明数组中的值不可以改变,const还可以用来修饰函数中的数组参数,表示函数不会改变数组。
2.5 算数运算符
2.6 关系和逻辑运算符
优先级排序:
算数 》 关系 》 等号 》 逻辑
&&的优先级高于||,等于(==)或不等于(!=)优先级高于赋值。
相关文章推荐
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数
- 在C语言中转换时间的基本方法介绍
- C语言进制转换代码分享