c语言学习第四天数据类型1
int 代表整数,它在内存中占4个字节,二进制的表示方式是占用了三十二位,二进制中只包含0和1,那它的最大值就是全为1,但int是
有符号类型,所以最高位(左边的第一位)要拿出来做符号位,这样就只有31位用来保存数字了,转换成十进制它的最大值为
2147483647,这个数值可以在计算器上计算得到,最高位为0代表正数,为1代表负数,最小值就是在最大数前添加一个负号,但是因
为0的原因会有正0和负0,因此将负0作为最小值,也就是将最小值再减去1得出int的最小值:-2147483648
注意:如果变量的类型为整形,赋值给变量带有小数,则输出变量时,小数部分会省去
long和int类似,不过long在32位系统上占4个字节,在64位系统上是8个字节, 在32位系统上可以用long long来占用8字节 示例:
#include<stdio.h>
int main()
{
long x=21474836472;
printf("%ld",x);
return 0;
}
%ld l代表long, d代表int 合起来就是long int(长整形)
#include<stdio.h>
int main()
{
unsigned int x=4294967294;
printf("%u",x);
return 0;
}
unsigned 代表无符号,无符号整形占用4个字节,由于符号位也可以用来表示数值,因此比有符号位大一倍,但是由于没了符号位所以
只能表示正数,u代表unsigned
#include<stdio.h>
int main()
{
unsigned long x=2147483647;
printf("%lu",x);
return 0;
}
短整形:
#include<stdio.h>
int main()
{
short x=32767;
printf("%hd",x);
return 0;
}
short跟int类似,占两个字节 ,h代表short
#include<stdio.h>
int main()
{
unsigned short x=65535;
printf("%hu",x);
return 0;
}
将整数的值转为8进制
#include<stdio.h>
int main()
{
int x=16;
printf("%#o\n",x);
return 0;
}
o代表用八进制的格式来输出整形数据,#代表输出八进制的前缀
下面的是将整形的值转变为16进制
#include<stdio.h>
int main()
{
unsigned int x=16;
printf("%#x\n",x);
return 0;
}
x代表十六进制,可以通过前缀来区分是八进制数还是十六进制数
使用typedef定义别名
#include<stdio.h>
int main()
{
typedef unsigned short int us;
us a=1,b=2,c=3;
printf("%hu+%hu-%hu\n",a,b,c);
return 0;
}
别名定义:unsigned short int -->us
浮点型变量:
#include<stdio.h>
int main()
{
float a;
double b;
long double c;
return 0;
}
float,double, long double 分别代表单精度,双精度,长双精度
float型变量占4个字节,取值范围为-3.4*10的38次到3.4*10的38次
#include<stdio.h>
int main()
{
float x=3.40e38f;
printf("%f",x);
return 0;
}
e代表10,e38就代表10的38次,如果是-38就代表10的负38次方
f说明这是一个float类型的数值,假如不加f说明,编译器会认为这是一个double类型的数值
double型变量的取值范围,在内存中占8个字节
#include<stdio.h>
int main()
{
double x=1.79e308;
printf("%f",x);
return 0;
}
#include<stdio.h>
int main()
{
int x=sizeof(double);
printf("%d\n",x);
return 0;
}
sizeof()可以获得一个对象或类型所占用的内存空间
c语言学习第四天数据类型1的更多相关文章
- Go语言学习笔记四: 运算符
Go语言学习笔记四: 运算符 这章知识好无聊呀,本来想跨过去,但没准有初学者要学,还是写写吧. 运算符种类 与你预期的一样,Go的特点就是啥都有,爱用哪个用哪个,所以市面上的运算符基本都有. 算术运算 ...
- R语言学习 第四篇:函数和流程控制
变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...
- 〖C语言学习笔记 〗(二) 数据类型
前言 本文为c语言的学习笔记,很多只是留下来占位的 数据类型 助记:变量就是在内存中挖个坑并给这个坑命名,而数据类型就是挖内存的坑的尺寸 基础类型 整数类型: short int int long i ...
- C语言学习 第四次作业总结
本次作业主要为了复习分支语句,同时复习之前学习过的判断语句,printf和scanf函数的使用. 学习到这里,同学们应该已经基本掌握了基本的数据类型,分支结构,循环结构,条件判断语句.应该可以利用这些 ...
- C语言学习总结(四) 剩余内容
第六章.剩余内容 (预处理指令,宏定义,条件编译,文件操作) 预处理指令 简单的来说就是在程序编译之前需要做的事情 1.宏定义 概念: 是一个替换代码的预处理指令,可以在编译之前进行代码替换(宏展开, ...
- C语言学习第四章
今天学习C语言循环结构,为什么要用循环呢?因为有时候我们对一堆的数字进行重复的处理的时候要重复的编写一些相同或者差不多的代码,让程序显得很臃肿,而且写着也麻烦,如果用循环来写的话能简化很多,出错的话也 ...
- Swift语言学习(四)字符串与Array等集合的使用
Swift 提供了C和Objective-C基础类型的自己一套版本,包括用于整型的Int,用于浮点值的Double和Float,用于布尔值的Boolean,和用于文本数据的String.Swift还提 ...
- [C语言学习笔记四]变量与系统的交互
使用 const 创建常量和使用 volatie 优化变量 C语言中使用 const 定义常量. 例如: const INT a = 10; 此处如果添加a = 20;,编辑器则会报错,因为此处 a ...
- Dart语言学习(十四) Dart泛型
什么是泛型? 通俗理解:泛型就是解决 类 接口 方法的复用性.以及对不特定数据类型的支持(类型校验) 如下代码,只能返回string类型的数据 String getData(String value) ...
随机推荐
- xargs -r
-r no-run-if-empty xargs大多数 Linux 命令都会产生输出:文件列表.字符串列表等.但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文 ...
- bootstrap在jsp中怎么没有效果?
页面顶部<!DOCTYPE html>
- C# 文件压缩与解压(ZIP格式)
在企业开发过程中经常会遇到文件的压缩与解压,虽然网上很多流行的压缩文件格式都是RAR的,但是由于RAR不是一个开放的标准,因此ZIP成了更多人的选择.如果你不想自己开发的话可以选择开源的项目,比如Sh ...
- (转)C# Base64
本文原地址:http://blog.csdn.net/zhoufoxcn/article/details/1497092 作者:周公 using System;using System.Text; n ...
- -(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
在有全屏侧滑的情况下,页面上有个slider需要左右滑动的时候,经常在滑动slider的时候页面也跟着滑动 解决办法一:关闭当前页面的全屏侧滑,开启系统侧滑 self ...
- 辅助的写与数据库交互的XML文件的类
现在企业级WEB应用中与数据库交互的XML文件都是通过插件自动生成的,不过有些时候修改比较老的项目的时候也是需要手动的来做这一动作的!如下代码就是一个实现上述的功能的辅助类,在此记录一下以备后用! p ...
- navicat 连接oracle
Navicat远程连接oracle数据库数据库需要设置一下oci.dll. 下面介绍如何进行设置. 工具/原料 Navicat Pre instantclient-basiclite-nt-12. ...
- Ax Grid 的显示根据用户的需求动态排序。
点击方向按钮上下移动记录. 设计思路. 以临时表TmpTable1举例. 在表中加一个real类型字段(eg:ColumnSeq)用于排序,给表建一个ColumnSeq字段的索引ColumnSeqId ...
- 【python】os模块
1.os.name 输出字符串指示正在使用的平台.如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'. 2.os.getcwd() 函数得到当前工作目录,即当前Py ...
- spinlock自旋锁de使用
Linux内核中最常见的锁是自旋锁.一个自旋锁就是一个互斥设备,它只能有两个值:"锁定"和"解锁".如果锁可用,则"锁定"位被设置,而代码继 ...