字符
在C语言中定义一个字符很容易:
char str = 'a';
通过 char 关键字可以定义一个字符类型变量。需要注意的是在给字符变量赋值时,应该使用单引号来包裹住这个字符(用双引号在DevC++中会出现警告,最好使用单引号)。输出这个字符时,使用 %c 来进行接收:
printf("%c",str); // a
当然,对一个字符类型赋值为一个整数也是可以的,系统会自己进行转换,比如:
char str = 66;
printf("%c",str); // B
运行会输出大写字母 B,在 ASCII 表中,第66编号字符对应的就是 B,这样的操作在第一篇以经说过。需要注意的是,当你给 str 变量赋一个浮点型变量时,它会截取小数部分,用整数部分去对应 ASCII 码表。
getchar(void); 和 putchar(char);函数
这两个函数一个可以传参一个不可以;使用这两个函数只需<stdio.h>库,getchar() 函数需要一个字符(不是字符串)变量来接收,该函数功能是让输入一个字符,并把输入的这个字符赋给接收的那个变量。
putchar() 函数需要传入一个字符变量,用来把这个字符变量打印到控制板上,他还能赋给一个变量,这个变量会接受传入参数的值:
char str = getchar();
int b = putchar(str);
printf("\n char b = %c\n",b); // 类型转换
// 你也可以直接这样: putchar(b);
运行后,如果你输入一个字符 a 则会打印出两个 a。
字符类数组
定义字符类数组也很容易:
char str[2] = {'a','b'};
for(int i = 0;i < 2;i ++){
printf("%c\t",str[i]); // a b
}
比如我们写个程序,这个程序要我们给一个数组的成员赋成对用 26 个大写字母,我们可以这么做:(大写字母A从65开始的)
char str[26] = {0};
int num = 26 + 65;
for(int i = 65;i < num;i ++){
str[i] = i;
printf("%c\t",str[i]);
}