目录
字符串+转义字符+注释
(1)字符串
"hello world.\n"
这种由双引号(double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串
注:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。
//下面这段代码,打印的结果是什么呢?为什么?(突出'\0'的重要性)
#include<stdio.h>
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与arr3里面存的都是bit加上\0,arr2存的是bit。上面我们也说了字符串的结束标志是\0,所以arr2会继续往后找\0直至找到\0为止才结束。
(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个八进制数字。如:\130 X |
\xdd | dd表示2给十六进制数字。如:\x30 0 |
问题1:在屏幕上打印一个单引号',怎么做?
问题2:在屏幕上打印一个字符串,字符串的内容时一个双引号",怎么做?
#include<stdio.h> int main() { printf("%c\n", '\''); printf("%s\n", "\""); return 0; }
下面我们来介绍一个库函数--strlen
strlen是库函数-求字符串长度的,\0是字符串结束标志,不算长度,它的头文件是#include<string.h>
问题3:下面这段程序输出什么?
#include<stdio.h> #include<string.h> int main() { printf("%d\n", strlen("abcdef")); printf("%d\n", strlen("c:\test\328\test.c")); return 0; }
我想大家对于第一个6应该没什么问题,可能对于下面的14有点不太明白,接下来我们就来解释14是怎么来的。
为什么\328不算1个而是算两个呢?
因为\ddd表示1-3个八进制数字,但是8不能出现在八进制中所以算两个。
(3)注释
1.代码中有不需要的代码可以直接删除,也可以注释掉。
2.代码中有些代码比较难懂,可以加一下注释文字。
注释有两种风格:
C语言风格的注释/*xxxxxx*/
缺陷:不能嵌套注释
C++风格的注释//xxxxxx
优点:可以注释一行也可以注释多行
下面就通过代码来解释一下
#include<stdio.h> int Add(int x, int y) { int z = 0; z = x + y; return z; } /*C语言注释风格 int Sub(int x,int y) { return x-y; */ int main() { //C++注释风格 //int c = 100; int a = 10; int b = 20; int sum = Add(a, b);//调用Add函数完成加法 printf("%d\n", sum); return 0; }
选择语句
如果你好好学习,校招时拿一个好offer,走上人生巅峰。
如果你不好好学习,毕业等于失业,回家卖红薯。
这就是选择!
下面我们来看一个选择语句的代码
#include<stdio.h> int main() { int coding = 0; printf("你会去敲代码吗?(选择1 or 0):>"); scanf("%d", &coding); if (coding == 1) { printf("坚持,你会有好offer\n"); } else { printf("放弃,回家卖红薯\n"); } return 0; }
循环语句
有些事必须一直做,比如大家,日复一日的学习。
还比如:
C语言中如何实现循环呢?
while语句
for语句(后面讲)
do...while语句 (后面讲)
//while循环的实例 #include<stdio.h> int main() { int line = 0; while (line <= 20000) { line++; printf("我要继续努力敲代码\n"); } if (line > 20000) { printf("迎娶白富美"); } 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("%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; }
简单来说就是让别人帮你去做你本来要执行的操作。
举个例子吧
比如说晚饭我想吃蛋炒饭,但是呢我又不太想出去买,这个时候室友张三在外面,我们可以给他发20元让他帮我们买一份蛋炒饭。
函数的特点就是简化代码,代码复用。
数组
我们都知道将a,b,c分别赋值为10,20,30这样简单,但是假如我们要存储1-20的数字,我们应该怎么存储呢?这个时候我们就得引入一个新的知识--数组。
(1)数组定义
C语言中给了数组的定义:一组相同类型元素的集合
(2)数组的使用
我们通过下面这段代码来看看数组是如何使用的
#include<stdio.h> int main() { int i = 0; int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; while(i < 10) { printf("%d ", arr[i]); i++; } return 0; }
好了 本次内容到此结束,如果觉得对你有帮助的话可以点赞关注一波哦!