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; // 变量声明 printf("请输入一个字符"); scanf("%c",&ch); // 用户输入 printf("\n ch 变量的 ascii 值是: %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(int k=0;k<=255;k++) //循环从0 - 255 { printf("\n %c 的 ascii 值为 %d", k,k); } return 0; }
上面的程序会显示所有字符的ascii值。我们知道所有字符的 ascii 值都是从 0 开始到 255 结束,所以我们从 0 到 255 迭代 for 循环。
现在我们将创建一个程序,它将对字符串的 ascii 值求和。
#include <stdio.h> int main() { int sum=0; //变量初始化 char name[20]; //变量初始化 int i=0; //变量初始化 printf("请输入姓名:"); scanf("%s", name); while(name[i]!='\0') // while 循环 { printf("\n字符%c的ascii值为%d", name[i],name[i]); sum=sum+name[i]; i++; } printf("\n一个字符串的ascii值的总和是: %d", sum); return 0; }
在上面的代码中,我们将用户输入作为字符串。获取用户输入后,我们执行while循环,将字符串中所有字符的 ascii 值相加并将其存储在“ sum ”变量中。
输出