c语言学习的第四天2

上图显示了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的更多相关文章
- c语言学习之第四章
第四章 第四章主要介绍了分支结构,循环结构的简单使用,还有其他简单的语句结束语句,比如,break,continue.还有gote语句.下面是我学习C语言第四章的一些心得和总结. 1简单的if语句 简 ...
- Go语言学习笔记(四)
一.字符串 1.字符串截取 可以使用len(字符串变量)获取字符串的字节长度,其中英文占1个字节长度,中文占用3个字节长度 可以使用变量名[n]获取到字符串第n+1个字节,返回这个字节对应的Unico ...
- GO语言学习(十四)Go 语言数组
Go 语言数组 Go 语言提供了数组类型的数据结构. 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形.字符串或者自定义类型. 相对于去声明number0 ...
- Go语言学习笔记(四)结构体struct & 接口Interface & 反射
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...
- Go语言学习笔记(四)结构体struct & 接口Interface & 反射reflect
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 结构体struct struct 用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套: go中的struc ...
- C语言学习笔记(四) 流程控制
流程控制 流程控制,说通俗一点就是程序代码执行的顺序.不管对于哪门语言来说,流程控制都是很重要的一部分内容: 流程控制的分类,可以分为三大类: 1.顺序 这个很好理解,顺序执行就是代码从上往下一行行的 ...
- c语言学习笔记第四章——字符串和格式化输入、输出
B站有视频演示 本章学习printf函数的输入输出,字符串的定义与实用. 字符串 字符串(character string)是一个或多个字符的序列,如下所示: "Zing went the ...
- R语言学习笔记(四)
6. 数据转换 本章主要讲述apply系列函数:apply.lapply.sapply.tapply.mapply,以及姊妹函数by.split.适用于批量处理数据,而不许循环. 6.1 向量分组 用 ...
- R语言学习笔记(四):apply,sapply,lapply,tapply,vapply以及mapply的用法
apply() apply(m,dimcode,f,fargs) m 是一个矩阵. dimcode是维度编号,取1则为对行应用函数,取2则为对列运用函数. f是函数 fargs是f的可选参数集 > ...
随机推荐
- springmvc+ajaxFileUpload上传文件(前后台彻底分离的情况下)
首先是导入jar包: web.xml: <servlet> <servlet-name>mvc-dispatcher</servlet-name> <serv ...
- Grid++Report的几点总结
一.同事解决方案: 1.在View文件夹下建立报表文件A,用来作为报表呈现的载体.这个页面负责加载报表模板与加载数据源.其中报表模板由于后缀名为grf,在MVC中不做任何修改的情况下,系统会做路由处理 ...
- 手机抓包 http tcp udp?
1.电脑做wifi热点,手机连上后电脑上使用wireshark抓包 该方法手机无须root,并且适用于各种有wifi功能的手机(IOS.android等).平板等.只要电脑的无线网卡具有无线承载功能, ...
- 用浏览器打开本地html 直接到首页 的解决方法
方法1:直接把本地文件拖到浏览器就可以打开
- (转)C# DES
本文原地址:http://blog.csdn.net/zhoufoxcn/article/details/1497095 作者:周公 , inputByteArray.Length); ...
- Problem 1274 - 可怜的lpx
Problem 1274 - 可怜的lpx Time Limit: 1000MS Memory Limit: 65536KB Description 可怜的lpx终于在别人的帮助下追上了aq ...
- Grunt 之 RequireJS
RequireJs 提供了一个打包工具 r.js,可以将相关的模块打包为一个文件.相关说明:http://www.requirejs.org/docs/optimization.html 将相关的脚本 ...
- 安装VS2015可能出现的问题以及解决方法
1.语言包问题 在官网上下载的版本是英文版,这就需要自己再去官网上下载一个中文安装包,很快的.不过需要2G内存.官网链接如下所示 https://www.microsoft.com/zh-CN/dow ...
- maven搭建项目的时候,src/main/java无法建立的问题,提示信息The folder is already a source folder.(文件夹已经是源文件夹。)
原因:maven自己引的jdk包不对,需要重新引包 操作方式: 1.在项目上右击(或用快捷键ALT+ENTER),打开properties-->java builder path-->re ...
- mysql创建远程用户
grant all privileges on *.* to myuser@"%" identified by 'password'; 用root用户登陆,然后: grant al ...