3.0.0 开始简单使用C语言
接下来,我们便可以开始在Xcode中使用C语言的简单功能。
3.1.0 先从存储类型和变量说起
3.1.1 C语言内存类型(存储类型)
四种存储类型分别是:
- int 可以存储-2147483648~+2147483647之间的整数
- float 可以存储有效位数不超过7位的小数
- double 可以存储有效位数不超过16位的小数
- char 只能存储单个字符
3.1.2 存储数据在内存中
要存储数据在内存中
- 先看数据类型
- 再根据数据类型来开辟一块空间
在开辟空间的同时,要指定这个空间的别名和类型。这个空间类型决定了可以存储的数据类型。
数据类型:
- int 整型
- float 单精度浮点型
- double 双精度浮点型
- char 字符型
3.1.3 变量
变量就是内存中开辟的用来存储数据的空间。
变量的值:就是数据。
变量的名称:空间的别名。
3.1.4 变量的声明
要在内存中存储数据,就需要声明一个变量。
如何声明一个变量:
数据类型 变量名称;
例子:
int num;
3.1.5 变量的赋值
往空间中存储数据就是赋值:
变量名 = 数据;
例子:
num = 100;
3.1.6 为int类型的变量赋值
int num;
num = 199;
注意:
- 如果数据非常大,则直接报错;
- 如果是小数,则只存储整数部分;
- 如果数据超过得不是太多,则存储一个随机值。
3.1.7 为float类型的变量赋值
float f1;
f1 = 12.12f;
注意:
- 如果直接写一个小数,则系统会认为这个数是double类型;
- 在数据后面加一个f,则就会被系统认为这个数是float类型;
- 超出7位将不会被精确保存。
3.1.8 为double类型的变量赋值
double类型的变量赋值,类同于float类型,但是精度是16位的,超出16位才不会被精确保存。
3.1.9 为char类型的变量赋值
char ch;
ch = ‘a’;
注意:
- char只可以存储单个字符,并且要用单引号引起来;
- 如果多出一个字符,则只保存最后一个字符;
- 空格也会被认为是一个字符;
- 不可以保存中文,一个中文字符占3个字节。
3.1.10 变量声明和赋值的一些简略写法
int num = 20;
float f1 = 12.12f;
double d1 = 12.12;
char ch = ‘A’;
int num3 = num1 + num2;
3.1.11 输出变量值printf
初学者用于输出变量值可以使用printf函数。
- 语法:
printf(“输出信息”);(这种是原样输出)
printf(“格式控制字符串”,变量列表);
要显示变量的值要用占位符来占位:
- int类型的占位符是%d
- float类型的占位符是%f
- double类型的占位符是%lf
- char类型的占位符是%c
- 占位符表示这个地方不要原样输出,而是显示变量的值。
- 例子:
int num;
num = 100;
printf(“num = %d\n”,num);
- 如果要显示多个变量的值:
printf(“%d,%f,%lf,%c”,num1,num2,num3,ch);(变量名之间用逗号隔开)
3.1.12 使用变量的一些细节问题
- double和float类型:double所占用的空间是float类型的两倍大小;
- 可以在声明变量的同时对这个变量进行赋值:int num = 10;
- 批量声明也是可以的,但只能用于同类型:int num1 = 10,num2 = 20;
- 格式:”=“赋值号两边的空格是可有可无的;
- 垃圾值:如果没有赋值,变量是有内容的,这个变量会得到一个随机值,这个值被称为垃圾值。为了不出现问题,要求声明变量后应立即对其进行赋值;
- 变量可以重复赋值,新值会覆盖原先的旧值;
- 可将一个变量的值赋值给另一个变量;
- 同一个变量名不可以反复声明,即前面已经声明过的变量,不可以在后面重复声明。
3.1.13 变量的命名规则
- 变量的名字只能以字母、下划线、$开头,不能用数字开头,后面也只能跟字母、数字、下划线和$;
- 不能使用C语言的关键字
- C语言严格区分大小写,大小写不一样的同一个名字就是不同的变量;
- 必须先声明再使用;
- 同一个大括号中不可以重复声明同一个变量名。
3.1.14 占位符的一些高级用法
- %md m是一个整数
m是显示的位宽
m可以是一个负数(负数代表值的后方位宽)
- %0md 表示不足的位宽用0补齐
- %.nf 和 %.nlf n是一个整数
表示显示小数点后的位数
3.1.15 char变量的一些提示
如果变量类型是char,而赋值给char一个整数,则会显示其ASCII码对应的字符。
例如:
A对应的ASCII码是65
a对应的ASCII码是97
0对应的ASCII码是48
加油!Alan