C语言语法中常用的一些部分的提要
1.标识符
标识符可由字母、数字和下画线组成。标识符必须以字母或下画线开头,大、小写的字母分别认为是两个不同的字符。不同的系统对标识符的字符数有不同的规定,一般允许 7个字符。
2.常量
可以使用:
)整型常量
十进制常数。
八进制常数以0开头的数字序列)
。十六进制常数(以0x开头的数字序列)
。长整型常数(在数字后加字符L或1)。
(2)字符常量
用单引号引起来的一个字符,可以使用转义字符。
(3)实型常量(浮点型常量)
。小数形式。
。指数形式。
(4)字符串常量
用双引号引起来的字符序列。
3.表达式
(1)算术表达式
整型表达式:参加运算的运算量是整型量,运算过程中先转换成 double型,结果为double 型。
。整型表达式:参加运算的运算量是整型量,结果也是整型数。
(2)逻辑表达式
用逻辑运算符连接的整型量,结果为一个整数(0或1)。逻辑表达式可以认为是整型表达式的一种特殊形式。
(3)字位表达式
用位运算符连接的整型量,结果为整数。字位表达式也可以认为是整型表达式的一种特殊形式。
(4)强制类型转换表达式
用“(类型)”运算符使表达式的类型进行强制转换,如(float)a。
(5)逗号表达式(顺序表达式)
其形式为
表达式1,表达式2,…,表达式n
顺序求出表达式1,表达式 2,.,表达式的值,结果为表达式n的值
(6)赋值表达式
将赋值号“=”右侧表达式的值赋给赋值号左边的变量。赋值表达式的值为执行赋值后被赋值的变量的值。
(7)条件表达式
其形式为
逻辑表达式 ?表达式1: 表达式2
逻辑表达式的值若不为零,则条件表达式的值等于表达式1的值;若逻辑表达式的值为零,则条件表达式的值等于表达式2的值。
(8)指针表达式
对指针类型的数据进行运算,例如p-2、p1-p2 等(其中 p、pl、p2 均已定义为指向数组的指针变量,p1与 p2 指向同一数组中的元素),结果为指针类型。
以上各种表达式可以包含有关的运算符,也可以是不包含任何运算符的初等量(例如,常数是算术表达式的最简单的形式)。
4.数据定义
对程序中用到的所有变量都需要进行定义。对数据要定义其数据类型需要时要指定其存储类别。
(1)类型标识符可用
1.int 整形 2.short 短整型
3.long 长整型 4.unsigned 无符号常熟
5.char 字符型 6.float 单精度浮点型
7.double 双精度浮点型 8.struct 结构体名
9.union 共用体名 10.enum 枚举类型名
11.用typedef定义的类型名
结构体与共用体的定义形式为
struct 结构体名
{成员表列};
union 共用体名
(成员表列);
用typedef定义新类型名的形式为
typedef 已有类型 新定义类型
例如:
typedef int COUNT:
(2)存储类别可用
auto
static
register
extern
(如不指定存储类别,作auto处理)变量的定义形式为
存储类别、数据类型、变量表列;
例如:static float a, b, c;
注意外部数据定义只能用extern 或 static,而不能用auto或 register。
5.函数定义
其形式为
存储类别、数据类型、函数名 (形参表列)
函数体
函数的存储类别只能用 extern 或 static。函数体是用花括号括起来的,可包括数据定义和语句。函数的定义举例如下:
static int max (int x, int y)
{
int z;
z-x>y? x: y;
return (z);
}
6.变量的初始化
可以在定义时对变量或数组指定初始值
静态变量或外部变量如未初始化,系统自动使其初值为零(对数值型变量)或空(对字符型数据)。对自动变量或寄存器变量,若未初始化,则其初值为一不可预测的数据。
7.语句
(1)表达式语句;
(2)函数调用语句;
(3)控制语句;
(4)复合语句;
(5) 空语句。
其中控制语句包括
(1)if(表达式) 语句
或
if(表达式) 语句1
else语句2
(2)while(表达式)语句
(3)do 语句
while(表达式);
(4)for(表达式1;表达式2;表达式3)
语句
(5)switch(表达式)
case 常量表达式1 语句1;
case 常量表达式2 语句2;
case 常量表达式n 语句n;
default; 语句n十1;
前缀case和default本身并不改变控制流程,它们只起标号作用,在执行上一个case所标志的语句后,继续顺序执行下一个 case 前缀所标志的语句,除非上一个语句中最后用break语句使控制转出switch结构。
(6)break语句
(7)continue语句
(8)return语句
(9)goto语句
8.预处理指令
#define宏名字符串
#define宏名(参数1,参数2,,参数n)字符串
#undef宏名
# include“文件名” (或<文件名>)
#if常量表达式
#ifdef 宏名
其顺。计银博
#ifndef 宏名
#else
# endif