首页 > 编程知识 正文

实型变量和浮点型变量,实型变量是不是浮点型变量

时间:2023-05-04 10:35:38 阅读:241082 作者:141

实型变量

1、实型变量的舍入误差
因为内存分配给实型变量的空间是有限的,所以当存储数据时,就会遇到舍入的问题,我们举个例子

void main()
{
float a,b;
a=123456.789e5;
b=a+20;
printf("%fn",a);
printf("%fn",b);
}

这个时候出现的结果就是这样,又因为a本身已经溢出了,加上20之后也是没产生变化的。

字符型数据

字符型数据包括字符常量和字符变量。

字符常量:用单引号括起来的一个字符。
例如:‘A’、‘M’ 都是合法字符常量。

在C语言中,字符常量有以下特点:
1)字符常量只能用单引号括起来,不能用双引号或其他括号。
2)字符常量只能是单个字符,不能是字符串。
3)字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。如‘5’和5是不同的。‘5’是字符常量,不能参与运算。

字符变量
字符变量的类型说明符是char。字符变量类型定义的格式同整型变量:char a,b;

转义字符:
转义字符是一种特殊的字符常量。以反斜线“”开头,后跟一个或几个字符。转义字符具有特定的含义,跟字符原有的意义相反,所以称为“转义字符”,比如程序中常见的n,就是回车换行的意思。转义字符主要用来表示那些用一般字符不便于表示的控制代码。

转义字符的使用:

#include <stdio.h>void main(){ int a,b,c; a=5;b=6;c=7; printf("ab ctderfn"); printf("hijktLbMn");}

这个程序最后输出的结果:

这里可以看到,通过使用转义字符,一些不太容易表示出来的字符都给表示出来了。

字符数据在内存中的存储形式及使用方法。

内存只分配给字符变量一个字节的空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的。如x的十进制ASCII码是120,y的十进制ASCII码是121.对字符变量a,b赋予’X’和‘Y’值:
a = ‘X’;
b = ‘7’;
这里表示的是在a,b两个单元内存放120和55的二进制代码。

举个例子:

#include <stdio.h>
void main()
{
char a,b;
a = 120;
b = 121;
printf("%c,%cn",a,b);
printf("%d,%dn",a,b);
}

在放一下最后的输出结果:

可以很明显的看到。我们第一行是以字符形式输出(它会去找对应的ASCII表中的字符),第二行是以整型的形式打印出来,其实内存中存的二进制数就是120和121。同样的,将a = 120;替换成a = ‘x’;也是同样的效果。

【4.1】小写字母换成大写字母

#include <stdio.h>void main(){char a,b;a = 'a';b = 'b';a = a - 32;b = b - 32;printf("%c,%cn%d,%dn",a,b,a,b);//将a、b的字符形式显示出来,再将a,b的整型形式展现出来(即内存中存放的数值)}

这段输出的结果如下:

为什么char内存分配的空间是一个字节呢?因为一个字节是8位,2^8是256,能容纳完整个ASCII表。

字符串常量:
由一对双引号括起的字符序列。例如"China",“boy"等都是合法的字符串常量。
字符串常量和字符常量是不同的量,字符常量由单引号括起来,字符串常量由双引号括起来;字符常量只能是单个字符,字符串常量则可以含一个字符或多个字符;可以将一个字符常量赋给一个字符变量,但是不可以将一个字符串常量赋给一个字符变量(k可以char a = ‘a’;但是不能char a = “a”;);字符常量占一个字节的空间,而字符串变量所占空间则为字符串中字节数加1,加的这个1就是字符串的结束标志”"(ASCII码为0)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。