C 语言 记录
来源:互联网 发布:阿罗不可能定理 知乎 编辑:程序博客网 时间:2024/05/29 04:45
最近看驱动下的代码,很多结构体,指针,感觉看起来很吃力,
是时候系统的补补了.
这是我的学习记录,看《C程序设计语言》第二版的,方便自己查阅,好捡起来.
如书本中所说,
只能用 \n 表示换行符 , 如果用程序中的换行代替 \n 会产生错误信息 .
printf("The number is %d", c );
int 与float 类型的取值范围取决于具体的机器,对于 int 类型,通常为16 位 , 取值范围在 -32768 ~ +32767 .
也有 32 位表示 int 的类型 ,float 类型通常为 32 位 ,至少有 6 个有效数字 ,取值范围在10(-38) ~ 10(+38)之间 .
比如下面的语句:
int number;
int data = 20;
number = 5 * data / 9 ;
但是不能直接:
number = 5 / 9 * data ;
因为整数除法会执行舍位,结果中的小数会被舍弃,那么 5 / 9 结果为 0 .
常数中的小数点表明常数是一个浮点数 ,5.0 / 9.0 是两个浮点数相除 , 结果将不舍位 .
如果某个算术运算符的所有操作数均为整型 , 则执行整型运算 .
如果某个算术运算符有一个浮点型操作数 和 一个整型操作数 ,则在开始运算前整型转换为浮点型 .
不过即使浮点常量取的是整数值 ,在书写的时最好加上显式的小数点,可以强调其浮点性质,便于阅读 .
printf 的转换中 %3.0f 表明待打印的 浮点数 至少占 3 个位宽, 且不带小数点和小数部分 .
%.2f 表示待打印的浮点数的小数后有两位小数,位宽没限制 .
for(i = 0;i < 5; i++ ){ ;;;;;}
for( 1 初始化部分 ; 2 测试条件部分 ; 3 增加一个步长 ){ 4 循环体;;;}
第一部分:初始化部分 仅在进入循环前执行一次,
第二部分:是控制循环的测试或条件部分,如果为真,则执行4 循环体, 此后再执行第三部分。
如果为假,则循环终止.
在程序中使用像 300,20 这样的幻数 不是一个好习惯,
#define 名字 需要替换的文本
eg: #define Lower 20
记住 末尾没有分号 .
文本流 是由多行字符构成的字符序列,而每行字符则由0个或多个字符组成,行末是一个换行符.
int c;
c = getchar() != EOF
等价于:
c = (getchar() != EOF)
c将被置为0或者1;
因为 != 的优先级比 = 高;
如何区分文件中有效数据与输入结束符的问题,C语言中解决办法是在没有输入时,getchar 函数将返回一个特殊值, EOF (end of file 文件结束)
它定义在<stdio.h>中 是一个整型数, 所以我们在接收字符的时候声明一个 int c .
'' 单引号中的字符 表示一个整型,我们称之为字符常量,它不过是最小的整型数的另一种写法,
例如 ‘A’ 在 ASCII 码中的值为65, 这样表示只是更加清楚,与特定的字符集无关.
单引号 ‘\n’ 代表换行符在值 在 ASCII 码中 其值为 10 ,在表达式中它不过是一个整型数。
双引号 “\n” 是一个仅包含一个字符的字符串常量.
赋值结合次序是由右至左 .
形式参数 和 实际参数
形式参数:函数定义中圆括号内列表中出现的变量 .
实际参数:函数调用中与形式参数对应的值 .
地址就是指向变量的指针。而被调用函数则需要将对应的参数声明为指针类型,并通过它间接访问变量 .
当把数组名用作参数时, 传递函数的值是数组起始元素的位置或地址------ 它不复制数组元素本身.
变量 先 定义 再才可以 声明.
外部变量的定义必须指定数组的长度 , 但 extern 声明 则不一定要指定 .
外部变量的初始化只能出现在其定义中 .
- C语言学习记录
- C语言记录
- C语言活动记录
- C 语言 记录
- C语言学习记录
- C语言编程记录
- C语言点滴记录
- c语言记录.1
- C语言学习记录
- C语言点滴记录
- C语言初学记录
- C语言试题记录
- C语言学习记录
- C语言问题记录
- C语言调试记录
- c语言记录
- 记录记录复习C语言的时光
- C语言变参,记录
- 基于C51的红外遥控开发笔记
- MCS-51学习小结之RS232通讯[转载]
- matlab每日练习 lenght函数
- Java网络加载协议(JNLP)及Java Web Start
- 读Visual C++开发经验技巧宝典第…
- C 语言 记录
- matlab 每日学习 fft2 ifft2函数
- matlab每日学习 reshape 函数
- matlab每日学习 图片滤波
- matlab ;每日学习 3D作图 surf meshgrid…
- matlab数字图像细节的增强
- matlab 每日学习 linspace函数
- python搭建服务器和客户端
- matlab每日练习poly函数