sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是C
A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,
(42)A以下程序的运行结果是#include"stdio.h"main(){structdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}
A)6B)8C)10D)12
(43)若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是D
A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point
(44)在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是 B
A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定
(45)已定义以下函数fun(char*p2,char*p1){while((*p2=*p1)!
='\0'){p1++;p2++;}}
函数的功能是A
A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2
C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'
(46)若执行下述程序时,若从键盘输入6和8时,结果为B
main(){inta,b,s;scanf("%d%d",&a,&b);s=aif(a
A)36B)64C)48D)以上都不对
(47)fscanf函数的正确调用形式是D
A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);
C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);
(48)下列关于C语言数据文件的叙述中正确的是D
A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
(49)有以下程序
voidss(char*s,chart){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}main(){char
str1[100]="abcddfefdbd",c='d';ss(str1,c);printf("%s\n",str1);}程序运行后的输出结果是B
A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd
(50)若以下定义:
structlink{intdata;structlink*next;}a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:
指针p指向变量a,q指向变量c。
则能够把c插入到a和b之间并形成新的链表的语句组是:
D
A)a.next=c;c.next=b;B)p.next=q;q.next=p.next;
C)p->next=&c;q->next=p->next;D)(*p).next=q;(*q).next=&b;
二、填空题
(1)算法的基本特征是可行性、确定性、【1】和拥有足够的情报。
1.(有穷性)
(2)在长度为n的有序线性表中进行二分查找。
最坏的情况下,需要的比较次数为【2】。
1.(log2n)
(3)在面向对象的程序设计中,类描述的是具有相似性质的一组【3】。
1.(对象)
(4)通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为【4】1.(软件生命周期)。
(5)数据库管理系统常见的数据模型有层次模型、网状模型和【5】3种。
1.(关系模型)
(6)设y是int型,请写出y为奇数的关系表达式【6】。
1.((y%2)==1或(y%2)!
=0)
(7)设inta=5,b=6,表达式(++a==b--)?
++a:
--b的值是【7】 。
1.(7)
(8)下列程序的输出结果是【8】。
maim (){charb[]="Helloyou";b[5]=0;printf("%s\n",b);}
正确答案:
1.(Hello)
(9)当调用函数时,实参是一个数组名,则向函数传递的是【9】。
1.(数组的首地址)
(10)以下程序的输出结果是【10】。
inta=1234;printf("%2d\n",a);正确答案:
1.(1234)
(11)用高级语言编写的程序称为【11】程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。
1.(源程序)
(12)以下程序的输出结果是【12】。
main(){inta=0;a+=(a=8);printf("%d\n",a);}正确答案:
1.(16)
(13)函数voidfun(float*sn,intn)的功能是:
根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。
请填空。
voidfun(float*sn,intn){floats=0.0,w,f=-1.0;inti=0;for(i=0;i<=n;i++){f=【13】*f;
w=f/(2*i+1);s+=w;}【14】=s;}正确答案:
1.(-1)2.(*sn)
(14)函数fun的功能是:
根据以下公式求p的值,结果由函数值返回。
m与n为两个正数且要求m>n。
例如:
m=12,n=8时,运行结果应该是495.000000。
请在题目的空白处填写适当的程序语句,将该程序补充完整。
#include#includefloatfun(intm,intn){inti;doublep=1.0;for(i=1;i<=m;i++)【15】;for(i=1;i<=n;i++)【16】;for(i=1;i<=m-n;i++)p=p/i;returnp;}main(){clrscr();printf("p=%f\n",fun(12,8));}正确答案:
1.(p=p*i)2.(p=p/i)
(15)该程序运行的结果是【17】。
#include#include#defineM100voidfun(intm,int*a,int*n){inti,j=0;
for(i=1;i<=m;i++)if(i%7==0||i%11==0)a[j++]=i;*n=j;}main(){intaa[M],n,k;clrscr();
fun(10,aa,&n);for(k=0;kprintf("\n");}正确答案:
1.(7)
(16)下列程序的功能是:
求出ss所指字符串中指定字符的个数,并返回此值。
例如,若输入字符串123412132,输入字符1,则输出3,请填空。
#include#include#defineM81intfun(char*ss,charc)
{inti=0;for(;【18】;ss++)if(*ss==c)i++;returni;}main(){chara[M],ch;clrscr();
printf("\nPleaseenterastring:
");gets(a);printf("\nPleaseenterachar:
");ch=getchar();printf("\nThenumberofthecharis:
%d\n",fun(a,ch));}正确答案:
1.(*ss!
='\0')
(17)下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中,请填空。
#include"stdio.h"FILE*fp;{charch;if((fp=fopen(【19】))==NULL)exit(0);while((ch=getchar())!
='@')fputc(ch,fp);fclose(fp);}正确答案:
1.("bi.dat","w"或"bi.dat","w+")
(18)设有如下宏定义
#defineMYSWAP(z,x,y){z=x;x=y;y=z;}以下程序段通过宏调用实现变量a,b内容交换,请填空。
floata=5,b=16,c;MYSWAP(【20】,a,b);正确答案:
1.(c)
一、选择题(每题2分,共计70分)
(1)已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为正确答案:
B
A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG
(2)树是结点的集合,它的根结点数目是正确答案:
A
A)有且只有1B)1或多于1C)0或1D)至少2
(3)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是正确答案:
B
A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D)任意顺序
(4)在设计程序时,应采纳的原则之一是正确答案:
D
A)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解
(5)程序设计语言的基本成分是数据成分、运算成分、控制成分和D
A)对象成分B)变量成分C)语句成分D)传输成分
(6)下列叙述中,不属于软件需求规格说明书的作用的是D
A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据
C)作为确认测试和验收的依据D)便于开发人员进行需求分析
(7)下列不属于软件工程的3个要素的是D
A)工具B)过程C)方法 D)环境
(8)单个用户使用的数据视图的描述称为正确答案:
A
A)外模式B)概念模式C)内模式D)存储模式
(9)将E-R图转换到关系模式时,实体与联系都可以表示成B
A)属性B)关系C)键D)域
(10)SQL语言又称为C
A)结构化定义语言B)结构化控制语言C)结构化查询语言D)结构化操纵语言
(11)下列叙述中正确的是D
A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种
C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用
(12)在C语言中,退格符是D
A)\nB)\tC)\fD)\b
(13)以下叙述中正确的是A
A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数
C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义
(14)在C程序中,判逻辑值时,用"非0"表示逻辑值"真",又用"0"表示逻辑值"假"。
在求逻辑值时,用()表示逻辑表达式值为"真",又用()表示逻辑表达式值为"假"。
A
A)1 0B)0 1C)非0 非0D)1 1
(15)在C语言中,运算对象必须是整型数的运算符是A
A)%B)\C)%和\D)**
(16)字符型数据在机器中是用ASCII码表示的,字符"5"和"7"在机器中表示为C
A)10100011和01110111B)01000101和01100011C)00110101和00110111D)01100101和01100111
(17)若已定义:
inta=25,b=14,c=19;以下三目运算符(?
:
)所构成语句的执行后
a<=25&&b--<=2&&c?
printf("***a=%d,b=%d,c=%d\n",a,b,c):
printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是C
A)***a=25,b=13,c=19B)***a=26,b=14,c=19C)###a=25,b=13,c=19D)###a=26,b=14,c=19
(18)若有定义:
inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A
A)2.500000B)2.750000C)3.500000D)0.000000
(19)下列程序段的输出结果是:
C
inta=1234;floatb=123.456;doublec=12345.54321;printf("%2d,%2.1f,%2.1f",a,b,c);
A)无输出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.5
(20)D若运行以下程序时,从键