C编程第2篇---基本数据类型、运算符和表达式
来源:互联网 发布:菊花插件dbm数据 编辑:程序博客网 时间:2024/06/18 16:58
C编程第2篇---基本数据类型、运算符和表达式
2.1 变量名称变量和常量是组成C程序的主要对象,所以它们的命名很大程度上影响了程序的可读性、可维护性。
C语言一共32个关键字,亦称保留字,即自定义的命名不能和这32个一样;
auto :声明自动变量
short :声明短整型变量或函数
int: 声明整型变量或函数
long :声明长整型变量或函数
float:声明浮点型变量或函数
double :声明双精度变量或函数
char :声明字符型变量或函数
struct:声明结构体变量或函数
union:声明共用数据类型
enum :声明枚举类型
typedef:用以给数据类型取别名
const :声明只读变量
unsigned:声明无符号类型变量或函数
signed:声明有符号类型变量或函数
extern:声明变量是在其他文件正声明
register:声明寄存器变量
static :声明静态变量
volatile:说明变量在程序执行中可被隐含地改变
void :声明函数无返回值或无参数,声明无类型指针
if:条件语句
else :条件语句否定分支(与 if 连用)
switch :用于开关语句 case:开关语句分支
for:一种循环语句
do :循环语句的循环体
while :循环语句的循环条件
goto:无条件跳转语句
continue:结束当前循环,开始下一轮循环
break:跳出当前循环
default:开关语句中的“其他”分支
sizeof:计算数据类型长度
return :子程序返回语句(可以带参数,也可不带参数)循环条件。
变量和常量的命名建议符合其属性和目的;如studentName,englishGrade。
2.2 基本数据类型
从大的方面说,基本数据类型分整型和浮点型;
从小的方面说,分char,int,float和double四种;
注意以下几点:
1)char和int都有signed和unsigned之分,即有符号和无符号;默认情况下是省略signed,即有符号;unsigned的,数值可带后缀为u/U,如1234U;
2)int有short,int和long;
基本数据类型的取值范围,int在不同的机器和不同编译器支持都有所差异;
char:一个字节(8位);
short:一般是16位;
int:反应的机器实际的整型,16位或32位;
long:不低于32位;
float:4个字节(32位),有效位数为6;
double:8个字节(64位),有效位数是15;
所以int的三种位数:short<=int<=long;
整型范围计算:有符号的(2^(n-1)~2^(n-1)-1),无符号的(0-2^n-1),其中,n是位数;
基本数据的范围,在<limits.h>和<float.h>中定义。
2.3 常量
1)数值(字面)常量
①int常量,如1234,long的一般后缀如:123456781234l/L,unsigned long的后缀如:123456781234ul/UL;
②float常量,因为浮点型通常默认是double,所以float数值通常后缀f/F来表示float常量值;另外,还有科学计数法,如1.234e/E+/-3;
③整型的其他表示方式,如八进制和十六进制;八进制,0开头,如023表示19;十六进制,0x/0X开头,如0X23表示35;
提示:整型数都可以以二进制方式表达,八进制以三位为一组,十六进制以4位为一组;八进制(0,1,2...7);十六进制(0,1...9,A,...F)。
2)字符常量
①如'A','B'之类的为单个字符;
②如'\t'、'\n'为转义字符;
\a 响铃(BEL)
\b 退格(BS) ,将当前位置移到前一列
\f 换页(FF),将当前位置移到下页开头
\n 换行(LF) ,将当前位置移到下一行开头
\r 回车(CR) ,将当前位置移到本行开头
\t 水平制表(HT) (跳到下一个TAB位置)
\v 垂直制表(VT)
\\ 代表一个反斜线字符''\'
\' 代表一个单引号(撇号)字符
\" 代表一个双引号字符
\0 空字符(NULL)
\ddd 1到3位八进制数所代表的任意字符
\xhh 1到2位十六进制所代表的任意字符。
通常使用如下定义来表示:
#define VTAB '\013' /* ASCII vertical tab */
#define BELL '\007' /* ASCII bell character */
3)常量表达式
通常在代码文件开头,用#define xxx yyy来表示在程序中出现的xxx代替了yyy的表达式,如:
#define PI 3.1415926535
#define EXPESION 1e-5
#define MAX(A,B) ((A)>(B))? (A): (B)
4)字符串常量
如"Hello, world"就是个字符串常量;就是单个"A"也是字符串;字符串常量存于只读的内存区内(通常出现一个指针指向该字符串常量,企图修改其内容的错误)。
注意:字符串常量赋值给字符数组,若数组空间足够,则字符数组以'\0'结尾。
5)枚举常量
一个枚举是由一系列的整型常量值组成,如:
enum months { JAN = 1, FEB, MAR, APR, MAY, JUN,
JUL, AUG, SEP, OCT, NOV, DEC };
每个枚举对象的值都是唯一的,自上而下递增,自下而上递减。
2.4 声明
一个变量在使用之前,必须已经声明:如char name[20];
一种格式(多个相同类型变量一行):int lower, upper, step;
另一种格式(每个变量一行)<推荐>:
int lower;
int upper;
int step;
有时候,声明可以顺便初始化,即赋初值;如:flaot eps = 1e-5;
关键字'const'表示自读变量,但变量的值不是常量;常用于函数的参数修饰,表示参数不可修改性。
2.5 类型转换
不同数据类型之间的运算,必须涉及不同数据类型的转换;
如:double value1 = 9.65; int value2 = 35; double addResult = value1 + value2;
记住转换原则:从char到double,往数值范围宽的方向转换;
char和short转换为int,遇到long,全部转为long;
若其中一个数是float、double,那么全部转换为float和double。
2.6 运算符
①算术运算符:+、-、*、/、%(求余)
A)%不适用于float和double;%的结果符号根据机器而已;
B)+和-优先级相同;后三者优先级高于前两者,而低于单元运算法(+、-)
②关系运算符:>、>=、<、<=、==、!=
A)前四者优先级相同,而仅仅高于后两者;
③逻辑运算符:&&、||
A)前者优先级仅仅高于后者
B)A&&B,若A为真,则顺序计算B的值,如果B的值为真,则整个结果为真,否则为假;若A为假,B不再计算,整个结果为假;
C)A||B,若A为真,则B不再计算,整个结果为真;若A为假,则继续计算B,若B的值为假,则整个结果为假,否则为真。
④自增自减运算符:++、--
A)前缀时,如++/--A,则先执行A=A+1,然后去A的值;
B)后缀时,如A++/--,则先取A的值,再执行A=A+1
⑤位运算符:&、|、^、<<、>>、~
位运算,即每个运算符转换为二进制补码运算。
A)A&B,对应位当相同时,则结果为相同的值,否则为0;
B)A|B,对应位当一个位为1,对应位的|结果值为1,否则为0;
C)A^B,对应位的值相反时,比较值才为1,否则为0;
D)A>>n,A往右移n个位值,左补0;A<<n,A往左移n个位值,右补0;
E)~A,A的各个位的值取反,即1变0,0变1;
⑥条件表达式:AAA? B:C
若AAA表达式为真,则返回表达式B的值;否则返回表达式C的值;
⑦赋值运算符:=、+=、-=、*=、/=、%=、>>=、<<=、&=、|=、^=
以上描述为:i += 1等同于i++和i = i + 1
2.7 运算优先级和取值顺序
1)()、[]、->、. 【left to right】
2)!、~、++、--、+(单)、-(单)、*(指针)、sizeof 【right to left】
3)*、/、% 【left to right】
4)+、- 【left to right】
5)<<、>> 【left to right】
6)<、<=、>、>= 【left to right】
7)==、!= 【left to right】
8)& 【left to right】
9)^ 【left to right】
10)| 【left to right】
11)&& 【left to right】
12)|| 【left to right】
13)?: 【right to left】
14)=、+=、-=、*=、/=、%=、>>=、<<=、&=、|=、^= 【right to left】
15), 【left to right】
优先级无需死记,谨记每个运算都以()来包括,以此减少错误。
【免责特此声明:
1)本内容可能是来自互联网的,或经过本人整理的,仅仅代表了互联网和个人的意见和看法!2)本内容仅仅提供参考,任何参考该内容造成任何的后果,均与原创作者和本博客作者无关!】
- C编程第2篇---基本数据类型、运算符和表达式
- 二、基本数据类型、运算符和表达式
- C语言:数据类型、运算符和表达式
- 第2章 运算符&表达式&数据类型
- C++ 基础知识点 一第2章 基本数据类型、运算符与表达式
- c 数据类型 运算符 表达式
- 数据类型和基本运算第一天
- 2、数据类型、运算符和表达式
- 数据类型,运算符和表达式
- C语言:(一)数据类型、运算符和表达式
- 基本数据类型和运算符
- 基本数据类型和运算符
- Obj-c基本语法、数据类型、运算符和控制语句
- 数据类型和运算符(基本数据类型)
- c 基础数据类型和基本表达式
- c语言数据类型、运算符、表达式
- C语言数据类型、运算符与表达式
- C语言数据类型,运算符与表达式
- Vim编辑命令
- 一个程序员的时间管理
- IOS开发(97)之自定义视图之使用XIB自定义一个UIView
- Microsoft+SQL+Server_企业平台管理实践
- mkv210_image.c 添加16byte头
- C编程第2篇---基本数据类型、运算符和表达式
- 移动应用数据接口
- servlet之监听器
- 判断Android设备是否连接网络
- SD卡中FAT32文件格式快速入门(图文详细介绍)
- 搜索引擎友好设计
- C语言中函数指针、指针函数、回调函数的简单含义
- hdu 4268 Alice and Bob
- linux shell使用gmond获取主机性能参数