ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:55.50KB ,
资源ID:497153      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-497153.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级C++机试(基本控制结构、数组、指针与引用)模拟试卷6及答案与解析.doc)为本站会员(sofeeling205)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级C++机试(基本控制结构、数组、指针与引用)模拟试卷6及答案与解析.doc

1、国家二级 C+机试(基本控制结构、数组、指针与引用)模拟试卷 6及答案与解析 一、选择题 1 有如下程序: #include using namespace std; int main() char str100, *p; cout) 或 格式 2: if()else 关于上面的语法格式,下列表述中错误的是 ( )。 ( A) 部分可以是一个 if语句,例如 if(if(a=0) ( B) 部分可以是一个 if语句,例如 if()if() ( C)如果在 前加上逻辑非运算符 !并交换 和 的位置,语句功能不变 ( D) 部分可以是一个循环语句,例如 if()while() 3 若 x和 y是程

2、序中的两个整型变量,则下列 if语句中正确的是 ( )。 ( A) if(x=0)y=1; else y=2; ( B) if(x=0)then y=1 else y=2; ( C) if(x=)y=1 else y=2; ( D) if(x=0)y=1; else y=2; 4 下列语句中,与语句 “n=(ab?(bc?l: 0): 0); ”的功能等价的是 ( )。 ( A) if(ab)(bc)n=1; else n=0; ( C) if(ab)if(bc)n=1; else n=0; else n=0; ( D) if(ab)n=1; else if(bc)n=1; else n=0;

3、 5 有如下程序 #include using namespace std; int main() char a: cina; if(a=*) cout1: -i)cout1; I-=2)cout using namespace std; int main() int sum; for(int i=0; i using namespace std; int main() int f, f1=0, f2=1; for(int i=3; i using namespace std; int main() int a6=23, 15, 64, 33, 40, 58; int s1, s2; s1=s

4、2=a0; for(int* p=a+1; p*p)s1=*p; if(s2 using namespace std; int main() int i, s=0; for(i=1; sstr; 当从键盘输入 “I love this game“时, str中的字符串是 ( )。 ( A) I love this game ( B) I love thi ( C) I love ( D) I 23 字符串 “a+b=12kn t”的长度为 ( )。 ( A) 12 ( B) 10 ( C) 8 ( D) 6 24 下列有一维数组 a的定义中,语法正确的是 ( )。 ( A) int a(10)

5、; ( B) int n=7, an; ( C) int n; cinn; int an; ( D) const int size=10; int asize; 25 有如下程序: #include using namespace std; int main() int*p; *p=9: cout1else 所以符合以上形式的 ifelse语句为选项 A)。 【知识模块】 基本控制结构 4 【正确答案】 C 【试题解析】 条件表达式 (ab?(bc?1: 0): 0)的含义是,如果 ab成立,则此表达式的值等于条件表达式 (bc?1: 0)的值,否则其值等于 0。而条件表达式(bc?1: 0)

6、的含义是,如果 bc成立,其值等于 1,否则其值等于 0。 【知识模块】 基本控制结构 5 【正确答案】 A 【试题解析】 本题的考点是双 分支选择语句的执行流程,答题的关键点在于选择条件的判定。双分支选择语句的执行流程是首先计算 if后表达式的值,如果表达式的值为非零,则执行 if后面的分支,否则执行与其匹配的 else后面的分支。本题执行时虽然输入变量 a的值为 +,但是在执行 if后括号内表达式 (a=*)的时,由于此表达式为赋值表达式,因此表达式的值为赋值号右边的值 *,其 AscII码的值非零,执行 if后面的输出语句 “*”后回车。 【知识模块】 基本控制结构 6 【正确答案】 C

7、 【试题解析】 此题考查的是循环语句 while的使用。 i为 3的倍数,当 i=24时,i; ; ),在三个表达式都省略的情 7兄下,其格式如下 for(; ),这时 for循环语句是一个死循环。 【知识模块】 基本控制结构 14 【正确答案】 C 【试题解析】 在主函数中 for循环语句执行 4次,第一次循环结束时,变量 f的值等于 1, f1的值等于 l, f2的值等于 1;第二次循环结束时,变量 f的值等于 2,f1的值等于 1, f2的值等于 2;第三次循环结束时,变量 f的值等于 3, f1的值等于 2, f2的值等于 3;第四次循环结束时,变量 f的值等于 5, f1的值等于 3

8、, f2的值等于 5;结束循环。 【知识模块】 基本控制结构 15 【正确答案】 D 【试题解析】 变量 s1和 s2的初值都等于 23,那 么在执行第一次 for循环时, *p的值等于 15,它小于 23,所以把 15赋给变量 s1;执行第二次 for循环时, *p的值等于 64,它大于 23,所以把 64赋给变量 s2;而数组 a中 a2后面的元素的值都大于 15,小于 64,因而变量 s1, s2的值不会再发生变化,最终值为15+64=79。 【知识模块】 基本控制结构 16 【正确答案】 C 【试题解析】 在这段程序中 for循环共执行 3次,每次循环变量 i的值增 2,在执行第三次循

9、环语句时,变量 s的值等于 25,大于 20而退出循环,此时再执行循环变量 i加 2运算 ,所以最后变量 i的值等于 7。 【知识模块】 基本控制结构 17 【正确答案】 A 【试题解析】 此题考查的是一维数组定义时的初始化。当数组声明时没有给出数组的大小但是有初始化列表时,数组的大小就由列表中元素的个数来确定。所以选项 A中数组只定义 3个元素,不符合题目。 【知识模块】 数组、指针与引用 18 【正确答案】 A 【试题解析】 本题主要是对字符数组的考查。选项 A中 a2为一个地址,所以不能用等号进行赋值操作。 【知识模块】 数组、指针与引用 19 【正确答案 】 D 【试题解析】 因为一维

10、数组 arr5的首地址是第一数组元素的地址,所以选项 D)中,输出 *arr的值就是数组 arr5中第一数组元素 1。其他选项都输出数组 arr5的第二元素 2。 【知识模块】 数组、指针与引用 20 【正确答案】 A 【试题解析】 函数 strlen(aa)返回字符串 aa中字符的个数,不包括末尾的空字符。所以在内存空间创建字符数组 a时,需要字符数组的长度是 strlen(aa)+1。 【知识模块】 数组、指针与引用 21 【正确答案】 B 【试 题解析】 当数组声明时没有给出数组的大小,但是有初始化列表时,数组的大小就由列表中元素的个数来确定。对于选项 B)定义数组 x时,没有给出数组的

