'n'是不是c语言常量,c语言之数据类型

#include

int main(void)

{

float weight, value;

printf("Are you worth your weight in rhodium?\n");

printf("Let's check it out.\n");

printf("Please enter your weight in pounds:");

scanf_s("%f", &weight);

value = 770 * weight * 14.5833;

printf("Your weight in rhodium is worth $%.2f.\n", value);

printf("You are easily worth that!If rhodium prices drop,\n");

printf("eat more to maintain your value.\n");

return 0;

}

int类型

int是符号的整数,其取值范围依赖于计算机系统

int num_1;

int num_1,num_2;

printf("number:%d",number)//"%d"是要求打印整数,即decimal

八进制和十六进制

#include

int main(void)

{

int x = 100;

printf("dec = %d;octal = %o:hex = %x\n", x, x, x); //"%o"和"%x"分别显示八进制和十六进制

printf("dec = %d;octal = %#o;hex = %#x\n", x, x, x);//在前面的基础上显示符号

return 0;

}

其他int数据类型

short int类型

可能占用比int类型更少的储存空间,用于仅需要小数值的场合以节省空间。

long int类型

可能占用比int类型更少的储存空间,用于使用大数值的场合。

long long int类型

可能占用比long类型更多的储存空间,用于使用更大数值的场合。

unsigned int类型

无符号的int类型。

还有unsigned long int、unsigned long long int等等。

数值溢出

#include

int main(void)

{

int num_1 = 2147483647;

unsigned int num_2 = 2147483647 * 2;

printf("num_1:%d %d %d",num_1,num_1+1, num_1+2);

printf("num_2:%d %d %d", num_2, num_2 + 1, num_2 + 2);

}

/*

num_1:2147483647 -2147483648 -2147483647

num_2:-1 0 1

*/

//int num_1和unsigned int num_2达到最大值都会溢出,但是int的起始点是-2147483648,而unsigned int的起始点是0

long常量与long long常量

如果希望把一个较小的常量作为long类型对待,可以使用“l”或“L”后缀,同理·还有“ll”(“LL”)、“ull”(“ULL”)等

打印short、long、long long和unsigned类型数

#include

int main(void)

{

unsigned int un = 10000;

short end = 200;

long big = 6553710241024;

long long verybig = 123456789012254;

printf("un = %u and not %d\n", un, un); //使用"%u"打印

printf("end = %hd and %d\n", end, end); //使用"%hd"打印

/*"%hd"和"%d"打印的是也一样的,因为int被认为是最有效的整数类型*/

printf("big = %ld and not %d\n", big, big); //使用"%ld"打印

printf("verybig = %lld and not %d\n", verybig, verybig); //使用"%lld"打印

return 0;

}

char类型

char类型用于储存字母和标点符号之类的字符,但是在技术上char却是整数类型,这是因为char类型实际储存的是整数而不是字符。

其中,单引号中的是字符常量;不使用单引号的是一个变量名;使用双引号的是一个字符串。

转义字符

意义

ASCII码值(十进制)

\a

响铃

007

\b

退一格

008

\f

换页(在cmd里是垃圾字符)

012

\n

换行

010

\t

水平制表符

009

\r

回车

013

\v

垂直制表符

011

\\

代表一个反斜字符“\”

092

'

代表一个单引号

039

"

代表一个双引号

034

\0

空字符(null)

000

\ddd

一个八进制任意字符

三位八进制

\xhh

一个十六进制任意字符

三位十六进制

我们也可以使用“\”加上ASCII码来代表相关字符。

打印字符

#include

int main(void)

{

char ch;

printf("Please enter a character.\n");

scanf_s("%c", &ch); //使用"%c"说明符来打印字符

printf("The code for %c is %d.\n", ch, ch);

return 0;

}

_Bool类型

用于表示布尔值,即逻辑真(True)和逻辑假(False)

float、double和long double类型

C标准规定,float类型必须至少能表示6位有效数字,取值范围至少为e-37到e+37;而double(双精确)的浮点类型和float类型具有相同的最小取值范围要求,但是它至少能表示10位有效数字。

可以省略正号。可以没有小数点(2E5)或指数部分(19.28),但是不能同时没有二者;可以省略纯小数部分(3.E16)或整数部分(.45E-6),但是二者不能同时省略。下面为一些有效的浮点常量:

3.12159

.2

4e16

.8E-5

100.

在默认情况下,编译器将浮点常量当做double类型,比如乘积运算使用双精度,结果被截为正常的float长度,这样会确保数字精度而减慢程序的执行。也可以通过添加f或F后缀使编译器把浮点常量当作float类型,比如2.3f和9.11E9F。1或L后缀使一个数字成为long double类型,比如54.31和4.32e4L。

打印浮点数

使用“%f”说明符打印十进制记数法的float和double数字,用“%e”打印指数记数法的数字

#include

int main(void)

{

float aboat = 32000.0;

double abet = 2.14e9;

long double dip = 5.32e-5;

printf("%f can be written %e\n", aboat, aboat);

printf("%f can be written %e\n", abet, abet);

printf("%f can be written %e\n", dip, dip);

return 0;

}

