=======变量和数据类型=========

说      明:字符型   短整型  整型  长整型  单精度浮点型  双精度浮点型 无类型

数据类型: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次方。

最新文章

  1. SQLSERVER2008R2数据库的整体导出及单个表的导出步骤
  2. Mysql常见四种索引的使用
  3. 策划了个.NET控件的案例大赛
  4. Spring MVC处理异常的4种方式
  5. ReactiveCocoa基础知识内容2
  6. CentOS系统在不重启的情况下为虚拟机添加新硬盘
  7. 第17章 内存映射文件(3)_稀疏文件(Sparse File)
  8. sql复制表、拷贝表、临时表
  9. c#写入Mysql中文显示乱码 解决方法 z
  10. 知识备忘phpcms 简单解析一 数据表字段
  11. [转载]标签a的href和onclick
  12. Docker 基础 : 网络配置
  13. curl file_get_contents fsockopen
  14. 我的Node.js学习历程
  15. 三步快速解决dll冲突问题
  16. vue mint UI
  17. Python之Django rest_Framework补充
  18. TCP的核心系列 — 重传队列的更新和时延的采样(一)
  19. eclipse Tomcat 容器已经启动 但右下角 progress 一直显示100%
  20. System.getProperty(String key)方法获取常用系统信息

热门文章

  1. redhat7.6 配置主从DNS
  2. 带你了解MyBatis一二级缓存
  3. Try-Catch无法正确定位异常位置,我推荐2个有效技巧
  4. 在C中测试函数运行时间
  5. 基于SLAM的移动机器人硬件设备参数
  6. P3376 【模板】网络最大流 dinic详解
  7. 最全面的C/C++编码规范总结
  8. 【转】教你怎么调用Gitlab API
  9. java web 学生信息录入
  10. 解决RStudio(非conda安装)在使用Anaconda中的R环境时,缺失“ libbz2-1.dll ”而不能正常启动问题