📜  CBSE Class 11 C++ |中文样品纸-2

📅  最后修改于: 2021-05-30 09:32:59             🧑  作者: Mango

示范试卷
十一类
计算机科学
MM:70时间:3小时。
指示:
1.所有问题都是强制性的。
2.编程语言:C++

Q.1 [A]编译器与解释器有何不同? 2个
编译器和解释器是执行以编程或脚本语言编写的程序的两种不同方式。

  • 编译器将整个程序转换为通常存储在文件中的目标代码。目标代码也称为二进制代码,可以在链接后由机器直接执行。编译的编程语言的示例是C和C++。
  • 解释器直接执行以编程或脚本语言编写的指令,而无需事先将其转换为目标代码或机器代码。解释语言的示例包括Perl, Python和Matlab。

参考:编译器与解释器

[B]您对应用程序软件了解什么? 2个
这些是用于运行以完成特定动作和任务的基本软件。这些是专用于执行简单和单个任务的软件。这些分为两种类型:
a)通用应用软件:
Microsoft Excel –用于准备Excel工作表。
VLC Media Player –用于播放音频/视频文件。
Adobe Photoshop –用于设计和动画等等。
b)专用应用软件:
票务预订系统
医疗保健管理系统
参考:软件概念

[C]谁发明了打孔卡? 1个
赫尔曼·霍勒里斯(Herman Hollerith)发明了打孔卡。

[D]命名印度开发的超级计算机? 1个
在印度开发的超级计算机是:PARAM,ANURAG

问题2 [A]优雅降级是什么意思? 2个
正常降级是指计算机,机器,电子系统或网络即使在很大一部分已被破坏或无法使用的情况下仍能保持有限功能的能力。

[B]为什么逻辑错误更难定位? 2个
提供错误输出但似乎没有错误的错误类型称为逻辑错误。这些是编程初学者最常见的错误之一。
逻辑错误很难找到,因为隔离这些错误仅取决于程序员的逻辑思维,并且只有在我们遵循执行路线并确定程序为何采用特定执行路径的情况下才能被发现。
请参阅:逻辑错误

[C]编写开发程序所需的步骤,并简要说明这些步骤。 3
程序开发需要六个阶段,如下所示:
问题定义。
问题分析。
算法开发。
编码和文档。
测试与调试。
维护。

Q3 [A]命名以下文件所属的头文件:-2
(i)exit() :process.h
(ii)gets() :stdio.h
(iii)tolower() :ctype.h
(iv)malloc() :stdlib.h

[B]以下语句的输出是什么:2
(i)a = sqrt(16) :16
(ii)b = strlen(“计算机”) :8
(iii)c = ceil(13.45) :14
(iv)d = abs(-6) :6

[C] sizeof运算符的目的是什么? 2个
Sizeof是一个编译时一元运算运算符,可用于计算其操作数的大小。 sizeof的结果是无符号整数类型。 Sizeof可以应用于任何数据类型,包括原始类型(例如整数和浮点类型,指针类型)或复合数据类型(例如Structure,union等)。
请参阅:sizeof运算符

[D]一元运算符和二元运算符2之间的写区别
一元运算符:作用于单个操作数以产生新值的运算符。
一元运算运算符的类型:一元减(-),增量(++),减量(–),NOT(!),运算符(&)和sizeof()运算符
二进制运算符:与两个操作数运算或一起使用的运算符是二进制运算符。例如:二元运算符的类型:加法(+),减法(-),乘法(*),除法(/)等。
参考:C / C++中的一元运算符,C++中的运算符

Q.4 [A]进入受控循环和退出受控循环2之间的写区别

  • 进入控制的循环:在这种类型的循环中,在进入循环体之前先测试测试条件。示例:For循环和While循环是条目控制的循环。
  • 退出控制的循环:在这种类型的循环中,在循环体的末端测试或评估测试条件。因此,无论测试条件为真还是假,循环体都会至少执行一次。示例:执行while循环是退出控制循环。

参考:C++中的循环

[B]编写程序以输入字符并打印给定字符是字母,数字还是其他任何字符。
逻辑:所有字符,无论是字母,数字还是特殊字符都具有ASCII值。用户输入的字符将确定它是字母,数字还是特殊字符。
ASCII值范围-
对于大写字母65 – 90
对于小字母97 – 122
对于数字48 – 57
所有其他情况均为特殊字符。

