『C程序设计』读书笔记系列文章之第二章 数据类型、运算符与表达式

简介:
第二章 数据类型、运算符与表达式

1. C的数据类型

C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。

2. 常量与变量

常量其值不可改变,符号常量名通常用大写。变量其值可以改变,变量名只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。否则为不合法的变量名。变量在编译时为其分配相应存储单元。

3. 整型数据

整型常量的表示方法:十进制不用说了,八进制以0开头,如0123,十六进制以0x开头,如0x1e。
整型变量分为:基本型(int)、短整型(short int)、长整型(long int)和无符号型。不同机器上各类数据所占内存字节数不同,一般int型为2个字节,long型为4个字节。

4. 实型数据

实型常量表示形式:十进制形式由数字和小数点组成(必须有小数点),如:0.12、.123、123.、0.0等。指数形式如123e3代表123×10的三次方。
实型变量分为单精度(float)和双精度(double)两类。在一般系统中float型占4字节,7位有效数字,double型占8字节,15~16位有效数字。

5. 字符型数据

字符变量用单引号括起来,如'a','b'等。还有一些是特殊的字符常量,如'\n','\t'等。分别代表换行和横向跳格。
字符变量以char 来定义,一个变量只能存放一个字符常量。 
字符串常量是由双引号括起来的字符序列。这里一定要注意'a'和"a"的不同,前者为字符常量,后者为字符串常量,c规定:每个字符串的结尾加一个结束标志'\0',实际上"a"包含两个字符:'a'和'\0'。

6. 数值型数据间的混合运算

整型、字符型、实型数据间可以混合运算,运算时不同类型数据要转换成同一类型再运算,转换规则:
char,short -> int -> unsigned -> long -> double <- float

7. 运算符和表达式

c运算符包括:
算数运算符( + - * / % )
关系运算符( > < == >= <= != )
逻辑运算符( ! && || )
位运算符( << >> ~ | ^ & )
赋值运算符( = )
条件运算符( ? : )
逗号运算符( , )
指针运算符( * & )
求字节数( sizeof )
强制类型转换(类型)
分量运算符( . -> )
下标运算符( [ ] )
其它运算符( 如函数调用运算符( ) )
自增自减运算符( ++ -- )注意:++i和i++的不同之处,++i使用i之前先使i加1,i++使用i之后,使i加1。

逗号表达式的求解过程:先求解表达式1,再求解表达式2,整个表达式的值是表达式2的值。



   本文转自loose_went博客园博客,原文链接:http://www.cnblogs.com/michaelxu/archive/2008/04/08/1142941.html,如需转载请自行联系原作者



相关文章
|
存储 Unix Java
《C语言程序设计现代方法(第2版)》读书笔记 第二章(二)
《C语言程序设计现代方法(第2版)》读书笔记 第二章(二)
《C语言程序设计现代方法(第2版)》读书笔记 第二章(二)
|
程序员 编译器 C语言
第五章 选择语句《C语言程序设计现代方法(第2版)》读书笔记(二)
第五章 选择语句《C语言程序设计现代方法(第2版)》读书笔记(二)
第五章 选择语句《C语言程序设计现代方法(第2版)》读书笔记(二)
|
存储 C语言
第五章 选择语句《C语言程序设计现代方法(第2版)》读书笔记(一)
第五章 选择语句《C语言程序设计现代方法(第2版)》读书笔记(一)
第五章 选择语句《C语言程序设计现代方法(第2版)》读书笔记(一)
|
存储 Unix 编译器
第七章 基本类型《C语言程序设计现代方法(第2版)》读书笔记(二)
第七章 基本类型《C语言程序设计现代方法(第2版)》读书笔记(二)
第七章 基本类型《C语言程序设计现代方法(第2版)》读书笔记(二)
|
存储 编译器 程序员
第八章 数组《C语言程序设计现代方法(第2版)》读书笔记
我们所见的变量都只是 标量(scalar ):标量具有保存单一数据项的能力。C语言也支持 聚合 (aggregate )变量,这类变量可以存储一组一组的数值。在 C 语言中一共有两种聚合类型: 数组 (array)和结构(structure )。
第八章 数组《C语言程序设计现代方法(第2版)》读书笔记
|
Java 数据库 算法
《Akka应用模式:分布式应用程序设计实践指南》读书笔记9
性能   这也是一个比较大的问题,因为性能不一定是Akka本身的问题,还可能是你代码写的有问题。   优化的第一步就是找出性能的瓶颈,隔离出应用程序里面比较耗时的部分,然后尝试对其优化,减少需要耗费的时间成本。
1702 0
|
缓存 运维 数据库
《Akka应用模式:分布式应用程序设计实践指南》读书笔记8
可用性   简单点来说就是系统能否正常使用。如果系统能够及时响应一个请求,则认为是可用的;如果响应时间过长或者根本不响应,则是不可用的。系统在停机或超载时是不可用的。一般用系统正常运行时长的百分比来计量系统的可用性,例如常常用N个9表示系统的可用性。
1926 0
|
存储 缓存 NoSQL
《Akka应用模式:分布式应用程序设计实践指南》读书笔记6
一致性和可扩展性   一致性是系统内比较复杂的属性,它会随着系统的变化而变化。简单来说,一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。一旦系统具有并行性(分布式只是并行的一种表现),保持一致性就变得困难了,毕竟需要协调全局状态。
1420 0
|
运维 Java
《Akka应用模式:分布式应用程序设计实践指南》读书笔记7
容错   容错绝对是分布式系统最难搞定的事儿,至少我这样认为,因为意外总是会发生。   处理故障在许多方面意味着要放弃全局一致性。Akka是基于不粗要调用方负责处理故障的想法而建立的。它主张由发生故障的actor负责处理问题,在actor不能处理的情况下,会向其“监督者”寻求帮助。
1762 0
|
设计模式 消息中间件 程序员
《Akka应用模式:分布式应用程序设计实践指南》读书笔记1
  作者属于Scala、Akka技术爱好者,但苦于Akka没有关于设计模式的文章,偶尔搜到《Akka应用模式》一书,如获至宝。现整理一些读书笔记和自己的感悟,以供参考。 Actor模型 Actor模型感觉还是很给力的,要是按我以前学习actor模型,绝对会对他嗤之以鼻,这玩儿意能干啥。
1866 0