第三章预处理和语句

第三章预处理和语句

ID:39363754

大小:297.00 KB

页数:64页

时间:2019-07-01

第三章预处理和语句_第1页
第三章预处理和语句_第2页
第三章预处理和语句_第3页
第三章预处理和语句_第4页
第三章预处理和语句_第5页
资源描述:

《第三章预处理和语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章预处理和语句§3.1预处理命令§3.2语句§3.3选择语句§3.4循环语句§3.5转向语句【学习目标】if语句;if-else语句;switch语句;while语句;do-while语句;for语句;break语句;continue语句预处理功能是由一些预处理命令组成的。预处理命令:文件包含,宏定义,条件编译选择语句循环语句转向语句文件包含命令条件编译命令宏定义命令语句预处理命令§3.1预处理命令以“#”引导,在程序中独占一行;不是程序语句,不用“;”结束;在程序中的位置根据需要而定;预处理命令文件包含命令条件编译命令宏定义命令一、文件包含命令将

2、被包含文件的内容插入到文件包含命令所在位置;预处理命令是编译命令,在程序正常编译之前执行;文件包含命令可以嵌套使用;尖括号括起的文件是系统提供的、放在指定目录中的头文件;“头文件”存放标准函数、符号常量、类型定义等信息(扩展名.h);例:#include#include#include<文件名>格式一:由双引号括起的文件是用户定义的、放在当前目录或其他目录下的头文件或其他源文件;头文件可以由系统提供,也可由用户按需要编写;例:#include“myfile1.h”#include“myfile2.h”#inclu

3、de“文件名”格式二:一、文件包含命令二、条件编译命令定义某些内容在满足一定条件下参与编译;使同一个源程序在不同编译条件下产生不同目标代码;功能:若标识符已被宏定义过,<程序段1>参加编译,否则<程序段2>参加编译。#ifdef<标识符><程序段1>#else<程序段2>#endif或#ifdef<标识符><程序段1>#endif格式一:格式二:#ifndef<标识符><程序段1>#else<程序段2>#endif或#ifndef<标识符><程序段1>#endif功能:若标识符没有被宏定义过,<程序段1>参加编译,否则<程序段2>参加编译。二、条件编译

4、命令格式三:#if<常量表达式1><程序段1>#elif<常量表达式2><程序段2>#elif<常量表达式3><程序段3>#else<程序段n>#endif功能:当<常量表达式i>值为非0时,<程序段i>参加编译,否则<程序段n>参加编译。[例3.1]#include//文件包含命令#defineA–10//宏定义命令voidmain(){#ifA>0//条件编译命令cout<<“a>0”<

5、三、宏定义命令1.简单的宏定义如:#definePI3.14159#defineM=80(不合法)#defineSIZE2*M;(不合法)#define<宏名><字符串>程序编译前进行宏替换(用字符串替换宏名);宏定义可以嵌套;可用#undef命令取消宏定义;宏名通常用大写字母,区别于变量名;标识符[例3.4]#include#definePI3.14159voidmain(){doubler,l,s;cout<<“Inputradius:”;cin>>r;l=2*PI*r;s=PI*r*r;cout<<“l=”<

6、l;cout<<“s=”<>r;l=2*3.14159*r;s=3.14159*r*r;cout<<“l=”<

7、取消,否则到整个文件结束;#definePI3.14159constdoublePI=3.14159;比较2.带参数的宏定义#define<宏名>(<参数表>)<宏体>例:#defineADD(x,y)x+y1)宏替换时,用“实参”替换<宏体>中的“形参”;形参:宏定义时出现的参数实参:程序中引用宏定义的参数S=ADD(7,8);S=7+8;S=ADD(a+1,b+2);S=a+1+b+2;形参4)<宏体>中的形参应适当地加括号;例:#defineSQ(x)x*xm=SQ(a+b);例:#defineSQ(x)(x)*(x)m=SQ(a+b);2)<宏

8、名>与左括号间不能有空格;若#defineADD(x,y)x+y则“(x,y)x+y”作为字符

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。