主页 分类 关于

C语 概述(程序结构)

C语学习笔记

总体结构

  • 一个完整的C语言程序是由一个且只能有一个 main() 函数 (又称主要函数) 和 若干个其他函数结合而成, 或仅由一个 main() 构成

特点

  • 函数是C语言的基本单位, 所有的C语言程序都是由一个 mian() 函数或一个 mian() 函数与多个其它函数构成的 mian() 函数的作用相当于其他高级语言的主程序 其他函数的作用相当于子程序

  • 函数一般包括数据的定义部分和执行部分 数据定义部分 (也称声明部分)用于定义程序用到的所有变量的名字和变量类型, 并可以对变量指定初值 执行部分用于完成程序所规定的各项操作

  • C语言程序总是从 mian() 函数开始执行 一个C语言开始执行 一个C语言程序总是从 mian() 函数开始执行, 而不论其在程序中位置如何 主函数执行完毕, 亦即程序执行完毕 习惯上将主函数 mian() 放在最前头

函数的一般结构

  • 任何函数(包括主函数 main() )都是由函数说明和函数体两部分组成
[函数类型] 函数名 (函数参数表)   /* 函数说明部分 */
{
说明语句部分; /* 函数体部分 */
执行语句部分; /* 函数体部分 */
}

语法符号约定

  • […] 方括号表示可选 (既可以指定也可以缺省)
  • … 省略号表示前面的项可以重复
  • | 表示是两侧的项必选其一

函数说明

  • 由函数类型(可缺省) 函数名和函数参数表 三部分组成
数据类型 参数1 [, 数据类型 参数2 .]

函数体

  • 大括号(必须配对使用)内的说明语句部分和执行【语句部分为函数体

说明语句部分

  • 说明语句部分由变量定义, 自定义类型定义, 自定义函数说明, 外部变量说明等部分组成, 其中变量定义是主要的

执行语句部分

  • 执行语句部分由若干条执行语句构成

源程序书写格式

  • 所有语句都必须以分号 “;” 结束, 函数的最后一个语句也不例外

  • 程序行的书写格式自由, 即允许一条内写几条语句, 也允许一条语句分成几行写

  • /* 要注释的代码 */ 必须按照注释格式注释

  • 注释可以单站一行, 也可以跟在语句的后面, 如果一行写不下, 可另起一行继续写

  • 注释中 /* 可以是任意中文 符合 */ 在非中文 环境显示乱码 但是不影响程序的执行

C语言的编译过程:


编辑 -> 预处理 -> 编译 -> 汇编 -> 链接 -> 运行

C语言的关键字


auto: 声明自动变量

break: 跳出当前循环

case: 开关语句分支

char: 声明字符型变量或函数返回值类型

const: 声明只读变量

continue: 结束当前循环, 开始下一轮循环

default: 开关语句中的 "默认" 分支

do: 循环语句的循环体

double: 声明双精度浮点型变量或函数返回值类型

else: 条件语句否定分支 (与if连用 )

enum: 声明枚举类型

extern: 声明变量或函数是在其它文件或本文件的其他位置定义

float: 声明浮点型变量或函数返回值类型

for: 一种循环语句

goto: 无条件跳转语句

if: 条件语句

int: 声明整型变量或函数

long: 声明长整型变量或函数返回值类型

register: 声明寄存器变量

return: 子程序返回语句 (可以带参数, 也可不带参数 )

short: 声明短整型变量或函数

signed: 声明有符号类型变量或函数

sizeof: 计算数据类型或变量长度 (即所占字节数 )

static: 声明静态变量

struct: 声明结构体类型

switch: 用于开关语句

typedef: 用以给数据类型取别名

unsigned: 声明无符号类型变量或函数

union: 声明共用体类型

void: 声明函数无返回值或无参数, 声明无类型指针

volatile: 说明变量在程序执行中可被隐含地改变

while: 循环语句的循环条件

C语言中数据元素是基本单位, 数据项是最小单位不可分割

C语言中 算法的复杂性

  • 时间效率度量是 时间复杂性

    • 时间复杂性是指运行时间
  • 算法复杂性量度是 空间复杂性

    • 空间复杂性是运行时候程序所占有空间变量
  • 时空复杂性有最好情况和最坏情况, 一般指的是平均复杂性










作者: 我叫史迪奇
本文来自于: https://sdq3.link/C-main().html博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议