#NOC202301. 2023NOC模拟测试卷1

2023NOC模拟测试卷1

NOC初赛模拟卷-卷1

(满分:100分 考试时间:90分钟)

⼀、选择题(每题3分,共72分)

  1. ⼗进制数 2003 等值于⼆进制数( )。

{{ select(1) }}

  • 11111010011
  • 10000011
  • 110000111
  • 010000011
  1. 以下程序运⾏的结果为()

image

{{ select(2) }}

  • 2,2
  • 2,3
  • 3,2
  • 3,3
  1. 下列关于break语句描述中,( )是错误的。

{{ select(3) }}

  • break语句可⽤于if语句内,它将退出if语句。
  • break语句可⽤于循环体内,它将退出该重循环。
  • break语句可⽤于switch语句中,它将退出switch语句。
  • break语句在⼀个循环体内可以出现多次。
  1. 下列哪⼀项不属于算法的基本特性( )

{{ select(4) }}

  • 输⼊
  • 输出
  • 不确定性
  • 可⾏性
  1. 阅读如图所⽰的流程图,若输⼊N的值为12,则输出的A值为( )。

image

{{ select(5) }}

  • 10
  • 11
  • 12
  • 13
  1. 已知字⺟a的ASCII码为⼗进制数97,且设ch为字符型变量,则表达式ch = 'a'+'8'-'4'的值为( )

{{ select(6) }}

  • a
  • b
  • d
  • e
  1. 下列条件语句种,功能与其他语句不同的是( )

{{ select(7) }}

  • if(a) cout << x << endl; else cout << y << endl;
  • if(a == 0) cout << y << endl; else cout << x << endl;
  • if(a != 0) cout << x << endl; else cout << y << endl;
  • if(a == 0) cout << x << endl; else cout << y << endl;
  1. 计算机的存储器中,组成⼀个字节(Byte)的⼆进制位(bit)个数是( )

{{ select(8) }}

  • 4
  • 8
  • 16
  • 32
  1. 下列关于变量数据类型转换的描述中,错误的是( )

{{ select(9) }}

  • 如果a为int型变量,b为char型变量,则a + b的值为int型
  • 如果a为float型变量,b为int型变量,则a - b的值为float型
  • 如果a为double型变量,b为float型变量,则a * b的值为double型
  • 如果a为int型变量,b为int型变量,则a / (double)b的值为int型
  1. 阅读以下代码,判断正确输出结果是什么( )

image

{{ select(10) }}

  • 2.0 3.0
  • 3.0 3.0
  • 3.0 4.0
  • 2.0 4.0
  1. 找规律:序列1,3,4,7,11,18,29,…的下⼀个值为( )

{{ select(11) }}

  • 32
  • 37
  • 42
  • 47
  1. 利⽤⼆分法猜测1~1500之间的⼀个随机数,最多猜⼏次?( )

{{ select(12) }}

  • 11
  • 12
  • 13
  • 1500
  1. 下列( )是C++合法的变量名。

{{ select(13) }}

  • _256
  • computer~1
  • Case
  • 5char
  1. 在⼀个5⾏5列的矩阵中,下列哪个⾏列坐标不是在这个矩阵的对⻆线上的( )

{{ select(14) }}

  • (1,1)
  • (1,3)
  • (0,4)
  • (3,4)
  1. strcmp("abd","abcd")的结果为( )。

{{ select(15) }}

  • 0
  • 负数
  • 正数
  • "abd"
  1. 下列关于变量数据类型转换的描述中,错误的是( )

{{ select(16) }}

  • 如果a为int型变量,b为char型变量,则a + b的值为int型
  • 如果a为float型变量,b为int型变量,则a - b的值为float型
  • 如果a为double型变量,b为float型变量,则a * b的值为double型
  • 如果a为int型变量,b为int型变量,则a / (double)b的值为int型
  1. 下列关于break语句描述中,( )是错误的。

{{ select(17) }}

  • break语句可⽤于if语句内,它将退出if语句。
  • break语句可⽤于循环体内,它将退出该重循环。
  • break语句可⽤于switch语句中,它将退出switch语句。
  • break语句在⼀个循环体内可以出现多次。
  1. C++程序的三种基本结构是( )。

{{ select(18) }}

  • 顺序结构、选择结构、循环结构
  • 递归结构、循环结构、转移结构
  • 嵌套结构、递归结构、顺序结构
  • 循环结构、转移结构、顺序结构
  1. 以下选项不是国家顶级域名的是( )

{{ select(19) }}

  • .cn
  • .canada
  • .us
  • .fr
  1. 下列关于 for 循环的 1 次运⾏过程选项正确的是(默认表达式2的值为true)( )
for (表达式1; 表达式2; 表达式3){
     语句1;
}

{{ select(20) }}

  • 表达式1→表达式2→表达式3→语句1;
  • 表达式1→表达式2→语句1→表达式3;
  • 表达式1→表达式2→语句1;
  • 表达式1→表达式2→语句1→表达式3→表达式1;
  1. 表达式:5/2.0+'1'的结果为 ( )

{{ select(21) }}

  • 2
  • 2.5
  • 50
  • 51.5
  1. ⼆进制数 00101100 和 00010101 的和是( )

{{ select(22) }}

  • 00101001
  • 01000001
  • 01000101
  • 00111001
  1. int类型变量在内存中占⽤4个字节,其有定义:int x[10] = {0, 2, 4};,则数组x在内存中所占字节数

是( )

{{ select(23) }}

  • 3
  • 12
  • 20
  • 40
  1. 要定义⼀个具有5个元素的⼀维数组vect,并使其个元素的初值依次是30,50,-88,0和0,则下列

定义语句中错误的是( )

{{ select(24) }}

  • int vect[]={30,50,-88};
  • int vect[]={30,50,-88,0,0};
  • int vect[5]={30,50,-88};
  • int vect[5]={30,50,-88,0,0};

⼆、填空题(每题4分,共8分)

  1. 运⾏下列代码,当输⼊为12时,输出结果是{{ input(25) }}

image

  1. 运⾏下列代码,当输⼊为3 3时,结果是{{ input(26) }}

image

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

  1. int a[2][2] = {1}表⽰把⼆维数组中的所有元素初始化为1。( )

{{ select(27) }}

  1. 设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第⼀维的⼤⼩是4。( )

{{ select(28) }}

  1. ⼗进制数10转换成⼗六进制为B。( )

{{ select(29) }}

  1. 流程图是表⽰算法思路的⼀种⽅法。( )

{{ select(30) }}

  1. ⾃减运算符“--”可以⽤于变量,也可以⽤于常量。( )

{{ select(31) }}

  1. 在多重循环中,内层循环的循环变量引⽤的次数⽐外层循环多。( )

{{ select(32) }}

  1. 192.168.77.91是⼀个正确的IPv4地址。( )

{{ select(33) }}

  1. do...while的循环体⾄少执⾏⼀遍。( )

{{ select(34) }}

  1. 程序流程图中,圆⻆矩形表⽰判断。( )

{{ select(35) }}

  1. printf("%.3f",&a); 可以输出浮点数a并保留3位⼩数。( )

{{ select(36) }}