#define _CRT_SECURE_NO_WARNINGS // 去掉安全檢查
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
/*
字符常量
定義:用單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義字符.
普通字符指大小寫字母和數(shù)字
*/
putchar('A');
putchar('B');
putchar('C');
putchar('\n'); // 換行
putchar('\t'); // 制表
putchar('1');
putchar('2');
putchar('3');
putchar('A');
putchar('B');
putchar('C');
putchar('\\'); // 單斜杠
putchar('\"'); // 雙引號(hào)
putchar('\''); // 單引號(hào)
putchar('\a'); // 響鈴
putchar('\x41'); // 十六進(jìn)制41對(duì)應(yīng)十進(jìn)制65像屋,對(duì)應(yīng)字符A
putchar('\101'); // 八進(jìn)制101對(duì)應(yīng)十進(jìn)制65征堪,對(duì)應(yīng)字符A庵寞,可以通過這種方式找到字符打印出來
putchar('\x42'); // 十六進(jìn)制42對(duì)應(yīng)十進(jìn)制66晰奖,對(duì)應(yīng)字符B
putchar('\102'); // 八進(jìn)制102對(duì)應(yīng)十進(jìn)制66,對(duì)應(yīng)字符B
system("pause");
return 0;
}
#define _CRT_SECURE_NO_WARNINGS // 去掉安全檢查
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
/*
字符串常量
定義:
用雙引號(hào)括起來的字符序列爽室,如: “hello,world” “A” “”
每個(gè)字符串尾自動(dòng)加個(gè)‘\0’作為字符串結(jié)束標(biāo)志
*/
printf("hello, world\n");
// 每個(gè)字符串尾自動(dòng)加個(gè)‘\0’作為字符串結(jié)束標(biāo)志,空字符串有一個(gè)‘\0’字符,所以占一個(gè)字節(jié)
printf("%d\n",sizeof(""));
// 有一個(gè)字符1拒秘,加一個(gè)\0組成一個(gè)字符串,占兩個(gè)字節(jié)
printf("%d\n", sizeof("1"));
char ch = 'A'; // 'A'純粹就是一個(gè)字符
//char bc = "A"; // 字符A加/0組成字符串臭猜,占兩個(gè)字節(jié)
system("pause");
return 0;
}
#include<stdio.h>
// 字符方式實(shí)現(xiàn)hello
int main() {
printf("hello\n");
putchar('h');
putchar('e');
putchar('l');
putchar('l');
putchar('o');
printf("\n");
// ASCII碼
putchar(104);
putchar(101);
putchar(108);
putchar(108);
putchar(111);
printf("\n");
// 八進(jìn)制
putchar('\150');
putchar('\145');
putchar('\154');
putchar('\154');
putchar('\157');
printf("\n");
// 十六進(jìn)制
putchar('\x68');
putchar('\x65');
putchar('\x6c');
putchar('\x6c');
putchar('\x6f');
return 0;
}
#include<stdio.h>
// 字符1與整數(shù)1的區(qū)別
int main() {
// 字符’1’只是代表一個(gè)形狀為’1’的符號(hào)躺酒,在需要時(shí)按原樣輸出,在內(nèi)存中以ASCII碼形式存儲(chǔ)蔑歌,占1個(gè)字節(jié)
char ch = '1'; // 16進(jìn)制:31 二進(jìn)制:0011 0001
// 整數(shù)1是以整數(shù)存儲(chǔ)方式(二進(jìn)制補(bǔ)碼方式)存儲(chǔ)的羹应,占2個(gè)或4個(gè)字節(jié)
short sh = 1; // 16進(jìn)制:0001 二進(jìn)制: 0000 0000 0000 0001
// 字符占一個(gè)字節(jié),短整數(shù)占兩個(gè)字節(jié)
printf("%d, %d\n", sizeof(ch), sizeof(sh));
printf("%x, %x\n", &ch, &sh);
// 字符1按照%d也就是求字符的編號(hào)次屠,ASCII碼49园匹;按照%c就是求該字符本身,也就是'1'
printf("%d, %c\n", ch, ch);
// 整數(shù)1按照%d就是整數(shù)1劫灶,按照%c就是求編號(hào)為1的字符
printf("%d, %c\n", sh, sh);
return 0;
}
#include<stdio.h>
// 字符變量的計(jì)算
int main() {
char ch = 'A';
// %c就是按字符方式打印裸违,%d就是按字符的ASCII碼打印
printf("%c, %d\n", ch, ch);
// 字符型變量在內(nèi)存中占一個(gè)字節(jié),由于存儲(chǔ)的是字符的二進(jìn)制ASCII碼本昏,與整型存儲(chǔ)方式類似供汛,
// 因此字符型變量和整型數(shù)據(jù)可以相互運(yùn)算
ch = ch + 1; // ch是字符'A',對(duì)應(yīng)整數(shù)65,65+1=66涌穆,66對(duì)應(yīng)字符'B'
printf("%c, %d\n", ch, ch);
return 0;
}