01:整型資料型別儲存空間大小
#include "iostream"
using namespace std;
int main()
{
int a;
short b;
cout<<sizeof(a)<<" "<<sizeof(b);
return 0;
}
02:浮點型資料型別儲存空間大小
#include "iostream"
using namespace std;
int main()
{
float a;
double b;
cout<<sizeof(a)<<" "<<sizeof(b);
return 0;
}
03:其他基本資料型別儲存空間大小
#include "iostream"
using namespace std;
int main()
{
bool a;
char b;
cout<<sizeof(a)<<" "<<sizeof(b);
return 0;
}
04:填空:型別轉換1
#include "iostream"
using namespace std;
int main(){
cout<<"D C";
return 0;
}
解釋
#include "iostream"
using namespace std;
int main()
{
int a = 32768;//32768是2的15次方,1000 0000 0000 0000
short b = a;//short佔兩個位元組,首位被當作符號位,認為是負數,數值部分取反加1,得111 1111 1111 1111+1=1000 0000 0000 0000,即32768
printf("%d %d\n", a, b);
return 0;
}
05:填空:型別轉換2
#include"iostream"
using namespace std;
int main()
{
cout<<"F E";
return 0;
}
解釋
#include "iostream"
using namespace std;
int main()
{
double a=1.00000001;
float b=a;//將浮點數(雙精度)轉換為單精度時,雙精度有效數字16位,單精度7位,強轉造成異常
printf("%.9f %.9f\n", a, b);//float是IEEE 754單精度浮點數,高1位數符,接著是7位的階碼(移碼,偏移量127),接著是23位的尾數,單精度浮點數最多有7位十進位制有效數字
return 0;
}
06:浮點數向零舍入/*
一個單精度浮點數,強制轉換位int,會將其向零舍入到整數(向零舍入的含義是,正數向下舍入,負數向上舍入)
*/
#include "iostream"
using namespace std;
int main()
{
float num;
cin>>num;
int a=(int)num;
cout<<a;
return 0;
}
07:列印ASCII碼
/*
如果對char型別的字元進行加減運算,那麼char型字元已經被隱式轉成了int型的對應的ASCII碼
*/
#include "iostream"
using namespace std;
int main()
{
char c;
cin>>c;
cout<<c-0;
return 0;
}
08:列印字元
/*
如果對int型的對應的ASCII碼強制轉換為char則,(char)碼數為對應的字元
*/
#include "iostream"
using namespace std;
int main()
{
int num;
cin>>num;
cout<<(char)num;
return 0;
}
09:整型與布林型的轉換
/*
如果對bool型值賦值,不為0時,bool值都為true,數值為1
*/
#include "iostream"
using namespace std;
int main()
{
int num;
cin>>num;
bool flag=num;
int a=flag;
cout<<a;
return 0;
}
10:Hello, World!的大小
/*
字串後面隱含著一個\n
*/
#include "iostream"
using namespace std;
int main()
{
cout<<sizeof("Hello, World!");
return 0;
}