#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的 *** 作。
示例代绝空笑码:
输入如下亏念:
希望可以帮到你。。。
1在C语言中,字符型变量存储的实际上是ASCII码值。
2
在ASCII码表中,大写字母和小写字母分别连续且有序存储。
3
同样字母的小写ASCII码值比拦锋大写的ASCII码值大32。
所以,要将小写字母,转为大写字母,只需要减去32即可。
如
int main()
{
int c = getchar()
putchar(c-32)
}即为一简知晌个输入小写字母,输猛段出对应大写字母的程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)