首页 > 编程语言 >GESP-C++-3

GESP-C++-3

时间:2023-06-17 16:33:14浏览次数:54  
标签:反码 int 补码 C++ 答案 GESP 原码

GESP C++三级样题卷

  1. 下列关于负数的原码、反码、补码的描述中,正确的是( )
    A. 原码和反码互为按位取反(符号位除外),补码为反码加 1
    B. 原码和反码互为按位取反(符号位除外),补码为原码加 1
    C. 反码和补码互为按位取反(符号位除外),原码为反码加 1
    D. 补码和原码互为按位取反(符号位除外),反码为补码加 1
    答案:A

  2. 一个 int 类型的值乘以 8,等价于以下哪个位运算?( )
    A. 左移 3 位
    B. 右移 3 位
    C. 左移 8 位
    D. 右移 8 位
    答案:A

  3. 以下哪个属于 C++语言中的位运算符?( )
    A. +
    B. -
    C. *
    D. &
    答案:D

  4. 若有以下代码,则数组 arr 的长度是( )
    int arr[] = {1, 2, 3, 4, 5};
    A. 3
    B. 4
    C. 5
    D. 6
    答案:C

  5. 在 C++语言中,可以定义一个一维整型数组的是( )
    A. int array[5];
    B. int array[];
    C. int[5] array;
    D. int[] array;
    答案:A

  6. 枚举算法的主要特点是( )
    A. 以空间换时间
    B. 逐个尝试所有可能的解
    C. 动态规划
    D. 贪心策略
    答案:B

  7. 对于一个十进制数 37,以下哪个是它的二进制表示( )
    A. 10101
    B. 100101
    C. 101001
    D. 1000101
    答案:B

  8. 下列关于十六进制的描述中,正确的是( )
    A. 使用 0-9 和 A-F 表示
    B. 使用 0-9 和 A-E 表示
    C. 使用 1-9 和 A-F 表示
    D. 使用 1-9 和 A-E 表示
    答案:A

  9. 下列哪个是 C++语言中用于获取字符串长度的函数( )
    A. length()
    B. len()
    C. getLength()
    D. strlen()
    答案:D

  10. 通常用下列哪种方式来描述算法?
    A. 汇编语言
    B. 伪代码
    C. SQL
    D. CSS
    答案:B

  11. 如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断“a 等于 0 且 b等于 0”的是()
    A. ((~a) && (~b))
    B. ((a & b) == 0)
    C. ((a | b) == 0)
    D. ((a ^ b) == 0)
    答案:C

  12. 如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足“大于等于
    a 且是 4 的倍数”的整数中最小的?
    A. (a & (~3))
    B. (a / 4 * 4)
    C. ((a - 1) | 3) + 1
    D. (a << 2)
    答案:C

  13. 下面流程图,输入 1 2 3,会输出( )
    image

A. 无输出
B. 1
C. 2
D. 3
答案:B

  1. 在下列代码的横线处填写(),可以保证输出是“1357”,不会有多余字符。
#include <iostream>
#include <string>
using namespace std;
int main() {
    char str[] = "1234567";
    for (____________________)  // 在此处填入代码
        cout << str[i];
    return 0;
}

A. int i = 0; i < strlen(str); i++
B. int i = 0; str[i] != '\0'; i++
C. int i = 1; i <= 7; i += 2
D. int i = 0; i <= 6; i += 2
答案:D

  1. 在下列代码的横线处填写( ),可以使得输出是“17 11”。
#include <iostream>
using namespace std;
int main() {
    int a = 11, b = 17;
    a = ________;  // 在此处填入代码
    b = a ^ b;
    a = a ^ b;
    cout << a << " " << b << endl;
    return 0;
}

A. a + b
B. a - b
C. a ^ b
D. a & b
答案:C

二、判断题(每题 2 分,共 20 分)

  1. 二进制数据编码中,负数的补码是通过对原码按位取反并加 1 得到的。( T )
  2. 在 C++语言中,数组的下标从 1 开始计数。( F )
  3. 在 C++语言中,字符串是以'\0'结尾的字符数组。( T )
  4. 在 C++语言中,可以使用浮点数(如 3.0)作为数组下标。( F)
  5. 枚举算法是一种暴力求解方法,逐个尝试所有可能的解。( T)
  6. C++语言中数字的符号位是不参与位运算的。( F)
  7. C++语言中的数组可以根据需要自动调整大小。( F)
  8. 在 C++语言中,表达式(0xff == 255)的值为 true。(T )
  9. 如果 a 为 int 类型的变量,且表达式((a & 1) == 0)的值为 true,则说明 a 是偶数。( T)
  10. 表达式(7 >> 2)的计算结果为 1.75,且结果类型为 double。( F)

三、编程题 (每题 25 分,共 50 分)

  1. 逛商场
    小明是个不太有计划的孩子。这不,刚到手的零花钱,就全部拿着逛商场去了。
    小明的原则很简单,只要见到想买的物品而且能买得起,就一定会买下来之后才会继续往前走。
    一天下来,小明到底买了多少物品呢?
    【输入格式】输入共 3 行:
    第一行是一个整数 N,表示商场中共有 N 种小明想买的物品(1≤N≤100);
    第二行共有 N 个整数,分别表示小明先后见到想买的物品的价格;
    第三行是一个整数 X,表示开始时小明共有 X 元零花钱。
    【输出格式】输出 1 行,包含一个整数,表示小明买到的物品数。
    【样例输入】
    6
    7 5 9 10 7 4
    30
    【样例输出】4
    【参考代码】

