计算机一级考试真题

计算机等级考试二级C语言模拟考试(1)及答案1。选择题(每题2分,70分* * *) 1。堆栈和队列的* *特征是a)FIFO;b)先进先出;c)只能在端点插入和删除元素;d)没有* * *相似性2。中间遍历序列是debac,它的前序遍历序列是A)acbed B)decab C)deabc D)cedba 3。链表不具有的特点是a)存储空间不需要预先估计b)任何元素都可以随机访问c)不需要移动的元素被插入和删除d)所需空间与线性表的长度成正比4。结构化程序设计的三种结构是a)顺序结构、选择结构、转移结构b)分支结构、等价结构、循环结构c)多分支结构、赋值结构、等价结构d)顺序结构、选择结构、循环结构5。为了提高测试的效率,我们应该a)随机选择测试数据,b)将所有可能的输入数据作为测试数据,c)编码后制定软件测试计划,d)集中精力处理那些错误簇,6 .算法的时间复杂度是指a)执行算法程序所需的时间,b)算法程序的长度,c)算法执行过程中所需的基本运算次数,d)算法程序中的指令数,7。软件生命周期中最昂贵的阶段是a)详细设计b)软件编码c)软件测试d)软件维护。数据库管理系统DBMS中用来定义模式、内部模式和外部模式的语言是A)C B)Basic C)DDL D)DML 9。以下关于数据库的描述,正确的是a)数据库是DBF文件b)数据库是关系c)数据库是结构化数据集d)数据库是文件集合10。以下关于数据库的描述是正确的。a)数据处理是将信息转化为数据的过程b)数据的物理独立性是指当数据的逻辑结构发生变化时,数据的存储结构保持不变。c)关系中的每一列称为一个元组,一个元组就是一个字段。d)如果一个关系中的一个属性或属性组不是该关系的关键字,而是另一个关系的关键字,则称为外来关键字11。下列说法正确的是:A)C语言优于其他语言;B)C语言无需编译即可被计算机识别和执行;C)C语言以接近英语国家的自然语言和数学语言为语言表达形式;D)C语言最晚出现。具有其他语言的所有优点,12中结构化编程使用的三种基本结构。c语言有a)序列结构、选择结构和循环结构b) if、switch、break c) for、while、do-while d) if、for,语言中最简单的数据类型延续13。c包括a)整数、实数和逻辑b)整数、实数和字符c)整数、字符和逻辑d)字符、实数和逻辑14。如果变量已经被正确定义和赋值,下面符合C语言语法的表达式是a)a:= b+1b)a = b = C+2c)int 18.5% 3d)a = a+7 = C+b 15。下面这组可以在C语言中使用的用户标识符是a) Voiddefineword b)。b如果情况D)2剂量为16。如果变量A和I已经被正确定义,I已经被正确赋值,合法的说法是A)A = = 1B)++ I;c)a = a++ = 5;d)a = int(I);17.已知int t = 0;While (t=1) {...}那么下列说法是正确的:a)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式非法;d)以上说法都不成立:18。有以下程序:main () {int x = 1,a = switch(x){ case 0:b++;案例1:a++;案例二:a++;b++;} printf("a=%d,b=%d\n ",a,b);这个程序的输出是a) a = 2,b = 1 b) a = 1,b = 1 c) a = 1,b = 0 d) a = 2,b = 2 19。以下程序是可用的。if((j++ | | k++))& amp;& ampi++) printf("%d,%d,%d\n ",I,j,k);}执行后的输出结果是a) 1,1,2 b) 2,2,1 c) 2,2,2 d) 2,2,3 20。有以下程序main(){ int n = 9;while(n & gt;6){ n-;printf("%d ",n);}}这个程序的输出结果是A)987 B)876 C)8765 D)9876 21。下列选项中,不构成无限循环的是A)int I = 100;while(1){ I = i0+1;如果(i & gt100)破位;} B)for(;;);c)int k = 10000;do { k++;} while(k & gt;10000);d)int s = 36;while(s)-s;22.如果定义的函数有返回值,下列关于函数调用的说法是错误的:a)函数调用可以作为独立语句存在;b)函数调用可以作为函数的自变量;c)函数调用可以出现在表达式中;d)函数调用可以作为函数的形参;23.有以下程序:float fun(int x,int y){ return(x+y);} main() { int a=2,b=5,c = 8;printf("%3.0f\n ",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是a)编译错误B)9 C)21 D)9.0 24。如果有以下调用语句,不正确的fun函数的头是main () {… int a [50],n;…乐趣(n & amp;a〔9〕);...} a) Voidfun (int m,int x []) b) Voidfun (int s,int h [41]) c) Voidfun (int p,int * s) d) Voidfun (int n,int a) 25 .提供了以下语句。浮动b;} stutype下列说法不正确的是:A)struct是结构类型的关键字;B)struct stu是用户自定义的结构类型;C)stutype是用户自定义的结构类型名称;D)a和B都是结构成员名;26.如果在运行时将12输入到变量X中,下面程序的运行结果是main() {int x,y;scanf("%d ",& ampx);y = x & gt12?x+10:x-12;printf("%d\n ",y);} A)0 B)22 C)12 D)10 27。下列说法正确的是:A)C语言程序总是从第一个函数开始;b)在C语言程序中,要调用一个函数,必须在main()函数中定义它。C)C语言程序总是从main()函数开始。d)C语言程序中的main()函数必须放在程序的开头。28.有以下程序# define f (x,y) (x) * (y) main () {int a = 3,b = 4;printf("%d\n ",F(a++,b++));}程序运行后的输出结果是a)12b)15c)16d)20 29。下面这个程序之后的输出结果是void func (int * a,int b[]){ b[0]= * a+6;} main() { int a,b〔5〕= { 0 };a = 0;b〔0〕= 3;func(& amp;a,b);printf("%d\n ",b〔0〕);} A)6 B)7 C)8 D)9 30。如果有以下程序段char s [] = "中国";char * p;p = s;那么下列说法是正确的:A)s和p完全相同;b)数组s中的内容等于指针变量p中的内容;c)数组s的长度等于p指向的字符串的长度;D)*p等于s[0];31.下面程序中函数sort的作用是将数组A中的数据由大到小排序Voidsort (int a [],int n) {int i,.for(I = 0;ifor(j = I+1;jif(a〔I〕main(){ int aa〔10〕= { 1,2,3,4,5,6,7,8,9,10},I;排序(& ampaa〔3〕,5);for(I = 0;我& lt10;i++)printf("%d,",aa〔I〕);printf(" \ n ");程序运行后的输出结果是a) 1,2,3,4,5,6,7,8,9,10,b) 10,9,8,7,6,5,4,3,2,65438+。9,8,7,6,5,4,3, 32.以下程序的运行结果是# include " stdio . h " main(){ struct date { int year,month,day}今天;printf("%d\n ",sizeof(struct date));} A)6 B)8 C)10 D)12 33。如果从键盘输入6和8,结果是main() {int a,b,s;scanf("%d%d ",& amp一,& ampb);s = a;if(as = b;s * = sprintf("%d ",s);} A)36 B)64 C)48 D)以上都不成立。34.下列关于C语言数据文件的说法正确的是:a)文件由ASCII码字符序列组成,C语言只能读写文本文件;b)文件由二进制数据序列组成,C语言只能读写二进制文件;c)文件由记录序列组成。根据数据的存储形式可以分为二进制文件和文本文件。d)文件由数据流组成,根据数据的存储形式可分为二进制文件和文本文件。35.有以下程序voids(char * s,char t){ while(* s){ if(* s = = t)* s = t-' a '+' a ';s++;} } main(){ char str 1〔100〕= " abcddfedbd ",c =′d′;ss(str1,c);printf("%s\n ",str 1);程序运行后的输出结果是a)abcdefddbd b)abcdefdbd c)abcafefaba d)abcdefdbd 2。填空题(每题2分,* * * 30分)1。算法的基本特征是可行性、确定性、1和充分信息。2.在长度为n的有序线性表中执行二分搜索法..在最坏的情况下,需要比较的次数是2。3.在面向对象的编程中,一个类描述一组具有相似属性的3个。4.一般将软件产品从呈现、实现、使用、维护到退役的过程称为4。5.数据库管理系统常用的数据模型有层次模型、网格模型和5 3种。6.以下程序的输出是6。maim(){ char b〔303〕= "你好";b〔5〕= 0;printf ("%s\n ",b);7.以下程序的输出是7。main(){ int a = 0;a+=(a = 8);printf("%d\n ",a);} 8.void fun(float *sn,int n)的作用是根据下面的公式计算S,计算结果通过参数指针sn返回;n通过形参传入,n的值大于等于0。请填空。void fun( float *sn,int n) { float s=0.0,w,f =-1.0;int I = 0;for(I = 0;我& lt= n;i++){ f = 8 * f;w = f/(2 * I+1);s+= w;} 9 = s;9.fun函数的作用是根据下面的公式求p的值,结果由函数值返回。m和n是两个正数,m & gtn .比如当m=12,n=8时,运行结果应该是495.000000。请在主题的空白处填写适当的计划陈述,以完成该计划。#include #include float fun (int m,int n){ int I;双p = 1.0;for(I = 1;我& lt= m;i++)10;for(I = 1;我& lt= n;i++)11;for(I = 1;我& lt= m-n;i++)p = p/I;返回p;} main(){ clrscr();printf ("p=%f\n ",fun (12,8));10.这个程序的结果是12。# include # include # define M 100 void fun(int M,int *a,int *n) { int i,j = 0;for(I = 1;我& lt= m;i++)if(I % 7 = = 0 | | I = = 0)a〔j++〕= I;* n = j;} main() { int aa〔M〕,n,k;clr SCR();乐趣(10,aa & amp;n);for(k = 0;k if((k+1)= = 0)printf(" \ n ");else printf("M ",aa〔k〕);printf(" \ n ");} 11.下面程序的作用是找出ss引用的字符串中指定字符的个数,并返回这个值。例如,如果输入字符串123412132和字符1,将输出3。请填空。# include # include # define M 81 int fun(char * ss,char c){ int I = 0;for(;13 ;ss++)if(* ss = = c)i++;返回I;} main(){ char a〔M〕ch;clr SCR();printf(" \ n请输入一个字符串:");获取(a);printf(" \ n请输入一个字符:");ch = getchar();printf(" \ n字符的编号是:%d\n ",fun(a,ch));} 12.以下程序将从终端读取的文本(以@作为文本的结尾)输出到一个名为bi.dat的新文件中。请填写空格。#include "stdio.h "文件* fp{ char chif((FP = fopen(14))= = NULL)exit(0);while((ch=getchar())!=′@′)fputc(ch,FP);fclose(FP);} 13.下面的宏定义#定义my WAP(z,x,y){ z = x;x = y;y = z;}下面的程序段通过宏调用实现了变量A和B的内容交换。请填空。浮点数a=5,b=16,c;MYSWAP( 15,a,b);