福建省高职高专升本科入学考试.docx
- 文档编号:9454725
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:31
- 大小:26.23KB
福建省高职高专升本科入学考试.docx
《福建省高职高专升本科入学考试.docx》由会员分享,可在线阅读,更多相关《福建省高职高专升本科入学考试.docx(31页珍藏版)》请在冰豆网上搜索。
福建省高职高专升本科入学考试
2005年福建省高职高专升本科入学考试
软件工程专业《基础知识》试卷
(考试时间150分钟,满分300分,共两部分)
第一部分程序设计(共150分)
一、单项选择题(本大题共40小题,每小题2分,共80分)
1、C语言不能选用的字母是()
(A)w
(B)π
(C)1
(D)i
2、设intm1=5,m2=3;表达式m1>m2?
(m1=1):
(m2=-1)运算后,m1和m2的值分别是()
(A)1和-1
(B)1和3
(C)5和-1
(D)5和3
3、设floatm=4.0,n=4.0;使m为10.0的表达式是()
(A)m-=n*2.5
(B)m/=n+9
(C)m*=n-6
(D)m+=n+2
4、设intx=-1;执行表达式++x后,x的值是()
(A)0
(B)1
(C)2
(D)3
5、设inta=7;b=8;则printf("%d,%d",(a+b,a),(b,a+b));的输出是()
(A)7,15
(B)8,15
(C)15,7
(D)出错
6、设charc[5]={'a','b','\0','c','\0'};则printf("%s",c);的输出是()
(A)'a''b'
(B)ab
(C)abc
(D)"ab\0c"
7、设double*p[6];则()
(A)p是指向double型变量的指针
(B)p是double型数组
(C)p是指针数组,其元素是指向double型变量的指针
(D)p是数组指针,指向double型数组
8、设char*s="china";则printf("%s,%c,%c\n",s,*s,s[3]);的输出是()
(A)china,c,n
(B)china,china,i
(C)c,c,n
(D)china,china,n
9、全局变量的存储类型可以定义为()
(A)auto或static
(B)extern或register
(C)auto或extern
(D)extern或static
10、设FILE*fp;若fp指向的文件未结束,则函数feof(fp)的返回值为()
(A)0
(B)true
(C)非0
(D)false
11、执行下列程序
#defineR0.5
#defineAREA(x)R*x*x
voidmain()
{
inta=1,b=2;
printf("%5.1f\n",AREA(a+b));
}
后输出的结果是()
(A)0.0
(B)0.5
(C)3.5
(D)4.5
12、与语句if(a>b)if(c>d)x=1;elsex=2;等价的是()
(A)if(a>b){if(c>d)x=1;elsex=2;}
(B)if(a>b){if(c>d)x=1;}elsex=2;
(C)if((a>b)&&(c>d))x=1;elsex=2;
(D)if(a<=b)x=2;elseif(c>d)x=1;
13、设inta[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是()//黄sir注:
什么叫“第一维”?
若是指第一个下标则选B,指第二个下标则选
(A)2
(B)3
(C)4
(D)无确定值
14、执行下列程序后输出的结果是()
inta[3][3]={{1},{2},{3}};
intb[3][3]={1,2,3};
voidmain()
{
printf("%d\n",a[1][0]+b[0][0]);
}
(A)0
(B)1
(C)2
(D)3
15、设charstr[100];inti=5;则引用数组元素的错误形式是()
(A)str[i+10]
(B)*(str+i)
(C)*(str+i-1)
(D)*((str++)+i)
16、设intx[]={1,2,3,4,5,6},*p=x;则值为3的表达式是()
(A)p+=2,*++p
(B)p+=2,*p++
(C)p+=3,*p
(D)p+=2,++*p
17、设有定义语句
struct
{
inta;
floatb;
}d[3]={{1,4},{2,5},{6,7}};
则printf("%3.1f\n",d[2].a*d[2].b/d[1].b);的输出是()
(A)2.5
(B)2.0
(C)8.0
(D)8.4
18、在文件使用方式中,字符串"rb"表示()
(A)打开一个已存在的二进制文件,只能读取数据
(B)打开一个文本文件,只能写入数据
(C)打开一个已存在的文本文件,只能读取数据
(D)打开一个二进制文件,只能写入数据
19、设charstr1[10]="ABCDE",str2[10]="XYZ";则执行语句printf“%d",strlen(strcpy(str1,str2)));后输出是()
(A)3
(B)5
(C)8
(D)9
20、语句int(*p)();的含义是()
(A)p是一个指向函数的指针变量,该函数的返回值是一个整型数据
(B)p是指针变量,指向一个整型数据
(C)p是一个指向一维数组的指针变量
(D)p是指针函数
21、在下列运算符中,优先级最低的是()
(A)!
(B).
(C)()
(D)[]
22、在C语言中,合法的长整型常数是()
(A)0L
(B)4962710
(C)0.054838743
(D)2.1869e10
23、设有定义charc;能正确输入c值的是语句()
(A)scanf("%c",c)
(B)scanf('c')
(C)c=getchar()
(D)c=putchar()
24、下面哪个表达式满足x为奇数时为真,x为偶数时为假()
(A)x%2==0
(B)(x/2*2-x)==0
(C)!
!
(x%2)
(D)!
x%2!
=0
25、对静态变量m1、m2进行如下定义:
staticintm1,m2;
则下列叙述正确的是()
(A)m1、m2无初值
(B)m1、m2初值均为0
(C)上述语句有错误
(D)m1、m2初值为随机数
26、若已知int类型占两个字节,则下述程序运行结果为()
structabc
{
chara[10];
doubleb;
intc;
};
printf("%d\n",sizeof(structabc));
(A)8
(B)16
(C)30
(D)20
27、下列是C语言的正确赋值语句的是()
(A)a=1,b=2;
(B)i++;
(C)a=b=5;
(D)y=int(x);
28、若int类型占两个字节,则以下语句输出为()
intk=-1;printf("%d,%u\n",k,k);
(A)-1,-1
(B)-1,65536
(C)-1,32768
(D)-1,65535
29、下列说法中正确的是()//C有点含糊
(A)switch语句中一定要使用break语句
(B)在switch语句中不一定要使用break语句
(C)break语句是switch语句的一部分
(D)break只能用于switch语句中
30、对两个静态数组A和B进行如下初始化staticcharA[]="ABCDEF";staticcharB[]={'A','B','C','D','E','F'};则下列叙述正确的是()
(A)A和B完全相同
(B)A和B只是长度相等
(C)A和B不相同,A是指针数组
(D)A数组长度比B数组长
31、指针s所指字符串的长度为()
char*s="\\Name\\Address\\n";
(A)19
(B)15
(C)18
(D)说明不合法
32、C语言中对于嵌套if语句规定else总是与()配对//注:
四个答案都不对
(A)第一个if
(B)其之前最近的if
(C)缩进位置相同的if
(D)其之前最近的不带else的if语句
33、若有以下说明:
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;则数值为4的表达式是(D)
(A)a[g-c]
(B)a[4]
(C)a['d'-'c']
(D)a['d'-c]
34、下列语句中,可以输出26个大写英文字母的是()
(A)for(a='A';a<='Z';printf("%c",++a));
(B)for(a='A';a<='Z';a++);printf("%c",a);
(C)for(a='A';a<='Z';printf("%c",a++));
(D)for(a='A';a<='Z';printf("%c",a));
35、以下程序运行后,输出结果是()
voidmain()
{
char*s="abcde";
s+=2;
printf("%ld\n",s);
}
(A)字符c的地址
(B)字符c的ASCII码值
(C)cde
(D)出错
36、设p1和p2是指向同一个int型一维数组的指针变量,为型变量,则不能正确执行的语句是()//这个题目题面不完整
(A)
(B)
(C)
(D)
37、一个完整的可执行的C源程序中()
(A)总是从第一个定义的函数开始执行
(B)要调用的函数必须在main()函数中定义
(C)总是从main()函数开始执行
(D)main()函数必须放在程序的开始部分
38、C语言中逻辑值为“真”表示()
(A)true
(B)整型值0
(C)非零数值
(D)T
39、完善下列函数,求字符串长度,正确的选择是()
charlen(char*a)
{
intn=0;
while(*a++!
=________)n++;
return(n)
}
(A)'\0'
(B)NULL
(C)EOF
(D)-1
40、下面程序的运行结果是()
voidmain()
{
doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
(A)3
(B)3.2
(C)0
(D)3.0
二、程序阅读题(本大题共8小题,每小题5分,共40分)阅读下列程序,将输出结果写倒题末空白处
1、voidmain()
{
inta=11,i=5,j=6;
printf("%d,%o,%x\n",a,a,a);
printf("i=%d\n",i++);
printf("%c\n",i==j?
'A':
'B');
}
执行结果是:
2、voidmain()
{
intk;
chara[]="LANGUAGE",b[]="PROGRAM";
char*p=a,*q=b;
for(k=0;k<=5;k++)
if(*(p+k)==*(q+k))printf("%c",*(q+k));
}
执行结果是:
3、intf()
{
intx=1;
returnx++;
}
intg()
{
staticintx=1;
returnx++;
}
voidmain()
{
inti,a=0,b=0;
for(i=0;i<5;i++)
{
a+=f();
b+=g();
}
printf("a=%d\nb=%d\n",a,b);
}
执行结果是:
4、#defineN7
voidmain()
{
inti,j,temp,a[N]={1,2,3,4,5,6,7};
for(i=0;i { j=N-1-i; temp=a[i]; a[i]=a[j]; a[j]=temp; } for(i=0;i } 执行结果是: 5、structporb { char*name; intcount; }x[]={"Lining",19,"Liping",21,"Zhujianhua",20}; voidmain() { inti; for(i=0;i<3;i++) printf("%s: %d\n",x[i].name,x[i].count); } 执行结果是: 6、intsum(intn) { if(n==1)return1; elsereturnn+sum(n-1); } voidmain() { printf("%d\n",sum(10)); } 执行结果是: 7、设从键盘输入282 intsub(intn) { ints=1; do { s*=n%10; n/=10; }while(n); returns; } voidmain() { intn; scanf("%d",&n); n=sub(n); printf("%d\n",n); } 执行结果是: 8、设文件file1.c的内容为COMPUTER #include voidmain() { FILE*fp; charch; if((fp=fopen("file.c","r"))==NULL) { printf("Cannotopenfile\n"); exit(0); } while(! feof(fp)) { ch=fgetc(fp); if(ch>='A'&&ch<='Z')fputc(ch+32,stdout); } fclose(fp); } 执行结果是: 三、完善下列程序(本大题共5小题,每空2分,共30分) 1、给定一个3*4的矩阵,求其中的最大元素 #include intmax_value(intarray[][4]) { inti,j,k,max; max=array[0][0]; for(i=0;i<3;i++) for(j=0;__________;j++) if(array[i][j]>max)__________; returnmax; } voidmain() { staticinta[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; printf("maxvalueis%d\n",__________); } 2、下列程序想要输出三个学生的姓名 #include structstudent { intnum; charname[20]; intage; }; voidmain() { __________; structstudentstud[3]={{101,"Li",18},{102,"Wang",19},{103,"Zhang",21}}; for(__________;p printf("%s\n",__________); } 3、以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。 例如: 输入的两个字符串分别为abcdef和abceef,则输出为-1。 #include voidmain() { charstr1[100],str2[100],c; inti=0,s; printf("\ninputstring1: \n");gets(str1); printf("\ninputstring2: \n");gets(str2); while((str1[i]==str2[i])&&(_________)) __________; s=__________; printf("%d\n",s); } 4、下面程序通过函数计算数组中所有元素的平均值。 floattest(int*pa,intn) { inti; floatavg=0.0; for(i=0;i avg=__________; returnavg; } voidmain() { inti,a[5]={2,4,6,8,10}; floatmean; mean=__________; printf("mean=%f\n",mean); } 5、以下函数累加数组元素中的值,n为数组元素的个数,累加和放入x所指向的存储单元中。 #define6 voidfun(intb[],int*x) { intk,r=0; for(k=0;k r=__________; __________=r; } voidmain() { inta[6]={9,6,2,4,12,89}; intsum; fun(__________); printf("Sum=%d\n",sum); } 第二部分关系数据库与SQL语言(共150分) 一、单项选择题(本大题共30小题,每小题2分,共60分) 1、DDL是()。 (A)数据定义语言 (B)数据操纵语言 (C)数据控制语言 (D)数据查询语言 2、在SQL语言中,修改表中数据时,应使用的命令是()。 (A)UPDATE (B)INSERT (C)ALTER (D)MODIFY 3、在关系数据库中,实现“表中任意两行不能相同”的约束是靠() (A)外码 (B)属性 (C)主码 (D)列 4、层次模型的数据结构是() (A)表 (B)树 (C)有向图 (D)网络 5、E-R图是进行()设计的有力工具 (A)关系模型 (B)网络模型 (C)层次模型 (D)概念模型 6、你要连接两个表A与B中的数据,形成一个结果集,并在会话中显示这个结果。 表A与表B有一个共享列,在两个表中都称为C。 下列哪个选项中的where子句可以显示表A中C列为5的数据, 即使表B中没有相应数值? () (A)whereA.C=5andA.C=B.C (B)whereA.C=5andA.C=B.C(+) (C)whereA.C=5andA.C(+)=B.C(=) (D)whereA.C=5 7、EMPLOYEE表有三列EMPID、LASTNAME与SALARY,用户HARRIS想要改变其中一行,更新员工号59694的工资数据, 最好用哪个语句? () (A)updateemployeesetsalary=5000whereempid=59694; (B)updateemployeesetempid=45939whereempid=59694; (C)updateemployeesetlastname='HARRIS'whereempid=59694; (D)updateemployeesetsalary=5000wherelastname='HARRIS'; 8、对关系执行“投影”运算后,元组的个数与原关系中元组个数()。 (A)相同 (B)小于原关系 (C)大于原关系 (D)不大于原关系 9、在SQL语言中,修改表结构时,应使用的命令是()。 (A)UPDATE (B)INSERT (C)ALTER (D)MODIFY 10、数据库的概念模型独立于() (A)具体的机器和DBMS (B)E-R图 (C)信息世界 (D)现实世界 11、()是存储在计算机内的有结构的数据集合 (A)网络系统 (B)数据库系统 (C)操作系统 (D)数据库 12、关系数据库中,()是不正确的。 (A)每一列取自同一个域,赋于不同的属性名 (B)每一列是不可再分的数据项 (C)列的次序不影响关系的性质 (D)行的次序是有序的,不能任意交换 13、数据库中对全体数据的整体逻辑结构的描述,作为数据库的() (A)内模式 (B)外模式 (C)模式 (D)物理模式 14、对表进行垂直方向的分割用的运算是()。 (A)交 (B)投影 (C)选择 (D)连接 15、下列()不包含在数据库的逻辑数据模型中 (A)数据结构 (B)数据操作 (C)数据的约束条件 (D)数据的存储 16、用户与数据库之间的一层数据管理软件是() (A)DBS (B)DBMS (C)DB (D)OS 17、要保证数据库逻辑数据独立性,需要修改的是() (A)模式 (B)模式与内模式的映射 (C)模式与外模式的映射 (D)内模式 18、已知在一个工厂的车间,每一个车间有多名职工,每个职工只能属于一个车间; 一个产品要经过多个工人加工,一个工人要加工多个产品。 车间与工人属于()联系; 工人与产品之间属于()联系。 (A)一对多 (B)一对一 (C)未知 (D)多对多 19、具有数据冗余度小、数据共享、较高数据独立性等特征的系统是()。 (A)文件系统 (B)数据库系统 (C)高级程序 (D)管理系统 20、用户或应用程序看到的数据的逻辑结构与特征的描述是() (A)模式 (B)物理模式 (C)外模式 (D)内模式 21、“关系”在关系数据库中称为() (A)实体集 (B)文件 (C)表 (D)记录 22、关系数据库中,实现表与表之间的联系是通过() (A)实体完整性 (B)参照完整性 (C)用户自定义的完整性 (D)属性的值域 23、对表进行水平方向的分割用的运算是() (A)交 (B)投影 (C)选择 (D)连接 24、在SQL语言中,建索引用() (A)CREATESCHEMA (B)CREATETABLE (C)CREATEINDEX (D)CREATEVIEW 25、在数据库中存储的是()//此题不妥 (A)数据 (B)数据模型 (C)数据及数据间的联系 (D)信息 26、要查询的PROFITS表存储公司不同地区(region)、产品类型(prod_type)的利润信息。 下列哪个SQL语句按不同地区、产品类型和季度(period)求出平均利润大于100000美元的利润? ()。 (A)selectregion,p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 福建省 高职 高专升 本科 入学考试