版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计C语言程序设计课程回顾1、标识符的定义规则?2、C语言的基本数据类型有哪些?3、运算符的类型及优先级。课程回顾1、标识符的定义规则?第8章编译预处理8.1求解某校园圆形花坛的圆周长及圆面积 8.2 宏定义 8.3 文件包含 8.4 条件编译在编译之前对预处理命令进行处理。第8章编译预处理8.1求解某校园圆形花坛的圆周长及圆面积8.1求解某校园圆形花坛的圆周长及圆面积任务描述 在几何图形的求解问题中,通常需要求解圆周长及面积,只要已知圆半径便可依相应算法求解所需问题,并运用符号常量设计程序,计算圆周长及面积相关知识 宏定义和文件包含8.1求解某校园圆形花坛的圆周长及圆面积任务描述宏
2、定义和文【任务分析】本任务也可以拆分成3个子任务:任务1是完成输入功能,即将球体的半径存储到计算机中;任务2是计算周长与体积;任务3是在屏幕上输出计算结果。8.1求解某校园圆形花坛的圆周长及圆面积【任务分析】8.1求解某校园圆形花坛的圆周长及圆面积【数据处理】问题输入r /*表示圆的半径*/问题输出circ /*存放圆的周长*/area /*存放圆的面积*/8.1求解某校园圆形花坛的圆周长及圆面积【数据处理】8.1求解某校园圆形花坛的圆周长及圆面积【程序实现】#include stdio.h#define PI 3.14159double circ(double r)return (2.0*P
3、I*r);double area(double r)return (PI*r*r);main()double r; printf(请输入待求圆形花坛的半径: scanf( %lfn,r);printf(所求圆形花坛的圆周长% .4f= circ n, circ(r)printf(所求圆形花坛的圆面积% .4f= area n, area(r)8.1求解某校园圆形花坛的圆周长及圆面积【程序实现】8.1求解某校园圆形花坛的圆周长及圆面积学习目标掌握无参数宏定义和带参数宏定义的基本用法理解带参数宏定义和函数调用的主要区别8.2 宏定义学习目标掌握无参数宏定义和带参数宏定义的基本用法理解带参数宏8.2
4、.1 无参数的宏定义基本形式# define 标识符 字符串 表示这是一条预处理命令宏定义命令为所定义的宏名 可以是常数、表达式、格式串等 # define PI 3.14159268.2.1 无参数的宏定义基本形式# define 标8.1.1 无参数的宏定义#include #define R 3.0#define PI 3.1415926#define L 2*PI*R#define S PI*R*Rmain() printf(L=%fnS=%fn,L,S); 8.1.1 无参数的宏定义#include stdio几点说明宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名。宏
5、定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换。宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结束。宏名在源程序中若用引号括起来,则预处理程序不对其作宏代换。宏定义允许嵌套,在宏定义的字符串中可以使用已经定义的宏名。习惯上宏名用大写字母表示,以便于与变量区别。但也允许用小写字母。对“输出格式”作宏定义,可以减少书写麻烦。 8.1.1 无参数的宏定义几点说明宏定义是用宏名来表示一个字符串,在宏展开时又以该字8.1.2 带参数的宏定义基本形式带参数宏定义的一般形式为: #define 宏名(形参表) 字符串带参数宏调用的一般形式为: 宏名(实参表);8.1.2 带参数的
6、宏定义基本形式带参数宏定义的一实例分析#include #define ADD(x) x+xvoid main()int m=1,n=2,k=3;int sum=ADD(m+n)*k;printf(sum=%d,sum);分析以下程序运行结果。 8.1.2 带参数的宏定义实例分析#include 分析以下程序运行几点说明带参宏定义中,宏名和形参表之间不能有空格出现。在带参宏定义中,形式参数不分配内存单元,因此不必作类型定义。而宏调用中的实参有具体的值。要用它们去代换形参,因此必须作类型说明。在宏定义中的形参是标识符,而宏调用中的实参可以是表达式。在宏定义中,字符串内的形参通常要用括号括起来以避
7、免出错。带参的宏和带参函数很相似,但有本质上的不同。宏定义也可用来定义多个语句,在宏调用时,把这些语句又代换到源程序内。8.1.2 带参数的宏定义几点说明带参宏定义中,宏名和形参表之间不能有空格出现。8.8.1.3 终止宏定义基本形式一般形式为: #undefine 宏名#define G 9.8main(). /*G的有效范围是从定义开始到#undef G止 */# undefine Gf1()8.1.3 终止宏定义基本形式一般形式为:学习目标掌握文件包含的形式和含义理解文件包含的两种形式的主要区别8.3 文件包含学习目标掌握文件包含的形式和含义理解文件包含的两种形式的主要文件包含预处理是指
8、在一个文件中将另外一个文件的全部内容包含进来的处理过程,即将另外的文件包含到本文件中。相关概念8.3 文件包含文件包含预处理是指在一个文件中将另外一个文件的全部内容包基本形式8.3 文件包含文件包含的一般形式为: #include 文件名或 #include 基本形式8.3 文件包含文件包含的一般形式为:几点说明8.3 文件包含使用尖括号表示在包含文件目录中去查找;使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找一个include命令只能指定一个被包含文件,若有多个文件要包含,则需用多个include命令。文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件几
9、点说明8.3 文件包含使用尖括号表示在包含文件目录中8.4 条件编译基本形式1#ifdef 标识符程序段1#else程序段2#endif功能:如果标识符已被 #define命令定义过则对程序段1进行编译;否则对程序段2进行编译。如果没有程序段2(它为空),本格式中的#else可以没有,即可以写为:#ifdef 标识符程序段#endif8.4 条件编译基本形式1#ifdef 标识符8.4 条件编译基本形式2#ifndef 标识符程序段1#else程序段2#endif功能:如果标识符未被#define命令定义过则对程序段1进行编译,否则对程序段2进行编译。这与第一种形式的功能正相反。8.4 条件编
10、译基本形式2#ifndef 标识符8.4 条件编译基本形式3#if 常量表达式程序段1#else程序段2#endif功能:如常量表达式的值为真(非0),则对程序段1 进行编译,否则对程序段2进行编译。因此可以使程序在不同条件下,完成不同的功能。 8.4 条件编译基本形式3#if 常量表达式8.4 条件编译实例分析从键盘输入10个整数,并依所设置的编译条件将其中的最大值或最小值显示出来。#include #define MFLAG 1mai()int i,M;int array10;for (i=0;i10;i+) scanf(%d,&arrayi); M=array0; for (i=1;i1
11、0;i+) #if MFLAGif (Marrayi) M=arrayi; #endifprintf(M=%d,M);8.4 条件编译实例分析从键盘输入10个整数,并依所设置小型案例任务描述 要求任意输入一行字母字符,根据需要设条件编译,使之能将字母全改为大写输出或小写输出。分析 可先设定一个常量,作为后续进行预处理的条件编译命令的条件选项,依不同的条件作相应的条件编译。小型案例任务描述【数据处理】问题输入LETTER /*作为存放字母字符的常量标识*/str /*一个字符串数组*/问题输出转换后的字母符号 相关计算公式小写字母 - 32=大写字母小型案例【数据处理】小型案例【算法】1读取字符串数组的各个字符。2依LETTER标识条件,作相应的转换。3用小写字母与大写字母间的差值为32进行计算转换。小型案例【算法】小型案例#define LETTER 1main()char str20 =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人健身教练协议:训练计划与服务承诺(2024版)版B版
- 2025年度测绘仪器研发信息保密协议范本3篇
- 万科室内设计合作标准协议2024年施行版版
- 二零二五版建筑材料购销合同范本-供方与需方绿色环保协议3篇
- 二零二五版国际金融市场风险管理合作协议3篇
- 2025年版项目部人员合同协议书:电子商务项目人员招聘及培训协议3篇
- 二零二五年度煤炭资源开发合作协议4篇
- 二零二五年新型城镇化建设项目委托开发协议3篇
- 2025年度门窗工程绿色供应链管理协议3篇
- 2024童装企业数字化转型咨询合同3篇
- 国家自然科学基金项目申请书
- 电力电缆故障分析报告
- 中国电信网络资源管理系统介绍
- 2024年浙江首考高考选考技术试卷试题真题(答案详解)
- 《品牌形象设计》课件
- 仓库管理基础知识培训课件1
- 药品的收货与验收培训课件
- GH-T 1388-2022 脱水大蒜标准规范
- 高中英语人教版必修第一二册语境记单词清单
- 政府机关保洁服务投标方案(技术方案)
- HIV感染者合并慢性肾病的治疗指南
评论
0/150
提交评论