编程模拟题-四级C++ 1 / 45 十六进制数9A在几进制下是232( ) A. 四进制 B. 八进制 C. 十进制 D. 十二进制 本题从进制的转化方向考察学生知识认知能力。首先确定十六进制数9A在十进制下的数值。乘16的一次方(16^1)的数是A,等于10,乘16的零次方(16^0)的数是9,所以9A在十进制中应该等于916^1 + 1016^0 = 144 + 10 = 154。接着,我们需要找出一个进制,使得154以该进制表示时变成232。显然,这个进制就是八进制。因此,正确答案选B。 2 / 45 设 int a=1,b=2,c=3,表达式(a+b) A. 1 B. 0 C. 2 D. 无法计算 本题从表达式运算方向考察学生编程操作能力。给定int a=1, b=2, c=3,表达式(a+b) 3 / 45 人们利用计算机解决问题的基本过程一般有如下五个步骤,①调试运行程序 ②分析问题 ③设计算法 ④问题解决 ⑤编写程序,第②③④步应该是( ) A. 寻找方法、问题研讨、设计算法 B. 分析问题、设计算法、问题解决 C. 流程分析、问题研讨、问题解决 D. 流程分析、设计算法、问题研讨 本题从解决问题的步骤认知方向考察学生知识认知能力。在计算机问题解决过程中,正确的步骤通常是首先分析问题以了解问题的需求和条件,然后设计算法来解决问题,最后实施算法来解决问题。因此,正确答案选B。 4 / 45 char变量占用的空间大小是( ) A. 1字节 B. 2字节 C. 4字节 D. 8字节 本题从数据占用空间方向来考察学生的知识认知能力。在C++中,字符型数据(char)通常占用1个字节的空间。虽然这取决于具体的编译器和操作系统,但大多数情况下它都是1字节。根据题干要求,正确答案选A。 5 / 45 计算机存储单位排序正确的是( ) A. MB<KB<GB B. GB<MB<KB C. B<MB<GB D. GB<KB<MB 本题从对计算机存储单位大小顺序的理解方向考察学生知识认知能力。计算机存储单位从小到大的顺序是:Bytes(字节),KB,MB,GB等。因此,正确答案选C。 6 / 45 流程图中表示判断的是( ) A. 椭圆形框 B. 圆形框 C. 菱形框 D. 矩形框 本题从流程图各元素含义的理解方向考察学生编程操作能力。在流程图中,各种形状的框有各自的含义。椭圆形框通常用于表示开始或结束。圆形框通常表示连接或引用。菱形框表示判断或决策,其中会包含一个需要判断的问题,如”是否找到关键词”等。而矩形框则表示具体的执行步骤或操作。所以在流程图中,表示判断的是菱形框。因此,正确答案选C。 7 / 45 执行下列代码,输出的结果是( ) A. "123"+'a' B. 123+'a' C. 语句出错 D. 123a 本题从字符串和字符的运算方向考察学生编程操作能力。这段代码试图将一个字符(char)添加到一个字符串(string)。在 C++ 中,字符不能直接添加到字符串中。因此,这段代码会导致编译错误。因此,正确答案选C。 8 / 45 以下程序的运行结果是?( ) A. 6 B. 7 C. 8 D. 9 本题从分支结构的程序执行方向考察学生编程操作能力。这个程序将在k从7到0的过程中改变s的值。在case 1,case 4和case 7中,s自增1,共有三个这样的case,所以s将增加3。在case 5和case 0中,s增加2,这有两个这样的case,所以s又增加4。其他的case对s没有影响。所以,最终的s值将是 3 + 4 = 7。因此,正确答案选B。 9 / 45 下列程序的输出结果是?( ) A. 10 9 B. 11 10 C. 10 11 D. 11 11 本题从算术运算和程序执行方向考察学生编程操作能力。在这个程序中,我们首先将a的值输出并接着增加1。因为这是后置递增,所以在计算cout<<a++时,将a的原始值10输出,然后a自增为11。接下来,我们将新的a值输出并接着减去1。这也是一个后置操作,所以在计算cout<<a–时,将a的值11输出,然后a自减为10。所以,输出结果是10 11,因此,正确答案选C。 10 / 45 想要输出如下所示的图形,最适合的结构是( ) A. 循环结构 B. 顺序结构 C. 倒序结构 D. 分支结构 本题从程序设计方向考察学生编程操作能力。有规律的重复性图形的绘制适合用循环结构。因此,正确答案选A。 11 / 45 C++哪个语句用于停止循环?( ) A. stop B. return C. exit D. break 本题从停止循环的方法方向考察学生编程操作能力。在C++中,我们可以使用break语句来立即停止循环,不论当前循环条件是否满足。因此,正确答案选A。 12 / 45 在计算机中2KB等于多少字节( ) A. 218 B. 512 C. 1024 D. 2048 本题从计算机存储单位换算的了解方向考察学生知识认知能力。在计算机中,1KB等于1024字节,所以2KB等于2048字节。因此,正确答案选D。 13 / 45 在C++编程语言中,如何定义小数变量( ) A. bool B. char C. int D. double 本题从数据类型的定义方向考察学生编程操作能力。在C++编程语言中,小数一般由float和double类型表示因此,正确答案选D。 14 / 45 冯·诺依曼结构计算机由哪五部分组成( ) A. 存储器、控制器、调制解调器、输出设备、输入设备 B. 运算器、存储器、输入设备、控制器、输出设备 C. 主板、调制解调器、存储器、运算器、输出设备 D. 输入设备、主板、显示器、控制器、存储器 本题从对冯·诺依曼结构计算机的理解方向考察学生知识认知能力。冯·诺依曼结构计算机主要由以下五部分组成:存储器,运算器,控制器,输入设备和输出设备。因此,正确答案选B。 15 / 45 以下不是无限循环语句的是( ) A. for ( ; ;x+=1); B. while(1) { x++; } C. for(i=10; ;i–) sum+=i; D. for(y=0,x=1; x>++y; x=i++) i=x; 本题从对无限循环语句的掌握方向考察学生编程操作能力。无限循环是指不满足终止条件,会一直执行下去的循环。在这四个选项中,D选项”for(y=0,x=1; x>++y; x=i++) i=x;”不是无限循环,因为随着y的增加,最终会有x<=y,终止循环。因此,正确答案选D。 16 / 45 下列代码中,输出s的结果为( ) A. 3214 B. 321 C. 4321 D. 报错 本题从字符串处理和基本操作符使用方向考察学生编程操作能力。在C++中,”+”运算符被重载用于字符串的连接。但是,”+”运算符的优先级低于赋值”=”,所以在这个代码中,”4″+s实际上是”4″和s的地址相加,而不是字符串的连接,因此它会导致错误。如果你想连接”4″和s, 您应该这样写: s=s+”4″或者s+=”4″这样可以确保”+”是连接两个字符串,而不是相加他们的地址。因此,正确答案选D。 17 / 45 若设int x=3,y=6,z=4; 则下列表达式中值为0的是 ( ) A. !((x<y)&&!z||1) B. x&&y C. x<y D. x||y+z&&y-z 本题从逻辑运算的运算规则掌握方向考察学生编程操作能力。逐个检查每个表达式。选项A. !((x !(True && True || True) ===> !(True) ===> False,表达式结果为False,即0。选项B. x&&y ===> 3 && 6 ===> True,表达式结果为True,即非0。选项C. x 3 < 6 ===> True,表达式结果为True,即非0。选项D. x||y+z&&y-z ===> 3 || 6+4 && 6-4 ===> True,表达式结果为True,即非0。因此,正确答案选A。 18 / 45 执行语句 int x=’A’;cout< A. 无法计算 B. 68 C. 100 D. 'A'+3 本题从字符的实际值方向考察学生编程操作能力。在C++中,字符的实际值是其ASCII值。字符’A’的ASCII值是65,因此当执行语句 int x=’A’;cout< 19 / 45 如下所示代码,程序运行结束后n和m的结果是( ) A. 3 6 B. 3 18 C. 4 18 D. 4 6 本题从循环结构和算术运算方向考察学生编程操作能力。在给出的代码中,有一个while循环,该循环仅在m小于10时执行。在循环内部,m的值乘以n,然后n的值加1。初始值是n=2和m=3。在第一次循环中,m变为6(2乘以3),n变为3(2加1)。接下来,第二次循环开始,这时m变为18(乘以3),n变为4(3加1)。现在,m的值已经大于10,所以while循环不再执行。所以,在程序结束时,n的值为4,m的值为18。因此,正确答案选C。 20 / 45 城域网、广域网和局域网的英文缩写是( ) A. LAN、WAN、MAN B. LAN、MAN、WAN C. WAN、LAN、MAN D. Man、Wan、LAN 本题从计算机网络类型的英文缩写方向考察学生知识认知能力。局域网(Local Area Network)的英文缩写为LAN,城域网(Metropolitan Area Network)的英文缩写为MAN,广域网(Wide Area Network)的英文缩写为WAN。因此,正确答案选D。 21 / 45 下列代码中,输出a的结果为( ) A. 10.123 B. 10.1235 C. 10.12346 D. 10.12345678 本题从双精度浮点数的输出精度方向考察学生编程操作能力。在C++中,双精度浮点数(double)大约可达到15位有效数字的精度。所以,对于你给出的代码,直接输出变量a的值将会打印出完整的10.12345678。因此,正确答案选B。 22 / 45 求比20小且大于或等于0的偶数,下列代码,横线处应该填写( ) A. switch B. break C. continue D. kill 本题从循环控制关键字使用的理解和应用方向考察学生编程操作能力。在C++中,switch, break, continue, kill都是控制语句。其中,switch用于选择执行不同的分支,break用于退出循环或switch语句,continue用于跳过循环的剩余部分并开始下一个循环周期,kill则是用于结束进程的系统调用,不适用于这里。所以在这里,如果i是奇数,程序应该跳过本次循环并开始下一轮,所以应该填写continue。因此,正确答案选C。 23 / 45 执行下列程序后,输出的结果是?( ) A. 8 B. 12 C. 23 D. 24 本题从二位数组的大小计算方向考察学生编程操作能力。在C++中,sizeof运算符用于返回一个类型、对象或数组的大小(字节为单位)。在这个例子中,我们有一个二维数组a,具有2行和3列。由于每个int占4字节(在大多数系统中),所以a的大小将是2(行数)* 3(列数)* 4(每个整数的字节)= 24字节。因此,正确答案选D。 24 / 45 C++程序的多行注释形式是( ) A. //…… B. #….. C. '''.......''' D. /*………*/ 本题从多行注释的编码形式方向考察学生编程操作能力。在C++程序中,多行注释是用 “/*” 开始,并以 “*/” 结尾的,因此,正确答案选D。 25 / 45 表达式:(double(10/3))-(int(5/3))的值是( ) A. 2 B. 2.0 C. 2.3333 D. 2.33333 本题从对C++中转换类型和运算符优先级的理解方向考察学生编程操作能力。”(double(10/3))-(int(5/3))”的计算过程中,先进行int型除法,10/3等于3(舍弃小数部分),再被转换为double型,结果为3.0;同理,5/3等于1,int型的结果是1。所以,最后的结果是3.0-1=2.0因此,正确答案选B。 26 / 45 下列哪种设备属于存储设备( ) A. 显示器 B. 键盘 C. 硬盘 D. 扫描仪 本题从计算机设备的任职方向考察学生知识认知能力。在这些设备中,只有硬盘属于存储设备。显示器用于显示信息,键盘用于输入信息,扫描仪用于转换信息。只有硬盘被设计用于永久保存信息。因此,正确答案选C。 27 / 45 下列符合变量命名规则的是( ) A. _321 B. 数字321 C. 321_number D. case 本题从变量命名规则方向考察学生编程操作能力。符合C++变量命名规则的是A选项”_321″。因为在C++中,变量名称必须以字母或下划线开头,而且不能是关键字。因此,正确答案选A。 28 / 45 下列选项中,十六进制数”56E”转换成二进制数正确的是( ) A. 10101101110 B. 10101101101 C. 10101101111 D. 10101101100 本题从对十六进制和二进制的转化技能方向考察学生知识认知能力。十六进制数”56E”,转换成二进制为”10101101110″。因此,正确答案选A。 29 / 45 若int a=11,则表达式(a++*1/4)的值是( ) A. 0 B. 2 C. 2.75 D. 3 本题从算术运算方向考察学生编程操作能力。在这个表达式(a++*1/4)中,首先,应该注意到整数除法结果将被四舍五入到最接近的整数。a++首先使用a的当前值计算表达式,然后增加a的值。所以 a++1/4 相当于111/4,但结果采用整型计算,所以结果为2。因此,正确答案选B。 30 / 45 声明整型变量n=10,下列算式计算错误的是( ) A. n%3=1 B. n/3=3.3 C. (n%3)+(n/3)=4 D. n/3=3 本题从整除、取余等计算规则的掌握方向考察学生编程操作能力。在C++中,当你执行一个整数除法时,结果会被舍去以得到一个整数。所以,10 / 3将等于3,而不是3.3。因此,正确答案选B。 31 / 45 下列代码运行后x的正确结果是( ) A. 2 B. 3 C. 4 D. 1 本题从方向考察学生编程操作能力。查看给出的代码,我们首先看到有一个for循环,循环变量i从1开始,小于3,所以i的值将是1和2。接下来,在switch语句中,当i为1时,会经过case 1和case 2(因为case 1后并没有break,所以会”穿透”到下一个case),x会增加2次,变为2。当i为2时,会进入case 2,x又会增加1次,变为3。因此,正确答案选B。 32 / 45 strcat()函数的作用?( ) A. 计算字符串的长度 B. 将指定的两个字符串进行比较 C. 两个字符串的拼接 D. 将一个字符串复制到另一块空间地址中 本题从函数的作用方向考察学生编程操作能力。strcat()函数在C++中被用来将两个字符串连接在一起,它将参数2的字符串附加到参数1的字符串的后面。因此,正确答案选C。 33 / 45 有整型变量a=0,b=1,则!a、a&&b及a+5||b的结果分别为什么( ) A. true、false、true B. false、ture、false C. true、ture、false D. false、false、true 本题从逻辑运算方向考察学生编程操作能力。首先,操作符”!”的作用是逻辑非,即如果a为真,则!a为假;如果a为假,则!a为真。在你的题目中,整型变量a的值为0,即假,那么!a为真。然后,操作符”&&”的作用是逻辑与,即如果a和b都为真,则a&&b为真;否则,a&&b为假。在你的题目中,整型变量a的值为0,即假,b的值为1,即真,那么a&&b为假。最后,操作符”||”的作用是逻辑或,即如果a和b至少有一个为真,则a+5||b为真;否则,a+5||b为假。在你的题目中,整型变量a的值为0,b的值为1,因此a+5的结果为5,即真,那么a+5||b为真。因此,!a、a&&b及a+5||b的结果分别为真、假、真。因此,正确答案选A。 34 / 45 第一代电子计算机诞生于20世纪,是20世纪最先进的科学技术发明之一,发明者叫( ) A. 约翰·冯·诺依曼 B. 艾伦·麦席森·图灵 C. 托马斯·约翰·沃森 D. 本贾尼·斯特劳斯特卢普 本题从计算机发展史的了解方向考察学生知识认知能力。电子计算机的概念和初步设计由约翰•冯•诺依曼提出,但第一代电子计算机的制造者是约翰•马歇利•艾克特和约翰•普雷斯珀•艾克特,以及他们的团队。所以这道题没有给出最准确的选择。因此,正确答案选A。 35 / 45 如果需要声明单精度浮点类型的变量可以用以下哪个关键字( ) A. double B. char C. float D. int 本题从基础数据类型的理解和掌握方向考察学生编程操作能力。C++中,单精度浮点数是由关键字”float”声明的。因此,正确答案选C。 36 / 45 语句”for(int i=0,j=0;!j && i<=5;i++)"的执行次数是( ) A.无限 B. 1 C. 6 D. 5 本题从对循环结构的理解方向考察学生编程操作能力。在这个for循环中,j的初始值是0,条件是!j(即j为0)和i<=5。在循环开始的时候,j为0,所以!j返回true。只要j的值为0,循环就会一直执行。那么对于i,它的初值是0,每次循环都会自增1,但由于j的值始终为0,!j总是返回true,所以不考虑i<=5,只要看i的增长,那么i会增长到6,当i=6时,i<=5条件不满足,循环停止,所以这个循环将执行6次。因此,正确答案选C。 37 / 45 在C++语言中,break语句的作用是( ) C. 立即跳出包含该break语句的循环语句和switch语句 D. 立即跳出包含该break语句的最小的循环语句和switch语句 A. 立即跳出包含该break语句的最小的循环语句 B. 立即跳出包含该break语句的switch语句 本题从break语句的作用方向考察学生编程操作能力。在C++中,break语句的作用是立即跳出包含该break语句的循环语句和switch语句。因此,正确答案选D。 38 / 45 执行下列语句后,输出结果一共有几行数字?( ) A.11 B. 8 C. 10 D. 9 本题从代码执行的推理方向考察学生编程操作能力。这段代码从10开始,并且在每一次迭代中,都会打印当前的i值,然后减少i的值。这个循环一直到i的值大于1,这意味着最后一次打印的数字将是2。因此,这段代码将打印从10到2的所有整数,即一共会有9个数字,对应于9行。因此,正确答案选D。 39 / 45 执行下列语句后,变量a和b的值分别是多少? ( ) A. 2 3 B. 3 4 C. 2 4 D. 3 3 本题从变量值的推理方向考察学生编程操作能力。这段代码首先将a和b都设置为3。然后,执行”a=–a;”语句,会将a减1,变为2。接着执行”b=++b;”语句,会将b加1,变为4。所以,最后变量a和b的值应该分别为2和4。因此,正确答案选C。 40 / 45 下列程序运行结束后,输出的值的数据类型是( ) A. double B. float C. int D. 无法输出 本题从算术运算和强制类型转换方向考察学生编程操作能力。这个程序先定义了一个整数x和一个双精度数(double)y,然后在cout中打印了运算结果。在这个运算中,首先计算了10+x,得到整数结果11(因为10和x都是整数)。然后,将double类型的y转成了int,即2.54转成了2,再与11相加,依然是整数。因此,输出的值的数据类型是整数。因此,正确答案选C。 41 / 45 以下程序的输出结果是? ( ) A. B. C. D. 本题从程序分析方向考察学生编程操作能力。这段程序中,主要的逻辑是一个while循环。初始化变量num为0,然后在每次循环的开始让num增加1,然后输出num的值,当num的值大于2时,结束循环。第一次循环中,num为0,增加1后,输出1;第二次循环中,num为1,增加1后,输出2;第三次循环中,num为2,增加1后,输出3;第四次循环开始时,num为3,已经大于2,不再满足while循环的条件,故结束循环。所以,这段代码的输出结果是:1、2、3。每次输出换行。因此,正确答案选C。 42 / 45 在循环中使用break语句的功能是( ) A. 使程序的执行跳出break所在的那一重循环 B. 使程序执行结束 C. 跳出包含此break语句的所有循环 D. 终止本次循环,继续下一次循环 本题从break语句的功能掌握方向考察学生编程操作能力。在编程中,break语句被用于即刻结束循环,无论循环条件是什么。也就是说,它导致循环在看到break语句的地方立即终止,而无论循环是否完成。break语句仅结束最内部的循环,如果在多层循环中,它不会影响到其他的外部循环。所以,例如一个break在嵌套循环的最内层,仅仅是跳出那个最内层的循环,而外围的循环还会继续执行。因此,正确答案选A。 43 / 45 下列哪个是错误的八进制整型常量( ) A. 071 B. 081 C. 0101 D. 0110 本题从对八进制的掌握方向考察学生知识认知能力。八进制数的每一位只能包含0到7的数字。所以,011是正确的八进制数,0101和0110都是正确的八进制数,而081包含数字8,这不是有效的八进制数。因此,正确答案选B。 44 / 45 声明变量int a=5, b=2;则a/b=( )( ) A. 5 B. 2 C. 2.5 D. 1 本题从整除的计算规则方向考察学生编程操作能力。在C++中,当两个整数进行除法运算时,结果会自动向下取整。所以虽然5除以2的确切结果是2.5,但是在整数运算中,会只保留整数部分,也就是2。因此,正确答案选B。 45 / 45 将十进制的168转换为二进制是( ) A.11010110 B. 10101000 C.10100111 D.11011001 本题从进制转换的方法方向考察学生编程操作能力。将十进制的168转换为二进制,我们可以分解168为二进制位。168 = 128 + 32 + 8,所以168的二进制表示是 10101000,因此,正确答案选B。 Your score is 重新测试