首页 > 全部 > 二级C语言 > 国家二级(C语言)机试模拟试卷518

国家二级(C语言)机试模拟试卷518

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

国家二级(C语言)机试模拟试卷518

选择题

1.有以下程序:

#include<stdio.h>

main()

{int k=5,n=0;

do

{switch(k)

{case1:case3:n+=1;k–;break;

default:n=0;k–;

ease2:case4:n+=2;k–;break;

}

printf(\\(C)

A. 02356

B. 0235

C. 235

D. 2356

解析:k的值为5,逐个对case语句进行匹配,均不匹配,执行default下的语句n=0;k–。再执行case2:cased:后面的语句n+=2;k–;。执行break语句跳出switch判断,打印n的值,即2。经过第一次循环后,k的值为3,然后进行k>0&&n<5条件判断为真。第二次执行循环体,执行case3:后面的语句n+=1;k–;。再执行break语句跳出循环,此时打印n的值3,此时k的值为2。第三次执行循环体k的值为2,满足条件,执行case2:cased:后面的语句n+=2;k–;。执行break语句跳出循环体,打印n的值5。此时n不满足条件k>0&&n<5,所以结束循环。整个程序的打印结果为235。

2.下面程序的运行结果是( )。

#include

main()

{int i;

for(i=1;i<=5;i++)

{ if(i%2)printf(\\(A)

A. *#*#*

B. #*#*#*

C. *#*#

D. #*#*

解析:分析程序可知,程序循环5次,然后利用if语句决定每次循环时输出的字符。当i为奇数时,i%2=1,if(i%2)为真,输出“*”’;当i为偶数时,i%2=0,if(i%2)为假,执行else语句,输出“#”,所以当i取1、3、5值时输出“*”,当i取2、4值时输出“#”。

3.有以下程序:

#include<stdio.h>

#include<string.h>

struct A

{int a;char b[10];double c;};

void f(struct A*t);

main()

{struct A a={1001,\\(B)

A. 1001,zhangDa,1098.0

B. 1002,ChangRong,1202.0

C. 1001,ChangRong,1098.0

D. 1002,zhangDa,1202.0

解析:本题主要考查是的函数调用时参数之间的传递问题。在C语言中参数之间的传递是传值,也就是把实参的值复制一份传递给形参,而实参的值不发生变化。但对于指针调用来说,函数直接对实参的地址操作,因此在这种情况下实参变化。

4.下列关于二叉树的叙述中,正确的是( )。(B)

A. 叶子结点总是比度为2的结点少一个

B. 叶子结点总是比度为2的结点多一个

C. 叶子结点数是度为2的结点数的两倍

D. 度为2的结点数是度为1的结点数的两倍

解析:根据二叉树的基本性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个。所以选择B。

5.下面不能作为结构化方法软件需求分析工具的是( )。(A)

A. 系统结构图

B. 数据字典(DD)

C. 数据流程图(DFD图)

D. 判定表

解析:结构化方法软件需求分析工具主要有数据流图、数据字典、判定树和判定表。

6.软件测试的目的是( )。(D)

A. 评估软件可靠性

B. 发现并改正程序中的错误

C. 改正程序中的错误

D. 发现程序中的错误

解析:软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能。不是为了评估软件或改正错误。

7.下列选项中,不能作为合法常量的是( )。(B)

A. 1.234e04

B. 1.234e0.4

C. 1.234e+4

D. 1.234e0

解析:用指数形式表示的实型常量需注意两点:①e或E后面的指数必须是整数:②指数必须是不超过数据表示范围的正负整数,并且在e或E前必须有数字。

8.以下程序的运行结果是( )。

#include

main()

{int a=3,b=4,c=8,d=4,m=1,n=3;

printf(\\(A)

A. 0

B. 1

C. 2

D. 3

解析:逻辑与(&&)运算符的功能是:当“&&”运算符两边的运算对象均为1时,整个表达式的值为1,否则为0。因为a=3<b=4,即m=0,所以整个表达式的值为0。

9.有以下程序:

#include<stdio.h>

main()

{int a1,a2;char c1,c2;

scanf(\\(D)

A. 12B. 12C. 12,a,34,h<CR>

D. 12a34h<CR>

解析:存输入多个数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。所以应按选项D的顺序输入数据。

10.有以下程序:

#include<stdio.h>

#include<string.h>

main()

{

chara[]=\\(A)

A. 4 5 3 4

B. 4 3 2 1

C. 4 5 3 3

D. 4 5 1 3

解析:对于字符数组a,含有4个元素,所以strlen为4,而sizeof包括最后隐藏的\0,故sizeof有5个。对于字符串b,strlen为3,关键是sizeof,这里的sizeof不再是指数组的长度,因为b是一个地址值,整型数据,所以占用了4个字节。

11.有以下程序(注:字符a的ASCII码值为97) :

#include <stdio.h>

main()

{  char *s ={ \\(A)

A. 789

B. abc

C. 7890

D. 979899

解析:\\t因为小写字符a,b,c的ASCII的值分别为97,98,99,而在do while循环语句中,每次对字符的ASCII的值取余数并输出,所以分别输出7,8,9。

12.有以下程序(其中的strstr()函数头部格式为:char*strstr(char•*p1,ch

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

剩余未完,查看全文
收藏
国家二级(C语言)机试模拟试卷518

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号