返回列表 发帖

C语言常用语法的简单摘要

在刚开始学C语言时,往往一些定义和用法搞不清,需要查书的,站长结合实际把常用的语法打出供您参考和备忘。
1、标识符
  可由字母,数字和下划线组成。标识符必须以字母或下划线开头。大,小写的字母分别认为是两个不同的字符。不同的系统对标识的字符的字符数有不同的规定,一般允许7个字符。

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//一般默认
  static

  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

返回列表

最新关注 关闭


关于论坛注册,最新修改,请网友们注意

由于最近大量垃圾信息出现在我们的论坛,为了营造一个良好的氛围,目前论坛只开发邀请注册,你可以点击以下链接自动邀请注册(如果有人使用了点击下一个试一试) ...


查看
珩源工控论坛热诚欢迎您联系我们进行合作!

Powered by Discuz! 7.2© 2001-2009 Comsenz Inc.

珩源工控论坛 ( 桂ICP备19004328号) |论坛统计|WAP| 客服中心-www.hymcu.com
  

GMT+8, 2024-11-1 12:27, Processed in 1.043863 second(s), 5 queries, Gzip enabled.