C语言书籍入门---第三章
=======变量和数据类型=========
说 明:字符型 短整型 整型 长整型 单精度浮点型 双精度浮点型 无类型
数据类型:char short int long float double void
32位环境下长度:1 2 4 4 4 8
======在屏幕上输出各种类型的数据====
puts 是输出字符串的
printf 不仅可以输出字符串,还可以输出整数、小数、单个字符等,并且输出格式自己定义,例如:
1.以十进制、八进制、十六进制形式输出;
2. 要求输出的数字占n 个字符的位置;
3. 控制小鼠的位数。
printf 是 print format 的缩写,意思是:格式化打印,
int abc = 9;
printf("%d",abc);
%d : d 是decimal 的缩写,意思是十进制数,%d 表示以十进制整数的形式输出。
%d : 格式控制符,它指明了以何种形式输出数据。格式控制符均以%开头。
%d: 以十进制形式输出一个整数。
%c : 输出一个字符, c 是character 的简写。
%s:输出一个字符串。s 是string 的简写。
%f : 输出一个小数。f 是float 的简写。
“\n” : 换行符。
%hd: 用来输出short int 类型,hd 是short decimal 的简写。
%ld: 用来输出long int 类型,ld 是long decimal 的简写。
%f:以十进制形式输出float 类型;
%lf:以十进制形式输出double 类型;
%e:以指数形式输出float 类型,输出结果中的e 小写。
%E:以指数形式输出float 类型,输出结果中的E大写。
%le 以指数形式输出ouble类型,输出结果中的e 小写。
%lE以指数形式输出double 类型,输出结果中的E大写。
%g: 对比小数的十进制形式和指数形式,以最短的方式类输出小数,让输出的结果更加简短。
puts 输出完成之后会自动换行,printf 不会,需要自己添加换行符,这是puts 和printf 在输出字符串时的一个区别。
puts连续输出长字符串时,可以直接使用引号进行区分开。
例如: puts(
"1111111111111111"
"22222222222222"
"33333333333333"
);
===========操作符=========
sizeof 操作符: 用于获取某个数据类型的长度。
==========二进制=======
注意:标准的C语言并不支持下面的二进制写法,只是某些编译器自己进行了扩展,才支持二进制数字。
二进制:以Ob 或者OB开头,不区分大小写。
例如:int a = Ob101; // 换算成十进制为5
八进制:int a = 015; 【数字0开头】// 换算成十进制为13
C语言中常用的整数有short 、int 、long 三种类型,通过printf 函数,可以将它们以八进制、十进制和十六进制形式输出。
输 出:short int long 类型
八进制:%ho %o %lo
十进制:%hd %d %ld
十六进制:%hx或者%hX %x或者%X %lx 或者%lX
注意:十六进制数字的表示用到了英文字母,有大小写之分,x小写表示以小写形式输出十六进制数字,X大写,表示以大写字母的形式输出十六进制数。
在进行不同进制输出的时候,需要在输出时带上特定的前缀。在格式控制符中加上#即可输出前缀,例如:%#、%#o 等。
=========符号位======
如果确定数字只能是正数,例如班级学生的人数、字符串的长度、内存地址等,这个时候符号位就是多余的了,不如删除符号位,把所有的位都用来存储数值,这样能表示的数值范围就更大(大一倍)。使用unsigned 关键字。
例如:unsigned int a = 1002;
======C语言中的小数(float double)==========
指数形式:aEn,或者aen, a:尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数。E或者e 是固定的字符,用于分割尾数部分和指数部分。挣个表达式等价于;a* 10的N次方。