本文目录一览:
c语言中char的用法简介
C语言中 char
用于定义字符类型变量或字符指针变量,例如:
char a;
则定义了变量 a
是字符类型;
char *a;
则定义了变量 a
是字符指针类型。
C语言中 char
的不同应用
- 字符型(char)
字符型(
char
)用于储存字符(character),如英文字母或标点。严格来说,char
其实也是整数类型(integer type),因为char
类型储存的实际上是整数,而不是字符。计算机使用特定的整数编码来表示特定的字符。 C 语言中保证char
占用空间的大小足以储存系统所用的基本字符集的编码。C 语言定义一个字节(byte)的位数为char
的位数,所以一个字节可能是 16 位,也可能是 32 位,而不仅仅限于 8 位。 - 声明字符型变量
字符型变量的声明方式和其它类型变量的声明方式一样:
以上代码声明了三个字符型变量:char good; char better, best;
good
、better
和best
。char
是分配 1 字节,存储的是 ASCII 码,例如:'A'
: 65'a'
: 97 在命名char
类型时不要使用双引号,C 语言中必须使用单引号,在 Java 中则更灵活。 补充:printf()
输出时对于char
有点不同:- 使用
%d
:输出字符代表的 ASCII 码; - 使用
%c
:输出单个字符; - 使用
%s
:输出多个字符。
c语言中getchar的用法举例有哪些?
示例:
#include <stdio.h>
void main()
{
char c; // 定义一个字符
printf("input a character\n");
c = getchar(); // 从键盘获取一个字符
putchar(c); // 输出字符
}
getchar(stdin)
语句功能:
getchar
有一个 int
型的返回值。当程序调用 getchar
时,程序就等着用户按键,用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车字符也放在缓冲区中)。
当用户键入回车之后,getchar
才开始从 stdin
流中每次读入一个字符。getchar
函数的返回值是用户输入的第一个字符的 ASCII 码。
getchar
可用宏实现:
#define getchar() getc(stdin)
getchar
函数的返回值是用户输入的字符的 ASCII 码,若文件结尾 (End-Of-File) 则返回 -1 (EOF
),且将用户输入的字符回显到屏幕。
如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续 getchar
调用读取。也就是说,后续的 getchar
调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完后,才等待用户按键。
C语言中char的用法
#include <stdio.h>
int main()
{
int i;
char c; // 定义一个 char 类型的变量
c = 'a'; // 赋值
for(i = 0; i < 26; i++) {
printf("%c", c); // 输出一个字符用 %c
c++; // char c 增加 1,依次可以得到:a, b, c, ..., z
}
printf("\n");
if(c == 'z')
printf("still a small letter.\n");
else
printf("Not a small letter.\n");
scanf("%c", &c); // 输入一个字符到 c 中
char str[10] = "AString"; // 定义一个字符数组,它的初值是 "AString"
for(i = 0; str[i] != '\0'; i++); // 计算 str 的长度
printf("The length of str is: %d\n", i);
return 0;
}
扩展资料
- 声明字符型变量
字符型变量的声明方式和其它类型变量的声明方式一样:
以上代码声明了三个字符型变量:char good; char better, best;
good
、better
和best
。 - 字符常量与初始化
可以使用以下语句来初始化字符型变量:
这个语句把char ch = 'A';
ch
的值初始化为'A'
的编码值。在这个语句中,'A'
是字符常量。C语言中,使用单引号把字符引起来就构成字符常量。
C语言中的char具体用法
char a[]
如果从定义看就是存储着 char
类型的数组,而 char* b
就是一个 char
类型的指针。我们把第一个叫做字符数组,第二个叫做字符指针。
用法说明:
- 字符数组在初始化的时候,是把字符串里面的元素复制到数组里面,包括
'\0'
; - 字符指针则是指向一个常量,所以不能用
b[1] = 'c';
这种方式修改b
这个字符串,因为常量是不能更改的,不过可以让它指向别的字符地址。
扩展资料
关于 char
占几个字节的问题
- “字节”是
byte
,“位”是bit
; 1 byte = 8 bit
;char
在 Java 中是 2 个字节。Java 采用 Unicode,2 个字节(16 位)来表示一个字符。
char
类型赋值
char a = 'a'; // 任意单个字符,加单引号
char a = '中'; // 任意单个中文字,加单引号
char a = 111; // 整数。0~65535。十进制、八进制、十六进制均可。输出字符编码表中对应的字符
注:
char
只能放单个字符。
char
运算
char
类型是可以运算的,因为在 ASCII 等字符编码表中有对应的数值。
在 Java 中,对 char
类型字符运算时,直接当做 ASCII 表对应的整数来对待。