1.整数:…int,.toi,srand(),rand(),POW()
如下是整数的取值范围
整数的输出
二进制,八进制,十六进制的书写
平时写十进制时,为了对齐或其他原因,会在数值前加0是无关紧要的,但在C语言中,不要在十进制数前加0,会被计算机误认为是八进制数。C语言提供了几个常用库函数,声明如下:
C语言允许程序员使用typedef关键字给数据类型定义一个别名:
typedef unsigned long ulong
产生一定范围随机数(取模即取余数,加法)
vi _public.h
vi _public.c
vi book46.c
vi _public.h
vi _public.c
vi book46.c
生成12个随机数,存放在数组中,范围是1-52,不允许重复,最后在屏幕上显示出来
gcc -g -o book63 book63.c,gdb book63,q退出gdb
2.字符:ASCII码,转义符
如下字符就是整数
int变量在内存中存储的是整数本身,如果以%c输出时,也会根据ASCII码表转换成对应的字符
找44对应的ASCII码,发现是,号。以下是常用的字符库函数
大写字母和小写字母ascii码差32
3.浮点数:double,科计,ceil,fabs,round,fmod,floor
测下float、double和long double三种浮点数据类型占用内存的字节数
关于浮点数精度:浮点数在计算机里存储IEEE标准,单精度float尾数M范围23位,2的23次方大约7位数,所以5,6位精度是准的
从上面程序看出float数的两个特性:
测试double类型
从上面程序可看出double数的两个特性
int %d,long %ld,scanf("%lf"),float采用%f输出,double采用%lf输出,测试结果证明,double也可以采用%f输出,long double采用%Lf输出,注意L是大写
浮点数的输出:
%lf缺省显示小数点后六位,显示小数点后n位用%.nlf
整数转换为浮点数
编写示例程序,测试浮点数赋值超过取值范围的后果
重写浮点数的常用库函数
double四舍五入
或
double向上取整数
double向下取整数
4.字符串:%s,strlen,STRCPY,DeleteLChar,GetXMLValue,return
字符串采用%s输出,可以加格式控制,常用的如下:
字符串是字符数组,字符串越界就是数组越界。
因为连续内存strname[0]被strname[1]占用,所以strname[0]显示乱码。strname[1]后面没接,所以正常显示
1.获取字符串的长度(strlen)
5.字符串拼接(strncat)
6.字符串比较(strcmp,strncmp)
strcpy:string copy,strcat:string cat(拼接),strcmp:string compare
%p用来输出指针的值、输出地址符
8.字符串查找(strstr)
如果src字符串长度小于n,则拷贝完字符串后,在dest后追加0,直到n个
如果src字符串长度大于n,就截取src的前n个字符,不会在dest后追加0
内存不值钱,稳定高于一切,变量要初始化
位置(地址)偏移的用法
1.STRLEN:
2.STRCPY/STRNCPY:
不用strcpy库函数:
用strcpy库函数:
3.STRCAT/STRNCAT:
不用strcat库函数:
用strcat库函数:
4.STRCHR:
5.STRRCHR:
=world=
1.DeleteLChar:
2.DeleteRChar:删除字符串右边指定的字符
3.DeleteLRChar:
4.DeleteMStr:
5.LPad:在字符串左边补字符到指定长度
下面为传入结构体指针:
0假,return -1或false失败跳出大循环