c语言编程:将小写字母转换为大写字母并输出。急求谢了。

2024-11-05 04:15:44
推荐回答(5个)
回答1:

有三种方式可以解决c语言大小写字母的转换

1.使用C语言提供的函数:toupper(),tolower()

使用这两个函数需要引入头文件:#include

示例代码:

输入如下

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的操作。

示例代码:

输入如下:

希望可以帮到你。。。

回答2:

可以通过ASCII码将小写字母转化为大写字母。

计算机中,所有的信息都是二进制,但是我们所能理解的信息是具有约束意义的字符。当我们需要查看存储的信息时,就需要对二进制解码。因此只要编码和解码的规则一致,我们就可以将我们理解的信息存储到计算机,或者从计算机中取出。

至于编码和解码的规则有很多,其中有一种方案是ASCII编码,也是当前计算机系统采用的方案。 ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。

标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。这里我们只说基础ASCII码。

  1. 0~32以及127共34个是控制字符或者通信专用字符。比如:CR代表回车,FF代表换页,BS代表退格等。通信专用字符像ACK代表确认等。

  2. 33~126共95个是字符

  3. 48~57代表0~9十个阿拉伯数字

  4. 65~92:共26个大写英文字母

  5. 97~122共26个小写英文字母

知识拓展:

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

回答3:

#include 

int main()

{

char a;

printf("请输入小写字母:");

scanf("%c",&a);

printf("转换成大写字母为:%c\n",a-32);

return 0;

}

因为大写字母与小写字母ASCII码相差32,所以可以通过加减32进行转换。

回答4:

#define LETTER 1
main()
{
    char str[20]="C Language",c;
    int i=0;
    while((c=str[i])!='/0')
    {
        i++;
        #if LETTER
        if(c>='a'&&c<='z') c=c-32;
        #else
        if(c>='A'&&c<='Z') c=c+32;
        #endif
        printf("%c",c);
    }
}

/*
* 当#define LETTER 1  小写转大写
* 当#define LETTER 0  大写转小写
*/


/*
* char c;
* char str[20]="C Language";
* 这两行与 char str[20]="C Language",c; 是等价的
*/

回答5: