2014年C++高级语言程序设计第五章.pptVIP

  1. 1、本文档共161页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
预处理命令 #include 格式 #include头文件名 #include“头文件名” 功能 将一个头文件嵌入(包含)到当前文件 * AJFJDSHFDHGKHFKLGHSKHGLKDHGJHLKSHDGJLSHLGDHSLHG -*- 5.10 编译预处理 预处理命令 #define 格式 #define 标识符 字符串 功能 把字符串命名为标识符(用标识符代表字符串) 标识符可以表示符号常量或宏名,编写源程序时 代替”字符串”出现在程序中,编译时又被替换 为”字符串”内容。 例: #define PI 3.1415 const double PI = 3.1415; #define max(x,y) (x=y?x:y) inline int max(int x, int y){ return x=y?x:y;} * AJFJDSHFDHGKHFKLGHSKHGLKDHGJHLKSHDGJLSHLGDHSLHG -*- 5.10 编译预处理 预处理命令 #undef 格式 #undef 标识符 功能 撤销前面用#define定义的标识符 例: #undef PI * AJFJDSHFDHGKHFKLGHSKHGLKDHGJHLKSHDGJLSHLGDHSLHG -*- 5.10 编译预处理 预处理命令 #ifdef 格式 #ifdef 标识符 语句 #endif 功能 如果已定义了“标识符”,则编译“语句” * AJFJDSHFDHGKHFKLGHSKHGLKDHGJHLKSHDGJLSHLGDHSLHG -*- #ifdef PI float w=2*PI*f; coutf“, ”wendl; #endif 5.10 编译预处理 预处理命令 #ifndef 格式 #ifndef 标识符 语句 #endif 功能 如果未定义了“标识符”,则编译“语句” * AJFJDSHFDHGKHFKLGHSKHGLKDHGJHLKSHDGJLSHLGDHSLHG -*- #ifndef PI float w=2*3.14*f; coutf“, ”wendl; #endif 5.10 编译预处理 预处理命令 #if #elif #else #endif 功能 条件编译指令,如果某个表达式成立,则编译相应 的语句。 * AJFJDSHFDHGKHFKLGHSKHGLKDHGJHLKSHDGJLSHLGDHSLHG -*- 格式 #if 常量表达式 语句 #endif 格式 #if 常量表达式1 语句1 #else 语句2 #endif 格式 #if 常量表达式1 语句1 #elif常量表达式2 语句2 ┇ #else 语句n #endif 例5-15 九宫格问题。魔方阵是一个古老的智力问题,要求在一个n???n的矩阵中填入1~n2的数字(n为奇数),使得每一行、每一列、每条对角线的累加和都相等。 填写n=3的九宫格,用二维数组grid存储九宫格。 (1)由1开始填数,将1放在第0行的中间位置。 (2)将九宫格方阵想象成上下、左右相接,每次往左上角走一步,会有下列3种情况。 ① 左上角上方出界,则在最下面对应位置填下一个数字。 ② 左上角左边出界,则在最右边对应位置填下一个数字。 ③ 左上角已有数字,则在同一列的下一行填下一个数字。 * AJFJDSHFDHGKHFKLGHSKHGLKDHGJHLKSHDGJLSHLGDHSLHG -*- 5.10 编译预处理 * AJFJDSHFDHGKHFKLGHSKHGLKDHGJHLKSHDGJLSHLGDHSLHG -*- //例5-15 九宫格问题 #include iostream using namespace std; const int N = 3; #define _DEBUG_PROGRAM //注释此句,则不显示中间结果 void square(int grid[][N],int n) { int y=0; int x=(n-1)/2; grid[0][x]=1; //在第0行中间位置填1 * AJFJDSHFDHGKHFKLGHSKHGLKDHGJHLKSHDGJLSHLGDHSLHG -*- for(int i=2; i=n*n; i++) { y = (y-1+n) % n; //左上角位置有效行下标 x = (x-1+n) % n; //左上角位置有效列下标 if ( grid[y][x]0 ) //左上角位置已有数字

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档