2024 年 10 月 8 日,诺贝尔物理学奖“意外地”颁给了两位计算机科学家约翰·霍普菲尔德(John J. Hopfield)和杰弗里·辛顿(Geoffrey E. Hinton)。这两位科学家的主要研究方向是( )。
C: 人工智能(神经网络/深度学习)。霍普菲尔德网络/辛顿深度学习
下列软件中是操作系统的是( )。
C: 纯血鸿蒙是华为HarmonyOS NEXT,纯自研内核的操作系统
有关下列 C++ 代码的说法,正确的是( )。
printf("Hello,GESP!");
(题选项均为错误或异常,推测选项C/D之一) C++11有R"()"原始字符串字面量;三个双引号非法。建议选D(Python风格,实际C++不合法,可能题有E选项)→ 此题选项不完整
C++ 表达式 12 - 3 * 2 && 2 的值是( )。
12-3*2&&2=12-6&&2=6&&2=1。*优先-; &&短路求值,6真→评估2
在 C++ 中,假设 N 为正整数 2,则 cout << (N / 3 + N % 3) 将输出( )。
N=2,2/3=0(整除),2%3=2,0+2=2。/和%左结合
C++ 语句
cout << 7%3 << ' ' << "7%3" << ' ' << "7%3={7%3}"
执行后的输出是( )。
7%3=1,空格(字符字面),字面"7%3",空格,字面"7%3={7%3}",完整"1 7%3 7%3={7%3}"
下面 C++ 代码执行后,求出几天后星期几。如果星期日则输出 星期天,否则输出形如 星期1。横线上应填入的代码是( )。
01int N, nowDay, afterDays; 02cout << "今天星期几?" << endl; 03cin >> nowDay; 04cout << "求几天后星期几?" << endl; 05cin >> afterDays; 06 07N = nowDay + afterDays; 08 09if (____________) 10 printf("星期天"); 11else 12 printf("星期%d", N % 7);
B: N%7==0。星期日对应0,nowDay+afterDays模7得新星期
下面 C++ 代码执行后输出是( )。
01int N = 0, i; 02for (i = 1; i < 10; i++) 03 N += 1; 04cout << (N + i);
for i=1..9 10次N+=1 N=10,循环后i=10, N+i=20
下面 C++ 代码执行后输出的是( )。
01int tnt = 0; 02for (i = 0; i < 100; i++) 03 tnt += i % 10; 04cout << tnt;
tnt=Σi%10 (i=0..99) = 10*(0+1+..+9) = 10*45=450。每10个数一轮余数和45
下面 C++ 代码执行后输出的是( )。
01int N = 0, i; 02int tnt = 0; 03for (i = 5; i < 100; i += 5) { 04 if (i % 2 == 0) 05 continue; 06 tnt += 1; 07 if (i >= 50) 08 break; 09} 10cout << tnt;
for i=5,10,15,...,50,55,60,...: 偶continue, 奇tnt++, 50后break。i=5,15,25,35,45 → tnt=5 → D
下面的程序用于判断输入的整数 N 是否为能被 3 整除的偶数,横线处应填写代码是( )。
01int N; 02cin >> N; 03 04if (____________) 05 cout << "能被3整除的偶数" << endl; 06else 07 cout << "其他情形" << endl; 08 09cout << endl;
D: N%2==0 && N%3==0。能被3整除的偶数=既%2==0又%3==0
下面 C++ 代码执行后的输出是( )。
01int cnt; 02 03cnt = 0; 04for (int i = 1; i < 10; i++) 05 cnt += i++; 06cout << cnt; 07 08cout << endl;
for i=1..9 cnt+=i++: i序列1,3,5,7,9共5次,cnt=1+3+5+7+9=25
int 类型变量 a 的值是一个正方形的边长,如下图中的正方形的四条边长都为 4,则下列哪个语句执行后能够使得正方形的周长(四条边长的和)增加 4?( )
+ + + + + + + + + + + + + + + +
C: a+1。边长+1周长+4(a*4→(a+1)*4=4a+4)
C++ 表达式 (6 > 2) * 2 的值是( )。
(6>2)2=12=2。关系运算结果bool转int:true=1,false=0,再*2=2
下面 C++ 代码用于判断输入的整数是否为位增数,即从首位到个位逐渐增大,是则输出 1。如 123 是一个位增数。下面横线处应填入的是( )。
01int N; 02int n1, n2; 03 04cin >> N; 05 06____________; 07while (N) { 08 n1 = N % 10; 09 if (n1 >= n2) { 10 cout << 0; 11 return 1; 12 } 13 n2 = n1, N /= 10; 14} 15 16cout << 1; 17 18cout << endl; 19return 0;
D: n2=N%10,N/=10。初始化n2为首位(对N=123,n2=3=首位),循环取末位对比
在 Windows 的资源管理器中为已有文件 A 建立副本的操作是 Ctrl+C,然后 Ctrl+V。
正确。Windows复制文件Ctrl+C→Ctrl+V建副本
在 C++ 中,表达式 8 / 3 和 8 % 3 的值相同。
正确。8/3=2(整除),8%3=2(余数),巧合相同。特例非普遍
X 是 C++ 语言的基本类型变量,则语句 cin >> X, cout << X 能接收键盘输入并原样输出。
错。cin>>X读基本类型,按X类型转换输入(如int会截断),非"原样输出"
下面 C++ 代码执行后将输出 10。
01int N = 0; 02for (int i = 0; i < 10; i++) { 03 continue; 04 N += 1; 05} 06cout << N;
正确。continue跳过本轮剩余体, N+=1不执行, N=0
下面 C++ 代码执行后将输出 100。
01int i; 02for (i = 0; i <= 100; i++) 03 continue; 04cout << i;
错。for(i=0;i<=100;i++)continue; i最后=101,不是100
下面 C++ 代码被执行时,将执行三次输出(即标记行 L2 将被执行三次)。(备注:原题中这里描述为:“即标记行 L2 将被执行一次”)。
01for (int i = 0; i < 10; i += 3) 02 cout << i; // L2
错。for(i=0;i<10;i+=3):i=0,3,6,9,共4次输出(题注释提到"3次",但i=0,3,6,9实际4次)
C++ 语句 cout << (3, 2) 执行后,将输出 3 和 2,且 3 和 2 之间有逗号间隔。
错。逗号表达式(3,2)=2,输出"2"无逗号
在 C++ 代码中,studentName、student_name 以及 sStudentName 都是合法的变量名称。
正确。标识符=字母数字下划线,首字符非数字,三种命名都合法
在 C++ 中,对浮点变量 float f,则语句 cin >> f; cout << (f < 1); 在输入是 2e-1 时,输出是 0。
错。2e-1=0.2<1真,输出1(真),不是0
在 C++ 的循环体内部,如果 break 和 continue 语句连续在一起,那么作用抵消,可以顺利执行下一次循环。
错。break跳出循环,continue不可达。两者不会同时执行