大学的时候只学过 vb, 曾经选修过一门 c 语言,却在大学贪玩,却没有珍惜一点都没有学.(悔...
正题:
1.执行程序需要内存保存数据,以供将来使用.这些能够保存数据的空间称为变量(variable) . 变量的两个属性,名称和类型(type).程序在执行时会给变量赋值.
2.if(条件表达式){语句...}
3.else if ( ){
}
4.条件运算符(三元运算符)
int minutePerPound = isBoneless ? 15 :20;
5.函数()
何时使用函数: 比如重复任务时,可以考虑函数--通过更合适的途径完成相同的任务.
如何编写函数:涉及到函数的调用
函数是如何协同工作的,计算机在运行程序时,会将这些函数从硬盘拷贝至内存,然后找到 main() 的函数并运行.
标准库的概念:系统中预先编译过的的函数.这组文件称为标准库 首先无需程序员自己编写和维护的代码.与自己编写的代码相比,使用标准库可以构建出很复杂更好的程序,也确保了大多数程序的共通性.
局部变量 帧和栈
局部变量是函数内部的变量 程序员用栈来描述在内存中存储的地点.执行函数时,函数的帧会在栈的顶部创建出来.函数结束时我们会输函数返回了.也就是说,其帧会推出栈,等待下一个调用它的函数继续执行..栈永远是后进先出的.假设main 函数,帧后进来的之前声明的函数的帧会先退出, main 的帧后退出.
编译器用的是 sublime text
其中事先声明的
maLiMeng
函数. 在 c 语言中,程序总是会先执行 main(). 这段代码的 main() 会调用
maLiMeng
()这个函数.调用的函数被赋值后.maLiMeng( )的帧会后进先出,main 之后进, main 之后退 maLiMeng 中的形参pound 是帧的组成部分.形参是局部变量,并且已经初始化为相应实参的值.上面那个程序 madajie 的值9作为实参传给可 pound, 并拷贝给了maLiMeng( )函数的栈.
递归: 举个例子,
这是个简单的递归,递归算法解题相对常用的算法如普通循环等,运行效率较低。因此,应该尽量避免使用递归,除非没有更好的算法或者某种特定情况,递归更为适合的时候。在递归调用的过程当中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出等.
xcode 是 mac 上经常用到的编程器, app 都是通过这个软件开发出来的.debug(调试).排除错误,通过调试器可以查看栈中的帧.为此要暂停执行中的程序.否则,一旦 main( )执行结束,程序不会留下任何帧,无从查看.所以必须先设定程序断点(breakpoint).再次运行程序,程序会先执行程序,然后在执行到 breakpoint 的地方暂停运行
return 0代表 exit _success
循环
break&continue
do-while
for (初始化;检查表达式;最后一步)
9.地址和指针
获取地址 int *adress0fI = & i
* adress0fI = 89
不同类型数据所占用的字节大小
sizeof( )会返回一个类型为 size_t 的数,对应的格式说明符是& zu
指针的代码规范 : float *b, c b是指向 float 的指针, c 是的类型是 float,
√当遇见比整数大很多也复杂的多的数据时,就有必要使用指针了.这是因为程序不一定能通过拷贝来传递数据,但是一定能够直接传递或通过拷贝数据的起始位置,一旦有数据的起始位置,计算机就能很容易地取得相应的数据
通过引用传递: modf( ) 会放回小数部分,然后将帧数部分拷贝至传入的地址
堆得概念