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

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

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

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

选择题

1.有如下程序:

#inc1ude<iostream>

using namespace std;

int main()

{

char str[100],*p;

cout<<\\(A)

A. 7

B. 12

C. 13

D. 100

解析:此题考查的是默认输入格式。本题输入数据类型为char,因此输入的数据是“从第…个非空白字符开始到下一个空白字符结束”,而输入数据为abcdefg abcd,其中abcdefg后有空格。所以输入后str中的字符串为“abcdefg”;主函数中接下来for语句的作用是计算字符串p的长度,故最终输出字符串“abcdefg”的长度7。

2.if语句的语法格式可描述为:

格式1:if(<条件>)<语句>

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

关于上面的语法格式,下列表述中错误的是( )。(A)

A. <条件>部分可以是一个if语句,例如if(if(a==0)…)…

B. <语句>部分可以是一个if语句,例如if(…)if(…)…

C. 如果在<条件>前加上逻辑非运算符!并交换<语句1>和<语句2>的位置,语句功能不变

D. <语句>部分可以是一个循环语句,例如if(…)while(…)…

解析:此题考查的是if语句。If语句的条件部分是一个表达式而不是语句,因此选项A叙述错误。

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

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

B. if(x=0)theny=l else y=2;

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

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

解析:if else语句的形式为:if(<条件>)<语句1> else<语句2>所符合以上形式的if else语句为选项A)。

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

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

B. if((a>b)||(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(b<=c)n=i; 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。

5.有如下程序

#inc1ude<iostream>

using namespace std;

int main(){

char a;

cin>>a;

if(a=’*’)cout<<\\(A)

A. ***

B. ###

C. ***###

D. 无输出

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

6.有如下程序:

int x=3;

do{

x—=2;

cout<<x,

}while(!(——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”取反后,循环结束程序退出。

7.执行下列语句段后,输出字符“*”的个数是( )。

for(int i=50;i>1:——i)cout<<’*’;(B)

A. 48

B. 49

C. 50

D. 51

解析:此题考查的是for循环语句。For循环中i从50开始逐渐递减,直到i=l时退出,而此时没有机会执行到循环体,因此一共执行了49次循环体,所以最终输出的是49个字符’*’。

8.执行下列语句段后,输出字符“*”的个数是( )。

for (int i=50; 1>1;I一=2)cout<<’*’;(B)

A. 24

B. 25

C. 26

D. 50

解析:此题考查的是for循环语句。执行循环语句,变量i从50递减,每次减2,所以循环会执行25次,输出25个’*’。

9.有如下程序:

#inc1ude<iostream>

using namespace std;

int main(){

int sum;

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

sum=i;

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

}

cout<<sum<<end1;

retum 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。

10.有如下程序段:

int i=5;

while (int i=0){cout<<’*’;i——,)

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

A. 。

B. 1

C. 5

D. 无穷

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

11.有如下程序段:

int i=1,

while(1){

i++;

if(i=10) break;

if(i%2==0) couK<’*’;

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号