|
C语言常用语法的简单摘要
2。常量 可以使用: 1整型常量 十进制常数。 八进制常数(以0开头的数字序列)。 十六进制常数(以0X开头的数字序列)。 长整型常数(在数字后加字符L或L)。 2字符常量 用单撇号括起来的一个字符,可以使用转义字符。 3实型常量(浮点型常量) 小数形式。 指数形式。 4字符串常量 用双撇号括起来的字符序列。 3 表达式 (1)算术表达式 整型表达式:参加运算的运算量是整型量,结果也是整型数。 实型表达式:参加运算的运算是实型量,运算过程中先转换成double型,结果为double型。 (2)逻辑表达式 用逻辑运算符连接的整型量,结果为一个整数0或1。逻辑表达式可以认为是整型表达式的一种特殊形式。 (3)字位表达式 用位运算符连接的整型量,结果为整数。字位表达式也可以认为是整型表达式的一种特殊形式。 (4)强制类型转换表达式 用“(类型)”运算符使表达式的类型进行强制转换。 (5)逗号表达式(顺序表达式) 形式为 表达式1,表达式2 表达式n 顺序求出表达式1,表达式2 表达式n的值。结果为表达式n的值。 (6)赋值表达式 将赋值号“=”右侧表达式的值赋值号左边的变量。赋值表达式的值为执行赋值后被赋值的变量的值。 (7)条件表达式 形式为 逻辑表达式?表达式1:表达式2 逻辑表达式的若为非零,则条件表达式的值等于表达式1的值;若逻辑表达式的值为零,则条件表达式的值等于表达式2的值。 (8)指针表达式 对指针类型的数据进行运算。例如,p-2,p1-p2等(其中p,P1,P2均已定义为指向数组的指针变量,p1与p2指向同一数组中的元素),结果为指针类型。 以上各种表达式可以包含有关的运算符,也可以是不包含任何运算符的初等量(例如,常数是算术表达式的最简单的形式)。 4 数据定义 对程序中用到的所有变量都需要进行定义。对数据要定义其数据类型,需要时要指定其存储类别。 (1)类型标识符可用 int short long unsigned char float double struct 结构体名 union 共用体名 enum 枚举型名 用typedef定义的类型名 结构体与共同体的定义形式为 struct 结构体名 {成员表列}; union 共用体名 {成员表列}; 用typedef定义新类型名的形式为 typedef 已有类型 新定义类型; 如: typedef int COUNT;//就是在有INT的地方都可以用COUNT代替 (2)存储类别可用 auto//一般默认 register extren (如不指定存储类别,作auto处理) 变量的定义形式为 存储类别 数据类型 变量表列; 例如: static float a,b,c; 注意外部数据定义只能用extern或static,而不能用auto或register. 5 函数定义 形式为 存储类别 数据类型 函数名(形参表列) 函数体 函数的存储类别只能用extern或static.函数体是用花括弧括起来的,可包括数据定义和语句.函数的定义举例如下: static int max (int,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
|