字符串
字符串就是一串字符 - 用双引号括起来的一串字符
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | int main(){
 
 
 
 char arr[] =  "abc";
 printf("%s\n", arr);
 return 0;
 }
 
 | 
 
 
注意:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度时 \0 是结束标志,不算作字符串内容
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | int main(){
 
 char arr[] =  "abc";
 char arr1[] = { 'a','b','c' };
 char arr2[] = { 'a','b','c','\0'};
 printf("%s\n", arr);
 printf("%s\n", arr1);
 printf("%s\n", arr2);
 return 0;
 }
 
 | 
求字符串长度
通过strlen()来计算字符串的长度
使用strlen()时,需要先引用头文件string.h
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 
 | #include <string.h>int main()
 {
 char arr[] =  "abc";
 char arr1[] = { 'a','b','c' };
 char arr2[] = { 'a','b','c','\0'};
 
 int len =  strlen("abc");
 printf("%d\n", len);
 printf("%d\n", strlen(arr));
 printf("%d\n", strlen(arr1));
 printf("%d\n", strlen(arr2));
 return 0;
 }
 
 | 
转义字符
转变了字符原有的意思
| 转义字符 | 意义 | 
| ? | 在书写连续的多个问号时使用,防止他们被解析成三字母词 | 
| \‘ | 用于表示字符常量 ‘ | 
| \“ | 用于表示一个字符串内部的双引号 | 
| \\ | 用于表示一个反斜杠,防止它被解析为一个转义序列符 | 
| \a | 警告字符,蜂鸣 | 
| \b | 退格符 | 
| \f | 进纸符 | 
| \n | 换行 | 
| \r | 回车 | 
| \t | 水平制表符 | 
| \v | 垂直制表符 | 
| \ddd | ddd表示1~3个八进制的数字。 如:\130 X | 
| \xdd | dd表示2个十六进制的数字,如:\x30 0 | 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | int main(){
 printf("c:\test\test.c");
 printf("ab\ncd");
 printf("(are you ok??)");
 
 
 
 
 printf("%c\n", '\'');
 return 0;
 }
 
 | 
\ddd和\xdd
| 12
 3
 
 | printf("%c\n", '\130');printf("%c\n", '\101');
 printf("%c\n", '\x30');
 
 | 
应用
| 12
 
 | printf("%d\n", strlen("c:\test\328\test.c"));
 
 | 
答案:14
选择语句
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | int main()
 {
 int input = 0;
 printf("你要好好学习吗 1.是 2.否:");
 scanf("%d", &input);
 
 if (input == 1)
 {
 printf("好好学习\n");
 }
 else
 {
 printf("不好好学习\n");
 }
 return 0;
 }
 
 | 
循环语句
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 | int main()
 {
 int line = 0;
 
 while (line<300)
 {
 printf("写代码%d\n" ,line);
 line++;
 }
 if (line == 300)
 {
 printf("很棒\n");
 }
 return 0;
 }
 
 | 
函数
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | int main(){
 int num1 = 0;
 int num2 = 0;
 scanf("%d %d", &num1, &num2);
 int sum = num1 + num2;
 printf("%d\n", sum);
 return 0;
 }
 
 | 
如何运用函数来求两个数字的和呢
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 | 
 Add(int x,int y)
 {
 int z = 0;
 z = x + y;
 
 return z;
 }
 int main()
 {
 int num1 = 0;
 int num2 = 0;
 scanf("%d %d", &num1, &num2);
 
 int sum = Add(num1,num2);
 printf("%d\n", sum);
 return 0;
 }
 
 | 
数组
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | int main()
 {
 
 int arr[10] = {1,2,3,4,5,6,7,8,9,10};
 
 
 char ch[5] = { 'a','b','c' };
 
 int i = 0;
 while (i<10)
 {
 printf("%d\n",arr[i]);
 i++;
 }
 return 0;
 }
 
 | 
那么如果我没有给数组定义一个长度,并传入值,他的长度会是多少呢
| 12
 3
 4
 5
 6
 
 | int main(){
 char ch[] = { 'a','b','c' };
 printf("%d\n", strlen(ch));
 return 0;
 }
 
 |