欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    [计算机类试卷]国家二级(C语言)机试历年真题试卷汇编8及答案与解析.doc

    • 资源ID:502832       资源大小:149.50KB        全文页数:30页
    • 资源格式: DOC        下载积分:2000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要2000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机类试卷]国家二级(C语言)机试历年真题试卷汇编8及答案与解析.doc

    1、国家二级( C语言)机试历年真题试卷汇编 8及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)每一个节点有两个指针域的链表一定是非线性结构 ( B)所有节点的指针域都为非空的链表一定是非线性结构 ( C)循环链表是循环队列的链式存储结构 ( D)线性结构的存储节点也可以有多个指针 2 使用白盒测试方法时,设计测试用例应根据 ( )。 ( A)程序的内部逻辑 ( B)程序的复杂结构 ( C)程序的功能 ( D)使用说明书 3 在医院,每个医生只属于某一个诊疗科,医生同一天可 为多位患者看病,而一名患者可在多个科室治疗。则;体医生和患者之间的联系是 ( )。 ( A)多对多 (

    2、B)多对一 ( C)一对多 ( D)一对一 4 设序列长度为 n,在最坏情况下,时间复杂度为 O(10g2n)的算法是 ( )。 ( A)二分法查找 ( B)顺序查找 ( C)分块查找 ( D)哈希查找 5 设数据集合为 D=1, 3, 5, 7, 9, D上的关系为 R,下列数据结构 B=(D, R)中为非线性结构的是 ( )。 ( A) R=(5, 1), (7, 9), (1, 7), (9, 3) ( B) R=(9, 7), (1, 3), (7, 1), (3, 5) ( C) R=(1, 9), (9, 7), (7, 5), (5, 3) ( D) R=(1, 3), (3,

    3、5), (5, 9) 6 深度为 7的二叉树共有 127个节点,则下列说法中错误的是 ( )。 ( A)该二叉树有一个度为 1的节点 ( B)该二叉树是满二叉树 ( C)该二叉树是完全二叉树 ( D)该二叉树有 64个叶子节点 7 某二叉树的中序序列为 BDCA,后序序列为 DCBA,则前序序列为 ( )。 ( A) DCBA ( B) BDCA ( C) ABCD ( D) BADC 8 下面能作为软件需求分析工具的是 ( )。 ( A) PAD图 ( B)程序流程图 ( C)甘特图 ( D)数据流程图 (DFD图 ) 9 下面不属于对象主要特征的是 ( )。 ( A)唯一性 ( B)多态性

    4、 ( C)可复用性 ( D)封装性 10 关系 R经过运算 (A=B C4 D3)(R)的结果为 ( )。 ( A) (c, c, 11, 4) ( B) (e, e, 6, 1) ( C) (a, a, 2, 4) ( D) (a, a, 2, 4)和 (e, e, 6, 1) 11 简单程序设计 步骤中不包括 ( )。 ( A)编码 ( B)确定算法 ( C)安装编译程序 ( D)调试 12 若想给已定义为 int型的变量 a, b, c, d赋值为 1,以下选项中错误的语句是( )。 ( A) d=1, c=d, b=c, a=b; ( B) a: b=c=d=1; ( C) a=1,

    5、b=a, c=b, d=c; ( D) a=b, b=c, c=d, d=1; 13 有 C语言表达式 2*3+4+15 3,关于其执行顺序,以下叙述正确的是 ( )。 ( A)先执行 2*3得 6,再执行 6+4得 10,再执行 15 3得 0, 最后执行 10+0得10 ( B)先执行 2 * 3得 6,再执行 15 3得 5,最后执行 6+4+5得 15 ( C)先执行 15 3得 0,再执行 2 * 3得 6,最后执行 6+4+0得 10 ( D)先执行 15 3得 3,再执行 4+3得 7,再执行 2 * 3得 6,最后执行 6+7得 13 14 若有定义: int a; float

    6、 b; double c;,程序运行时输入: 1, 2, 3,能把1输入给变量 a、 2输入给变量 b、 3输入给变量 c的输入语句是 ( )。 ( A) scanf(“ d, f, If“, a, b, c); ( B) scanf(“ d f If“, a, b, c); ( C) seanf(“ d, If, If“, a, b, c); ( D) scanf(“ d, f, f“, a, b, c); 15 以下选项中,合法的 C语言实数是 ( )。 ( A) E1 ( B) le0 ( C) 0 10E ( D) 2 1e0 2 16 关于程序中的注释,以下叙述正确的是 ( )。 (

    7、 A)注释的内容必须放在一对 *和 *之间 ( B)注释必须置于所说明的语句前或语句后 ( C)注释中间可以嵌套另一个注释 ( D)注释内容错误会导致编译出错 17 有以下程序: #include main() int a, b; for(a=0; a,则输出结果是 ( )。 ( A) 1, 2, 3, 2, 3, 3, ( B) 1, 2, 3, ( C) 1, 2, 2, 3, 4, 5, ( D) 1, 1, 1, 2, 2, 3 18 以下非法的定义语句是 ( )。 ( A) long b=0L; ( B) unsigned int a=一 100u; ( C) short c2=01

    8、23; ( D) int d=00; 19 有以下程序: #include main() int a=0, b=0; for(; a main() char e; e=getchar(); do putchar(e+); while(e=getchar()!=#); 程序运行时从第一列开始输入: abcdefg#,则输出结果是 ( )。 ( A) bcdefgh$ ( B) bedefgh ( C) abcdefg# ( D) abcdefg 21 有如下程序: #include main() char s=0, b=a; int i; for(i=0; i main() char ch=M;

    9、 while(ch!=K) putehar(ch); ch一一; 程序运行后的输出结果是 ( )。 ( A) ML ( B) MK ( C) OP ( D) mm 23 有以下程序: #include int k=5; void f(int, *s) s=&k; *s=k: main() int m=3; f(&m); printf(“ d, d n“, m, k); 程序运行后的输出结果是 ( )。 ( A) 3, 3 ( B) 5, 5 ( C) 3, 5 ( D) 5, 3 24 有如下程序: #include int sum_mod(int a, int b) return a+b 2

    10、: main() int i; for(i=0; i int a=2; int f(int k) static int n=0; int m=0; n+; a+; m+; k+; return n+m+a+k; main() int k; for(k=0; k void f(int x, int n) if(n1) printf(“ d, “, x0); f(&x1, n一 1); printf(“ d, “, x0); else printf(“ d, “, x0); main() int z3=4, 5, 6; f(z, 3); printf(“ n“); 程 序运行后的输出结果是 ( )

    11、。 ( A) 6, 5, 4, 6, 5, 4, ( B) 4, 5, 6, 5, 4, ( C) 4, 5, 6, 4, 5, 6, ( D) 6, 5, 4, 5, 6, 29 有如下程序: #include #include main() char a=“1234“, *b=“ABC“; printf(“ d, d, d, d n“, strlen(a), sizeof(a), strlen(b), sizeof(b); 程序运行后的输出结果是 ( )。 ( A) 4, 5, 1, 3 ( B) 4, 3, 2, 1 ( C) 4, 5, 3, 3 ( D) 4, 5, 3, 4 30

    12、有以下程序: #include int*sum(int data) static int init=1; init+=data; retum&init; main() int i, *p; for(i=1; i #define S(x)x x*x main() int k=6, j=3; printf(“ d, d n“, S(k+j), S(j+k); 程序运行后的输出结果是 ( )。 ( A) 27, 27 ( B) 9, 9 ( C) 27, 29 ( D) 29, 29 33 若有定义: typedef int * T; T*a20; 则以下与上述定义中 a类型完全相同的是 ( )。

    13、( A) int*a20; ( B) int(*a)20; ( C) int*(*a)20; ( D) int*a20; 34 设有以下程序段: struct person float weight; char sex; char name10; rec, *ptr; ptr=&rec; 从键盘读入字符串给结构体变量 rec的 name成员,错误的输入语句是 ( )。 ( A) scanf(“ s“, rec一 name); ( B) scanf(“ s“, rec name); ( C) scanf(“ s“, (*ptr) name); ( D) scanf(“ s“, ptr一 name

    14、); 35 有如下程序: #include struet pair int first, second; ; struct pair get_min_max(int*array, int len) int i; struct pair res; res first=array0; res second=array0; for(i=1; ires second) res.second=array i; return res; main() int array6=19, 21, 3, 4; struct pair min_max=get_min_max(array, 6); printf(“min

    15、= d, max= d n“, min_max first, min_max second); 程序运行后的输出结果是 ( )。 ( A) min=0, max=6 ( B) min=1, max=20 ( C) min=1, max=19 ( D) min=0, max=21 36 有以下程序: #include main() int i; FILE*fp; for(i=0; i main() int x; for(x=65; x #include #define N 10 double fun(double*x) int i, j; double 8, av, yN; s=0; for(i

    16、=0; iav) *found* y【 2】 =xi; xi=一 1; for(i=0; i #include double fun(int n) main() *主函数 * void NONO(); printf(“s= f n“, fun(1000); NONO(); void NONO() *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * FILE*fp * wf; int i, n; double s; fo=fopen(“in dat“, “r“); wf=fopen(“out dat“, “w“); for(i=0; iav)表达的是当 x数组中的数大于平均值时,

    17、应该把这些大于平均值的数放在 y数组的前半部分,因而此空应该填j+。 填空 3:此空表明当 xi不等于什么时, xi中的数要赋值给 y数组,由题意可知此空只能填写一 1。 三、程序修改题 42 【正确答案】 (1)for(i=2; im; i+)改为 for(i=2; i=m; i+) (2)y一 =1 (i*i)改为 y一 =1 0 (i*i); 【试题解析】 (1)使用 for循环计算公式,必须计算到 m,所以应改为 for(i=2;i=m; i+)。 (2)在除法运算中,如果除数和被除数都是整数,那么所除结果也是整数,因此应改为 y一 =1 0 (i*i)。 四、程序设计题 43 【正确答案】 double fun(int n) double sum=0 0; int i; for(i=21; i=n; i+) if(i 3=0) (i 7=0)sum+=i;同时能被 3与 7整除 return sqrt(sum); 【试题解析】 本题考查算术运算的算法,首先利用一个 for循环判断小于 n且能同时被 3和 7整除的整数,并将满足条件的整数累加到 sum,之后调用 sqrt函数计算 sum的平方根,并作为函数的返回值。


    注意事项

    本文([计算机类试卷]国家二级(C语言)机试历年真题试卷汇编8及答案与解析.doc)为本站会员(ideacase155)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开