2024年12月真题
一、单选题(每题2分,共30分)
正确答案:C. 人工智能
解析:
瑞典皇家科学院10月8日宣布,将2024年诺贝尔物理学奖授予约翰·J·霍普菲尔德(John J。 Hopfield)和杰弗里·E·辛顿(Geoffrey E。 Hinton),以表彰他们利用人工神经网络实现机器学习的奠基性发现和发明。
正确答案:C. 纯血鸿蒙
解析:
- A. 高德地图:应用软件,提供地图数据和导航服务
- B. 腾讯会议:应用软件,是一款音视频会议软件
- C. 纯血鸿蒙:华为研发的操作系统
- D. 金山永中:应用软件,一款办公软件
正确答案:D.
解析:双引号中的内容可以是任何符号,数字、汉字、字符等;B、C不对,C++中字符串常量只能用双引号包含,注意和Python的区别。D选项正确,变成三个连续英文双引号,对于输出效果没影响。
正确答案:B.
解析:考察运算符以及运算符的优先级。题目中出现了算术运算符 - 和 ,逻辑运算符 &&,算数运算符优先级高于逻辑运算符,先算乘,再算-,最后算逻辑与&&,结果为 真(1)
正确答案:B.
解析:考察运算符以及运算符的优先级。2/3+2%3 结果 2
正确答案:D
解析:考察输出字符串常量和运算符。7%3 结果 1,单引号以及双引号里内容原样输出
正确答案:B
解析:取余运算符。一周7天,周一到周日(周零)正好是对7取余的余数,给了今天是星期几 nowDay 以及过的天数 afterDays,加起来对 7 取余的余数即可计算几天后的星期几,需要注意的是余数0表示周天。
正确答案:C
解析:N初始值0,循环进行了9次,N加了9次1,循环结束N值为9, i 的值为10,最后输出 N+i,是19
正确答案:C
解析:累计0~99的个位数,(0+1+2+3+4+5+6+7+8+9)*10,结果为450。
正确答案:C
解析:循环步长为5,i 的取值:5、10、15、20…,循环内部,第4行,如果是偶数,跳过本次循环,第7行,大于等于50,跳出循环。因此当 i 取值为5、15、25、35、45、55时计数器 tnt 加1,循环结束tnt值为6,答案C
正确答案:D
解析:注意区分数据真假性 和 关系表达式的真假。偶数:能被2整除,也即对2做取余运算,余数为0。
正确答案:C
解析:i++:后加加,先使用i,i再自增1。循环内部 i 自增1,循环步长 i++,也是自增1,一次循环 i 相等于加了2次,因此每次循环累加到 cnt 上的 i 为:1、3、5、7、9,结果25
正确答案:D
解析:正方形周长增加4,边长增加1。只有D选项的语句执行完后边长 a 的值增加了1。
正确答案:B
解析:6>2 关系运算符,关系成立,结果为真,值为1,1*2,结果为2。
正确答案:D
解析:数位分离,交替使用除和取余运算可以从数中逐个剥离每一位的数。初始化操作,n2保存输入数据的个位数,N /= 10,把个位数剥离出去。
二、判断题(每题2分,共20分)
正确答案:正确,正确,错误
解析:
第1题:建立副本,用复制(Ctrl+C)、粘贴(Ctrl+V)快捷键。正确
第2题:8/3 得商2,8%3得余数也是2。正确
第3题:不一定,例如定义 X 为 double 类型变量,输入内容为123.3333333,输出内容为123.333。错误
正确答案:错误
解析:循环内第一条语句为continue,N+=1从未被执行过。循环结果N的值不变,还是0。
正确答案:错误
解析:循环条件 i<=100,循环条件不成立,循环结束。i 的值为101。
正确答案:错误
解析:循环变量初始化为0,循环条件 i<10,循环步长3。i值变化:0、3、6、9,L2被执行4次。
正确答案:错误、正确
解析:
第7题:这里逗号也可看作运算符,由逗号运算符组成的表达式的结果时最后一个逗号后边的内容,因此这里只输出2。
第8题:考察变量的命名规则。
正确答案:错误、错误
解析:
第9题:2e-1时科学计数表示形式,等于
2
∗
1
0
−
1
2*10^{-1}
2∗10−1,也即
2
10
\frac{2}{10}
102 ,也即0.2,0.2<1 关系表达式成立,结果为真,输出1。
第10题:break,跳出循环,continue,跳过本次循环。它们互相不干扰。
三、编程题(每题25分,共50分)
#include<iostream>
#include<iomanip>
using namespace std;
int main() {
double k, c, f; //开尔文温度k,摄氏温度c,华氏温度f
cin>>k;
c = k-273.15;
f = c*1.8+32;
if(f>212) cout<<"Temperature is too high!";
else cout<<fixed<<setprecision(2)<<c<<" "<<f;
return 0;
}
//C语言风格代码
#include<cstdio>
int main() {
double k, c, f; //开尔文温度k,摄氏温度c,华氏温度f
scanf("%lf", &k);
c = k-273.15;
f = c*1.8+32;
if(f>212) printf("Temperature is too high!");
else printf("%.2lf %.2lf", c, f);
return 0;
}
#include<iostream>
using namespace std;
int main() {
int n, num, cnt1=0, cnt2=0;
cin>>n;
for(int i=0; i<n; i++){
cin>>num;
if(num%2 != 0) cnt1++;
else cnt2++;
}
cout<<cnt1<<" "<<cnt2;
return 0;
}