C语言讲义——字符串
字符数组
C语言字符串就是字符数组。
- 单写字符,用单引号。如:’A’。
- 字符串用双引号。如:”A”、”ABC”。
#include <stdio.h>
main() {
char c1 = 'a';
printf("%c\n", c1-1);
printf("%c\n", c1);
printf("%c\n", c1+1);
// 可直接转int输出
printf("%d %c\n", c1,c1);
}
ASCII码:
字符 | 十进制数 |
---|---|
‘0’ | 48 |
‘A’ | 65 |
‘a’ | 97 |
#include <stdio.h>
#define LEN 10
int main(int argc, char *argv[]) {
printf("**不定义数组长度*******************************\n");
char str1[]="Andy";
printf("数组长度:%d\n", sizeof(str1));
printf("字符串内容:%s\n", str1);
printf("**定义数组长度*******************************\n");
char str2[LEN]="Andy";
printf("数组长度:%d\n", sizeof(str2));
printf("字符串内容:%s\n", str2);
for(int i =0; i<LEN; i++) {
printf("index:%d char:%c int:%d \n",i, str2[i], str2[i]);
}
printf("\n");
printf("**查看字符\\0*******************************\n");
// Dev C++编译器把\0转成a输出
char a='\0';
printf("数字:%d 显示为字符:%c\n", a, a);
return 0;
}
字符串字面量(string literal)
一对双引号括起来的字符序列
比如:“Hello World”
结束符
C语言字符串需要在数组最后加一个结束字符:’\0’(ASCII码为0)
- char str2[5]=“abcd”;// 四个字符,至少5个空间
全角半角
全角指一个字符占用两个标准字符位置。
C语言中,一个中文字符占2个字符的位置。
C语言中:
存放”ABC”至少需要4个字符(char str[4]即【A】【B】【C】【\0】);
存放”西游记”至少需要7个字符(char str[7])
换行(回车换行)
输出内容的换行:\n (这是一个字符’\n’)
打码编写时换行(显示结果不换行):\
#include <stdio.h>
int main() {
printf("C程序设计\n清华大学出版社");
printf("\n---------分割线--------\n");
printf("C程序设计\
清华大学出版社");
return 0;
}
运行结果:
C程序设计
清华大学出版社
---------分割线--------
C程序设计清华大学出版社
回车换行:
\n是换行,英文是New Line/Line Feed,表示使光标到行首
\r是回车,英文是Carriage Return,表示使光标下移一格
输入输出
字符串和字符的输出占位符:%c、%s
printf("**字符串******************************************************\n");
printf("字符c %c\n", 'a');
printf("字符串s %s\n", "abc");
(1)scanf和printf
char str[100];
scanf("%s", str); // 输入
printf("%s",str); // 输出
(2)get和puts
char str[100];
gets(str); // 输入
puts(str); // 输出