如果对你有帮助的话,欢迎点赞收藏~ 本系列持续更新中
零碎知识点:
-
尽量不要使用float,碰到浮点型的数据都应该用double来存储。
-
在C语言中,字符常量(必须是单个字符)必须用单引号标注。
-
字符串常量可以作为初值赋给字符数组,并使用%s的格式输出。
-
不能把字符串常量赋值给字符变量。[ char c = “abcd” (❌) ]
-
整数除以整数在计算机中视为整除操作,不会自动变为浮点数。
-
尽量不要使用宏定义来做除了定义常量以外的事情,除非给能加括号的地方都加上括号。
-
%md(补空格);%0md(补0);%.mf(让浮点数四舍五入保留m位小数输出)。
-
常用数学函数(math.h 头文件)
-
fabs(double x) 用于对double型变量取绝对值。
-
floor(double x) & ceil(double x) 用于double型变量的向下取整和向上取整,返回值为double类型。
-
pow(double r, double p) 用于返回rp(r的p次方),要求r和p都是double型。
-
sqrt(double x) 用于返回double型变量的算术平方根。
-
log(double x) 用于返回double型变量的以自然对数为底的对数。
[ C语言中没有对任意底数求对数的函数,因此必须使用换底公式来将不是以自然对数为底的对数转换为以e为底的对数,既:logeb / logea ]。
-
sin(double x)、cos(double x)和tan(double x) 返回double型变量的三角函数值,参数要求是弧度制。
-
asin(double x)、acos(double x)和atan(double x) 返回double型变量的反三角函数值。
-
round(double x) 用于将double型变量x四舍五入,返回值也是double型。
-
-
数组的大小必须是整数常量,不可以是变量,且只能访问下标为0~size-1的元素。
-
memset(数组名,值,sizeof(数组名)) 用于对数组中的每一个元素赋相同的值(需要引入string.h头文件),只建议初学者使用memset赋0或-1,避免出错。如果要对数组赋值其他数字,请使用fill函数(但memset的执行速度更快)。
-
scanf/gets/printf/puts
- 在一维字符数组(或是二维字符数组的第二维)的末尾都有一个空字符\0,以标识存放的字符串的结尾(int型数组的末尾不没有\0),结束符\0的ASKⅡ码为0,即空字符串NULL,占用一个字符位,因此千万要记得在初始化时,字符数组的长度一定要比实际存储字符串的长度至少多1。还需要注意\0跟空格不是同一个东西,空格的ASKⅡ码是32,切勿混淆。
- 如果不是使用scanf函数的%s格式或gets函数输入字符串(例如使用getchar),请一定要在输入的每个字符串后面加上“\0”,否则printf和puts输出字符串会因为无法识别字符串末尾而输出一大堆乱码。
-
string.h 头文件
- strlen(字符数组) 函数可以得到字符串数组中第一个\0前面的字符的个数。
- strcmp(字符数组1, 字符数组2) 函数返回两个字符串大小的比较结果(字典序),小于为负整数,等于为0,大于为正整数。
- strcpy(字符数组1, 字符数组2) 函数可以把一个字符串赋值给另一个字符串(包括结束符\0)。
- strcat(字符数组1, 字符数组2) 函数可以把一个字符串接到另一个字符串后面。