C语言典范编程

题目:#if #ifdef和#ifndef的概括使用.
1,程序解析:
2,程序源代码:
#include “stdio.h”
#define MAX
#define MAXIMUM(x,y) (x>y)? x:y
#define MINIMUM(x,y) (x>y)? y:x
void main()
{ int a=10,b=20;
#ifdef MAX
printf(“\40:The larger one is %d\n”,MAXIMUM(a,b));
#else
printf(“\40:The lower one is %d\n”,MINIMUM(a,b));
#endif
#ifndef MIN
printf(“\40:The lower one is %d\n”,MINIMUM(a,b));
#else
printf(“\40:The larger one is %d\n”,MAXIMUM(a,b));
#endif
#undef MAX
#ifdef MAX
printf(“\40:The larger one is %d\n”,MAXIMUM(a,b));
#else
printf(“\40:The lower one is %d\n”,MINIMUM(a,b));
#endif
#define MIN
#ifndef MIN
printf(“\40:The lower one is %d\n”,MINIMUM(a,b));
#else
printf(“\40:The larger one is %d\n”,MAXIMUM(a,b));
#endif
}

【程序50】
题目:#include 的使用锻炼   
1,程序解析:
2,程序源代码:
test.h 文件似下:
#define LAG >
#define SMA <
#define EQ ==
#include “test.h” 一个新文件50.c,包涵test.h
#include “stdio.h”
void main()
{ int i=10;
int j=20;
if(i LAG j)
printf(“\40:%d larger than %d \n”,i,j);
else if(i EQ j)
printf(“\40:%d equal to %d \n”,i,j);
else if(i SMA j)
printf(“\40:%d smaller than %d \n”,i,j);
else
printf(“\40:No such value.\n”);
}
【程序51】
题目:进修使用按位与 & .   
1,程序解析:0&0=0;0&1=0;1&0=0;1&1=1
2,程序源代码:
#include “stdio.h”
main()
{
int a,b;
a=077;
b=a&3;
printf(“\40:The a & b(decimal) is %d \n”,b);
b&=7;
printf(“\40:The a & b(decimal) is %d \n”,b);
}

【程序52】
题目:进修使用按位或 | .
1,程序解析:0|0=0;0|1=1;1|0=1;1|1=1            
2,程序源代码:
#include “stdio.h”
main()
{
int a,b;
a=077;
b=a|3;
printf(“\40:The a & b(decimal) is %d \n”,b);
b|=7;
printf(“\40:The a & b(decimal) is %d \n”,b);
}

【程序53】
题目:进修使用按位异或 ^ .   
1,程序解析:00=0;01=1;10=1;11=0
2,程序源代码:
#include “stdio.h”
main()
{
int a,b;
a=077;
b=a^3;
printf(“\40:The a & b(decimal) is %d \n”,b);
b^=7;
printf(“\40:The a & b(decimal) is %d \n”,b);
}

【程序54】
题目:取一个整数a从右端最早的4~7位.
程序解析:可以似许思考:
(1)先使a右移4位.
(2)设置一个低4位全为1,其余全为0的数.可用(0<<4)
(3)将上面二者履行&运算.
2,程序源代码:
main()
{
unsigned a,b,c,d;
scanf(“%o”,&a);
b=a>>4;
c=(0<<4);
d=b&c;
printf(“%o\n%o\n”,a,d);
}

你可能感兴趣的:(c语言,算法,开发语言)