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.多行注释 /* 注 ...
随机推荐
- oracle 锁表问题
oracle执行表数据更新的时候,会遇到锁表问题,比方说,会遇到这样的问题,主要原因是这张表被其他人占用,修改数据没有提交.oracle为了避免脏数据的产生,在其安全机制下,锁住该表. 执行如下操作, ...
- Android 基础概念了解
Android 的前世今生Android 系统框架Android 主要组成 部分Android 常用的操作 Android 的前世今生 Android 的诞生 2003年10月,有"Andr ...
- URL编码和解码工具
开发中发现需要进行URL的编解码,每次百度出来的还带广告而且比较慢,写了一个本地的工具,比较简单,希望对大家有帮助. <!DOCTYPE html PUBLIC "-//W3C//DT ...
- 生成yyMMddHHmmssSS时间戳代码作为唯一主键值
import java.sql.Time; import java.text.DateFormat; import java.text.ParseException; import java.text ...
- [地图SkyLine二次开发]关于IE内存限制问题(1G)
相信很多人也遇到过同样的问题,地图加载中,IE占用的内存一直增加,到了1G多一些的时候,IE就崩溃了. 在网上查阅了一番,有很多结果,下面归纳一下: a).64bit的IE最多可达到4G的内存,但Sk ...
- solar system by HTML5
solar system by HTML5 星际穿越感觉很炫酷啊,网易貌似做了个专题在朋友圈挺火的.用canvas模拟太阳系,嗯,不错昂! 代码及效果 See the Pen GgpRjN by Na ...
- css3实现翻页卡片
css3 实现翻页卡片 应用场景挺多的,比如产品信息展示 效果如下 jsfiddle demo transform perspective backface-visibility transform- ...
- /proc 【虚拟文件系统】
在安装新硬件到 Linux 系统之前,你会想要知道当前系统的资源配置状况. Linux 将这类信息全集中在 /proc 文件系统下./proc 目录下的文件都是 Linux 内核虚拟出来的,当你读取它 ...
- linux下使用多线程编写的聊天室
自从开始学linux网络编程后就想写个聊天室,一开始原本打算用多进程的方式来写,可是发觉进程间的通信有点麻烦,而且开销也大,后来想用多线程能不能实现呢,于是便去看了一下linux里线程的用法,实际上只 ...
- openssl stack 数据结构栈基本操作
堆栈是两种不同的数据结构: 堆:数据先进先出: 栈:数据先进后观: 在stack.h 中 openssl 为我们提供了一个通用的栈,利用提供的接口我们可以方便的用此栈来存放开发中的任意数据. open ...