2010福建专升本计科类真题(共23页)
精选优质文档-倾情为你奉上2010福建省高职高专升本科入学考试软件工程计算机科学与技术专业知识试卷数字媒体艺术(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1、在C语言中,浮点型常量的表示方法错误的是()(A)12.565(B)0.0(C)1.2521e2(D)5.382、下面程序执行后的结果是()#include<stdio.h>void main()float b=189.22;printf("%2d",(int)b);(A)189.22(B)189(C)18(D)893、如果要对a,b,c三个变量赋予同一个初值5,如下语句错误的是()(A)inta,b,c; a=b=c=5;(B)int a=5,b=5,c=5;(C)int a=5;b=5;c=5;(D)int a=5,b=a,c=b;4、设所有变量均是int类型,运行完表达式(a=4*6,a-3),a+22)后表达式的值为()(A)46(B)43(C)0(D)205、下列不能够正确得到a,b两个值中最大值,并把最大值赋予max的语句为()(A)if(a>b) max=a; else max=b;(B)a>b?max=b:max=a;(C)a>b?max=a:max=b;(D)a<b?max=b:max=a;6、已知float x=6.5; int a=8; float y=3.5; 则表达式x+a%3*(int)(x+y)%2/4最后的值是多少()(A)10(B)6.5(C)31.5(D)07、关于算法的描述,错误的是()/此题不妥(A)算法应具有零个或多个输入输出(B)算法中的每一个步骤都必须是确定的(C)算法可以是有限的,也可以是无限不停止的(D)算法的输出可以是屏幕上显示,也可以是通过打印机打印8、设a,b初始值分别是3和5,则如下程序执行完后,a和b的值分别是()if(a=b)>0) b=a+;else a=+b;(A)6,5(B)5,6(C)5,5(D)3,69、设a,b都是整数类型,要在键盘上输入a,b的值,则格式化输入函数应为()(A)scanf("%d,%d",*a,*b);(B)scanf("%d,%d",a,b);(C)scanf("%d,%d",&a,&b);(D)scanf("%d,%d",%a,%b);10、已知a和b值分别是4和5,关于如下逻辑表达式,值为0的是()(A)a|b(B)!a|b(C)(a&&b)|0(D)!(a>b)11、以下程序的输出结果是()#include<stdio.h>void main()int top=5;inttmp=0;dotmp*=top;while(-top);printf("%d,%dn",top,tmp);(A)0,120(B)1,120(C)0,0(D)1,012、已知有定义int a10;,如下对数组a第5个元素引用中(数组的首元素为第1个元素),正确的表达式是()(A)a0+4(B)*a+4(C)*(a+4)(D)a513、假设二维数组a定义为float a34,下列对数组第二行、第二列元素引用方法中,错误的为()(A)*(a0+5)(B)a22(C)a11(D)*(a1+1)14、以下程序输出结果正确的是()#include<stdio.h>void main()int sum=0;for(int n=0;n<10;n+)if(n%2=0)continue;if(n%5=0)break;sum+=n;printf("%d,%d",sum,n);(A)4,5(B)45,10(C)2,1(D)5,815、如下对字符串赋初值的方式中,错误的是()(A)char t10='h','e','r','e'(B)char t="here"(C)char t="here"(D)char t10='here'16、如下常用的字符串操作中,实现两个字符串连接操作的是()(A)strcmp(B)strcat(C)strcpy(D)strstr17、以下程序的输出结果正确的是()int f(inta,int *b)if(a>*b) *b=a;return *b;void main()int a=9; int b=6;int c=f(a,&b);printf("%d,%d,%d",a,b,c);(A)9,6,9(B)9,9,6(C)9,6,6(D)9,9,918、一维数组a的定义为int a10,对于如下函数定义,不能用f(a)调用的为()(A)int f(int *x)(B)int f(int x)(C)int f(int x10)(D)int f(int x)19、以下程序的输出结果正确的是()int p=1; int q=2;int f(int p) p+; q+; return p;int g(int x) p+=x; return p;void main()f(3);g(5);printf("%d,%d",p,q);(A)6,3(B)7,3(C)6,2(D)7,220、当函数中的局部变量在函数调用结束后不消失而保留原值,在下次调用该函数时,该变量已有值,那么申明该变量时需要使用何种关键字加以修饰()(A)register(B)const(C)static(D)extern21、以下程序的输出结果正确的是()void main()int a5=0,1,2,3,4;printf("%d,%d,%d,%d",*a,*(a+3)+1,a2+2,a3);(A)0,3,2,3(B)0,4,4,3(C)0,1,2,3(D)2,3,2,322、假设变量a,b初始值为4,5,通过swap(a,b)可以实现a和b值互换的函数定义为()(A)void swap(int p1,int p2)inttmp; tmp=*p1; *p1=*p2; *p2=tmp;(B)void swap(int *p1,int *p2)int *tmp; *tmp=*p1; *p1=*p2; *p2=tmp;(C)void swap(int p1,int p2)inttmp; tmp=p1; p1=p2; p2=tmp;(D)void swap(int *p1,int *p2)inttmp; tmp=*p1; *p1=*p2; *p2=tmp;23、以下表达式中,不能够实现结构体stu中age域值加1的表达式是()(A)stu.age+(B)+stu.age(C)stu.age+1(D)stu.age+=124、要打开一个文本文件,并且向文本文件中写入相关信息,那么如下打开文件方式正确的是()(A)FILE fp=fopen("filename.txt","w");(B)FILE fp=fopen("filename.txt","r");(C)FILE fp=fopen("filename.txt","rb");(D)FILE fp=fopen("filename.txt","wb");25、一下程序的输出结果正确的是()int f(int n) if(n<=1) return n; else return (n+f(n-1);void main()printf("%d",f(5);(A)10(B)5(C)120(D)1526、有如下宏定义#define A 100#define B 2*A对于表达式printf("A=%d,B=%d",A,B); 宏展开后语句为()(A)printf("A=%d,B=%d",100,2*A);(B)printf("100=%d,2*A=%d",100,2*A);(C)printf("A=%d,B=%d",100,2*100);(D)printf("A=%d,B=%d",100,200);27、关于结构体的叙述中,错误的是()(A)一个结构体变量的指针就是该变量所占据的内存起始位置(B)一个结构体变量中可以存放一组数据(C)结构体变量可以作为函数传递的参数(D)用结构体变量作实参时,采取的不是“值传递”的方式28、以下程序的输出结果正确的是()struct roomcharroomName20;int L;int W;r2="101",3,4,"102",4,4;void main()printf("%s area is %d",r1.roomName,r1.L*r1.W);(A)printf("%s area is %d",r1.roomName,r1.L*r1.W);语句错误(B)102 area is 16(C)101 area is 12(D)102 area is 1229、C语言提供的数据类型中,属于构造类型的是()(1)整型(2)字符型(3)浮点型(4)枚举类型(5)结构体类型(6)公用体类型(7)指针类型(A)(1)(2)(3)(B)(5)(6)(C)(4)(5)(6)(D)(7)30、组成结构化程序设计的三种基本控制结构中,不包括()(A)顺序结构(B)选择结构(C)循环结构(D)嵌套结构二、程序阅读题(本大题共4小题,每小题5分,共20分)阅读下列程序,写出程序运行输出结果。31、#include<stdio.h>void main()charch20="Example354"for(inti=0;i<10;i+)chi=(chi>='A'&&chi<='Z')?(chi+32):chi;printf("%sn",ch);32、#include<stdio.h>void main()longint f1,f2;int i;f1=1; f2=1;printf("%10ldn",f1);printf("%10ldn",f2);for(i=1;i<=6;i+)f2=f1+f2;f1=f2-f1;printf("%10ldn",f2);