函数与程序结构

  1. 函数的基本知识
    函数定义形式:
    返回值类型 函数名(参数生命表)
    {
    声明和语句
    }
  2. 返回非整型的函数
    不返回任何值 void
    整型 int
  3. 外部变量
    逆波兰表示法中,所有运算符都跟在操作数的后面。
    如:
    中缀表达式:(1-2)*(4+5)
    逆波兰表达式:12-45+*
    逆波兰表达式不需要括号,只需要知道运算符需要几个操作数就不会引起歧义
    while(下一个运算符或操作数不是文件结束指示符)
    if(是数)
    将该数压入到栈中
    else if
    弹出所需数目的操作数
    执行运算
    将结果压入到栈中
    else if(是换行运算符)
    弹出并打印栈顶的值
    else
    出错

  4. 作用域规则
    名字的作用域指的是程序中可以使用的改名字的部分。
    main{。。。。}
    int sp=0;
    double val[maxval]
    void push(double f){…….}
    double pop(void ){…….}
    那么,在push与pop这两个函数中不需要进行任何声明就可以通过名字访问变量sp和val,但是这两个变量名不能再main函数中使用,push与pop函数也不能在main函数中

另一方面,如果要在外部变量的定义之前使用该变量,或者外部变量的定义与变量的使用不在同一个源文件中,则必须在相应的变量声明中强制 得使用关键字extern。

5.头文件
这里写图片描述
6.静态变量
static类型的内部变量是一种只能在某个特定函数中使用但一直占据存储空间的变量。
如果把函数声明成static类型,该函数名除了对该函数声明所在的文件可见外,其他文件都无法访问。
7.寄存器变量
register声明告诉编译器,他所在的变量在程序中使用频率较高。
形式:register int x;
register声明只适用于自动变量以及函数变量的形式参数。
8.程序块结构
函数内定义的变量x和函数外定义的变量x不冲突
9.初始化
对于外部变量与静态变量来说,初始化表达式必须是常量表达式,且只初始化一次
对于自动变量与寄存器变量,则在每次进去函数或程序块是都将被初始化。
10.递归
调用自身
快速排序
11.C预处理器
1)文件包含
#include“文件名”
#include <文件名>
2)宏替换
#define 名字 替换文本
3)条件包含
#ifndef HDR
#define EDR
/hdr.h文件的内容放在这里/
#endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值