[NOI题库]1.2编程基础之变量定义、赋值及转换 题解

01 整型数据类型存储空间大小

      这题要用到 sizeof 这个函数(其实严格说来也不能这么叫,它的执行是在编译过程中而非运行时),依次输出 sizeof(int) 和 sizeof(short) 即可。

#include <iostream>
using namespace std;
int main()
{
    int a;
    short b;
    cout<<sizeof(a)<<" "<<sizeof(b)<<endl;
    return 0;
}
01.cpp

02 浮点型数据类型存储空间大小

      依次输出 sizeof(float) 和 sizeof(double)

#include <iostream>
using namespace std;
int main()
{
    float a;
    double b;
    cout<<sizeof(a)<<" "<<sizeof(b)<<endl;
    return 0;
}
02.cpp

03 其他基本数据类型存储空间大小

      依次输出 sizeof(bool) 和 sizeof(char)

#include <iostream>
using namespace std;
int main()
{
    bool a;
    char b;
    cout<<sizeof(a)<<" "<<sizeof(b)<<endl;
    return 0;
}
03.cpp

04 填空:类型转换1

      因为用 "%d%d" 进行输出,故$a,b$均为整数,排除A,B,E,F。显然赋值为32768时,对$a$没有问题,对$b$则发生了溢出,所以在选项中,$a$只能为 int 类型,$b$只能为 short 类型。答案为DC。

#include <iostream>
using namespace std;
int main()
{
    cout<<"D C"<<endl;
    return 0;
}
04.cpp

05 填空:类型转换2

      因为用 "%.9f %.9f" 进行输出,故$a,b$均为实数,排除A,B,C,D。根据题意,$a$的精确度高于$b$,再结合选项,$a$只能为 double 类型,$b$只能为 float 类型。答案为FE。

#include <iostream>
using namespace std;
int main()
{
    cout<<"F E"<<endl;
    return 0;
}
05.cpp

06 浮点数向零舍入

      这里用到了强制类型转换。根据提示,若$x$为浮点数,输出的数字就是 (int)x 或 int(x)

#include <iostream>
using namespace std;
int main()
{
    float x;
    cin>>x;
    int y=(int)x;
    cout<<y<<endl;
    return 0;
}
06.cpp

07 打印ASCII码

      将 char 类型强制转换为 int 然后输出即可。

#include <iostream>
using namespace std;
int main()
{
    char c;
    cin>>c;
    int x=(int)c;
    cout<<x<<endl;
    return 0;
}
07.cpp

08 打印字符

      将 int 类型强制转换为 char 然后输出即可。

#include <iostream>
using namespace std;
int main()
{
    int x;
    cin>>x;
    char c=(char)x;
    cout<<c<<endl;
    return 0;
}
08.cpp

09 整型与布尔型的转换

      按照题目要求照做即可。不过也可以用判断语句来写(虽然没什么必要),即:

  • 若输入为0,则输出0;
  • 若输入不为0,则输出1。
#include <iostream>
using namespace std;
int main()
{
    int x;
    cin>>x;
    bool y=x;
    x=y;
    cout<<x<<endl;
    return 0;
}
09.cpp

10 Hello, World!的大小

      输出 sizeof("Hello, World!"); 。

#include <iostream>
using namespace std;
int main()
{
    cout<<sizeof("Hello, World!")<<endl;
    return 0;
}
10.cpp

 

posted @ 2015-09-22 21:51  常可  阅读(1502)  评论(0编辑  收藏  举报