首页/文章/ 详情

C++基础知识(二)

3小时前浏览8
   

sizeof关键字

       

在正式介绍数据类型之前先介绍一个关键字,这个关键字可以用来计算数据类型占用的空间大小,下面的代码是使用sizeof关键字计算整型数据类型占用空间的例子














#include <iostream>
using namespace std;
int main(){  int space = 0;  space = sizeof(int);  cout <<"int类型数据占用的空间大小为:"<< space<<"字节。" << endl;
 system("pause");  return 0;
}
 

上面程序返回的结果


int类型数据占用的空间大小为:4字节。
 

后面的内容就用sizeof关键字查看数据类型占用的空间大小。

整型

       

整型数据类型用于储存整数型数据,整型数据还可以细分,分别为短整型、整型、长整型和长长整型,他们各自占用的空间大小和具体能表示的数字大小为

数据类型

标识符

占用空间

数据大小

短整型

short int

2字节

-2^15~

2^15-1

整型

int

4字节

-2^31~

2^31-1


长整型

long int

见注

见注

长长整型

long long int

8字节

-2^64~

2^64-1


注:对于long int(长整形)数据,Windows为4字节,Linux为4字节(32位),8字节(64位) ,(-2^31 ~ 2^31-1) 。

一般讲,一个字节占用8位,一位有0和1两种状态,对于短整型占用两个字节,一共是16位,如若不考虑正负号,可以表示数据的大小为:2^16~2^16-1,考虑到整型数字有正负号,则需要单独拿出来一位用于表示正负号,因此短整型可以表示的数据大小为:-2^15~2^15-1。

对于其他类型的整型数据,可以按照同样的规律推算大小。

下面的程序则返回了各种整型数据占用的空间大小

















#include <iostream>#include <string>
using namespace std;
int main(){
 cout <<"短整型数据占用的空间大小为:\t"<< sizeof(short int)<<"字节。" << endl;  cout << "整型数据占用的空间大小为:\t" << sizeof(int) << "字节。" << endl;  cout << "长整型数据占用的空间大小为:\t" << sizeof(long int) << "字节。" << endl;  cout << "长长整型数据占用的空间大小为:\t" << sizeof(long long int) << "字节。" << endl;
 system("pause");  return 0;
}
 

上面程序返回的的结果为





短整型数据占用的空间大小为:   2字节。整型数据占用的空间大小为:     4字节。长整型数据占用的空间大小为:   4字节。长长整型数据占用的空间大小为: 8字节。
 

浮点型数据

     

浮点型数据用于表示小数,也可以用来表示整数,但是有可能造成空间浪费,,这对于强迫症患者是无法忍受的,更严重会造成数据计算时候数据类型不匹配的问题。

浮点型数据也可以进行细分,可分为单精度和双精度,他们占用的空间大小和可表示的有效范围为

数据类型

标识符

占用空间

数据大小

单精度

float

4字节

7位有效数字

双精度

double

8字节

15位有效数字


下面的程序则返回了两种浮点数据占用的空间大小














#include <iostream>
using namespace std;
int main(){
 cout <<"双精度浮点数据占用的空间大小为:\t"<< sizeof( float)<<"字节。" << endl;  cout << "单精度浮点型数据占用的空间大小为:\t" << sizeof(double) << "字节。" << endl;
 system("pause");  return 0;
}
 

上面程序返回的的结果为



双精度浮点数据占用的空间大小为:       4字节。单精度浮点型数据占用的空间大小为:     8字节。
 

字符型数据

       

字符型数据用来表示单个的字符,话不多说,直接上程序















#include <iostream>
using namespace std;
int main(){  char str = 'a';
 cout <<"双精度浮点数据占用的空间大小为:\t"<< sizeof( char)<<"字节。" << endl;  cout << "字符型变量str表示的字符为:\t"<<str << endl;
 system("pause");  return 0;
}
 

上面程序声明了一个名称为str的字符,并且计算了char数据类型的占用空间,输出的内容为



双精度浮点数据占用的空间大小为:       1字节。字符型变量str表示的字符为:    a
 


char占用了1个字节的空间,就是8位,每个char只能表示一个字符,每个字符又对应了一个数字,即ASCII码,下面的程序查看了字符a对应的ASCII码值
















#include <iostream>#include <string>
using namespace std;
int main(){  char str ='a';
 cout <<"字符a对应的ASCII值为:\t"<< int(str)<< endl;

 system("pause");  return 0;
}
   

输出的内容为


字符a对应的ASCII值为: 97
 

所有的特殊字符都有对应的ASCII字符,详细的对应关系可以查看相应的书籍。

字符串型数据

       

声明字符数据有两种方法,分别是采用char和string,下面先介绍采用char声明字符串。















#include <iostream>
using namespace std;
int main(){  char str[] = "I am a tigger!";
 cout <<str<< endl;

 system("pause");  return 0;
}
 

采用char声明字符串的本质是创建了char类型的不定长数组。数组是后面的内容,下面采用string声明字符串。















#include <iostream>#include <string>
using namespace std;
int main(){
 string str = "I am a tigger!";  cout << "string 类型数据占用的空间大小为:\t" << sizeof(string) << endl;  cout << str << endl;
 system("pause");  return 0;}
 


