条件编译(宏定义)

#if…#else和#endif命令
#include<stdio.h>
#define pi 3.14159
int main()
{
 float r=0;
 float s,v=0;
 printf("请输入半径r:");
 scanf("%f",&r);
 #if 0  //编译开关(1时执行)//输入半径r的值
  s=4*pi*r*r;     //条件编译
  printf("半径为%f的圆球表面积为:%f\n",r,s);
 #endif
 v=4*pi*r*r*r/3.0;
 printf("半径为%f的圆球体积为:%f\n",r,v); 
}
//若忘记#endif命令行则预编译无法结束#if命令
#if…#else…#endif命令
#include<stdio.h>
#define sl 30
#define lc 1
int main()
{
 char str[sl]="basic c language study",c;
 int i=0;
 while((c=str[i]!='\0'))     //遍历字符串
 {
  i++;
#if lc     //定义编辑开关
  if('A'<=c&&c<='Z')
  {
   c=c+32;
  } 
#else
  if('a'<=c&&c<='z')
  {
   c=c-32;
  }
#endif
  printf("%c",c);
 } 
 printf("\n");
}
#ifdef…#endif和#indef…#endif命令
#include<stdio.h>
#define ency 1
#define max 100
int main()
{
 int i=0;
 char telegram[max];
 printf("请输入电报报文:");
 gets(telegram);
#ifdef ency;       //判断是否已定义过宏ency 
 for(int i=0;telegram[i]!='\0';i++)
 {
  if((telegram[i]>='a'&&telegram[i]<='z')||(telegram[i]>='A'&&telegram[i]<='Z'))
  {
   telegram[i]+=1;
  }
  else if(('z'==telegram[i])||('Z'==telegram[i]))
  {
   telegram[i]=telegram[i]-25; //最后一个字母转换 
  }
 }
 printf("电报密文为:");
 puts(telegram);      //输出密码电文
 printf("\n");
#else
 printf("电报报文为:")puts(telegram);      //输出原文电报
#endif 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【执珪】瑕瑜·夕环玦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值