整数 -5 的 位补码表示是( )。
D: FFFB。-5 16位补码取反+1=FFFB
如果 位短整数 -2 的二进制是 "FFFE",则短整数 -4 的十六进制是( )。
C: FFFC。-4 16位补码=FFFC
下面 C++ 代码执行后的输出是( )。
01int main() 02{ 03 cout << (3|16) << endl; 04 cout << endl; 05 return 0; 06}
C: 19。3|16=00011|10000=10011=19
定义整数 int x=-5,则执行 C++ 代码 cout << (x == (x<<1>>1)) 输出是( )。
B: 1。x=-5,x<<1=-10,x>>1=-5(有符号算术移),==-5真输出1
已知字符 '0' 的 ASCII 编码的十进制表示为 ,则执行下面 C++ 代码后,输出是( )。
01int main() 02{ 03 string s="316"; 04 int n=s.length(); 05 int x=0; 06 for(int i = 0; i < n; i++) 07 x += s[i]; 08 cout << x << endl; 09 cout << endl; 10 return 0; 11}
C: 154。x+='3'+'1'+'6'=51+49+54=154
下面 C++ 代码执行后数组中大于 的数的特征是( )。
01int main() 02{ 03 int a[20],i; 04 for(i = 0; i < 20; i++) 05 a[i] = i+1; 06 07 for(int i = 0; i < 20; i++) 08 if((a[i]%2)&&(a[i]%3)) 09 a[i] = 0; 10 for(i = 0; i < 20; i++) 11 if(a[i]) 12 cout << a[i] << " "; 13 14 cout << endl; 15 return 0; 16}
(跳,需完整选项)
执行下面 C++ 代码后输出的第一个数是( )。
01int main() 02{ 03 int a[20],i; 04 for(i = 0; i < 20; i++) 05 a[i] = i+1; 06 for( ; i > 0; i--) 07 cout << a[i-1] << " "; 08 cout << endl; 09 return 0; 10}
B: 等于。3|16=19,a+b=19
在下列代码的横线处填写( ),可以使得输出是 GESP IS INTERESTING。
01int main() 02{ 03 string str="gEsP is Interesting"; 04 int x = str.length(); 05 for(int i = 0; i < x; i++) 06 if ((str[i]>='a') && (str[i]<='z')) 07 ____________; 08 cout << str << endl; 09 cout << endl; 10 return 0; 11}
C: 操作系统。鸿蒙是华为OS
假设英文句子由若干词构成。下面 C++ 代码统计输出的词数是( )。
01int main() 02{ 03 string str="gEsP is Interesting !"; 04 int x = str.length(); 05 int nwords = 0; 06 07 for(int i = 0; i < x; i++) 08 if (str[i]==' '){ 09 nwords++; 10 while(str[++i]==' ') ; 11 } 12 cout << nwords << endl; 13 14 cout << endl; 15 return 0; 16}
C: 发明汉字激光照排系统
C++ 的字符变量的码值是整数,下面字面量形式的字符码值最大的是( )。
C: 0x70=112最大。100<075(61)<0x70(112)>0x60(96)
下面 C++ 程序执行的结果是( )。
01int main() 02{ 03 int a[20],i; 04 int cnt=0; 05 for(i = 0; i < 20; i++) 06 a[i] = i+1; 07 08 for( ; i > 1; i--) 09 if((a[i-1]+a[i-2])%3) 10 cnt++; 11 cout << cnt << endl; 12 cout << endl; 13 return 0; 14}
D: 12。i递减20..2,a[i-1]+a[i-2]%3非0的共12次
定义字符数组 char str[20] = {'G', 'E', 'S', 'P'};,则 str 的字符串长度为( )。
A: 4。char str[20]={...4字符}未\0结尾,strlen到\0为止。若\0在str[4],长度4
定义整型变量 int a=3, b=16,则 a|b 的值和 a+b 的关系是( )。
A: 油量表。选路与油量无关
小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是( )。
C: 发明汉字激光照排系统
中国计算机学会(CCF)在 2024 年 1 月 27 日的颁奖典礼上颁布了王选奖,王选先生的重大贡献是( )。
(跳,需完整选项)
任意整数 a 的二进制反码与补码都有 位不同。
错。反码和补码差1位只在-0等特殊值,a一般反码=补码-1
对整型变量 int a = 3,执行 C++ 代码 a<<2 将把 输出到 a 中。
错。a<<2返回12不是赋值到a
下面 C++ 代码可以计算 到 的累加和,采用的是穷举法。
01int main() 02{ 03 int i,sum=0; 04 for(int i = 1; i <= 100 ; i++) 05 sum += i; 06 cout << sum << endl; 07 cout << endl; 08 return 0; 09}
正确。for i=1..100累加是穷举法遍历
一个 int 类型变量 a,执行操作 (a<<2>>2) 后的值一定是 a。
错。有符号右移高位补1,可能丢位变-1等
在 C++ 语言中,(010<<1) 执行结果是 。
错。(010八进制<<1)=20不是100
执行下面 C++ 代码后将输出 。
01int main() 02{ 03 string str="gEsP is Interesting"; 04 int x = str.find("s"); 05 cout << x << endl; 06 cout << endl; 07 return 0; 08}
正确。str.find("s")在索引2
在 C++ 语言中,字符数组被定义时,它的大小可以调整。
错。字符数组大小定义时固定
对定义的数组 int a[7]={2,0,2,4,3,1,6},可以用简单循环就找到其中最小的整数。
正确。简单循环遍历找最小值0
小杨今年春节回奶奶家了,奶奶家的数字电视要设置 ip 地址并接入到 WIFI 盒子才能收看节目,那这个 WIFI 盒子具有路由器的功能。
错。机顶盒无路由功能
任何一个 for 循环都可以转化为等价的 while 循环。
正确。for和while可互转