c语言布尔类型怎么用(C语言中的数据类型)
c语言布尔类型怎么用(C语言中的数据类型)5.3 字符型常量5.2 实型常量4.数据类型5. 常量5.1 整型常量
数据类型
1.编码规范
2.关键字
3. 标识符
4.数据类型
5. 常量
5.1 整型常量
5.2 实型常量
5.3 字符型常量
5.4 转义字符
5.5 符号常量
6.变量
7.变量的存储类别
8.混合运算
1.编码规范
- 代码缩进
代码缩进一般为4个字符
#include <stdio.h> int main(void) { int iResult = 0; int i; printf("由1加到100的结果是: "); for(i = 1;i<100; i) { iResult= i iResult; } printf("%d\n" iResult); return 0; }
- 变量、常量命名规范
常量命名统一为大写格式。如果是成员变量,均以m开始。如果是普通变量,取以实际意义相符合的变量名称,然后在其前添加相关的数据类型。如果是指针,则为其标识符添加p。
#define AGE 20 int m_iAge; /*定义整型的成员变量*/ int iNumber;/*定义普通整型变量*/ int *pAge;/*定义指针变量*/
- 函数的命名规范
在定义函数时,函数名的首字母要大写,其后的字母大小写混合。
int AddTwoNum(int num1 int num2);
- 注释
尽量采用行注释
int iLong;/*长度*/ int iWidth;/*宽度*/ int iHeight;/*高度*/
2.关键字
关键字
3. 标识符
- 所有的标识符必须由字母或下划线开头,而不能使用数字或者符号作为开头。
- 在设定标识符时,除开头外,其他位置都可以由字母、下划线或数字组成。
- 英文字母的大小写代表不能的标识符
- 标识符不能是关键字
- 标识符的命名最好具有相关的含义。
- 以ANSI标准规定,标识符可以使任意长度,但外部名知识能由前8个字符唯一地区分
4.数据类型
- 基本类型
整型 字符型 实型 枚举类型
- 构造类型
构造类型包括数组类型 结构体类型和共用体类型
- 指针类型
指针的值表示的是某个内存地址
- 空类型
空类型的关键字是void (1)对函数返回的限定 (2)对函数参数的限定
5. 常量
- 整型常量
- 实型常量
- 字符型常量
5.1 整型常量
整型常量就是直接使用的整型常数。整型常量可以是长整型、短整型、符号整型和无符号整型。 int long = 1000L;/*L表示长整型*/ unsigned int long =500U;/*U表示无符号整型*/
- 八进制整数
要使用的数据表达式形式是八进制,需要在常数前加0进行修饰。八进制所包含的数字是0~7之间的数字。 OctalNumber1 = 0123; OctualNumber2 = 042;
- 十六进制整数
常量前面使用0x作为前缀,表示该常量是用十六进制表示的。十六进制中包含数字0~9以及字母A~F。 HexNumber1 = 0x123; HexNumber2 =0x3ba4;
- 十进制整数
十进制是不需要在其前面添加前缀的。十进制中包含的数字是0~9。
十进制11在内存中,一个正数的补码与其源码的形式相同,一个负数的补码是将该数绝对值的二进制形式按位取反再加1
5.2 实型常量
- 科学计数方式:就是使用十进制的小数方法描述实型。
double SciNumber = 123.45; double SciNumber1 =0.5458;
- 指数计数方式:有时候实型数字非常大或者非常小,这样的话科学计数方式是不利于观察的,此时可以使用指数方法显示。
double SciNumber = 1.234e2; double SciNumber1 =5.452e-1;
5.3 字符型常量
- 字符常量:使用单直撇括起一个字符,这种形式就是字符常量。
- 字符常量中只能包括一个字符
- 字符常量是区分大小写的。
‘ ’这对单直撇代表着定界符,不属于字符常量中的一部分。#include <stdio.h> int main(void) { putchar('H'); putchar('e'); putchar('l'); putchar('l'); putchar('o'); putchar('\n'); return 0; }
- 字符串常量:是用一组双引号括起来的若干字符序列。
- ASCII码
5.4 转义字符
5.5 符号常量
#include<stdio.h> #define PAI 3.14 int main(void) { double fRadius; double fResult = 0; pintf("请输入圆的半径:"); scanf("%lf" &fRadius); fResult = PAI*fRadius*fRadius; printf("圆的面积是 : %lf\n" fResult); return 0; }
6.变量
- 整型变量
- 有符号基本整型
通常说的整型都是指的是有符号基本整型int int iNumer; iNumber = 10; #include <stdio.h> int main(void) { signed int iNumber; iNumber =10; printf("%d\n" iNumber); return 0; }
- 无符号基本整型
无符号基本整型使用的是关键字unsigned int ,取值范围是0~4294967295
- 有符号短整型
有符号短整型使用的关键字是signed short int 取值范围是-32768~32767 short iShortNum; iShortNum = 10;
- 无符号短整型
无符号短整型使用的是关键字unsigned short int 其中的关键字int unsigned short iUnsignedShtNum; iUnsignedShtNum = 0;
- 有符号长整型
有符号长整型使用的关键字是long int,其中的关键字int在编写的时候是可以省略的。取值范围是-2147483648~2147483647 long iLongNum; iLongNum = 10;
- 无符号长整型
无符号长整型使用的关键字是unsigned long int,其中的int关键字是可以省略的。
- 实型变量
实型变量也称为浮点型变量,是指用来存储实型数值的变量,其中实型数值是由整数和小数部分组成的。
- 类型名称关键字单精度类型float双精度类型double长双精度类型long double
- 单精度类型
#include <stdio.h> int main(void) { float fFloatStyle; fFloatStyle = 1.23; printf("%f\n" fFloatStyle); return 0; } //out 1.230000
- 双精度类型
#include <stdio.h> int main(void) { double dDoubleStyle; dDoubleStyle = 61.458; printf("%f\n" dDoubleStyle); return 0; } //out 61.458000
- 长双精度类型
#include <stdio.h> int main(void) { long double fLongDouble; fLongDouble = 46.257; printf("%f\n" fLongDouble); return 0; } //out 46.257000
- 字符型变量
字符型变量是用来存储字符常量的变量,实际上是将该字符的ASCII码值存储到内存单元中。 #include <stdio.h> int main(void) { char cChar1; char cChar2; int iInt1; int iInt2; cChar1 = 'a'; cChar2 =97; iInt1 = 'a'; iInt2 = 97; printf("%c\n" cChar1); printf("%d\n" cChar2); printf("%c\n" iInt1); printf("%d\n" iInt2); return 0; } /* out a 97 a 97 */
7.变量的存储类别
在C程序中可以选择变量的不同存储形式,其存储类别分为静态存储和动态存储。可以通过存储类修饰符来告诉编译器处理生么样的类型变量,具体主要有自动(auto)、静态(static)、寄存器(register)和外部(extern)4种。
- 静态存储与动态存储
静态存储就是指程序运行分配的固定的存储方式,而动态存储则是在程序运行期间根据需要动态地分配存储空间。
- auto变量
auto关键字就是修饰一个局部变量为自动的,这意味着每次执行到定义该变量时,都会产生一个新的变量,并且对其重新进行初始化。 #include <stdio.h> void AddOne() { auto int iInt1 = 1; iInt1 = iInt1 1; printf("%d\n" iInt1); } int main(void) { printf("第一次调用: "); AddOne(); printf("第二次调用: "); AddOne(); return 0; } /* out 第一次调用:2 第二次调用:2 */
- static变量
static变量为静态变量,将函数的内部和外部变量声明成static变量的意义是不一样的。不过对于局部变量和auto变量相对而言的,尽管两者的作用域都是仅限于声明变量的函数之中,但是在语句块执行期间,static变量始终保持它的值,并且初始化操作只是在第一次执行时起作用。在随后的运行过程中,变量将保持语句块上一次执行时的值。 #include <stdio.h> void AddOne() { static int iInt1 = 1; iInt1 = iInt1 1; printf("%d\n" iInt1); } int main(void) { printf("第一次调用: "); AddOne(); printf("第二次调用: "); AddOne(); return 0; } /* out 第一次调用:2 第二次调用:3 */
- register变量
register变量称为寄存器存储变量。使用register变量的目的在于让程序员指定把某个局部变量存放在计算机的某个硬件寄存器而不是内存中。这样做的目的是可以提高程序的运行速度。
- extern变量
extern变量称为外部存储变量。extern声明了程序中将要用到但尚未定义的外部变量。一个工程由多个C文件注册地。这些源代码文件分别编译,然后链接一个可以执行的模块。 /*Extern1文件中*/ #include <stdio.h> int main(void) { extern int iExtern; printf("%d\n" iExtern); return 0; } #include <stdio.h> int iExtern =10;
8.混合运算
不同类型之间的混合运算。 #include <stdio.h> int main(void) { int iInt1 =1; char cChar ='A'; float fFloat = 2.2f; double result = iInt1 cChar fFloat;// printf("%f\n" result);//打印输出结果 return 0; }