浮点值的上溢和下溢

当计算结果是一个大得不能表示的数时,会发生上溢,且用printf()函数显示此值为inf或infinity。

当除以一个非常小的数时,通常将是指数部分减小,但是指数已经达到了最小值;所以计算机只好将尾数部分的位进行右移,空出首位二进制,并丢弃最后一位二进制,这就是下溢。

sizeof()函数

返回数据类型所占的字节大小

#include

int main(void)

{

printf("Type int has a size of %u bytes.\n", sizeof(int));

printf("Type char has a size of %u bytes.\n", sizeof(char));

printf("Type long has a size of %u bytes.\n", sizeof(long));

printf("Type double has a size of %u bytes.\n", sizeof(double));

return 0;

}

谈谈C语言的数据类型

本文摘要: 本文主要讲述C语言中的数据类型,从基本的数据类型到派生的数据类型,从int ,char ,float double ....到指针,数组,函数,指向指针的指针,指向数组的指针,指向函数的指 ...

C语言的数据类型

复习之余,做点笔记 一.整数数据类型 (1)整数数据类型 整数类型 char 字符型变量   1字节(8Bit) short 短整型      2字节(16Bit) i ...

C语言中数据类型的取值范围

C语言中数据类型的取值范围如下:char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 ...

初识 go 语言:数据类型

目录 数据类型 指针 结构体 数组 切片 切片的方法 映射 函数闭包 结束语 前言: go语言的第三篇文章,主要讲述go语言中的数据类型,包括指针,结构体,数组,切片,映射,函数闭包等,每个都提供了示 ...

「C语言」数据类型及混合运算与类型转换

深入学习C语言时,有必要先了解一下数据类型的概念,以及它们之间的混合运算与类型转换. 本篇文章便是根据和在线翻阅资料后整理而出.(练习题将逐步更新) 目录:     ...

Go语言基本数据类型(四)

Go语言基本数据类型主要包含:bool,number,string 布尔类型 go中的布尔类型,只能是 true 和 false,例如:var b bool = true 数字类型 整型 类型 描述 ...

C语言基本数据类型大小

C语言基本数据类型占用的字节数可以通过如下例子获取: #include int main(void) { printf("char size=%d \n&quo ...

05 C语言的数据类型

C语言的数据类型 在C 中,数据类型是用来声明不同类型的变量或函数的一个广泛的概念.变量的数据类型决定了变量存储占用的空间大小,以及如何去解释存储的位模式. C 中的数据类型可分为以下几大类: 序号 ...

C语言基本数据类型

一.数据类型与“模子” short.int.long.char.float.double 这六个关键字代表C 语言里的六种基本数据类型. 怎么去理解它们呢? 举个例子:见过藕煤球的那个东西吧?(没见过 ...

随机推荐

Beam Search(集束搜索/束搜索)

找遍百度也没有找到关于Beam Search的详细解释,只有一些比较泛泛的讲解,于是有了这篇博文. 首先给出wiki地址:http://en.wikipedia.org/wiki/Beam_searc ...

Highcharts 在低版本 IE 上使用注意事项及个人总结

很多人经常遇到图表在主流浏览器上运行正常,在低版本IE(包括IE6.IE7.IE8等)下运行出错(图表显示不出来或显示不正常)的情况,这不是兼容性问题,而是 IE 浏览器自身的一些限制,我们只需要注意 ...

在Python中调用glutInit遇到OpenGL.error.NullFunctionError的解决方法

在window10 64bit + Python环境下,通过pip install PyOpenGL成功之后,无奈执行到glutInit()时候总是报错. OpenGL.error.NullFunct ...

ABAP自定义类的构造方法

REPORT ytest_011. *----------------------------------------------------------------------* * CLASS z ...

c#_DropdownList Panel Textbox 控件交互使用,有autopostback和没有的区别

js 中的流程控制-循环(for)语句

for语句:

Java菜鸟学习笔记--Exception篇(一):异常简介

什么是异常(Exception)? 简述: 在运行过程中,应用程序可能遭遇各种严重程度不同的问题.异常提供了一种在不弄乱程序的情况下检查错误的巧妙方式.它也提供了一种直接报告错误的机制. 不同类型异常 ...

C#打包时设置图标ico错误

1:无法生成"[DesktopFolder]"中名为"用户桌面 的快捷方式"的快捷方式在生成安装项目时报错 2:在进行安装项目时候,创建快捷方式并且设置了 ic ...

echarts分组插件echarts.group代码分享

前言 echarts是百度出品的一款很棒的前端图表控件,被评为"百度少有的良心产品".可以实现散点图.折线图.柱状图.地图.饼图.雷达图.K线图等等几十种常用.不常用的图表,效果酷 ...

java8 日期时间之间的关系

Class or Enum Year Month Day Hours Minutes Seconds* Zone Offset Zone ID toString Output Where Discu ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值