上图显示了float和double的精度,精度:就是指数值的精确程度,浮点类型可表示的数值范围很大,但只有几位是精确的,可以通过小

数所占的位数来获取,float小数部分最多能有7位有效数字,但绝对能保证的是6位,double小数部分为16位有效数字,但绝对能保证的

是15位

#include<stdio.h>

int main()

{

double x=3.0123456789111118;

printf("%f\n",x);

return 0;

}

默认%f只输出小数点后六位,要指定输出多少位需要使用下面的格式

printf("%.16f\n",x);

#include<stdio.h>

int main()

{

double x=3.0123456789111118;

printf("%A\n",x);

return 0;

}

%A会将x的值转换为十六进制浮点数,%e是指数形式,%f是十进制形式,编译器默认将浮点数看为double类型

#include<stdio.h>

int main()

{

char ch;

ch=97;

printf("ch:%c\n",ch);

return 0;

}

char ch,系统会为该变量分配一个字节的空间,并在该内存空间上贴上一个标签ch,%c代表字符类型

#include<stdio.h>

int main()

{

char ch;

ch='a';

printf("ch:%c\n",ch);

printf("ch:%d\n",(int)ch);

return 0;

}

printf("ch:%d\n",(int)ch);的作用是输出变量ch对应的ASSIIC码值,(int)中的()是强制类型转换运算符,()中的int代表要转换成的类型

字符型变量只能保存一个字符,‘’包含的是一个字符,“”包含的是一串字符,因此上面的ch=’a’;不能写成ch=”a”;

#include<stdio.h>

int main()

{

int i;

for (i=32;i<127;i++)

{

printf("%c\n",(char)i);

}

return 0;

}

上面的程序是将32~126 ASCII码对应的字符依次输出

#include<stdio.h>

int main()

{

char ch1=0;

char ch2='0';

printf("%d\n%d\n",(int)ch1,(int)ch2);

return 0;

}

运行上面的程序可以得到数字0对应的ASIIC码为0,而字符0对应的ASIIC码为48

#include<stdio.h>

int main()

{

float f=3.1415f;

int a=f;

printf("%d\n",a);

printf("%f\n",f);

return 0;

}

int a=f; 将f的值复制一份,将复制的值赋值给a,因此f本身的值不会改变,格式符%f默认输出6位小数

在表达式中有符号或无符号的char和 short都会自动转换成int,下面是举例说明:

#include<stdio.h>

int main()

{

char c1=12,c2=108;

printf("%d\n",c1+c2);

return 0;

}

会先将c1和c2的类型转换int类型,然后再相加,由于c1和c2是被转换成表示范围更大的类型,此种转换又叫提升,在函数中也会出现提

升,当作为参数传递给函数时char和short类型会提升为int类型,float类型则会提升为double类型,举例如下:

#include<stdio.h>

int main()

{

char ch='a';

printf("ch保存的ASCII码值:%d\n",ch);

return 0;

}

ch会自动转换成int类型,因此不用强制转换

#include<stdio.h>

int main()

{

int d;

double x=3.1415926;

d=x;

return 0;

}

d=x;是将double类型转换为int,由于double类型的取值范围要比int广,因此这种转换又叫类型下降,转换后会丢失小数部分的数据

