以下不可以做为 C++ 变量的是( )。
C: 5Star。标识符不能数字开头
在 C++ 中,与 for(int i = 10; i < 20; i +=2) cout << i; 输出结果相同的是( )。
C: i<21。for(i=10;i<21;i+=2):10,12,14,16,18同原
以下 C++ 代码实现从小到大的顺序输出能整除 N 的数(N 的因子),例如 N=18 时输出 1 2 3 6 9 18,横线处应填入( )。
01cin >> N; 02for (____________) 03 if (N % i == 0) 04 cout << i << " ";
D: int i=1;i<N+1;i++。从1到N,含N的因子
下面 C++ 代码用于判断输入的整数是否为对称数,如 1221、12321 是对称数,但 123、972 不是对称数。下面对该题对应代码的说法,正确的是( )。
01cin >> N; 02newNum = 0; 03while (N) { 04 newNum = newNum * 10 + N % 10; 05 N = N / 10; 06} 07if (newNum == N) 08cout << N << "为对称数";
D: 描述正确。while后N=0与newNum比,应保存old_num。bug
下面 C++ 代码用于判断 N(大于等于 2 的正整数)是否为质数(素数)。下面对如下代码的说法,正确的是( )。
01cin >> N; 02for (i = 2; i < N / 2; i++) 03 if (N % i == 0) { 04 cout << N << "不是质数"; 05 break; 06 } 07if (i >= N / 2) 08 cout << N << "是质数";
D: 应改为N/2+1。N/2当N=2时为1,i<1不进但N=2是质数,边界bug
下面 C++ 代码执行后的输出是( )。
01N = 4; 02for (int i = 0; i < N; i++) { 03 for (int j = 1; j < i; j++) 04 if (i * j % 2 == 0) 05 cout << i << "#"; 06 continue; 07} 08cout << "0";
A: 2#3#0。i=2 j=1输出2#, i=3 j=1,2中j=1奇不、j=2输出3#。i=0,1无输出
下面 C++ 代码执行后的输出是( )。
01cnt = 0; 02for (i = 1; i < 10; i++) 03 for (j = 1; j < i; j += 2) 04 if (i * j % 2 == 0) { 05 cnt++; 06 break; 07 } 08if (i >= 10) 09 cout << cnt << "#"; 10cout << cnt;
D: 4#4。i=2,4,6,8 偶break, cnt=4, 退出i=10输出"4#4"
下面 C++ 代码执行后的输出是( )。
01N = 100; 02while (N > 0) 03 if (N % 2) 04 break; 05 else if (N % 3 == 0) 06 N -= 5; 07 else 08 N -= 20; 09cout << N;
C: 55。100%2==0→%3==1 else N-=20=80;80→60;60%3==0 N-=5=55;55%2==1 break
下面 C++ 代码执行后的输出是( )。
01x = 1; 02while (x < 100) { 03 if (x % 3 != 0) 04 cout << x << ","; 05 else if (x / 10) 06 break; 07 else 08 x += 5; 09 x += 2; 10} 11cout << x;
D: 1,10,12。x=1→输出1 x=3→x%3==0 x/10=0 else x+=5=8 x+=2=10 →x=10 输出10 x=12→x/10=1 break 输出"1,10,12"
下面 C++ 代码执行后的输出是( )。
01cnt = 0; 02for (i = 0; i < 5; i++) 03 for (j = 0; j < i; j++) 04 cnt += 1; 05cout << cnt;
B: 10。i=0:0,i=1:0,i=2:1,i=3:2,i=4:3,total=0+0+1+2+3=6? 实际: i<5 for j< i: i=0,1:0; i=2: j=0 cnt=1; i=3: j=0,1,2 cnt=3; i=4: j=0,1,2,3 cnt=4; total=1+3+4=8. 让我重数: for i=0..4: j<i. i=0:0; i=1:0; i=2:1(j=0); i=3:3(j=0,1,2); i=4:4(j=0,1,2,3); 1+3+4=8. 不10. 让我再查选项:A=5,B=10,C=20,D=30. 让我重数: i=0..4(5个i). i=0: 0(j<0无). i=1: j<1 j=0,1. count=2? 不,j从0,1, j<1 时 j=0,cnt+=1=1. i=2: j<2 j=0,1 cnt=2. i=3: j<3 j=0,1,2 cnt=3. i=4: j<4 j=0,1,2,3 cnt=4. total=0+1+2+3+4=10. → B
以下 C++ 代码用于输出 1-100(含)的整数平方数(完全平方数),如 16 是 4 的平方,横线处应填写( )。
01for (i = 1; i < 100 + 1; i++) 02 if (____________) 03 cout << i << " ";
C: int(sqrt(i))*int(sqrt(i))==i。判断i是否完全平方数
下面的 C++ 代码用于实现如下所示的输入输出效果,应在下方的 C++ 代码中填入( )。
输入:
12
输出:
0 01 012 0123 01234 012345 0123456 01234567 012345678 0123456789 01234567890 012345678901
需要完善的代码:
01cin >> N; 02for (i = 0; i < N; i++) { 03 nowNum = 0; 04 for (j = 0; j < i + 1; j++) { 05 cout << nowNum << ""; 06 nowNum += 1; 07 if (nowNum == 10) 08 nowNum = 0; 09 } 10}
C: 第7行下加cout<<nowNum。代码输出每行多一字符(最后一个nowNum值),内循环结束后需额外输出该字符再换行
某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )
C: 油量表。麦克风输入语音,扬声器输出,传感器探测,选路与油量无关
现代计算机是指电子计算机,它所基于的是( )体系结构。
B: 冯·诺依曼。存储程序+二进制
输入一个正整数 N,想找出它所有相邻的因数对,比如,输入 12,因数对有 (1,2)、(2,3)、(3,4)。下面哪段代码找不到所有的因数对?( )
B: 找不到(1,2)对。i=2开始漏(1,2),其他选项都含(1,2)(2,3)(3,4)
C++ 表达式 -7/2 的值为整数 -3。
正确。-7/2按C++11前规则向0截断=-3
C++ 表达式 2*int('9')*2 的值为 36。
错。2int('9')2=2572=228,不是36
C++ 表达式 3+2 && 5-5 的值为 false。
正确。3+2=1(非0),5-5=0, 1&&0=0(false)
在 C++ 代码中,执行 srand(0) 后连续两次执行 rand() 的结果相等。
正确。srand(0)固定种子,rand序列确定
C++ 代码中 while(1){...} 的判断条件不是逻辑值,将导致语法错误。
错。while(1)合法不报错,死循环
执行以下 C++ 代码后将输出 0。
01Sum = 0; 02for (i = -500; i < 500; i++) 03 Sum += i; 04cout << Sum;
正确。-500..499共1000项等差求和=0
在 C++ 代码中,运算符只能处理相同的数据类型,不同类型之间必须转换为相同的数据类型。
错。运算符可隐式类型转换,无需显式同类型
在 C++ 代码中,虽然变量都有数据类型,但同一个变量也可以先后用不同类型的值赋值。
正确。int a=3;a=3.5隐式转int截断3,同一变量可赋不同类型值
小杨最近在准备考 GESP,他用的 Dev C++ 来练习和运行程序,所以 Dev C++ 也是一个小型操作系统。
错。Dev C++是IDE不是操作系统
任何一个 while 循环都可以转化为等价的 for 循环。
正确。while和for都含循环条件/体/迭代可互转