树莓派(7)C语言实验八

树莓派(7)C语言实验八,第1张

实验八 预编译宏

知识拓展:
C中的预编译宏定义: 在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理.

1. defineMaxMin.c 利用宏定义比较大小

(1)程序说明:利用带参数的宏,来实现求两个数最大值最小值的方法

(2)实验代码:

#include
/*
程序说明:利用带参数的宏,来实现求两个数最大值最小值的方法
*/
#define MAX(x,y) // 请学生自己实现
#define MIN(x,y) // 请学生自己实现




int main()
{
    int a,b;
    printf("please input two nums:\n");
    scanf("%d %d",&a,&b);

    printf("the max between %d and %d is %d\n",a,b,MAX(a,b));
    printf("the min between %d and %d is %d",a,b,MIN(a,b));
    return 0;
}
2.defineMultiply.c 利用宏定义来进行乘运算

(1)程序说明:从控制台输入两个整数,求他们的乘积,利用带参的宏来实现编程
(2)实验代码:

#include
/*
程序说明:从控制台输入两个整数,求他们的乘积,利用带参的宏来实现编程
*/

#define multiply(a,b)
int main()
{
    int a,b;
    printf("please input two nums:\n");
    scanf("%d %d",&a,&b);

    printf("a * b = %d\n",multiply(a,b));
    return 0;
}

3.defineSelect.c 利用宏定义来判断数组元素的奇偶

(1)程序说明:1、定义宏isOdd(a) 来判断一个数字是不是奇数
2、定义宏getLength(array)来计算数组长度
3、在宏中,可以使用两个#将两个符号连接成一个符号,请学生利用这个特性, 来定义宏select(NAME),以此来选择使用F_odd 还是F_even
(2)实验代码:

#include 

/*
程序说明:1、定义宏isOdd(a) 来判断一个数字是不是奇数
        2、定义宏getLength(array)来计算数组长度
        3、在宏中,可以使用两个#将两个符号连接成一个符号,请学生利用这个特性,来定义宏
         select(NAME),以此来选择使用F_odd 还是F_even
*/

#define F_odd printf("this is odd number \r\n")
#define F_even printf("this is even number \r\n")

/*
    请学生完成下列的宏定义。
*/
#define isOdd(a) 
#define getLength(array) 
#define select(NAME) 

int main()
{
    int array[] = {20,23,10,23,40,38,67,29,30,40};
    int length = getLength(array);
    for(int i = 0 ; i<length;i++)
    {
        printf("array[%d] = %d   ",i,array[i]);
        if(isOdd(array[i]))
            select(odd);
        else
        {
            select(even);
        }
    }
    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1324344.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-12
下一篇2022-06-12

发表评论

登录后才能评论

评论列表(0条)

    保存