11、大小,初始化时只给出了一个元素 0。所以数组 x只包含一个元素为 0的元素。 【知识模块】 数组、指针与引用 22 【正确答案】 D 【试题解析】 由于字符 0作为字符串的结束标志,所以当从键盘上输入 “I love this game”时,只把字母 I输入字符串 str。 【知识模块】 数组、指针与引用 23 【正确答案】 C 【试题解析】 题目给 出的字符串含有 7个字符,再加字符串的结束字符,所以共8个字符。 【知识模块】 数组、指针与引用 24 【正确答案】 D 【试题解析】 定义一维数组的一般格式为: 类型标识符数组名 常量表达式 ; 常量表达式的值表示元素的个数,即数组长度。常量表

12、达式中可以包括常量、常变量和符号常量,但不能包含变量。也就是说, C+不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。 【知识模块】 数组、指针与引用 25 【正确答案】 D 【试题解析】 此题考查的是 指针的使用。本题中,在给 *p赋值前,指针 p并没有指向一个具体的对象。此时可以通过编译,但运行时由于 p中为随机值,该赋值可能会破坏内存中某个重要的地址空间的内容,导致程序出错。 【知识模块】 数组、指针与引用 26 【正确答案】 D 【试题解析】 此题考查的是常指针和指针常量的概念。常指针是指向一个常量的指针变量,指针自身的内容可以改变但指针指向的内容不可以改变;

13、指针常量是一个常量,即不能修改指针自身的内容,但可以通过指针修改其所指向的内容。 D选项中指针常量 point没有初始化,编译无法通过。 【知识模块】 数组、指针与引用 27 【正确答案】 B 【试题解析】 此题考查的是指针的运用。选项 A中, *p返回的是数组元素 a0的值,所以最后结果是 1+9=10;选项 B是指针 p后移 8个单位位置处的值,即a8其值为 9;选项 c中表达式的值和选项 A相同;选项 D的值是一个地址值,该值无法确定。 【知识模块】 数组、指针与引用 28 【正确答案】 A 【试题解析】 此题考查的是指针的赋值。题目中的语句 int*p=&k;定义了一个int类型的指针

14、 p,并将变量 k的地址 &k赋给指针 p。所以等效语句是: int*p;p=&k;。 【知识模块】 数组、指针与引用 29 【正确答案】 B 【试题解析】 此题考查的是指针引用数组元素。 B选项中, a3是数组的第四个元素,即 7;其它选项的引用均可得到 5。 【知识模块】 数组、指针与引用 30 【正确答案】 A 【试题解析】 对于 B来说,会造成溢出,对于 C和 D来说同样如此,因为“Helloworld!”一个是 12个字符组成,加上空字符一共 13个,所以都会造成溢出,只有 A是将字符串的地址赋给字符型指针。 【知 识模块】 数组、指针与引用 31 【正确答案】 A 【试题解析】 指

15、针变量声明的一般形式为: *,在选项 A)中, *放在变量名的后面,所以是错误的。 【知识模块】 数组、指针与引用 32 【正确答案】 A 【试题解析】 在语句 int x=100, r=x;中声明 r初始化对 x的引用,所以 x和 &r的值都是 100。 【知识模块】 数组、指针与引用 33 【正确答案】 B 【试题解析】 字符指针 p所指向的字符串为 “abcdefg“,所以函数 strlen(p)的值等于 7,再加 1,等于 8。 【知识模块】 数组、指针与引用 34 【正确答案】 A 【试题解析】 此题考查的是指针和引用。本题中,语句 是一条合法的引用声明语句,使得变量 i被 r引用;语句 通过引用 r将变量 j的值赋给变量 i;语句 声明了指针变量 p,并初始化指向变量 i;语句 中 *p代表了变量 i的值,要将 &r赋给 *p,这会使编译器产生类型不符的错误提示。 【知识模块】 数组、指针与引用

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1