目录
一、学习enum.
枚举类型定义用关键字enum标识,形式为:
enum 标识符
{
枚举数据表
};
1、枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号隔开。
2、枚举数据表的值都是整数。第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。也可以人为设定枚举成员的值,从而自定义某个范围内的整数。
3、一个星期有 7 天:
enum DAY
{
MON=1, TUE, WED, THU, FRI, SAT, SUN
};
使用enum可以有以下几种方法:
1、在定义enum的同时,声明变量:
enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} a,b;
这样就声明了两个枚举类型a和b。
2、定义完enum之后再声明变量:
enum Month {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec};
enum Month a = Feb;
3、定义匿名的枚举变量
enum {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} a;
4、typedef enum则是用来定义一个数据类型,那么该类型的变量值只能在enum定义的范围内取
typedef enum {Jan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,dec} Day;
Day a, b;
枚举,用于简化代码。适用于特定字符转数字等一些操作。
二、输出类型
%d:十进制
%x:十六进制
%c:单个字符
%s:字符串
%p:地址
%e:浮点数,e计数法
%%:打印一个百分号
%g:想要输出一个12.3,但是如果选择使用%f作为格式符,就会输出12.300000。这个时候可以选择%g进行格式化,输出结果就会变成12.3。
如何转换进制呢?
int value=0xff;
char str[100]={0};
itoa(value,str,10);
printf("二进制为:%s",str);
itoa():char *itoa( int value, char *string,int radix);
原型说明:
value:欲转换的数据。
string:目标字符串的地址。
radix:转换后的进制数,可以是10进制、16进制等,范围必须在 2-36。
功能:将整数value 转换成字符串存入string 指向的内存空间 ,radix 为转换时所用基数(保存到字符串中的数据的进制基数)。
返回值:函数返回一个指向 string,无错误返回。
以下为短除法实现二进制转换:
int GetBinary(int input)
{
int temp[33] = {0};
int i = 0;
printf("短除法得到的二进制为:");
while(input)
{
temp[i] = input % 2;
input = input / 2;
i++;
}
for(i--; i>=0; i--)
{
printf("%d",temp[i]);
}
printf("\r\n");
}
三、计算机快捷键
Ctrl+1,2,3... 功能:切换到从左边数起第1,2,3...个标签
Ctrl+D 功能:打开“添加收藏”面版(把当前页面添加到收藏夹中)
Ctrl+H 功能:打开“历史”侧边栏
Ctrl+R 功能:刷新当前页面
Ctrl+W 功能:关闭当前标签(窗口)
Ctrl+小键盘'+' 功能:当前页面放大20%
Ctrl+小键盘'-' 功能:当前页面缩小20%
Ctrl+小键盘'*' 功能:恢复当前页面的缩放为原始大小
四、不同类型数据长度
不难发现,数组的长度取决于类型以及其数目大小。可以把数组看成是一行连续的多个存储单元,或者说数组就是同类型数据元素的有序序列。
sizeof() 以字节为单位给出对象的大小。
strlen() 给出字符串中字符长度。
sizeof()读取一个字符串,会把字符串末尾不可见的空字符也计算在内。
不同类型可表示的数据的最大最小值分别是多少?
c语言中定义了一些明示常量,可以在库中找到并读出这些值。
头文件limits.h以及float.h 分别提供了与整形类型和浮点类型大小限制相关的详细信息。
五、常量
方便起见,代码里面的一些数据应当命名为常量。
如何命名呢?
#define TAXRATE 0.0015;
编译程序时,程序中的所有TAXRATE均会被替换成0.0015,此过程叫做编译时替换。
为什么taxrate要用大写呢?用大写表示符号常量是C语言一贯的传统,提高代码可读性。
用const也可以:
const int MONTHS = 1000;
const 会把MONTHS命名为只读类型。
又学到一个小知识:
printf()语句中的%1.2f 表明,结果被四舍五入为两位小数输出。
“%5.2f” 打印一个浮点数,字段宽度为5个字符,其中小数点后有两位数字。