这篇语法笔记包含一些基础的c语言知识点
头文件、导入库
stdio.h 是标准输入库,我们常用的 printf 和 scanf 函数就来自这个库。
stdlib.h可引入动态内存分配malloc数值类型转换。
math.h可导入一些类似绝对值计算等成型数学函数计算的语句。
string.h可导入一些有关字符串的数据类型。
int main(){}这是c语言的程序入口,如果我们另定义函数或者变量写在主函数之前,我们可以在主函数中调用,要注意的是,主函数在同一份源文件中理应只有一个。
数据类型,格式化占位符
我们应该将格式化输入输出语句,但在这之前,需要先将数据类型和格式化占位符。
整数型:int、long long
浮点型:float、double
字符型:char
如果想用字符串,就要利用char构建一个字符型数组,比如
char str[6]="hello"; //值得注意的是,括号中的数理应比想要输出的字符串加一,因为输出的字符串默认带一个\0的字符 //除此之外str为数组名字,可自由替换格式化占位符用于在格式化输出语句中代替变量的位置,且和数据类型一一对应。
%d,%ld,%lld可用于int long long long的格式化替换。
%f,%lf,%.xf(x为数字)可用于对于float double的替换,带X的格式化占位符特指保留几位小数,float最多到后8位,double最多到后16位,但输出时如果只打%f默认输出后六位,且默认为double类型。
%c,%s分别为字符和字符串。
%p可用于打印指针,打印结果一般为一个16进制的数字。
格式化输入输出语句
分别为scanf和printf
使用scanf时,应该用
scanf("格式化占位符",&变量) //值得注意的是,如果所取的变量是数组,无需书写&使用printf时,应该用
printf("输入的内容和占位符",一一对映的变量) //比如 printf("我今天吃了%d顿美味的午餐,叫%s,花了我%d块大洋",午餐数量,午餐名字,午餐价格)此外,&是取地址符,可以取出一个变量的内存地址,必要时可以存入一个指针变量中,这样可以操作这个指针的地址中的数据
各种奇怪的运算符
算术运算符:+-*/%,其中“/”是取商,“%”是取余数
赋值:=
比较:== <= >= != < >
逻辑:&& || !
三目运算符:条件?值1:值2; 条件符合取值1,条件不符合取值2;
位移运算符:将变量数据的二进制的码进行操作,按照箭头方向进行0和1的移动,溢出数据直接消失,空出位置会补0;
逻辑语句
if-else 条件判断
switch case 匹配判断
for while do-whlie循环语句
数组
数组的类型设定有数字型,字符串型等
数组的长度固定且使用时下标不能越界
数组可以进行排序,查找,求和,平均值等操作