// CPP program to find type of input character
#include 
using namespace std;
  
void charCheck(char input_char)
{
    // CHECKING FOR ALPHABET
    if ((input_char >= 65 && input_char <= 122))
        cout << " Alphabet ";
  
    // CHECKING FOR DIGITS
    else if (input_char >= 48 && input_char <= 57)
        cout << " Digit ";
  
    // OTHERWISE SPECIAL CHARACTER
    else
        cout << " Special Character ";
}
  
// Driver Code
int main()
{
    char input_char = '$';
    charCheck(input_char);
    return 0;
}

[C]给出以下程序段的输出:2

i.for (int i = 10; i > 6; i = i - 2)
        cout
    << i << endl;
  
Output : 10, 8
  
                 (ii) for (int i = -5; i > -7; i--)
                     cout
                 << i + 1 << endl;
>
  
    Output : -4,
    -5

Q.5 [A]以下两个语句之间有什么区别:-1
(i)整笔款项[10];
(ii)int sum [10] = 20;
这两个语句之间的区别是:
在第一个语句中,声明了一个由10个元素组成的整数数组,并且未将值分配给该数组的元素。
在第二条语句中,声明了一个由10个元素组成的整数数组,并且已将该数组的所有元素分配为value = 20

[B]删除语法错误后,重写以下程序。
更正。 3

