C Programming Language 学习笔记
_AllenMiao
Stay hungary, stay foolish.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言之指针和数组 1
1、指针和地址 指针变量是一个包含地址的存储集合,通常32位系统的指针变量是4个字节,64位系统的指针变量是8个字节。 &为取址操作符,只能用于内存中的变量和数组元素对象上,不能被应用在表达式、常量和寄存器变量上。 *为一元操作符,作用是间接寻址和间接引用。对指针变量的声明性定义如下: int *p;原创 2015-10-22 00:57:26 · 400 阅读 · 0 评论 -
%p的用法
%p用于输出指针的内容。例如: printf("%p\n", &i); 输出i的地址; printf("%p\n", &p1); 输出p1的地址; printf("%p\n", &p2); 输出p2的地址; printf("%p\n", p1); 输出指针p1的值,也是地址,但不是p原创 2015-10-26 16:14:52 · 1999 阅读 · 0 评论 -
C语言之char类型研究
在以往的学习中,我们认为char类型仅仅能表示0~255之间的正整数,因为我们一般使用char类型都是在处理字母或数字等常用字符,字符在计算机内是用ASCII码表示,范围是0~255,其中0~127为基本ASCII码,128~255为扩展ASCII码。 所以,我们可能是将char类型和ASCII码的概念弄混了。 char类型可以分为 char 和 unsigned ch原创 2015-09-13 00:52:53 · 2436 阅读 · 0 评论 -
C语言之函数值传递的好处
原文: Call by value is an asset, however, not a liability. It usually leads to more compact programs with fewer extraneous variables, because parameters can be treated as conveniently initial原创 2015-09-13 00:56:19 · 639 阅读 · 0 评论 -
C语言之break和continue
break:cause the innermost enclosing loop or switch to be exited immediately.continue: cause the next iteration of the enclosing for, while, or do loop to begin. The continue statement appliesonl原创 2015-09-18 11:11:07 · 798 阅读 · 0 评论 -
C语言之控制流
1、因为if只是简单的测试表达式的数值,所以某些缩短是可以的, if (expression)instead of if (expression != 0)2、It is a good idea to use braces when there are nested ifs. 当有嵌套的if时,用括号扩起语句是好的主意。原创 2015-09-19 23:22:17 · 1409 阅读 · 0 评论 -
C语言之类型转换
数据类型转换一般遵循少量的原则,一般来说,自动转换是将“窄”操作数转换成“宽”操作数,以至于不会丢失信息。把长类型的数据复制给短类型时会发生数据丢失。这可能会产生警告,但是是合法的。 机器字符集中的字符按照ASCII码表示都是正数,但是任意的位形式存放在字符变量中可能会是负的,这个根据机器决定。为了易用性,当需要存放一些非字符的数据在字符类型中时,需要定义该char变量是sign原创 2015-09-15 00:09:13 · 644 阅读 · 0 评论 -
C语言之条件表达式
conditional expression: expr1 ? expr2 : expr3首先计算expr1,如果结果为真,则计算expr2,其结果也为条件表达式的值;否则,计算expr3,其结果为条件表达式的值。 如果expr2和expr3的类型不一样,那么按照类型转化的原则转化成一样的类型,此时不论expr1是否为真,条件表达式最终的值都会是类型转化原创 2015-09-16 10:12:41 · 5936 阅读 · 0 评论 -
C语言之指针和数组 2
字符指针和函数原创 2015-10-25 00:14:58 · 381 阅读 · 0 评论 -
C语言之argument和parameter的区别
《The C Programming Language》 K&R Page25 We will generally use parameter for a variable named in the parenthesized list in a function definition, and argument for the value used in a call原创 2015-09-13 00:54:56 · 9126 阅读 · 0 评论 -
C语言之优先级与运算顺序
1、操作符的优先级2、Order of Evaluation运算顺序 和其他语言一样,C语言也没有明确一个操作符的操作数们的计算顺序(除了&&,||,?:和,),例如在表达式:x = f() + g() f()和g()的运算顺序并没有明确规定,f()可能在g()之前运算,也可能在之后。因此,如果f()或者g()改变了另一个原创 2015-09-16 12:16:53 · 4227 阅读 · 0 评论 -
C语言之外部变量与作用域
Each local variable in a function comes into existence only when the function is called, and disappears when the function is exited.This is why such variables are usually known as automatic variable原创 2015-09-13 00:57:36 · 1544 阅读 · 0 评论 -
C语言之左移和右移运算符
左移运算符()左移运算符是用来将一个数的各二进制位左移若干位,移动的位数由右操作数指定(右操作数必须是非负值),其右边空出的位用0填补,高位左移溢出则舍弃该高位。右移运算符(>>)右移运算符是用来将一个数的各二进制位右移若干位,移动的位数由右操作数指定(右操作数必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0。对于有符号数,某些机器将对左边空出的部分用符原创 2015-09-13 00:58:34 · 23215 阅读 · 1 评论 -
C语言之位操作符
C语言提供6种操作符用于位运算,这些操作符只能用在整型操作数上:char,short,int,long,不论是signed还是unsigned;6种操作符分别是:&(按位与),|(按位或),^(按位异或),>(右移),~(取反)。 按位与&通常用来遮盖位中的一些设置,按位或通常用来是位置1。 按位异或^的用法: x ^ 1:取反; x ^ 0:保持不变。原创 2015-09-16 00:15:02 · 478 阅读 · 0 评论 -
C语言之变量与常量
关于变量、常量、类型和运算符等。2.1 变量名 变量名由字母和数字组成,首字母必须是字母,下划线“_”看作是字母,所以可以放在首字母。但是,尽量不用用下划线作为首字母,因为在库函数中经常这样命名。变量名用小写字母,符号常量用大写字母。变量名字的选择需要根据实际目的,局部变量用短名,外部变量用长名。2.2 数据类型和大小 编译器会给硬件自由原创 2015-09-13 00:59:35 · 634 阅读 · 0 评论 -
C语言之赋值操作符和表达式
assignment operator赋值操作符指的是+=, -=,...用这种表达方式的好处是:1、简单明了,符合人们的思维;2、简化代码,尤其使得长表达式易读;3、使得编译器产生更有效率的代码。赋值表达式的类型时左操作数的类型,值是赋值后的值。习题2_10中,x &= (x - 1)意思是使最右端为1的bit置0。原创 2015-09-16 01:53:55 · 767 阅读 · 0 评论 -
C语言之函数和程序结构
1、如果函数的返回值类型省去的话,默认返回int类型。2、return expression 如果需要的话,expression的类型将会被转化为函数返回值得类型。3、int atoi() { ... return (int) atof(s); }原创 2015-10-15 11:33:00 · 584 阅读 · 0 评论
分享