c语言基础数据类型及命名规范
1. 常量是程序运行期间不能被改变的量; 变量代表一个存储区域,存储区域内存储的内容就是变量的值, 变量的值可以在程序运行期间改变
(变量就像一个杯子, 用来存放水, 杯子里的水即变量的值是可以改变的)
2.基本数据类型:int: 整型类型, 在内存中占4个字节, 在计算机中每个字节都由8个二进位制数表示; short: 短整型类型, 在内存中占2个字节
long: 长整型类型, 在内存中占4或8个字节, 和操作系统有关, 在32位的操作系统中占4个字节, 在64位的操作系统中占8个字节
float: 单精度浮点类型, 在内存中占4个字节; double: 双精度浮点类型, 在内存中占8个字节; char: 字符类型,在内存中占1个字节
3. 变量定义: 数据类型 变量名 = 初值
4. 变量的命名规范:
a. 只能有数字, 字母, 下划线组成, 但是不能数字开头
b. 不能和系统关键字重名
c. 变量名要具有自解释性(见名知意)
d. 变量名不能重名
e. 变量定义时, 可以赋初值也可以不赋初值, 但为了养成一个良好的习惯, 建议在定义变量时给它赋一个初值(注意:定义结构体时, 一定不能
给结构体成员赋初值)
如: a. int sum;//用来求元素的和
sum = 10;可以
b. int sum;//用来求元素的和
sum += 10;就不可以,因为 sum += 10 等价于 sum = sum + 10, 此时第二个sum还没有值,所以得不到自己想要的结果
因此, 我自己觉得养成赋初值的习惯还是比较好的, 我自己以前也是都不赋初值, 都是到需要的时候才赋值. 但后来发现定义变量时赋初
值还挺不错的, 所以就想养成习惯,现在我也是在养习惯的阶段.
f. 定义变量时, 应采用驼峰式的方式进行命名, 如 int maxLength = 0;(变量名如果是由两个或两个以上的单词构成时, 第一个单词的首字
母小写, 后面的每个单词的首字母大写). 再如: int practiceForC = 0;
当然每个人的习惯也不同,可以根据自己的习惯来写, 但必须符合前4条规范.
5. 算术运算符 +(求和), -(求差), *(求乘积), /(求商;两个整数的商是整数,如果两个数相除想获取小数部分,则需要参与计算的双方至少有一个
是小数), %(求余数, 参与运算的双方必须都为整数), ++(自加, 将自身的值加1), --(自减, 将自身的值减1)
需要注意的是: int i = 0;
printf("%d\n", i); //打印出来的结果为0
printf("%d\n", i++); //先打印出来 i 的值为0, 然后 i 的值 + 1; 自减原理相同, 先输出 i 的值, 然后将 i 的值 - 1.
printf("%d\n", ++i); //先将 i 的值 + 1, 然后打印出来 i 的值为 2 ;自减原理相同, 先将 i 的值 - 1, 然后输出 i 的值.
另外, int i = 0, j = 0, sum = 0;
sum = i+++(--j);//(系统的贪婪性会自动将前两个加号识别在一起). 相当于 j = j - 1; sum = i + j; i = i + 1; 执行结果为 i = 1, j = -1, sum = -1;
6. 复合运算符 +=, -=, *=, /=, %=
int i = 0, j = 0; i += j;//等价于i = i + j; 其余复合运算符的使用规则相同
7. 计算机中存储的小数是不精确的小数, 切忌两个相等的小数进行比较
8. 格式化输入输出函数:
a. 输出函数: printf("%d\n", 变量名); 其中%d表示要输出的变量的类型为整型, \n 表示换行, 根据在%d的前或后,来判断先换行,还是先打印变量的值
b. 输入函数: scanf("%d", &变量名); 从控制台输入一个数字, 放到变量所代表的存储单元中, 注意:%d后面不能加\n, 否则会与键盘的回车键相抵消
, 也就是加上\n后, 在按键盘的回车键就不管用了
9. 想要输出%时,只需要在输出函数中写%%就行了, 如: printf("%%%%"); 输出的结果是%%
输出"或'时: printf("\"");//输出" printf("\'");//输出'
c语言基础数据类型及命名规范的更多相关文章
- c#基础学习(0625)之vs常用快捷键、基础数据类型、命名规范
vs常用快捷键 Ctrl+K+D:快速对齐代码 Ctrl+z:撤销 Ctrl+S:保存 Ctrl+J:快速弹出只能提示 Shift+End:从行首快速选中整行 Shift+Home:从行未快速选中整行 ...
- C语言变量和函数命名规范
C 语言变量和函数命名规范: 关于C语言变量和函数命名规范 据考察,没有一种命名规则可以让所有的程序员赞同,程序设计教科书一般都不指定命名规则.命名规则对软件产品而言并不是"成败悠关&quo ...
- JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}
Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...
- JavaScript发展史,与JScript差别,引入方式,数据类型,命名规范,命名推荐,解决命名冲突
文件夹: 1.JavaScript发展史 2.JavaScript与JScript差别 3.JavaScript引入方式 4.JavaScript基本数据类型及布尔值 5.JavaScript命名规范 ...
- c语言基础:数据类型 分类: iOS学习 c语言基础 2015-06-10 21:43 9人阅读 评论(0) 收藏
C语言基本数据类型大体上分为: 整型 和 浮点型 字节: 计算机中最小的储存单位 1 Byte = 8 bit 整型: int 4 ...
- C#-语言基础+数据类型+运算符
一.C#语言基础 新建项目:文件→新建→项目→Visual C#(默认.NET Framework 4.5)→控制台应用程序 1.项目结构 (1)项目后缀 .config ——配置文件(存放配置参数文 ...
- JAVA基础学习_命名规范和注释
一.命名规范 1. 项目名全部小写 2. 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词,包名统一使用单数形式.如果类名有复数含义,类名可以使用复数形式. 实际应用中: 各层命名规约: ...
- Java基础—标识符及命名规范
什么是标识符符? 凡是可以由自己命名的地方都称为修饰符. 例: 项目名 ,包名 ,类名 .方法名 2. 命名规范. ① 不可使用java关键字和保留字,但是可以包含关键字和保留字. ② ...
- Java语言基础——数据类型与运算符
标识符: 1.组成元素由字母.数字.下划线.美元符号($) 2.标识符不能以数字开头 3.标识符严格区分大小写 4.标识符的命名要有意义(见名知意) 注释: 1.单行注释 // 2.多行注释 /* 注 ...
随机推荐
- Python -- 数据加载、存储与文件格式
标签(空格分隔): Python 读入读出通常可以划分为几个大类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据,利用Web API操作网络资源. 读写文本格式的数据 pandas提供了一 ...
- R12供应商地点层付款方法SQL
--R12供应商地点层付款方法SQL:SELECT ipmv.payment_method_name , ipmv.payment_method_code , 'N' primary_ ...
- VS.Net 2015 Update3 学习(1) 支持Webpack
让vs.net 编译的时候自动执行webpack 首先 管理员模式下打开 “Developer Command Prompt for VS2015", 是管理员模式啊! 然后进入 cd c: ...
- 如何挂自己的web项目(免费拥有自己的网站及域名)
http://www.blogjava.net/qingshow/archive/2010/01/17/309846.html ------------------------------------ ...
- stopPropagation, preventDefault 和 return false 的区别
因为有父, 子节点同在, 因为有监听事件和浏览器默认动作之分. 使用 JavaScript 时为了达到预期效果经常需要阻止事件和动作执行. 一般我们会用到三种方法, 分别是 stopPropagati ...
- C++ int与string的转化
int本身也要用一串字符表示,前后没有双引号,告诉编译器把它当作一个数解释.缺省情况下,是当成10进制(dec)来解释,如果想用8进制,16进制,怎么办?加上前缀,告诉编译器按照不同进制去解释.8进制 ...
- leveldb 学习。
1)大概浏览了leveldb文档的介绍.本想逐步看代码,想想还是自己先实现一个看看如何改进. 2)完成了一个非常丑陋的初版,但是还是比初初版有进步. 3)key value的数据库,不允许有key重复 ...
- Java四种线程池
Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor 时间:20 ...
- Docker容器是否可以改变世界?
Docker容器是否可以改变世界? 2016-01-15 杜亦舒 2016年了,很多大牛开始预测技术趋势,其中一个普遍的观点我也很认同: Docker会更加流行,会改变程序世界 2015年的上半年我接 ...
- ubuntu apt-get 时 Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
sudo cp /etc/apt/sources.list ~/ sudo wget "http://pastebin.com/raw.php?i=uzhrtg5M" -O /et ...