c语⾔float⼆进制输出代码_C语⾔学习笔记——学前知识概述
将我⼤⼀学习C语⾔时做的笔记拿来与⼤家分享,内容⽐较浅显,⽐较适合初学者,如有错误还请见谅,提出改正,谢谢!
前⾔:此C语⾔笔记是本⼈在⾃学时记录的⼀些重点或初学者常犯的错误,希望我的这本笔记能够对⼤家的C语⾔的学习有所帮助。
C语⾔学习笔记
C语⾔重点:流程控制、函数、指针、动态内存分配。
第⼀章、学前知识概述
⼩知识
c语言如何去学
1.如何看懂⼀个程序?
流程、功能、试数 (按电脑的思维去看⼀个程序)
2.变量的实质是内存的⼀块存储空间
3.分配内存是操作系统把某⼀块内存空间的使⽤权限分配给该程序;
释放内存是操作系统把分配给该程序的内存空间的使⽤权限收回,该程序就不能够再使⽤这⼀块内存空间。
注意:分配内存是指内存权限的分配,释放内存并不是把内存的内容清零,原数据会被保留⽽成为垃圾数据,所谓空闲内存并不是指没有内容的内存,⽽是没有被占⽤的可供分配的内存,尽管⾥⾯是垃圾数据,但操作分配给程序权限使程序可修改内存空间中的垃圾数据以供程序继续使⽤。
内存是由操作系统直接控制的,⾃Windows 2000以后,操作系统不允许程序直接访问内存,⽽只能通
过请求操作系统来访问内存,以前Windows 98和Windows ME等允许程序直接访问内存和通过操作系统访问内存两种途径。
常见运算符
算术运算符:
+ - × / %(取余数)
关系运算符:
> >= < <= !=(不等于) ==(等于)
(3==5的值为布尔型,即为0) ⾮零是真零是假;真是1表⽰,假是0表⽰。
注意:= 为赋值 == 才为等于
逻辑运算符:
!(⾮) &&(且) ||(或)
注意:逻辑运算符和关系运算符的结果只能为真或假,真⽤1表⽰,假⽤0表⽰,即成⽴或不成⽴。常在if和while中使⽤。
赋值运算符:
= +=(加等) -=(减等) *=(乘等) /=(除等)
a+=3 :== a=a+3
a/=5 :== a=a/3
⽽并不是表⽰i⼤于等于80⼩于90。
优先级别:算术>关系>逻辑>赋值
注意⽤括号
int m;
int k = 10;
m = (21>3) && (k=5); //m为布尔型值,k=5为真,当且仅当k=0时才为假,即0为假,其他数为真
printf("m=%d, k=%dn", m, k);//当左边⽆法判断m的真假值时,右边才执⾏;若左边即可以判断m值的真假,右边不执⾏。
&&左边的表达式为假时,右边的表达式肯定不会执⾏
||左边的表达式为真时,右边的表达式肯定不会执⾏
格式:(数据类型)(表达式)
强制类型转化:
强制类型转化: 格式:(数据类型)(表达式)
inti;
floatsum = 0; 功能:把表达式的类型强制转化前⾯数据类型所指定的类型
for(i=1;i<=100;++i)
//sum= sum + 1.0/i;
sum= sum + 1/(float)(i); //强制将i的类型转化为浮点型。
printf("sum= %fn", sum); //浮点型必须以%f(或%lf)控制输出
输⼊控制符:
printf与scanf在输出(输⼊)控制时,前⾯的控制符与后⾯的取值是⼀⼀对应的。
scanf("%d %d %d", &i,&j, &k); //空格可连续赋值,也可点回车后⼀个⼀个赋值,⽐较⽅便。
scanf("%d,%d,%d", &i, &j, &k); //⽽此种带必须输⼊⾮输⼊控制符“,”,否则⽆法完成三个变量的赋值。
doubledelta;
printf("请输⼊delta的值:");
scanf("%lf",&delta); //上⾯定义delta为什么类型变量,输⼊控制时就必须使⽤什么类型控制符, 否则会出错 注意:输⼊/输出控制符与输⼊/输出参数必须⼀⼀对应
注意scanf()中的取地址符&
int 98---默认⼗进制
int 098---⼋进制
int 0x(X)98---⼗六进制
输出控制符:
%x(X): 输出为⼗六进制整型(字母⼤⼩写) %#x(X):输出为Ox(X)⼗六进制整型 %d:输⼊输出为整型
%ld:长整型
%hd:短整型
%hu:⽆符号整型
%u %lu %s:输⼊输出为字符串
%c:输出为字符
%f:输⼊输出为浮点型
%lf:双精度浮点型
字符的存储:
整数是以补码的形式转化为⼆进制代码存储在计算机中的;
实数是以IEEE754标准转化为⼆进制代

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。