c语言学习的第四天2的更多相关文章

  1. c语言学习之第四章

    第四章 第四章主要介绍了分支结构,循环结构的简单使用,还有其他简单的语句结束语句,比如,break,continue.还有gote语句.下面是我学习C语言第四章的一些心得和总结. 1简单的if语句 简 ...

  2. Go语言学习笔记(四)

    一.字符串 1.字符串截取 可以使用len(字符串变量)获取字符串的字节长度,其中英文占1个字节长度,中文占用3个字节长度 可以使用变量名[n]获取到字符串第n+1个字节,返回这个字节对应的Unico ...

  3. GO语言学习(十四)Go 语言数组

    Go 语言数组 Go 语言提供了数组类型的数据结构. 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 相对于去声明number0 ...

  4. Go语言学习笔记(四)结构体struct & 接口Interface & 反射

    加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...

  5. Go语言学习笔记(四)结构体struct & 接口Interface & 反射reflect

    加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...

  6. C语言学习笔记(四) 流程控制

    流程控制 流程控制,说通俗一点就是程序代码执行的顺序.不管对于哪门语言来说,流程控制都是很重要的一部分内容: 流程控制的分类,可以分为三大类: 1.顺序 这个很好理解,顺序执行就是代码从上往下一行行的 ...

  7. c语言学习笔记第四章——字符串和格式化输入、输出

    B站有视频演示 本章学习printf函数的输入输出,字符串的定义与实用. 字符串 字符串(character string)是一个或多个字符的序列,如下所示: "Zing went the ...

  8. R语言学习笔记(四)

    6. 数据转换 本章主要讲述apply系列函数:apply.lapply.sapply.tapply.mapply,以及姊妹函数by.split.适用于批量处理数据,而不许循环. 6.1 向量分组 用 ...

  9. R语言学习笔记(四):apply,sapply,lapply,tapply,vapply以及mapply的用法

    apply() apply(m,dimcode,f,fargs) m 是一个矩阵. dimcode是维度编号,取1则为对行应用函数,取2则为对列运用函数. f是函数 fargs是f的可选参数集 > ...

随机推荐

  1. sql自动生成汉语拼音和首字母函数

    1.Sql server自动生成拼音的函数 /* 根据汉字获取全拼 1.生成所有读音临时表 2.根据Chinese_PRC_CS_AS_KS_WS 排序获取读音 */ )) ) as begin ) ...

  2. POJ题目分类(转)

    初期:一.基本算法:     (1)枚举. (poj1753,poj2965)     (2)贪心(poj1328,poj2109,poj2586)     (3)递归和分治法.     (4)递推. ...

  3. [SQL]不知道1

    表结构,companyid是公司名,productid是产品号,说明每个公司生产多少种产品. companyid productid A A B B B C D D D 要求:取出所有生产的产品包含公 ...

  4. js json与字符串转换

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  5. POJ 2524

    并查集思想,初始化每个元素的根节点为本身. 求解目标是求解存在几个集合.解决方案:查看有多少个根节点,表现在记忆数组上就是有多少个元素的根是它本身. #include<stdio.h> # ...

  6. php mysql_affected_rows获取sql执行影响的行数

    php mysql_affected_rows函数用于获取执行某一SQL语句(如INSERT,UPDATE 或 DELETE )所影响的行数,本文章向大家介绍php mysql_affected_ro ...

  7. 最小生成树Kruskal算法

    Kruskal算法就是把图中的所有边权值排序,然后从最小的边权值开始查找,连接图中的点,当该边的权值较小,但是连接在途中后会形成回路时就舍弃该边,寻找下一边,以此类推,假设有n个点,则只需要查找n-1 ...

  8. CODESOFT都出中文官网了,你还等什么呢

    CODESOFT是先进的标签设计和集成软件,提供了无与伦比的灵活性.功能和世界范围的支持,是企业环境下标签打印的最佳选择.在过去的时间里,CODESOFT从未停止过努力与改进,现如今已推出了最新版本C ...

  9. 互联网行业都缺前端工程师-最高offer薪水38k*16

    摘要:现在,几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,对上市公司乃至巨头这个问题也一样存在.没错,优秀的前端工程师简直比大熊猫还稀少. 现在,几乎整个互联网行业都缺前端工程师,不仅在刚 ...

  10. 使用JAR命令打EAR包

    恩,我又得了一个发布应用的活,常常使用JAR命令来打EAR包,所以下面记录一下,以免忘记! 前提条件如下: 1)我的WEB服务器是WebLogic Server (版本是: 10.3.6.0) 2)假 ...