下列流程图的输出结果是?( )
(流程图猜:分数→评级)→ A: 优秀
以下选项中不符合 C++ 变量命名规则的是?( )
B: 2_from。标识符不能数字开头
以下选项中,不能用于表示分支结构的 C++ 保留字是?( )
B: return。return是函数返回关键字非分支。if/else/switch是分支
下列说法错误的是?( )
C: C++无foreach(foreach是C#/PHP等语言)
下列 4 个表达式中,答案不是整数 8 的是?( )
D: sqrt(64)=8.0(double)非整数8
下面 C++ 代码执行后的输出是?( )
01int n, a, m, i; 02 03n = 3, a = 5; 04m = (a - 1) * 2; 05for (i = 0; i < n - 1; i++) 06 m = (m - 1) * 2; 07 08cout << m;
C: 26。m=(5-1)*2=8,i=0,1: m=14,26
下面 C++ 代码执行后的输出是?( )
01int n, i, result; 02 03n = 81; 04i = 1, result = 1; 05while (i * i <= n) { 06 if (n % (i * i) == 0) 07 result = i * i; 08 i += 1; 09} 10 11cout << result;
D: 81。找最大i²≤n且n%i²==0,81%81=0 result=81
下面 C++ 代码执行后的输出是?( )
01int s, t, ans; 02s = 2, t = 10; 03ans = 0; 04while (s != t) { 05 if (t % 2 == 0 && t / 2 >= s) 06 t /= 2; 07 else 08 t -= 1; 09 ans += 1; 10} 11cout << ans;
A: 2。t=10→5→2,s==t停,ans=2
下面 C++ 代码执行后的输出是?( )
01int n, masks, days, cur; 02n = 17, masks = 10, days = 0; 03cur = 2; 04while (masks != n) { 05 if (cur == 0 || cur == 1) 06 masks += 7; 07 masks -= 1; 08 days += 1; 09 cur = (cur + 1) % 7; 10} 11 12cout << days;
C: 7。模拟7天后masks=17=n
以下 C++ 代码判断一个正整数 N 的各个数位是否都是偶数。如果都是,则输出 是,否则输出 否。例如 N=2024 时输出 是。则横线处应填入( )。
01int N, Flag; 02cin >> N; 03Flag = true; 04while (N != 0) { 05 if (N % 2 != 0) { 06 Flag = false; 07 ____________ 08 } 09 else 10 N /= 10; 11} 12if (Flag == true) 13 cout << "是"; 14else 15 cout << "否";
A: break。检测到奇数位立即跳出,不再继续处理
有句俗话叫“三天打渔,两天晒网”。如果小杨前三天打渔,后两天晒网,一直重复这个过程,以下程序代码用于判断,第 天小杨是在打鱼还是晒网,横线处应填写?( )
01int n, i; 02cin >> n; 03i = n % 5; 04if (____________) // 在此处填写代码 05 cout << "晒网"; 06else 07 cout << "打鱼";
D: i==0 || i==4。n%5=0(第5天,晒)或4(第4天,晒)都是晒网
一个数的所有数字倒序排列后这个数的大小保持不变,这个数就是回文数,比如 101 与 6886 都是回文数,而 100 不是回文数。以下程序代码用于判断一个数是否为回文数,横线处应填写?( )
01int n, a, k; 02cin >> n; 03a = 0; 04k = n; 05while (n > 0) { 06 a = ____________; // 在此处填写代码 07 n /= 10; 08} 09if (a == k) 10cout << "是回文数"; 11else 12cout << "不是回文数";
A: 10*a+n%10。逆序构造,末位先入a高位
给定两个整数 n 与 k,打印出一个栅栏图形,这个栅栏应该分成 n 段,段与段之间的间隔字符是 ASCII 加号 +,段内的填充字符是 k 个 ASCII 减号 -。形如 n = 5,k = 6 时,图形如下:
+------+------+------+------+------+
以下程序代码用于绘制该图形,横线处应填写?( )
01int n, k, i, j; 02n = 5, k = 6; 03for (i = 0; i < n; i++) { 04 ____________ // 在此处填写代码 05 for (j = 1; j < k; j++) 06 cout << '-'; 07} 08cout << '+';
C: cout<<'+'。每段先打+再打k-1个-,+在段首输出
小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是( )。
C: 操作系统。鸿蒙是华为OpenHarmony OS
中国计算机学会(CCF)在 2024 年 1 月 27 日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。
C: 汉字激光照排。王选发明汉字激光照排系统,被誉为"汉字印刷术第二次革命"
如果有以下 C++ 代码:
01double s; 02int t; 03s = 18.5; 04t = int(s) + 10;
那么 cout << t 的结果为 28.5。
错。t=int(18.5)+10=18+10=28,不是28.5
Xyz,xYz,xyZ 是三个不同的变量。
正确。Xyz/xYz/xyZ大小写不同是不同变量,C++大小写敏感
cout << (8 < 9 < 10) 的输出结果为 true。
正确。8<9<10: 1<10=1(true)
for (i = 0; i < 100; i += 2); 语句中变量 i 的取值范围是 0 到 99。
错。i=0,2,4,...,98共50个值,i=98后i+=2=100不<100退出,范围0~98不是0~99
C++ 中 cout << float(2022) 与 cout << float('2022') 运行后的输出结果均为 2022。
正确。float(2022)=2022.0,float('2022')转浮点=2022.0,均输出2022
已知 A 的 ASCII 码值为 65,表达式 int('C') + abs(-5.8) 的值为 72.8。
错。int('C')=67,abs(-5.8)=5(整型),67+5=72不是72.8
bool() 函数用于将给定参数或表达式转换为布尔类型。语句 bool(-1) 返回的是 false 值。
错。bool(-1)返回true(非0)
如果变量 a 的值使得 C++ 表达式 sqrt(a) == abs(a),则 a 的值为 0。
正确。sqrt(a)=abs(a):sqrt(0)=0=abs(0),sqrt(1)=1=abs(1),a=0或1
小杨今年春节回奶奶家了,奶奶家的数字电视要设置 ip 地址并接入到 WIFI 盒子才能收看节目,那这个 WIFI 盒子具有路由器的功能。
错。机顶盒是信号转换设备,不是路由器,无路由功能
任何一个 for 循环都可以转化为等价的 while 循环。
for(初值;条件;步长),可0次;for/while/do-while(入门)