C语言教程-详解 C 语言中的ASCII码

什么是ASCII码? ASCII的全称是美国信息交换标准代码。它是一种用于电子通信的字符编码方案。每个字符或特殊字符都用一些ASCII码表示,每个ASCII码在内存中占用7位。
在C编程语言中,字符变量并不包含字符值本身,而是字符变量的ASCII值。ASCII值以数字表示字符变量,并且每个字符变量被赋予从0到127的某个数值范围。例如,'A'的ASCII值是65。
在上面的示例中,我们将'A'赋给字符变量,其ASCII值为65,因此65将存储在字符变量中,而不是'A'。
让我们通过一个例子来理解。
我们将创建一个程序,用于显示字符变量的ASCII值。
#include <stdio.h>
int main()
{
char ch; // variable declaration
printf("Enter a character");
scanf("%c",&ch); // user input
printf("\n The ascii value of the ch variable is : %d", ch);
return 0;
}
在上述代码中,用户将输入一个字符,并将输入存储在变量'ch'中。如果我们使用%c格式说明符打印'ch'变量的值,它将显示'A',因为我们给出的字符输入是'A'。如果我们使用%d格式说明符,它将显示其ASCII值,即65。
输出结果
上述输出显示用户输入为'A',在输入后,将打印出'A'的ASCII值,即65。
现在,我们将创建一个程序,用于显示所有字符的ASCII值。
#include <stdio.h>
int main()
{
int k; // 变量声明
for (k = 0; k <= 255; k++) // 循环从0到255
{
printf("\nThe ASCII值 of %c is %d", k, k);
}
return 0;
}
上述程序将显示所有字符的ASCII值。由于我们知道所有字符的ASCII值从0开始,以255结束,因此我们使用for循环从0到255进行迭代。
现在我们将创建一个程序,用于求字符串的ASCII值之和。
#include <stdio.h>
int main()
{
int sum = 0; // 变量初始化
char name[20]; // 变量初始化
int i = 0; // 变量初始化
printf("请输入一个字符串:");
scanf("%s", name);
while (name[i] != '\0') // 循环
{
printf("\n字符 %c 的ASCII值为 %d", name[i], name[i]);
sum = sum + name[i];
i++;
}
printf("\n字符串的ASCII值之和为:%d", sum);
return 0;
}
在上述代码中,我们以字符串形式接收用户输入。在接收用户输入后,我们执行while循环,将字符串中所有字符的ASCII值相加,并将结果存储在变量'sum'中。
输出结果