1、国家二级( C语言)笔试模拟试卷 242 及答案与解析 1 软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求规格说明书以及 ( )。 ( A)阶段性报告 ( B)需求评审 ( C)总结 ( D)都不正确 2 已知数据表 A中每个元素距其最终位置不远,为节省时间,应采用的算法是 ( A)堆排序 ( B)直接插入排序 ( C)快速排序 ( D) )和 ) 3 在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有 若干个键,它们称为该表的 ( )。 ( A)连接码 ( B)关系码 ( C)外码 ( D)候选码 4 一棵二叉树的前序遍历结果是 ABCEDF,中序
2、遍历结果是 CBAEDF,则其后序遍历的结果是 ( )。 ( A) DBACEF ( B) CBEFDA ( C) FDAEBC ( D) DFABEC 5 结构化程序设计主要强调的是 _。 ( A)程序的规模 ( B)程序的易读性 ( C)程序的执行效率 ( D)程序的可移植性 6 下列叙述中 ,正确的是 ( A)用 E-R图能够表示实体集间一对一 的联系、一对多的联系和多对多的联系 ( B)用 E-R图只能表示实体集之间一对一的联系 ( C)用 E-R图只能表示实体集之间一对多的联系 ( D)用 E-R图表示的概念数据模型只能转换为关系数据模型 7 算法的时间复杂度是指 _。 ( A)执行
3、算法程序所需要的时间 ( B)算法程序的长度 ( C)算法执行过程中所需要的基本运算次数 ( D)算法程序中的指令条数 8 一个存储结点存放一个 _。 ( A)数据项 ( B)数据元素 ( C)数据结构 ( D)数据类型 9 对线性表进行二分 查找,要求线性表为 _。 ( A)以顺序方式存储 ( B)以链式方式存储 ( C)以顺序方式存储,且要求数据元素有序 ( D)以链接方式存储,且要求数据元素有序 10 下列工具中为需求分析常用工具的是 _。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 11 对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正
4、确的是 ( )。 ( A)冒泡排序为 n(n-1)/2 ( B)简单插入排序为 n ( C)希尔排序为 n ( D)快速排序为 n/2 12 数 字字符 0的 ASCII值为 48,运行以下程序的输出结果是 ( )。 main() char a=1, b=2; printf(“ c, “, b+); printf(“ d n“, b-a); ( A) 3, 2 ( B) 50, 2 ( C) 2, 2 ( D) 2, 50 13 能正确表示逻辑关系 :“a10或 a0“的 C语言表达式是 ( A) a=10 or a=0|a=10 ( B) int a3=2*3; ( C) int a3=;
5、( D) int a23=1), 2, 3,4; 23 下面程序段的输出结果是 ( )。 #include stdio.h main() float x=1.236547; printf(“%fn“,(int)(x*1000+0.5)/(float)1000); ( A) 1.237000 ( B)输出格式说明与输出项不匹配,输出无定值 ( C) 1.236000 ( D) 1.24 24 以下错误的定义语句是 ( A) int x3=0, 1, 1, 2, 3; ( B) int x43=1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3; ( C) int x4=1, 2
6、, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3; ( D) int x3=1, 2, 3, 4; 25 函数 rewind 的作用是 ( A)使文件位置指针重新返回文件的开始位置 ( B)将文件位置指针指向文件中所要求的特定位置 ( C)使文件位置指针指向文件的末尾 ( D)使文件位置指 针自动移至下一个字符位置 26 设 fp为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为 ( )。 ( A) EOF ( B)非 0值 ( C) 0 ( D) NULL 27 若有结构体定义: struct stuint num; char sex; int ag
7、e; al,a2; 则下列语句中错误的是 ( )。 ( A) printf(“%d,%C,%d“,a1); ( B) a2.age a1.age; ( C) a1.age+; ( D) a1.num 5; 28 执行下列程序时输入 12345678,程序的运行结果是 _。 #include stdio.h main() int x, y; scanf(“%2d%2d“); printf(“%dn“, x+y); ( A) 17 ( B) 46 ( C) 15 ( D) 9 29 设有以下说明语句 typedef struct int n; char ch8; PER; 则下面叙述中正确的是 (
8、 A) PER 是结构体变量名 ( B) PER是 结构体类型名 ( C) typedef struct 是结构体类型 ( D) struct 是结构体类型名 30 阅读下列程序 ,当运行函数时 ,输入 asd af aa z67,则输出为 #include #include #include int fun (char *str) int i,j=0; for(i=0;stri!= 0;i+) if(stri!= )strj+=stri; strj= 0; main() char str81; int n; printf(“Input a string : “); gets(str); pu
9、ts(str); fun(str); printf(“%sn“,str); ( A) asdafaaz67 ( B) asd af aa z67 ( C) asd ( D) z67 31 有以下程序 :#include stdio.h prt(int * m,int n) int i; for(i =0;i n;i + ) mi +;main( ) int a = 1,2,3,4,5 ,i; prt(a,5); for(i =0;i 5;i + ) printf( “% d,“ ,ai );程序运行后的输出结果是 ( )。 ( A) 1,2,3,4,5, ( B) 2,3,4,5,6, ( C
10、) 3,4,5,6,7, ( D) 2,3,4,5,1 32 以下四个选项中,不能看作一条语句的是 ( )。 ( A); ( B) a=5, b=2.5, c=3.6; ( C) if(a 5); ( D) if(b! =5)x=2; y=6; 33 以下程序的结果是 _。 int a,b; void fun() a=100;b=200; main() int a=5,b=7; fun(); printf(“%d%dn“,a,b); ( A) 100200 ( B) 57 ( C) 200100 ( D) 75 34 下面程序的运行结果是 ( )。 #include stdio.h main(
11、) static char a=“Languagef“ , b=“ programe“; char*p1, *p2; int k; p1=a; p2=b; for(k=0; k =7; k+) if(*(p1+k)=*(p2+k) printf(“ c“, *(p1+k); ( A) gae ( B) ga ( C) Language ( D)有语法错 35 以下程序的输出结果是 ( ) #include stdio h main() int a, b, d 241; a d/100%9 b (-1)等价于 char*a;*a=“ABCD“; ( B) char str10=“ABCD“);等
12、价于 char str10;str=“ABCD“); ( C) char*s=“ABCD“;等价于 char s;*s=“ABCD“; ( D) char c5=“ABCD“,d5=“ABCD“;等价于 char c5=d5=“ABCD“; 40 以下程 序企图把从终端输入的字符输出到名为 abc.txt的文件中,直到从终端读入字符 #号时结束输入和输出操作,但程序有错。 #include main() FILE *fout; char ch;fout=fopen(abc.txt,w);ch=fgetc(stdin);while(ch!=#) fputc(ch,fout);ch =fgetc(
13、stdin);fclose(fout); 出错的原因是 ( A)函数 fopen调用形式有误 ( B)输入文件没有关闭 ( C)函数 fgetc调用形式有误 ( D)文件指针 stdin没有定义 41 以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是( ) ( A) if(ab) else k=0; ( B) if(ab)|(bc) k=1 else k=0; ( C) if(ab) k=1; else if(bc) k=1; else k=0; 42 排序是计算机程序设计中的一种重要操作 ,常见 的排序方法有插入排序、【 】和选择排序等。 43 某二叉树中度为 2的结点有 n
14、个 ,则该二叉树中有【 】个叶子结点。 44 数据的逻辑结构在计算机存储空间中的存放形式称为数据的【 】。 45 在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中 _的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 46 某微型机的运算速度为 2MIPS,则该微型机每秒执行【 】条指令。 47 以下程序段打开文件后,先利用 fseek函数将文件位置指针 定位在文件末尾,然后调用 ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。 FILE*myf; longfl; myf=【 】 (“test.t“,“rb“); fse
15、ek(myf,(),SEEK_END) fl+ftell(myf); fclose(myf); printf(“%ldn“,fl); 48 在面向对象方法中,对象之间进行通信的构造称为 ( )。 49 以下程序运行后的输出结果是 _。 main() int a44=1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14, 15, 16, 17,18 int i=0, j=0, s=0; while(i+ 4) if(i=2 i=4)continue; j=0; do(s+=aij; j+; while(j 4); printf(“ d n“, s); 50 以下程序 的运
16、行结果是【 】。 #include main() FILE *fp; int a10=1,2,3,0,0,i; fp=fopen(“d2.dat“,“wb“); fwtite(a,sizeof(int),5,fp); fwrite(a,sizeof(int),5,fp); fclose(fp); fp=fopen(“d2.dat“,“rb“); fread(a,sizeof(int),10,fp); fclose(fp); for(i=0;i1000/10*10=1000, 1000/f(N)1000/(10*10)=10。 56 【正确答案】 9 【试题解析】 分析程序段可知,函数 f(3, 4), f(3, 5)的返回值分别为 3和 6,所以 d=f(f(3, 4), f(3, 5)=f(3, 6)=9。 57 【正确答案】 double max 【试题解析】 当被调用函数写在 主调函数后面时,须先声明,可在主调函数的定义部分进行,也可以在所有函数前进行。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1