//
// main.m
// 09 - 常量
//
// Created by 李洪强 on 16/7/17.
// Copyright © 2016年 李洪强. All rights reserved.
//
常量
在C语言中,不可改变的数据(就是常量)
在C语言中有三种常量
1-字面量(直接量): 就是直接写出来的,从写法上就可以看出值
与类型 例如: 19 , 123.456
2-名字常量:宏定义 语法: 在代码一开始的地方
#define 名字 值
运行原理说明: 程序要经过: 编码->编译->链接->运行
在编译的过程中,又分为一开始的预编译,在预编译的时候
编译器会读取编码,并将使用到宏定义的地方用宏替换
因为宏替换的缺陷: 提出来了const常量
3-const常量 类型说明符 常量名 = 值;
4 -
字面常量-重中之重
字面常量的写法:
1)整数类型
十进制 :123
八进制: 数字0开头,写的数字是八进制(0,1,2,3,4,5,6,7组成的
,运算时,满8进1)
十六进制: 0x开头 十六进制由0,1,2一直到9,a,b,c,d,e,f组成
满十六进一
二进制: 0b 的方式来表示的. ob111(表示由0和1组成)
123l 长整型
123u 无符号的类型
2)小数类型
单精度: 123.456f 1.1f 3.4f
双精度: 123.456 1.1 3.4
3)字符类型
字符常量就是一个用单引号括起来的一个字符,例如'a','0';
不允许有空的,例如'',这个是报错 的
单引号表示的是字符的界定.使用反斜线\ 表示转译
一个\' 表示几个字符?
'ab'
常见的转译字符: \'('字符) \"("字符) \\(\) \n(换行) \r(回车)
#define str "hello word,你好iOS"
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
// char c[] = "李洪强";
//printf("李洪强");
//要定义一个整数类型的常量
int const num1 = 19;
const int num2 = 19;
//const写在前面或者后面都可以
// const常量: 代表不可改变的,只读的
// char c[] = "李洪强";
//printf("李洪强");
//要定义一个整数类型的常量
int const num1 = 19;
const int num2 = 19;
//const写在前面或者后面都可以
// const常量: 代表不可改变的,只读的
//如果要打印数字
//十进制: %d
printf("%d\n",123);//123
printf("%d\n",0xff);//255
printf("%d\n",017);//15
printf("%d\n",0b111); //7
//十六进制打印 : %x
printf("%x\n",123);//123
printf("%x\n",255);//255
printf("%x\n",15);//15
printf("%x\n",7); //7
//八进制打印: %o
//注意: 默认是不能以二进制的形式打印
//长整型与无符号的打印
printf("%ld\n",123L);
printf("%u\n",123u);
//如果要打印小数,使用%f和%lf
printf("%f\n",1.23);//1.23000 单精度
printf("%lf\n",1.234567);//1.234567 双精度
printf("%.10f\n",1.234567);//.10 表示
//如果需要打印字符,需要%c
printf("%c\n",'a');// a
printf("%c\n",97);//a
//字符的本质是数字
printf("%c\n",'');//这样是错误的,里面是空的
printf("%c\n",' ');//这样是对的.里面有空格
printf("%c\n",'\'');//打印出来是: '
printf("%c\n",'ab');//这样会报错
printf("abc\ndef\n");
return 0;
}