首页 > 全部 > 二级C++ > 国家二级C++机试(基本控制结构和数组、指针与引用)模拟试卷1

国家二级C++机试(基本控制结构和数组、指针与引用)模拟试卷1

本单篇文档共9076字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 3579人下载
价格: 0.60 原价:¥7.00
收藏

国家二级C++机试(基本控制结构和数组、指针与引用)模拟试卷1

选择题

1.若x和y是程序中的两个整型变量,则下列if语句中正确的是( )。(A)

A. if(x==0)y=1;else y=2;

B. if(x==0)then y=1 else y=2;

C. if(x==0)y=1 else y=2;

D. if(x==0)y=1;else y=2;

解析:ifelse语句的形式为:

if(<条件>) <语句1>else<语句2>

所以符合以上形式的ifelse语句为选项A。

2.下列语句中,与语句“1n=(a>b?(1)>c?1:0):0);”的功能等价的是( )。(C)

A. if(a<=b) n=0;

B. if((a>b)Il(b>c))n=1;else n=0;

C. if(a>b)if(b>c) n=1:else n=0;else n=0;

D. if(a>b) n=1;else if(<=c)n=1;else if(b>c)n=1;else n=0;

解析:条件表达式(a>b?(b>c?1:0):0)的含义是,如果a>b成立,则此表达式的值等于条件表达式(b>c?1:0)的值,否则其值等于0。而条件表达式(b>c?1:0)的含义是,如果b>c成立,其值等于1,否则其值等于0。

3.有如下程序

#inelude<iostream>

using namespace std;

int main(){

char a;

cin>>a;

if(a=’*’) cout<<’’***’’<<end1;

else cout<<’’###’’<<end1;

rerurn 0:

}

输入字符+时,程序的运行结果是( )。(A)

A. ***

B. ###

C. ***###

D. 无输出

解析:本题的考点是双分支选择语句的执行流程,答题的关键点在于选择条件的判定。双分支选择语句的执行流程是首先计算if后表达式的值,如果表达式的值为非零,则执行if后面的分支,否则执行与其匹配的else后面的分支。本题执行时虽然输入变量a的值为‘+’,但是在执行if后括号内表达式(a=’*’)的时,由于此表达式为赋值表达式,因此表达式的值为赋值号右边的值’*’,其ASCII码的值非零,执行if后面的输出语句“***”后回车。

4.执行语句序列( )。

int i=0;

while(i<25)i+=3;

cout<<i;

输出结果是(C)

A. 24

B. 25

C. 27

D. 28

解析:此题考查的是循环语句while的使用。i为3的倍数,当i=24时,i<25,执行while的循环体i+=3,则i=27,不满足i<25的条件,结束循环。

5.有如下程序:

int x=3;

do {

x-=2;

cout<<x;

} while(1(–x));

执行这个程序的输出结果是( )。(C)

A. 1

B. 30

C. 1-2

D. 死循环

解析:此题考查的是do-while循环语句。do-while循环首先执行do语句中的循环体,再判断是否需要继续执行循环。题目中do语句“x-=2”,while语句中“–x”即x为0,取反为非0,循环继续执行;执行“x-=2”和“–x”取反后,循环结束程序退出。

6.有如下程序:

#include<iostream>

using namespace std;

int main(){

hat sum;

for(int i=0;i<6;i+=3){

sum=i;

for(int j=i;j<6;j++)sum+=j;

}

cout<<sum<<end 1;

return 0:

}

运行时的输出结果是( )。(D)

A. 3

B. 10

C. 12

D. 15

解析:由题干可以知道,外层循环会进行两次,且第一次的结果我们可以不去理会和计算,读者仔细观察能发现,在第一次的循环以后sum和j都会被重新赋值,所以外层第二次循环如下:

此时i=3,sum=3内层循环开始如下:j=3,j<6,sum=6;j=4,j<6,sum=10,j=5,j<6,sum=15,j=6退出内层循环。得到sum=15。

7.有如下程序段:

int i=5;

while(int i=0){cout<<’*’;i–;}

运行时输出’’*’’的个数是( )。(A)

A. 0

B. 1

C. 5

D. 无穷

解析:因为while循环中,因为i的值等于0,所以while循环体一次也不执行。因而运行时输出“*”的个数是0。

8.下列循环语句中有语法错误的是( )。(D)

A. int i;for(i=1;i<10;i++)cout<<’*’;

B. int i,j;for(i=l,j=0;i<10;i++,j++)cout<<’*’;

C. int i=0;for(;i<10;i++)cout<<’*’;

D. for(1)tout<’*’;

解析:这道题目主要考查for循环语句的语法。for循环语句的语法格式如下:for(<表达式1>;<表达式2>;<表达式3>)<语句>,在三个表达式都省略的情况下,其格式如下for(;;),这时for循环语句是一个死循环。

9.有如下程序:

#include<iostream>

using namespace std;

int main() {

int f,f1=0(),t2=1;

for(int i=3;i<=6;i++) {

f=f1+f2;

f1=f2;f2=f;

}

cout<<f<<end1;

return 0;

}

运行时的输出结果是( )。(C)

A. 2

B. 3

C. 5

D. 8

解析:在主函数中for循环语句执行4次,第一次循环结束时,变量f的值等于1,n的值等于1,f2的值等于1;第二次循环结束时,变量f的值等于2,f1的值等于1,f2的值等于2:第三次循环结束时,变量f的值等于3,f1的值等于2,f2的值等于3;第四次循环结束时,变量f的值等于5,f1的值等于3,f2的值等于5;结束循环。

10.有如下程序:

#inclu&<iostream>

usin

本文档预览:3600字符,共9076字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(基本控制结构和数组、指针与引用)模拟试卷1

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号