白日去如箭,达者惜今阳。——朱敦儒
---------------------------------------------------------------------------------------------------------------------------------
一、
1.字符串
"hello bit.\n"
这种由双引号(
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;
}
我们会发现结果和我们想象的不一样:arr1因为打印的是字符串,内部有隐藏的\0,所以会结束。
而监视窗口可以看出:没有\0,使得arr2持续打印;打印完c后,而后打印的就是随机值,也就是烫烫烫烫烫烫烫烫烫烫烫烫烫烫蘟bc。
—————————————————————————————————————————————————————————————————
现在我们介绍一个库函数strlen
2.转义字符
我们要在屏幕上打印一个目录:
c:\code\test.c 我们该如何写代码?
#include <stdio.h>
int
main
()
{
printf
(
"c:\code\test.c\n"
);
return
0
;
}
实际上程序运行的结果是这样的:
![](https://i-blog.csdnimg.cn/blog_migrate/51b5ca37348d4999eb908ca4caea9091.png)
这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。
下面看一些转义字符。
#include <stdio.h>
int main()
{
//问题1:在屏幕上打印一个单引号',怎么做?
//问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?
printf("%c\n", '\'');
printf("%s\n", "\"");
return 0;
}
对常见的转义要熟悉掌握,避免需要用时,不知道怎么用!
//程序输出什么?
#include <stdio.h>
int main()
{
printf("%d\n", strlen("abcdef"));
// \62被解析成一个转义字符
printf("%d\n", strlen("c:\test\628\test.c"));
return 0;
}
strlen是一个库函数,用来计算字符串长度,这个后面会讲。
\628被转义成为8进制的数,所以他被电脑看成1个字符,\t也是这样的。
\023,0开头的就是八进制的数
\0x23,第2个数字是x的数字就是八进制。特别要注意
3.注释
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
可以注释一行也可以注释多行
4.
选择语句
![](https://i-blog.csdnimg.cn/blog_migrate/65229825e28237ce99abdc9721e98933.png)
如图,不同选择有不同的结果,这就是选择结构的魅力
#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;
}
5.
循环语句
![](https://i-blog.csdnimg.cn/blog_migrate/0b63051684b096048b721207d194e8e5.png)
C
语言中如何实现循环呢?
while
语句
-
讲解
for
语句(后期讲)
do ... while
语句
//while循环的实例
#include <stdio.h>
int main()
{
printf("加入比特\n");
int line = 0;
while(line<=20000)
{
line++;
printf("我要继续努力敲代码\n");
}
if(line>20000)
printf("好offer\n");
return 0;
}
6.
函数
#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 num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = Add(num1, num2);
printf("sum = %d\n", sum);
return 0;
}
函数的特点就是简化代码,代码复用。
7.
数组
要存储
1-10
的数字,怎么存储?
C
语言中给了数组的定义:一组相同类型元素的集合
int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素
以上的代码就是对数组进行定义
7.1 数组的下标
C
语言规定:数组的每个元素都有一个下标,下标是从
0
开始的。
数组可以通过下标来访问的。
比如:
int arr[10] = {0};
//如果数组10个元素,下标的范围是0-9
7.2 数组的使用
今天的内容就到这里,小伙伴们互访三连