#807. 2023年全国青少年信息素养大赛初赛

2023年全国青少年信息素养大赛初赛

选择题15题,判断题5题,每题5分,共100分

1、以下说法错误的是( )

{{ select(1) }}

  • C++是面向对象的编程语言
  • 在使用固定用法的函数前必须声明与之有关的头文件
  • 四种基本数据类型中,除了浮点数据以外,其他类型的数据转换为整型数据均可以做到不丢失精度
  • 浮点数据强制转换成整型数据以后小数位四舍五入

2、若已定义变量 int f,g; 则表达式 f=1,g=f+5*1.0/4;的值是:( )

{{ select(2) }}

  • 2.0
  • 2.25
  • 2
  • 1.5

3、已知 bool A=true,B=true,C=false,D=false; 下列逻辑表达式的结果为 false 的是: ( ) {{ select(3) }}

  • A||B||C||D
  • A&&(B||C)||D
  • (A||C)&&(B||D)
  • A&&(B||C)&&D

4、以下选项错误的是。 ( )

{{ select(4) }}

  • 十进制数 4 转换成 2 进制数为 100
  • 2 进制数 110110 转换成 10 进制数为 54
  • 8 进制起始用 0 表示
  • 0x 表示 18 进制

5、下列程序的输出结果是:( )

#include <iostream>
using namespace std;
int main(){
  char c1='A',c2='B';
  printf("%d %c",c2,c1);
  return 0;
}

{{ select(5) }}

  • B A
  • 66 A
  • 65 B
  • A B

6、分析下列程序的输出结果:( )

#include <iostream>
using namespace std;
int main(){
  int x = 2,y = 3,z = 4;
  if(x++<y){
    x++;
    y++;
  }else ++z;
  cout<<x<<" "<<y<<" "<<z<<endl;
  return 0;
}

{{ select(6) }}

  • 4 4 4
  • 3 3 5
  • 2 3 5
  • 4 4 5

7、有如下程序代码:

#include <iostream>
using namespace std;
int main(){
    int k=60;
    while(k>1){
      cout<<k;
      k=k/2;
    }  
  return 0;
}

上述while循环的运行次数是:( ) {{ select(7) }}

  • 4
  • 0
  • 5
  • 6

8、 执行语句 int i; for(i=0;++i<4;i++);后,变量 i 的值是:( )

{{ select(8) }}

  • 3
  • 4
  • 5
  • 6

9、定义数组 int a[5];,以下对数组操作正确的是:( )

{{ select(9) }}

  • a[0]='a';
  • a={0,1,2,3,4};
  • a[5]=5;
  • int a[0]=0;

10、以下程序的输出结果是:( )

int sum=0;
for(int i=1;i<=6;++i){
  if(i%2==1) continue;
  else sum+=i;
}

{{ select(10) }}

  • 12
  • 18
  • 20
  • 21

11、在 C++中,下面哪个关键字用于声明一个变量,其值不能被修改?( )

{{ select(11) }}

  • unsigned
  • const
  • static
  • mutable

12、 若有如下语句:

int a,b,c;

a=b=c=5;

则执行语句:

b+=++a&&++c>b

后 a、b、c 的值分别为()

{{ select(12) }}

  • 6,7,6
  • 6,6,6
  • 6,6,5
  • 6,1,6

13、以下可以作为变量名的是

{{ select(13) }}

  • __a_1
  • case
  • While 1
  • 12a

14、在下列代码横线处埴写(),可以将输入的单词的大写字母全部变小写。

int main(){
	char word[100];
	int l=strlen(word);
	for(int i=0;i<l;i++){
		if(word[i]>='A'&&word[i]<='Z'){
			____________________
		}
	}
	return 0;
}

{{ select(14) }}

  • word[i]-'a'+'A;
  • word[i]-='A'+'a';
  • word[i]+='A'-'a';
  • word[i]+='a'-'A';

15、有四个人要从 A 点坐一条船过河到 B 点,船开始在 A 点,该船一次最多可坐两个人,己知这四个人中每个人独自坐船的过河时间分别为 1, 2, 4, 8, 且两个人坐船的过河时间为两人独自过河时间的较大者。则最短()时间可以让四个人都过河到 B 点(包括从 B 点把船开回 A 点的时间)。

{{ select(15) }}

  • 14
  • 15
  • 16
  • 17

二、判断题(共5题,每题5分,共25分)

16、 C++中的 const 关键字可以用来定义常量,其值在程序运行期间能被修改。

{{ select(16) }}

  • 正确
  • 错误

17、在 C++中类型不同不能进行运算,比如'1'+1 的运算。()

{{ select(17) }}

  • 正确
  • 错误

18、使用 sqrt 函数,需要先恰当的引入头文件。()

{{ select(18) }}

  • 正确
  • 错误

19、while 语句的循环体至少会执行一次。()

{{ select(19) }}

  • 正确
  • 错误

20、表达式(3 &&0)||(0 && -1)的结果为假。()

{{ select(20) }}

  • 正确
  • 错误

21、条件"a+b>c&&b+c>a&&c+a>b"可以正确判断"a,b,c 三条边可以构成 三角形"() {{ select(21) }}

  • 正确
  • 错误

22、 C++表达式 ('1'+'1' == '2'? flag=1:flag=2) 的结果值和表达式 (flag==2) 的相同。( ) {{ select(22) }}

  • 正确
  • 错误