#include <stdio.h>
#define DAXIE(x) (x>='A' && x<='Z') //判断是大写字符。
#define XIAOXIE(x) (x>='a' && x<='z') //判断是小写字符。
#define ZHUANXIAOXIE(x) (x-'A'+'a')//转为小写
#define ZHUANDAXIE(X) (x-'a'+'A')//转为大写
int main()
{
char str[100]
int i
gets(str)
for(i = 0 str[i] i ++)
if(DAXIE(str[i])) str[i] = ZHUANXIAOXIE(str[i])//如果是大写字符,转为小写。
else if(XIAOXIE(str[i])) str[i] = ZHUANDAXIE(str[i])//如果是小写字符,转为大写。
puts(str)//输出结果 return 0
}
扩展资料
C语言的基本构成
1、任何一个c语言程序都必须包括以下格式:
main()
{ }
这是c语言的基本结构,任何一个程序都必须包含这个结构。括号内可以不写任何内容,那么该程序将不执行任何结果。
2、main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。
3、被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容。
4、在{ }里面每一句话后面都有一个分号(;),在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。
5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum)----通过执行这条c语言系统提供给我们直接使用的屏幕输出函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果:
a=20,b=15,sum=35
有三种方式可以解决c语言大小写字母的转换
1.使用C语言提供的函数:toupper(),tolower()
使用这两个函数需要引入头文件:#include<ctype.h>
示例代码:
输入如下
2.自己编写转换函数:
因为大小写之间的ASCII码值的差值是固定的,因此可以使用‘a’-‘A’来获取差值。
实例代码:
输出如下:
3.异或0x20来实现转换:
0x20是16进制,表示为2进制是00100000,这样可能还是不明显,转换为10进制,其实就是32
对了,还是利用32.
异或:相同为0,不同为1. 也就是说,任何数字与0异或都是它本身。
所以将其他位都设为0,把第6位(从左向右)设置为1,也就是0x20
如果第6位是1,则异或结果为0.
如果第6位是0,则异或结果为1.
实现了加减32的 *** 作。
示例代码:
输入如下:
希望可以帮到你。。。
您好,很高兴回答您的问题。在c语言中实现大小写字母的转化是很简单的:大写字母和对应的小写字母直接是相差32,所以具体程序为:
#include<stdio. h>
void main()
{char c
c=getchar();
c=c-32
printf("%c",c)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)