C语言程序设计案例教程课件-8第八章-编译预处理

PPT
  • 阅读 63 次
  • 下载 0 次
  • 页数 29 页
  • 大小 2.404 MB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
C语言程序设计案例教程课件-8第八章-编译预处理
可在后台配置第一页与第二页中间广告代码
C语言程序设计案例教程课件-8第八章-编译预处理
可在后台配置第二页与第三页中间广告代码
C语言程序设计案例教程课件-8第八章-编译预处理
可在后台配置第三页与第四页中间广告代码
C语言程序设计案例教程课件-8第八章-编译预处理
C语言程序设计案例教程课件-8第八章-编译预处理
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 29
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
文本内容

【文档说明】C语言程序设计案例教程课件-8第八章-编译预处理.ppt,共(29)页,2.404 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44484.html

以下为本文档部分文字说明:

C语言程序设计课程回顾1、标识符的定义规则?2、C语言的基本数据类型有哪些?3、运算符的类型及优先级。第8章编译预处理8.1求解某校园圆形花坛的圆周长及圆面积8.2宏定义8.3文件包含8.4条件编译8.

1求解某校园圆形花坛的圆周长及圆面积任务描述在几何图形的求解问题中,通常需要求解圆周长及面积,只要已知圆半径便可依相应算法求解所需问题,并运用符号常量设计程序,计算圆周长及面积相关知识宏定义和文件包含【任务分析】本任务也可以拆分

成3个子任务:任务1是完成输入功能,即将球体的半径存储到计算机中;任务2是计算周长与体积;任务3是在屏幕上输出计算结果。8.1求解某校园圆形花坛的圆周长及圆面积开始初始化圆半径计算圆周长及面积打印输出结束【数据处理】Ø问题输入r/*表示圆的半径*/Ø问题输出circ/*存放圆的周长*/a

rea/*存放圆的面积*/8.1求解某校园圆形花坛的圆周长及圆面积【程序实现】#include<stdio.h#definePI3.14159doublecirc(doubler){return(2.0*PI*r);}doublearea(double

r){return(PI*r*r);}main(){doubler;printf("请输入待求圆形花坛的半径:"scanf("%lf\n",r);printf("所求圆形花坛的圆周长%.4f=circ\n",circ(r)printf("所求圆形花坛的圆面积%.4f=a

rea\n",area(r)}8.1求解某校园圆形花坛的圆周长及圆面积学习目标掌握无参数宏定义和带参数宏定义的基本用法理解带参数宏定义和函数调用的主要区别8.2宏定义8.2.1无参数的宏定义基本形式#define标识符字符串表示这是一条预处理命令宏定义命令为所定义的宏名#de

finePI3.14159268.1.1无参数的宏定义#include<stdio.h>#defineR3.0#definePI3.1415926#defineL2*PI*R#defineSPI*R*Rmain(){printf("L=%f\nS=%f\n

",L,S);}几点说明①宏定义是用宏名来表示一个字符串,在宏展开时又以该字符串取代宏名。②宏定义不是说明或语句,在行末不必加分号,如加上分号则连分号也一起置换。③宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结

束。④宏名在源程序中若用引号括起来,则预处理程序不对其作宏代换。⑤宏定义允许嵌套,在宏定义的字符串中可以使用已经定义的宏名。⑥习惯上宏名用大写字母表示,以便于与变量区别。但也允许用小写字母。⑦对“输出格式”作宏定义,可以减少书写麻烦。8.1.1无参数的宏定义8.1.2带参数

的宏定义基本形式带参数宏定义的一般形式为:#define宏名(形参表)字符串带参数宏调用的一般形式为:宏名(实参表);实例分析#include<stdio.h>#defineADD(x)x+xvoidmain(){intm=1,n=

2,k=3;intsum=ADD(m+n)*k;printf("sum=%d",sum);}分析以下程序运行结果。8.1.2带参数的宏定义几点说明①带参宏定义中,宏名和形参表之间不能有空格出现。②在带参宏定义中,形式参数不分配内存单元

,因此不必作类型定义。而宏调用中的实参有具体的值。要用它们去代换形参,因此必须作类型说明。③在宏定义中的形参是标识符,而宏调用中的实参可以是表达式。④在宏定义中,字符串内的形参通常要用括号括起来以避免出错。⑤带参的宏和带参函数很相似,但有本质上的不同。⑥

宏定义也可用来定义多个语句,在宏调用时,把这些语句又代换到源程序内。8.1.2带参数的宏定义8.1.3终止宏定义基本形式一般形式为:#undefine宏名#defineG9.8main(){…../*G的有效范围是从定义开始到#undefG止*/}#undefineGf1(){……}学习目标掌握

文件包含的形式和含义理解文件包含的两种形式的主要区别8.3文件包含文件包含预处理是指在一个文件中将另外一个文件的全部内容包含进来的处理过程,即将另外的文件包含到本文件中。相关概念8.3文件包含基本形式8.3文件包含文件包含的

一般形式为:#include"文件名"或#include<文件名>几点说明8.3文件包含①使用尖括号表示在包含文件目录中去查找;使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找②一个include命令只能指定一个被包含文件,若有多个文件要包

含,则需用多个include命令。③文件包含允许嵌套,即在一个被包含的文件中又可以包含另一个文件8.4条件编译基本形式1#ifdef标识符程序段1#else程序段2#endif功能:如果标识符已被#define命令定义过则

对程序段1进行编译;否则对程序段2进行编译。如果没有程序段2(它为空),本格式中的#else可以没有,即可以写为:#ifdef标识符程序段#endif8.4条件编译基本形式2#ifndef标识符程序段1#else程序段2#end

if功能:如果标识符未被#define命令定义过则对程序段1进行编译,否则对程序段2进行编译。这与第一种形式的功能正相反。8.4条件编译基本形式3#if常量表达式程序段1#else程序段2#endif功能:如常量表达式的值为真(非0),则对程序段1进行编译,否则对程序段2进行编译。因此可以使程序

在不同条件下,完成不同的功能。8.4条件编译实例分析从键盘输入10个整数,并依所设置的编译条件将其中的最大值或最小值显示出来。#include<stdio.h>#defineMFLAG1mai(){inti,M;intarray[10];for(i=0;i<10;i

++)scanf("%d",&array[i]);M=array[0];for(i=1;i<10;i++){#ifMFLAGif(M<array[i])M=array[i];#elseif(M>array[i])M=array[i];#endif}pri

ntf("M=%d",M);}小型案例任务描述要求任意输入一行字母字符,根据需要设条件编译,使之能将字母全改为大写输出或小写输出。分析可先设定一个常量,作为后续进行预处理的条件编译命令的条件选项,依不同的条件作相应的条件编译。【数据处理】•问题输入LETTER/*作为存放字母字符的常量标

识*/str[]/*一个字符串数组*/•问题输出转换后的字母符号相关计算公式小写字母-32==大写字母小型案例【算法】1.读取字符串数组的各个字符。2.依LETTER标识条件,作相应的转换。3.用小写字母与大写字母间的差值为32进行计算转换。小型案例#defineLETTER1mai

n(){charstr[20]="Clanguage",c;inti=0;while((c=str[i])!='\0'){i++;#ifLETTERif(c>=‘a’&&c<=‘z’)c=c-32;#elseif(c>='A'&&c<='Z')c=c+32;#endif

printf("%c",c);}}小型案例作业1、教材第八章课后习题。2、作业集第八章。

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?