#include <bits/stdc++.h>
using namespace std;
int price[100];
int main() {
    int n = 0, x = 0, cnt = 0;
    cin >> n;
    for (int i = 0; i < n; i++)
        cin >> price[i];
    cin >> x;
    for (int i = 0; i < n; i++) {
        if (x >= price[i]) {  // 买得起就买
            x -= price[i];
            cnt++;
        }
    }
    cout << cnt;
    return 0;
}
  1. 进制转换
    【题目描述】
    小美刚刚学习了十六进制,她觉得很有趣,想到是不是还有更大的进制呢?
    在十六进制中,用‘A’表示 10、‘F’表示 15。如果扩展到用‘Z’表示 35,岂不是可以表示 36 进制数了嘛!
    【输入格式】
    输入 2 行,第一行包含一个正整数 N,第二行包含一个正整数 R。
    保证 1≤N≤1000000,2≤R≤36
    【输出格式】输出 1 行,为 N 的 R 进制表示。
    【样例输入】
    123
    25
    【样例输出】4N
    【参考代码】

#include <bits/stdc++.h>
using namespace std;
char res[30];
int len = 0;
char trans(int d) {
    if (d < 10)
        return (char)(d + '0');
    return (char)(d + 'A' - 10);
}
int main() {
    int n = 0, r = 0;
    cin >> n >> r;
    while (n > 0) {
        res[len] = trans(n % r);
        n /= r;
        len++;
    }
    for (int i = len - 1; i >= 0; i--)
        cout << res[i];
    cout << endl;
    return 0;
}

标签:反码,int,补码,C++,答案,GESP,原码
From: https://www.cnblogs.com/hellohebin/p/17487637.html

相关文章

  • 【C++】值初始化
    如果自己建一个类,例如:classA{public:A(){cout<<"A"<<endl;}inti;};在main主函数中如下的两行代码:A*pa1=newA;A*pa2=newA();效果一样,都是调用A的构造函数,也就是说,自己定义的类,在new该类的对象时,所谓的值初始化是没有意义的。所......
  • GESP-C++-2
    GESPC++二级样题卷人们在使用计算机时所提到的Windows通常指的是()。A.操作系统B.多人游戏C.上市公司D.家居用具答案:A万维网WWW中存储了海量的数据资源,这里用于传输控制的协议是()。A.URLB.SMTPC.HTTPD.HTML答案:C下列关于C++语言的叙述,不正确的是()......
  • C++通讯录管理系统[2023-06-17]
    C++通讯录管理系统[2023-06-17]通讯录管理系统手机通讯录中的联系人的信息既可以存储在手机中,也可以存储在手机卡中,也可以同时存储在两个位置上(每个位置上的存储容量为1000,即手机卡中或手机上最多只能存储1000个联系人)。存储在手机中的联系人的信息只包含用户名和电话号码两项信......
  • GESP-C++-1
    GESPC++一级样题卷一、单选题(每题2分,共30分)人们在使用计算机时所提到的Windows通常指的是()。A.操作系统B.多人游戏C.上市公司D.家居用具答案:A计算机领域的图灵奖为了纪念()科学家图灵。A.英国B.德国C.瑞典D.法国答案:A下列关于C++语言的叙述,不......
  • c++线程安全队列--有锁
    C++线程安全队列是一种数据结构,用于在多线程环境中安全地共享数据。它提供了一组功能,确保多个线程可以同时读取和写入队列,而不会导致竞争条件或数据损坏。C++线程安全队列的常见功能:入队操作(Enqueue):将一个元素添加到队列的尾部。这个操作必须是原子的,以确保在多线程环境中不会......
  • UE/C++简单功能实现笔记
    本篇笔记主要用于记录如何利用C++在虚幻引擎5中实现一些基本的功能需求。目录实现功能与代码构造函数中添加物体运行时添加C++Actor运行时设置动态材质及参数蓝图调用C++函数蓝图访问C++成员C++调用用户控件蓝图函数播放wav格式音效实现功能与代码以下代码均来自我的跳棋小游......
  • C++面试八股文:什么是左值,什么是右值?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第16面:面试官:什么是左值,什么是右值?二师兄:简单来说,左值就是可以使用&符号取地址的值,而右值一般不可以使用&符号取地址。inta=42; //a是左值,可以&aint*p=&a;int*p=&42; //42是右值,无法取地址二师兄:一般左值存在内存......
  • c++实现二叉树中序遍历
    #include<iostream>usingnamespacestd;//定义二叉树节点结构体structTreeNode{  intval;  TreeNode*left;  TreeNode*right;  TreeNode(intx):val(x),left(NULL),right(NULL){}};//中序遍历函数voidinorderTraversal(TreeNode*root){......
  • 《C++》友元
    友元--friend友元可以访问类的私有属性classPerson{ friendvoidtest();public: Person(intn) { this->n=n; }private: intn;};voidtest(){ Personp(20); cout<<p.n<<endl;}intmain(){ test(); system("pause"); return0;}友......
  • 【初识C++】(缺省参数和函数重载)
    @TOC一、缺省参数1.缺省参数定义缺省参数是在函数的声明中给定参数一个指定的值。如果传参没有给定参数,那就按照声明中默认的缺省值,如果给定了参数,那就按照给定的参数值。比如:usingnamespacestd;voidFunc(inta=0){ cout<<a<<endl;}intmain(){ Func(); //......