#include 
main()
{
 int x[5], y, z[5]
 for( i=0;i<5;i++
 {
        x[i] = i;
        z = i + 3;
        y = z;
        x = y;
 }
}
  
// Correct code:
  
void main()
{
    int x[5], y, z[5];
    for (int i = 0; i < 5; i++) {
        x[i] = i;
        z = i + 3;
        y = z;
        x[i] = y;
    }
}

[C]查找以下程序的输出:2

#include 
main()
{
    int a[4], i;
    for (i = 0; i < 4; i++)
        a[i] = 5 * i;
    for (i = 0; i < 4; i++)
        cout << a[i];
}

输出:0、5、10、15

[D]编写程序以读取字符串并打印该字符串中存储了多少个单词。 3

// C++ program to count no of words
// from given input string.
#include 
using namespace std;
#define OUT 0
#define IN 1
  
// returns number of words in str
unsigned countWords(char* str)
{
    int state = OUT;
    unsigned wc = 0; // word count
  
    // Scan all characters one by one
    while (*str) {
        // If next character is a separator, set the
        // state as OUT
        if (*str == ' ')
            state = OUT;
  
        // If next character is not a word separator and
        // state is OUT, then set the state as IN and
        // increment word count
        else if (state == OUT) {
            state = IN;
            ++wc;
        }
  
        // Move to next character
        ++str;
    }
    return wc;
}
  
// Driver program to test above functions
int main(void)
{
    char str[] = "One two three  four five  ";
    cout<<"No of words : %u"<

[E]编写一个程序来查找数组元素的总和。 3

#include 
using namespace std;
  
int arraysum(int arr[], int n)
{
    int i, sum = 0;
    for (i = 0; i < n; i++)
        sum = sum + arr[i];
    cout << sum;
    return 0;
}
  
int main()
{
    int arr[10];
    int i;
    cout << "enter array elements";
    for (i = 0; i < 10; i++)
        cin >> arr[i];
    arraysum(arr, 10);
    return 0;
}

Q.6 [A]函数原型是什么意思? 1个
函数原型告诉编译器有关函数采用的参数数量,参数的数据类型和函数的返回类型的信息。通过使用此信息,编译器将对函数参数及其数据类型与函数定义和函数调用进行交叉检查。
参考:函数原型

[B]范围是什么意思? C++支持各种范围的名称。 3
在编程中,变量的范围定义为程序代码的范围,在该范围内我们可以访问或声明或使用该变量。变量作用域主要有两种,如下所述:
局部变量
在一个函数或块中定义的变量被认为是那些函数的局部变量。
全局变量
顾名思义,可以从程序的任何部分访问全局变量。在整个程序的生命周期内都可以使用它们。它们在所有功能或块之外的程序顶部声明。
请参阅:C++中的变量范围

[C]查找以下输出:3

#include 
int max(int& x, int& y, int& z)
{
    if (x > y && y > z) {
        y++;
        z++;
        return x;
    }
    else {
        if (y > x)
            return y;
        else
            return z;
    }
    void main()
    {
        int a = 10, b = 13, c = 8;
        a = max(a, b, c);
        cout << a << b << c;
        b = max(a, b, c);
        cout << ++a << ++b << ++c << endl;
    }

当a = 10,b = 13,c = 8时,首次调用max(a,b,c)时,输出为:
13 13 8
第二次调用该函数时,为b分配了一个值8,输出为:
14 9 9

[D]编写一个完整的C++程序,该程序读取具有15个元素的float数组。该程序使用函数reverse()来反转此数组。 4

#include 
using namespace std;
  
// function to swap elements
int swap(float* a, float* b)
{
    float temp;
    temp = *a;
    *a = *b;
    *b = temp;
}
// function to reverse the elements by
// swapping each element from the start
// and the end
  
int reverse(float arr[])
{
    int i = 0, j = 14;
    while (i < j) {
        swap(&arr[i], &arr[j]);
        i++;
        j--;
    }
    for (i = 0; i < 15; i++)
        cout << arr[i] << endl;
    return 0;
}
  
// driver function
int main()
{
    float arr[5] = { 0 };
    int i;
    cout << "enter the elements";
    for (int i = 0; i < 15; i++)
        cin >> arr[i];
    reverse(arr);
}

[E]编写一个具有两个参数x的float类型和n的整数类型的n且结果类型为float的C++函数,以找到以下系列的总和:
1 + x / 2! + X 2/4! + X 3/6! +……………………+ x n / 2n!

#include 
#include 
using namespace std;
  
int fact(int z)
{
    if (z == 1)
        return 1;
    return x * fact(x - 1);
}
  
double sum(int x, int n)
{
    double i, total = 1.0;
    for (i = 1; i <= n; i++)
        total = total + (pow(x, i) / fact(2 * i));
    return total;
}
  
// Driver code
int main()
{
    int x;
    int n;
    cout << "" enter x and n ";
                               cin
                               >> x >> n printf("%.2f", sum(x, n));
    return 0;
}

Q.7 [A]在线UPS和离线UPS之间的区别。 2个
在线UPS系统在正常运行期间会通过功率调节和充电组件汲取功率。
离线UPS是这样一种系统,在正常运行期间,负载是直接从原始电源馈电的,而不是逆变器输出的,因此就负载而言,诸如充电器,逆变器和电池之类的储能组件都处于离线状态。

[B]请解释打印机的两类是什么? 2个
打印机是用于在纸上准备永久输出设备的输出设备。打印机可以分为两个主要类别:
冲击式打印机:在这种情况下,锤子或大头针撞击丝带和纸张以打印文本。该机制被称为机电机制。它们有两种类型。
例子:
字符打印机:一次仅打印一个字符。它的速度相对较慢。例如。其中包括点矩阵打印机。
点矩阵打印机:它以点的组合形式打印字符。点矩阵打印机是串行打印机中最流行的。
非冲击式打印机:那里的打印机使用非冲击式技术,例如喷墨或激光技术。那里的打印机以更高的速度提供更好的O / P质量。
示例:喷墨打印机

[C]什么是访问时间。 1个
访问时间是从开始一个存储设备访问到可以开始下一次访问的时间。访问时间包括等待时间(到达设备上正确位置并准备对其进行访问的开销)和传输时间。
该术语既适用于随机存取存储器(RAM)访问,也适用于硬盘和CD-ROM访问

[E]将以下内容转换为其二进制等效数字系统:-3
(i)(EB4A) 16 =(60234) 10
(ii)(84) 10 =(1010100) 2
(iii)(B2F) 16 =(5457) 8

有关详细信息,请参阅:基本转换

[F]找到以下的八位补码形式:2
(i)-14 (ii)-49
解决方案:1的负数补码是通过翻转其二进制表示形式的位来计算的。
-14 =-((00001110) 2 =(11110001) 1
-49 =-((00110001) 2 =(11001110) 1’s

要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”