前言:由于在第一章初识C语言中涉及的内容较多,所以把第一章分为上、中、下三部分;用来适当减少每一篇的内容,便于读者阅读理解和掌握,上一篇文章中我们已经学习了初识C语言上,接下来让我们一起来看看初识C语言(中)都有哪些需要理解掌握的内容。
目录
1.字符串+转义字符+注释
1.1字符串
1.2转义字符
2.注释
3.选择语句
4.循环语句
5.函数
6.数组
6.1数组的定义
6.2数组的下标
6.3数组的使用
7.操作符
7.1算数操作符
7.2移位操作符
7.3位操作符
7.4赋值操作符
7.5单目操作符
7.6关系操作符和逗号表达式
7.7逻辑操作符和条件操作符
7.8下标引用、函数调用操作符
结语
1.字符串+转义字符+注释
1.1字符串
“hello bit.n”
这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。
注:字符串的结束标志是一个 的转义字符。在计算字符串长度的时候 是结束标志,不能作字符串内容。
下面我们通过一段代码来更好的理解转义字符 ;
#includeint main() //下列代码,打印的结果是什么,为什么? { char arr1[] = "bit"; char arr2[] = { 'b', 'i', 't' }; char arr3[] = { 'b', 'i', 't', ' ' }; printf("%sn", arr1); printf("%sn", arr2); printf("%sn", arr3); return 0; }
前面我们了解到 是一个字符串结束的标志,那么在数组arr2中由于没有字符串的结束标志,所以只有在内存中读取到 时字符串才能结束,所以字符串arr2打印时后面是随机值。
我们通过调试来看一下数组arr1和arr2中都有哪些元素:
1.2转义字符
假如我们要在屏幕上打印一个目录:c:codetest.c
我们该如何写代码?
int main()
{
printf("c:codetest.cn");
return 0;
}
代码的运行结果是这样的:
这里不得不提一下转义字符了,转义字符顾名思义就是转变意思。
下面看一些转义字符:
? 在书写连续多个问号时使用,防止他们被解析成三字母词
' 用于表示字符常量'
" 用于表示一个字符串内部的双引号
\ 用于表示一个反斜杠,防止他被解释成一个转义序列符
a 警告字符,蜂鸣
b 退格符
n 换行
r 回车
t 水平制表符
v 垂直制表符
ddd ddd表示1-3八进制的数字。如: 130 X
xdd dd表示2个十六进制的数字。如: x30 0
一道笔试题(这里各位铁子们自行验证一下,博主不在演示了)
//程序输出的是什么? #includeint main() { prinf("%dn",strlen("abcdef")); //62被解析成一个转义字符 printf("%dn",strlen("c:test628test.c")); return 0; }
strlen是一个库函数,用来求字符串长度,求的是 之前字符串的长度
2.注释
1、代码中有不需要的代码可以直接删除,也可以注释掉
2、代码中有些代码比较难懂,可以加一下注释文字
注释有两种风格:
C语言风格的注释
缺陷:不能嵌套注释
C++风格的注释//xxxxxxxxxx
可以注释一行,也可以注释多行
3.选择语句
什么是选择呢?
如果你好好学习,校招时拿一个好offer,走上人生巅峰。
如果你不学习,毕业等于失业,回家卖红薯。
这就是选择!
#includeint main() { int coding = 0; printf("你会去敲代码吗?(选择1或者0):>"); if (coding == 1) { printf("坚持敲代码,你会有好offern"); } else { printf("放弃,回家卖红薯n"); } return 0; }
4.循环语句
什么是循环语句?
我们日复一日的学习其实就是循环的,重要的是我们如何实现循环。
C语言中如何实现循环?
while语句——讲解
for语句(后期讲)
do......while语句(后期讲)
#includeint main() { printf("加入比特n"); int line = 0; while (line <= 20000) { line++; printf("我要继续努力敲代码n"); } if (line > 20000) { printf("好offern"); } return 0; }
5.函数
我们知道一个工程中只有一个main函数,那么函数又是什么呢?
函数是一个大程序中的某部分代码,由一个或多个语句组成。它负责完成某项特定的任务,而且相较于其他代码,具备相对的独立性。
#include//实现Add函数 int Add(int x, int y) { return x + y; } int main() { int num1 = 0; int num2 = 0; int sum = 0; printf("请输入两个数:>"); scanf("%d %d", &num1, &num2); sum = Add(num1, num2); printf("%dn", sum); return 0; }
关于函数,我们后面会继续讲解,这里不过多解释。
6.数组
数组定义:相同类型元素的集合
6.1数组的定义
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
//定义了一个能存放十个整型元素的数组
6.2数组的下标
数组定义:相同类型元素的集合
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
//定义了一个能存放十个整型元素的数组
6.2数组的下标
C语言规定:数组的每个元素都有一个下标,下标是从0开始的。
数组可以通过下标来访问。
6.3数组的使用
#include
int main()
{
int i = 0;
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
printf("n");
return 0;
}
7.操作符
C语言中有各种各样的操作符,每个操作符都有其对应的操作数,有的操作符甚至可以对存在内存中的二进制位进行操作。
这里简单介绍为主,后面重点讲解。
7.1算数操作符
+ - * / %
C语言中的加减乘除和我们数学中学到的加减乘除是相似的,但是也有不同点:
比如:
3/2在数学中的结果是1.5;而在C语言中如果没有类型的强制转换,那么结果是1;
%操作符,是求一个数除以另一个数的余数 如:3%2商1余1,所以结果是1;
7.2移位操作符<< >>
移位操作符是对一个数的二进制上的位进行操作,操作后这个数的数值会发生改变
7.3位操作符
& | ^
其实位操作符与位移操作符相似,只不过位移操作符的操作数有两个;但其实都是对二进制位进行操作。
7.4赋值操作符
= += -= *= /= &= |= ^= >>= <<=
7.5单目操作符
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
7.6关系操作符和逗号表达式> >= < <= != ==
exp1, exp2, exp3, ......expn 从左往右依次计算,整个表达式的结果是最后一个表达式的结果
7.7逻辑操作符和条件操作符
&& 逻辑与
|| 逻辑或
exp1 ? exp2 : exp3
7.8下标引用、函数调用操作符
[] () . ->
结语
我们的初识C语言(中)就讲到这,下一期从零基础到完全掌握C语言系列正在整理,觉得博主写的还不错的,可以来个一键三连哈。此外博主还创建了从零基础到完全掌握C语言系列的专栏,想学习C语言的铁子们可以点一下订阅,我们一起努力!



