目录
五.字符串+转义字符+注释
5.1 字符串
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符 串。 注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串 内容。
以下用代码表示
#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{
char arr1[] = "bit";
char arr2[] = {'b', 'i', 't'};
char arr3[] = {'b', 'i', 't', '\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
运行结果如下
由此可以看出\0是字符串的结束标志,如果没有\0编译器会默认为乱码、
字符串是可以存放在字符数数组中的
%s 是打印字符串
#include<stdio.h>
#include <string.h>
int main()
{
char arr1[] = "abc";
char arr2[] = {'a', 'b', 'c'};
printf("%d\n", strlen(arr1));
printf("%d\n", strlen(arr2));//随机值
return 0;
}
运行结果如下
可以在监视窗口里面看出
arr1数组后面有\0 而arr2数组里面没有\0
所以arr1的长度为3 arr2的长度为随机值
当在arr2数组后面添加个\0时
代码如下
由此可以看出当有\0时编译器不会产生随机值
strlen是一个库函数 - 求字符串长度的,统计的是字符串中\0之前的字符个数
头文件是<string.h>
5.2 转义字符
假如我们要在屏幕上打印一个目录: c:\code\test.c 我们该如何写代码?
#include <stdio.h>
int main()
{
printf("c:\code\test.c\n");
return 0;
}
运行结果如下
如果想正常打印
如图 加个\即可
这里就不得不提一下转义字符了。
转义字符顾名思义就是转变意思。
下面看一些转义字符。
转义字符 | 释义 |
\? | 在书写连续多个问号时使用,防止他们被解析成三字母词 |
\' | 用于表示字符常量 |
\" | 用于表示一个字符串内部的双引号 |
\\ | 用于表示一个反斜杠,防止它被解释为一个转义序列符 |
\a | 警告字符,蜂鸣 |
\b | 退格符 |
\f | 进纸符 |
\n | 换行 |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | ddd表示1-3个八进制数字。如:\130X |
\xdd | dd表示2个十进制数字。如:\x30 0 |
问题1:在屏幕上打印一个单引号',怎么做?
问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?
以下用代码表示
#include <stdio.h>
int main()
{
printf("%c\n", '\'');
printf("%s\n", "\"");
return 0;
}
运行结果如下
求以下字符串长度
int main()
{
printf("%d\n", strlen("abc"));
printf("%d\n", strlen("c:\test\111\test.c"));
printf("%d\n", strlen("c:\test\181\test.c"));
}
运行结果如下
printf("%d\n", strlen("c:\test\111\test.c")); 中每个不同颜色的字符都对应一个单位长度
printf("%d\n", strlen("c:\test\181\test.c"));也同理
5.2注释
1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
比如
#include <stdio.h>
int Add(int x, int y)
{
return x+y;
}
/*C语言风格注释
int Sub(int x, int y)
{
return x-y;
}
*/
int main()
{
//C++注释风格
//int a = 10;
//调用Add函数,完成加法
printf("%d\n", Add(1, 2));
return 0;
}
注释有两种风格:
C语言风格的注释 /*xxxxxx*/
缺陷:不能嵌套注释
C++风格的注释 //xxxxxxxx
可以注释一行也可以注释多行
六.选择语句
如果你好好学习,校招时拿一个好offer,走上人生巅峰。
如果你不学习,毕业等于失业,回家卖红薯。
这就是选择!
#include <stdio.h>
int main()
{
int coding = 0;
printf("你会去敲代码吗?(选择1 or 0):>");
scanf("%d", &coding);
if(coding == 1)
{
prinf("坚持,你会有好offer\n");
}
else
{
printf("放弃,回家卖红薯\n");
}
return 0;
}
选择语句分为if跟switch语句
上面列子就是使用的if语句
七.循环语句
C语言中如何实现循环呢?
分为了三个语句
while语句
for语句
do ... while语句
这里就先写while的用法吧
//while循环的实例
#include <stdio.h>
int main()
{
printf("学习C语言\n");
int line = 0;
while(line<=20000)
{
line++;
printf("我要继续努力敲代码\n");
}
if(line>20000)
printf("好offer\n");
return 0;
}
循环语句展示结果没有意义,请自行测试。
八.函数
函数的特点就是简化代码,代码复用。
举例:
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
上述代码,写成函数如下:
#include <stdio.h>
int Add(int x, int y);//函数声明
{
int z = x + y;//函数的定义
return z;
}
int main()
{
int a = 0;
int b = 0;
int s = 0;
scanf("%d %d", &a, &b);
//求和
//s = a + b;
//...
s = Add(a, b);//函数调用
printf("%d\n", s);
return 0;
}
再此强调:函数一定要先声明后定义。