
c语言
marc-sam
这个作者很懒,什么都没留下…
展开
-
c语言文件读写形式区别
r(只读)w(只写)a(追加写)r+(读写.不删除旧的)w+(读写.删除旧的)a+(读写.追加)rb(只读二进制)原创 2015-04-23 22:59:16 · 771 阅读 · 0 评论 -
对递归的理解
递归是一个特殊的循环,程序模仿一个甜甜圈,程序在设定的条件下跳入下一层循环。当一个c程序运行的时候在主方法里面的表达式必须运行完毕,递归的时候,程序一般是只运行了前面的一部分就跳入到下一层循环了,所以当程序从最底层返回的时候,必须运行完程序剩余的部分,所以如果程序没有设定递归跳出的条件的话,程序会陷入死循环状态,程序跳入下一个循环的时候,会有一个断口,断口记录了方法传进来的参数,所以当下层原创 2015-04-25 12:39:16 · 400 阅读 · 0 评论 -
结构体读写格式注意
结构体可以通过变量和指针的方式访问,通过变量是用 结构体.成员变量 的方式访问,用指针是有两种方法,(*结构体指针).结构成员或者 结构指针->结构成员,注意前面的一种类型必须加括号。结构体数组 (*(结构数组名+下标)).结构成员 或者 (结构数组名+下标)->结构成员 的形式,注意前面一定要加括号。原创 2015-04-25 09:06:42 · 676 阅读 · 0 评论 -
字符数组,特殊的数组
字符串数组是特殊的数组,数组后面必须要有\0,占用一个字符空间,定义长度为n的字符串数组实际只能存n-1个字符,普通字符串数组常量初始化的时候有两种方法:char tChar[5]={'h','e','l','l'};和char tChar[5]="Hello";字符串指针初始化的方法同普通字符串数组,当时,字符串指针赋值可以使用 sChar="Worldddddd";这种方法,也可原创 2015-04-24 23:36:58 · 700 阅读 · 0 评论 -
C语言控制输出不按数据类型输出的问题
C语言数据输出要严格按照数据的类型选择相应的输出方法输出,double型不能按整形输出,不然输出的是乱码,整形不能按浮点型输出,不然输出0.000000000原创 2015-04-24 22:26:03 · 719 阅读 · 1 评论 -
C语言输出整数整数前补全零
利用%03d 可以控制C语言输出整数格式,默认输出位数为3位,如果不够,用零补全。原创 2015-04-24 22:10:38 · 12075 阅读 · 0 评论 -
C语言控制输出小数点位数
使用%.6lf 控制输出,6表示要输出的小数点位数。原创 2015-04-24 22:07:17 · 3140 阅读 · 0 评论 -
对指针的理解
指针是类型化的地址,在程序编程中,一般通过变量的名字访问变量,这种访问成为直接访问,实际上,C语言在编译之后都会把变量名编译成一个十六进制的地址,这个地址是存储变量的首地址编号,通过这种方式访问称为间接访问,指针就是通过间接方式访问变量,指针是类型化的地址,指针的基类型跟普通数据类型一样,但是指针的名称是基类型名称加上*原创 2015-04-24 15:22:04 · 446 阅读 · 0 评论 -
布尔类型探究
布尔类型只有两种值,0为假,非0为真,if语句根据表达式的布尔类型判断执行,0为假,非0为真。原创 2015-04-24 10:34:15 · 416 阅读 · 0 评论 -
if-else选择结构
if_else选择结构语句只对表达式进行两种结果的判断,真或者假,原创 2015-04-24 10:24:32 · 622 阅读 · 0 评论 -
函数指针
实际上是给函数一个别名,根据实际场景当一堆函数的返回值跟参数都一样的时候,可以通过函数指针的方式提高代码的可维护性,可能对代码的低耦合度有一定的帮助,声明的时候,函数指针加*号表示,声明的函数指针返回值与形参必须要与调用的函数相同。int Sum(int *,int);int Max(int *,int);函数指针:int (*pf) (int *,int);都可以通过pf=原创 2015-04-24 16:47:33 · 282 阅读 · 0 评论 -
函数的变量类型
自动局部变量 ,就是一般的变量,通常可以省略auto关键字,静态局部变量,用static关键字修饰,static long f=1;静态局部变量必须初始化,默认初始化值为1,初始化只在函数第一次被调用的时候执行一次,以后调用都不执行。原创 2015-04-24 16:33:12 · 495 阅读 · 0 评论 -
关系操作符和逻辑操作符
关系操作符> 、 逻辑操作符&& 、||、!也是返回两种值,返回的是布尔类型,真或者假,真用1表示,假用0表示,逻辑操作符当前面的表达式不影响整个表达式的结果是,表达式后面的表达式不会运算。原创 2015-04-24 09:59:30 · 352 阅读 · 0 评论 -
C语言程序运行的步骤
C语言程序从编写到执行输出结果一般需要6个步骤:编辑(edit)、预处理(preprocess)、编译(compile)、连接(link)、装载(load)、和执行(execute)。编辑是通过编辑器书写C语言文本,该文本成为源文件,拓展名为.c(在c++系统中为.cpp)。预处理执行程序中的预处理指令(他们是为优化代码而设计的),每条预处理指令以符号#开始,结尾不带分号。例如#include #原创 2015-04-24 14:42:15 · 8404 阅读 · 0 评论 -
x--与--X的区别
int x=3,y;printf("%d\n",y=x--);先等后减,输出3;printf("%d\n",y=--x);先减后等,输出2;原创 2015-04-23 23:43:19 · 6867 阅读 · 0 评论 -
&&、||运算问题
int x=3,y=4,z=5; printf("%d\n",x||y+z&&y-z); 输出的结果是1。只要判断里面没有0,算术都返回1,如果是0&&1返回0,如果是0||1返回1。原创 2015-04-23 23:21:50 · 293 阅读 · 0 评论 -
c语言%X与%x的区别
%X跟%x是输出十六进制数字,%X是输出的十以上的字母大写,%x是输出十以上的字母小写。原创 2015-04-23 22:52:23 · 22039 阅读 · 2 评论 -
逻辑或||注意问题
在c中&&和||都是短路运算符,像++i||++j&&++k这个表达式,++i的值为2,隐式转换为bool型为true(0转为false其他都为true),因此这个表达式等价于ture || ++j && ++k,由于短路,当||前面的值为true时就不再判断后面的语句,因此 ++j && ++k没有被执行,即j和k的值没有被改变。也就是说++i||++j&&++k是一个整体,当前面的||短路时会原创 2015-04-25 14:09:33 · 714 阅读 · 0 评论