学习笔记

时间:2022-04-08 09:58:16 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
这里有个优先级口诀:

括号成员第一; //括号运算符[]() 成员运算符. ->

全体单目第二; //所有的单目运算符比如++ -- +() -() 指针运算*& 乘除余三,加减四; //这个""是指取余运算即%

移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等于()不等排第七; //== !=

位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|) "三分天下"八九十;

逻辑或跟与; //逻辑运算符:|| &&

十二和十一; //注意顺序:优先级(||) 底于 优先级(&&)

条件高于赋值, //三目运算符优先级排到 13 位只比赋值运算符和","//需要注意 的是赋值运算符很多! 逗号运算级最低! //逗号运算符优先级最低

成员运算符.是用来调用函数和成员的,域运算符:是用来指明是方法或变量所在哪个类的 1%d int; %c char; %f float; %ld long; %lf double; %s string

2&是一个取地址符,&a表示变量a的地址。scanf("%d",&a); 表示从键盘接收一个整数存储到内存中&a所指的地址,也就是变量a中。f格式format scanf的作用是:按照abc的内存地址将abc的值存进去。

3charC/C++整型数据中比较古怪的一个,其它的如int/long/short等不指定signed/unsigned时都默认是signed,但char在标准中是unsigned,编译器可以实现为带符号的,也可以实现为不带符号的

4)定义变量时可以把相同类型的变量列在一起,而定义参数却不可以

5 sqrtSquare Root Calculations(平方根计算),例SQRT16=4 abs :求整数的绝对值,例Abs(-3.7,其值为3.7 C语言中还有fabs,也是求绝对值的,不同的是,fabs函数参数与返回值为实型。

6 C标准中空白字符有:空格( 、换页(\f、换行(\n、回车(\r、水平制表符(\t、垂直制表符(\v)六个。下面是本人的一些理解。

换码符'\t',表示水平制表位horizeontal tab,它的作用就相当于你在编程的时候按一Table键,使光标以8个字符为基准进行跳跃 垂直制表符(\v‟垂直制表符不常

用。它的作用是让\v后面的字符从下一行开始输出,且开始的列数为\v前一个字符所在列后面一列。 换页(\f)换页符的在终端的中的效果相当于*nixclear

命令。终端在输出\f之后内容之前,会将整个终端屏幕清空空,然后在输出内容。给人的该觉是在clear命令后的输出字符串。回车(\r我们在编辑文件时,一般敲一下回车键就会转到下一行编辑。那么回车换行是不是一回事呢?显然不是的。大家不要被键盘上


回车键效果所蒙蔽,此回车(回车符)非彼回车(回车键)。回车(\r)效果是输出回到本行行首,结果可能会将这一行之前的输出覆盖掉。例如执行:puts("hello world!\rxxx");在终端输出的是:xxxlo world! “空格”相信大家对它非常了解。值得注意的是它的ASCII码为0x20,而不是0x000x00代表空(NULL。本人初学C时认为空格值为0,惭愧惭愧。 7%f 对应 float%lf 对应 double%Lf 对应 long double%e科学计数法显示 %g%e%f中择短显示

%f代表按实型输入或输出,而%lf代表按双精度输入输出,不一样的,别混用! 例:double a,b,c,disc,x1,x2,realpart,imagepart; //float a,b,c,disc,x1,x2,realpart,imagepart;

scanf("%lf,%lf,%lf",&a,&b,&c); //scanf("%f,%f,%f",&a,&b,&c);

8putchar定义:该函数将制定的表达式的值所对应的字符输出到标准输出终端上。表达式可以是字符型或整型,它每次只能输出一个字符。例如:putchar('#') ; 输出# 9Getchar:输入对应的字符

他俩都是以行为结束或以EOF为结束;EOF (Enf Of File) putchar 在屏幕上输出一个字符,不需格式.

10逻辑运算符有4个,它们分别是: (逻辑非) ||(逻辑或)、&&(逻辑与) ^(异或)。在位运算里面还有 &(位与)、|(位或)的运算。

11if(fabs(a)<=1e-6)所代表的含义 fabs(a) a的绝对值,然后判断这个值是否小于等于0.000001 0不一定非要用1e-6代替。

12C语言中01e-6的区别是什么,为什么有时候可以替换有时候却不可以?区别很微小。这涉及到实数在计算和存储过程中会有一些微小的误差,对于一些与零作比较的语句来说,有时会因误差而导致原本是等于零但结果却小于零之类的情况发生,所以常用一个很小的数如1e-6代替0。解决办法是多调试。

浮点数在内存中存储是有误差的,浮点的0不是真的0所以只能找一个目标值比较。无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用===与数字比较,应该设法转化成>=<=形式 因为1.0在计算机中可能存为0.9999991.00001等,很难恰好是1.0

13const常量,表示不能修改,即只能读,不能写. 例:const int n = 5;

n就是5,不能改变n的值,n一直只能是5 14


本文来源:https://www.wddqw.com/doc/800765bdb0717fd5370cdc13.html