如果字符变量 _1 的值是字符 '1',那么 (int)_1 的值是( )。
C: 49。_1='1' ASCII=49
a、b 是整型变量,各自有互不相同的初始值。下列程序实现了什么效果( )。
a=a^b; b=a^b; a=a^b;
B: 异或三步交换 a和b值互换
关于下列正确的程序段,说法正确的是( )。
01char str1[] = "Hello"; 02char str2[] ={'H','e','l','l','0'};
(跳,需完整选项)
关于以下程序段,说法正确的是( )。
01int x=10; 02cout<<(x++) + (++x)<<endl;
A: UB。x++和++x同一表达式未定义行为
位二进制下,十进制数 的补码是( )。
D: 11110001。15=00001111,取反11110000,+1=11110001
三进制数 转换成十进制是( )。
B: 65。2102_3=227+19+0*3+2=54+9+0+2=65
二进制数 10110101 是某数的 位补码,该数的十进制是( )。
B: -75。10110101取反=01001010,+1=01001011=75,-75
已知 unsigned char c = 0x0F;(十六进制 0F = 二进制 00001111),执行 c = c << 3; 后,c 的十进制值是( )。
D: 120。0x0F<<3=0x78=120
补码的情况下,关于按位取反运算,用笔计算的情况下,以下说法错误的是( )。
B: ~0=0错误。32位~0=0xFFFFFFFF=-1,不是0
执行以下 C++ 代码后,sub 的值是( )。
01string str = "GESP2026"; 02string sub = str.substr(4, 2);
A: 20。substr(4,2)从索引4开始2字符="20"
执行以下代码后,输出结果是( )。
01int arr[] = {5, 10, 15, 20, 25, 30}; 02int count = sizeof(arr) / sizeof(arr[0]); 03cout << count;
B: 6。sizeof=24/4=6元素
执行以下代码后,输出结果是( )。
01char s[10] = "abcde"; 02int a = sizeof(s) / sizeof(s[0]); 03int b = strlen(s); 04cout << a - b;
B: 5。s[10]占10字节,strlen=5,a-b=5
以下问题中,最不适合用枚举法解决的是( )。
C: 1..1000求和。直接公式最简,枚举繁重
用枚举法解决"鸡兔同笼问题:头共 个,脚共 只,求鸡和兔的数量",以下枚举逻辑最合理的是( )。
A: 枚举鸡数x(0..35)兔y=35-x,判2x+4y=94
模拟"字符串加密":规则为"每个字符 ASCII 码 ,若超过 'z'()则从 'a' 重新开始",以下代码中正确的条件判断是( )。
01for (int i = 0; i < str.length(); i++) { 02 // 需补充条件: 03 ____________ 04 else { 05 str[i] += 3; 06 } 07}
C: if(str[i]+3>122)str[i]=str[i]-26。加3后越界回绕
定义 int arr[5] = {1,2,3};,则 arr[3] 的值为 ,arr[5] 是合法下标。
错。arr[3]=0,arr[5]越界不合法
定义 double arr[10];,未手动初始化时,数组中所有元素的默认值为 。
错。double未初值不保证0(标准未规定)
定义 int arr[] = {1,2,3};,则 sizeof(arr) 的结果为 (int 占 字节)。
正确。sizeof({1,2,3})=12字节(3个int)
下面的流程图是用来求 的和。这个流程图的逻辑正确。
(跳,需看流程图)
下面流程图的功能是计算 对 取余数,输出结果为 。这个流程图的逻辑正确。
(跳,需看流程图)
已知大写字符 'A' 的 ASCII 编码的十六进制表示为 0x41,计算字符 'm' 的 ASCII 编码的八进制表示为 (八进制)。
正确。'm'=109_10=155_8
在 C++ 位运算中,各种不同的运算符有优先级的区分,使用括号能够解决优先级的问题。
正确。位运算有优先级,括号可强制
由于在 范围内,char 类型和 int 类型可以互换,因此在这里 x 和 y 相等。
01char x='1'; 02int y=1;
错。x='1'=49(int),y=1,不等
在 C++ 语言中,表达式 ((0xf0 + 0x15) == 255) 的值为 true。
正确。0xf0+0x15=240+21=255
如果 a 为 int 类型的变量,且 a 的二进制最低位为 ,则表达式 ((a & 3 & 1) == 0) 的值为 true。
正确。a最低位0则a&1=0, a&3&1=0==0真