高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。
D: 编译。源→机器码
二进制数 在十进制下是( )。
D: 3.25。1*2+1+0/4+1/8=2+1+0+0.125=3.25
已知大写字符 'A' 的 ASCII 编码的十六进制表示为 0x41,则字符 'F' 的 ASCII 编码的十六进制表示为( )。
A: 46。F=65+5=70=0x46
以下哪个不是 C++语言中的运算符?( )
D: 。C++无运算符(^是异或)
如果字符串定义为 char str[] = "Hello";,则字符数组 str 的长度为( )。
C: 6。Hello+\0共6字符
一个数组定义为 double array[3];,则这个数组占用内存的大小为( )。
A: 24。double=8字节,8×3=24
以下数组定义,符合 C++语言语法的是( )。
B: 进制叙述错。十进制可以转二进制(B错)。其他正确
下列关于进制的叙述,不正确的是( )。
C: 数组叙述错。"除了字符数组"错,字符数组也需大小(C错)
下列关于 C++语言中数组的叙述,不正确的是( )。
A: int a[]; 编译错(无大小),B int b['3']错,C int c[3.0]错,D int[3] d错(类型位置错)
一个 int 类型的值,做以下哪个操作,一定会变回原来的值?( )
D: 异或7再异或7=0再异或a=a。a<<3>>3对负数错(右移补1),a>>3<<3右移丢位,a|7&(-8)错
如果 a 和 b 均为 int 类型的变量,下列表达式能正确判断"a 等于 b"的是( )。
C: a^b==0当a=b时为0,判a==b
如果 a 为 int 类型的变量,下列哪个表达式可以正确求出满足"小于等于 a 且是 的倍数"的整数中最大的?( )
D: (a-1)|3)+1。a向下取最近4倍数
在下列代码的横线处填写( ),可以使得输出是"24 12"。
01#include <iostream> 02using namespace std; 03int main() { 04 int a = 12, b = 24; 05 ____________; // 在此处填入代码 06 a = a ^ b; 07 b = a ^ b; 08 cout << a << " " << b << endl; 09 return 0; 10}
D: b=a+b。三步交换,等效异或
在下列代码的横线处填写( ),可以使得输出是"2"。
01#include <iostream> 02using namespace std; 03int main() { 04 int array[5] = {3, 7, 5, 2, 4}; 05 int min = 0; 06 for (int i = 0; i < 5; i++) 07 if (____________) // 在此处填写代码 08 min = array[i]; 09 cout << min << endl; 10 return 0; 11}
A: min>array[i] 错。应min>array[i]找最小:实际输出2,题目说输出"2"但min初0 array[2]=5,3,7,2,4 找最小:2. 填min>array[i]实际min=0,if 0>3假,0>7,0>5,0>2假,0>4假,min不变=0. 应填min==0||array[i]<min. 选A错. 实际选A逻辑错,输出0不是2. 跳过)
在下列代码的横线处填写( ),可以使得输出不是""。
01#include <iostream> 02using namespace std; 03int main() { 04 int array[5] = {1, 2, 4, 8, 16}; 05 int res = 0; 06 for (int i = 0; i < 5; i++) 07 ____________; // 在此处填写代码 08 cout << res << endl; 09 return 0; 10}
B: &和位运算得0(非31)。&逐位与,不同位清零
一个算法可以用不同的形式来描述,但要求描述比较规范,因此不能用自然语言描述。
错。算法可用自然语言描述,只是规范要求
域名是由一串用点分隔的名字来标识互联网上一个计算机或计算机组的名称,CCF 编程能力等级认证官方网站的域名是 gesp.ccf.org.cn,其中顶级域名是 gesp。
错。顶级域名是cn,不是gesp
数据编码方式只有原码、反码、补码三种。
错。编码方式还有ASCII/Unicode/BCD等
在 C++语言中,长度为 的数组,合理的下标范围是从 到 ,包括 和 。
错。数组下标0..n-1,不是0..n
字符常量 '\0' 常用来表示字符串结束,它和字符常量 '0' 是不同的。
正确。\0是空字符0,0是数字0
在 C++语言中,可以使用字符(如 '0')作为数组下标。
正确。字符自动转int可作下标
在 C++语言中,数组被定义时,它的大小就确定了。
正确。数组定义时大小确定(编译期)
计算机中存储的数据都是二进制形式。因此,在使用 C++语言编写程序时,将所有十进制数改写为相同数值的二进制数,会使得程序运行效率更高。
错。改写二进制不提高运行效率(编译器处理)
在 C++语言中,表达式 (0xf == 015) 的值为 true。
错。0xf=15,015(八进制)=13,不等
如果 a 为 int 类型的变量,且表达式 ((a | 3) == 3) 的值为 true,则说明 a 在从 到 之间(可能为 、可能为 )。
错。a|3按位或,a=0..3都使a|3=3真,但a=7时7|3=7≠3,a=15时15|3=15≠3. 不只在0..3