当采用string声明字符串的时候,必须包含string标准库文件,上面程序的第二行就是包含语句。

上述程序的输出结果为



string 类型数据占用的空间大小为:      28I am a tigger!
 

以上是本次帖子的所有内容,后续会进行输入输出方面的程序介绍,终于可以和屏幕进行交互了!

     
      

来源:有限元先生
System
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-09-29
最近编辑:3小时前
外太空土豆儿
硕士 我们穷极一生,究竟在追寻什么?
获赞 2粉丝 0文章 22课程 0
点赞
收藏
作者推荐

C++基础知识(三)

壹转义字符 转义字符是一类特殊的提醒字符,用于实现输出一些特殊的内容,如我们要将输出的内容进行对齐,但是需要对齐的内容前面已经有其他的内容了,这时候就需要进行移动制表符,C++使用“\”表示转义字符的开始,即反斜杠后面的内容就是要输出的特殊字符,移动制表符的程序是“\t”# include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int main(){ string name = &quot;Audrey Hepburn&quot;; int age = 18; string country = &quot;Belgium&quot;; cout &lt;&lt; &quot;Her name is:\t&quot; &lt;&lt; name &lt;&lt; endl; cout&lt;&lt; &quot;Her age is:\t&quot; &lt;&lt; age &lt;&lt; endl; cout &lt;&lt; &quot;She comes from:\t&quot;&lt;&lt;country&lt;&lt; endl; system(&quot;pause&quot;); return 0; } 输出内容为Her name is: Audrey HepburnHer age is: 18She comes from: Belgium 程序的10、11和12行中,每个输出的字符串后面都包含了“\t”,发现程序的输出已经进行了对齐,这在输入输出中会显得美观。C++有很多的转义字符,假如我们需要进行警示提示,还可以让电脑提示警报声# include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int main(){ int age = 0; cout &lt;&lt; &quot;Please input your age:\t&quot; &lt;&lt; endl; cin &gt;&gt; age; if (age &lt; 0){ cout &lt;&lt; &quot;The age is nagtive!\a&quot; &lt;&lt; endl;; } else { cout &lt;&lt; &quot;your age is:\t&quot; &lt;&lt; age &lt;&lt; endl; } system(&quot;pause&quot;); return 0;} 程序会提示输入人的年龄,当输入的数值小于零的时候,程序会输出年龄是负数的字样,然后电脑发出警报声,下面是输出的结果Please input your age:-10The age is nagtive! C++其他转义字符的具体用法可以查询具体的资料,下面是C++的去全部转义字符 贰布尔类型 有些数据具有二值性,如人的性别、明天上午有没有早八课等等,C++采用布尔类型数据表示,采用1表示true,0表示false# include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int main(){ bool judge = 0; cout &lt;&lt; &quot;明天上午有没有早八课\?&quot; &lt;&lt; endl; cin &gt;&gt; judge; if (judge == true){ cout &lt;&lt; &quot;明天上午要上早八。&quot; &lt;&lt; endl; } else{ cout &lt;&lt; &quot;明天上午可以睡懒觉。&quot; &lt;&lt; endl; } system(&quot;pause&quot;); return 0;} 上面程序提醒输入,如输入1,就表示有早八课,如明天上午有没有早八课?1明天上午要上早八。 如果输入0,那就是没有课,如明天上午有没有早八课?0明天上午可以睡懒觉。 叁与屏幕交互 可以发现上面的程序多次出现“cin”,cin对应于cout,cout用于向屏幕输出内容,cin用于从屏幕获取内容,包括数值数据、字符串数据等等#include&lt;iostream&gt;#include&lt;string&gt;using namespace std;int main(){ int age =0; string name = &quot;&quot;; bool gender = 0; cout &lt;&lt; &quot;Please input your name:\t&quot;; cin &gt;&gt; name; cout &lt;&lt; &quot;Please input your age:\t&quot;; cin &gt;&gt; age; cout &lt;&lt; &quot;Please input gender(1 means male and 0 means female):\t&quot;; cin &gt;&gt; gender; cout &lt;&lt; &quot;Your name is:\t&quot; &lt;&lt; name&lt;&lt;endl; cout &lt;&lt; &quot;Your age is:\t&quot; &lt;&lt; age&lt;&lt;endl; if (gender == 1){ cout &lt;&lt; &quot;Your gender is:&quot; &lt;&lt; &quot;male&quot; &lt;&lt; endl; } else{ cout &lt;&lt; &quot;Your gender is:&quot; &lt;&lt; &quot;female&quot; &lt;&lt; endl; } system(&quot;pause&quot;); return 0;} 上面的程序展示了cin结合cout与屏幕交互Please input your name: tudouerPlease input your age: 19Please input gender(1 means male and 0 means female): 1Your name is: tudouerYour age is: 19Your gender is:male 首先用cin获取了姓名、年龄和性别,然后向屏幕输出了这些数据。上面的程序涉及了判断分支语句,后面会开始介绍控制程序流程的内容,程序的功能会越来越多。 来源:有限元先生

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