10.31
10.31字符与字符串
字符
-
字符在计算机中以ASCII码进行存储(从0到127->对应7位二进制)
- 字符A到Z的ASCII码值从65到90
- 字符a到z的ASCII码值从97到122
- 对应的⼤⼩写字符(
a和A)的ASCII码值的差值是32 - 数字字符09的ASCII码值从4857
- 换⾏
\n的ASCII值是:10
第一位二进制位代表扩展位,所以只有7位供编码,一共有2^7个字符
-
0到31位不可打印
-
示例:打印可打印字符
#include <stdio.h>
int main()
{
int i = 0;
for (i=32; i<=127; i++)//代表变量i从32开始循环到127
{
if (i % 16 == 0)//每16个答应换行符(‘\n’)以换行
printf("\n");
printf(" %C ", i);//i是数字,但使用占位符'%c'打印字符,所以进行了ASCII码的转换
}
return 0;
}
打印结果:
! " # $ % & ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O
P Q R S T U V W X Y Z [ \ ] ^ _
` a b c d e f g h i j k l m n o
p q r s t u v w x y z { | } ~
字符串
-
字符串以
\0代表字符串的结尾,使用占位符%s打印字符串时,遇到\0(ASCII码00)停止#include<stdio.h> int main() { char arr[] = {'a','b','c'}; char arr1[] = "abc"; printf("%s\n",arr); printf("%s\n",arr1); return 0; }打印结果:
abc(随机乱码) abc原因:
对
arr,计算机一直向后寻找\0,这个完全随机,在这中间的东西是什么也完全不知道,所以会出现乱码的情况![]()


浙公网安备 33010602011771号