C语言基础习题50例(十)46-50 以你之姓@ 2023-02-20 03:28 62阅读 0赞 ### 文章目录 ### * * 习题46 * 习题47 * 习题48 * 习题49 * 习题50 > 知足常足,终身不辱。 > 月圆缺,水满溢,事情到了极致一定会遭受祸患,只有懂得知足,才是富足。 ## 习题46 ## > 宏\#define命令练习。 实现思路: 宏通过`#define`命令定义,分为无参宏和带参宏,可以分别进行测试。这只是一种简单的字符串代换。 代码如下: #include <stdio.h> #define TRUE 1 #define FALSE 0 #define SQR(x) (x)*(x) int main(){ int num, next = TRUE; while(next){ printf("Please input a number:\n"); scanf("%d", &num); printf("Square = %d\n", SQR(num)); if(num > 10){ next = FALSE; } } return 0; } 打印: Please input a number: 1 Square = 1 Please input a number: 5 Square = 25 Please input a number: 9 Square = 81 Please input a number: 13 Square = 169 ## 习题47 ## > 宏\#define命令练习,替换一个代码块。 实现思路: 实现在代码中使用宏就像调用函数一样(当然,实际上并不是调用函数)。 代码如下: #include<stdio.h> #define EXCHANGE(a,b) { int t;t=a;a=b;b=t;} int main() { int x = 12; int y = 20; printf("Before Exchange:x=%d; y=%d\n",x,y); EXCHANGE(x,y); printf("After Exchange:x=%d; y=%d\n",x,y); return 0; } 打印: Before Exchange:x=12; y=20 After Exchange:x=20; y=12 ## 习题48 ## > 宏\#define命令练习,替换运算符号。 实现思路: 在进行比较运算的时候用定义的宏替换掉原来的符号。 代码如下: #include <stdio.h> #define GT > #define LT < #define EQ == int main() { int i, j; printf("Please input two numbers:\n"); scanf("%d %d", &i, &j); if(i GT j) printf("%d is greater than %d \n", i, j); else if(i EQ j) printf("%d is equal to %d \n", i, j); else if(i LT j) printf("%d is smaller than %d \n", i, j); else printf("Error\n"); return 0; } 打印: Please input two numbers: 13 45 13 is smaller than 45 ## 习题49 ## > \#if、\#ifdef和\#ifndef的综合应用。 实现思路: 预处理程序提供了条件编译的功能,可以按不同的条件去编译不同的程序部分,因而产生不同的目标代码文件。 代码如下: #include<stdio.h> #define MAX #define MAXIMUM(x,y) (x>y)?x:y #define MINIMUM(x,y) (x>y)?y:x int main(){ int a=12, b=20; #ifdef MAX printf("%d is bigger\n", MAXIMUM(a,b)); #else printf("%d is smaller\n", MINIMUM(a,b)); #endif #ifndef MIN printf("%d is smaller\n", MINIMUM(a,b)); #else printf("%d is bigger\n", MAXIMUM(a,b)); #endif #undef MAX #ifdef MAX printf("%d is bigger\n", MAXIMUM(a,b)); #else printf("%d is smaller\n", MINIMUM(a,b)); #endif #define MIN 1 #ifndef MIN printf("%d is smaller\n", MINIMUM(a,b)); #else printf("%d is bigger\n", MAXIMUM(a,b)); #endif #if(MIN) printf("%d is smaller\n", MINIMUM(a,b)); #else printf("%d is bigger\n", MAXIMUM(a,b)); #endif return 0; } 打印: 20 is bigger 12 is smaller 12 is smaller 20 is bigger 20 is bigger ## 习题50 ## > \#include的应用练习。 实现思路: 文件包含使用尖括号表示在包含文件目录中去查找(包含目录是由用户在配置环境时设置的),而不在源文件目录去查找; 使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。 创建cp.h如下: #define GT > #define LT < #define EQ == 代码如下: #include <stdio.h> #include "cp.h" int main() { int i, j; printf("Please input two numbers:\n"); scanf("%d %d", &i, &j); if(i GT j) printf("%d is greater than %d \n", i, j); else if(i EQ j) printf("%d is equal to %d \n", i, j); else if(i LT j) printf("%d is smaller than %d \n", i, j); else printf("Error\n"); return 0; } 打印: Please input two numbers: 12 20 12 is smaller than 20
相关 大学生必学练习题 - C 语言经典50例 [原文][Link 1] > 我是陈皮,一个在互联网 Coding 的 ITer,微信搜索「陈皮的JavaLib」第一时间阅读最新文章,回复【资料】,即可获得我精心整理的技术 柔情只为你懂/ 2023年10月02日 06:22/ 0 赞/ 68 阅读
相关 C语言基础习题50例(十)46-50 文章目录 习题46 习题47 习题48 习题49 习题50 > 知足常足,终身不辱。 > 月圆缺 以你之姓@/ 2023年02月20日 03:28/ 0 赞/ 63 阅读
相关 C语言基础习题50例(九)41-45 文章目录 习题41 习题42 习题43 习题44 习题45 毕业季、期末已至,不用为论文查重烦恼,让 Dear 丶/ 2023年02月18日 14:10/ 0 赞/ 47 阅读
相关 C语言基础习题50例(八)36-40 文章目录 习题36 习题37 习题38 习题39 习题40 不会玩阴阳师,但我照样带你一键下载所有卡 Bertha 。/ 2023年02月17日 03:17/ 0 赞/ 67 阅读
相关 C语言基础习题50例(七)31-35 文章目录 习题31 习题32 习题33 习题34 习题35 ![头条号 cuter科利][cu Love The Way You Lie/ 2023年02月16日 06:03/ 0 赞/ 59 阅读
相关 C语言基础习题50例(五)21-25 文章目录 习题21 习题22 习题23 习题24 习题25 你不得不学的职场高效表达训练 [h - 日理万妓/ 2023年02月14日 13:23/ 0 赞/ 78 阅读
相关 C语言基础习题50例(四)16-20 文章目录 习题16 习题17 习题18 习题19 习题20 Python基础特训 12节课从0起步掌 £神魔★判官ぃ/ 2023年02月14日 07:45/ 0 赞/ 75 阅读
相关 C语言基础习题50例(三)11-15 文章目录 习题11 习题12 习题13 练习14 习题15 ![你们看出什么了吗][20200 落日映苍穹つ/ 2023年02月14日 02:34/ 0 赞/ 59 阅读
相关 C语言基础习题50例(二)6-10 文章目录 习题6 习题7 习题8 习题9 习题10 Spark大数据实战——大数据集训营的先导课 港控/mmm°/ 2023年02月13日 08:58/ 0 赞/ 85 阅读
相关 C语言基础习题50例(一)1-5 文章目录 习题1 习题2 习题3 习题4 习题5 > 虎为百兽尊,罔敢触其怒。 > 惟有父子情, ╰+攻爆jí腚メ/ 2023年02月12日 15:30/ 0 赞/ 153 阅读
还没有评论,来说两句吧...