专升本c语言真题套卷_第1页
专升本c语言真题套卷_第2页
专升本c语言真题套卷_第3页
专升本c语言真题套卷_第4页
专升本c语言真题套卷_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(A卷)第 15 页 共 59 页专升本c语言真题套卷教育技术学 专业 C语言程序设计 试卷 (A卷)题号一二三四五六七八九十总分评卷人得分一、填空题(每空1分,共10分)1C程序的基本单位是_。2C语言源程序文件的后缀是_。3标识符的第一个字符必须是_或_。4表达式10%3的结果是_。5当打开的文件被成功关闭后,函数fclose()返回 。6在每个C语句和数据定义的最后必须有一个_。7若有定义:double A35;则A数组中行下标的下限为_,列下标的上限为_。8若x=2,y=3,则 x|y2的结果是_。二、单项选择题(每小题1.5分,共30分)题号12345678910答案题号111213

2、14151617181920答案1算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是( )。A高效性 B有穷性 C有零个输入或多个输入 D确定性2C语言程序的三种基本结构是( )。A顺序结构、选择结构、循环结构B递归结构、循环结构、转移结构C嵌套结构、递归结构、顺序结构 D循环结构、转移结构、顺序结构3有下面的程序段char a3,b=“China”;a=b;printf(“%s”,a);A运行后将输出China B运行后将输出ChC运行后将输出Chi D编译出错4若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。Ax=n%2.5 Bx=y=5 Cx+n

3、=i Dx=5=4+15若执行以下程序时从键盘上输入9,则输出结果是( )。A11 B10 C9 D8main() int n;scanf(%d,&n);if(n+10) printf(%dn,n);else printf(%dn,n-);6设x、y、t均为int型变量,则执行语句:x=y=3;t=+x|+y;后,y的值为( )。A不定值 B4 C3 D17有以下程序段int k=0;while(k=1)k+;while 循环执行的次数是( )。A无限次 B有语法错,不能执行 C一次也不执行 D执行1次8若变量c为char类型,能正确判断出c为小写字母的表达式是( )。Aa=c=a)|(c=z

4、)C(a=c) D(c=a)&(c=z)9以下所列的各函数首部中,正确的是( )。Avoid play(var :Integer,var b:Integer)Bvoid play(a,b)Cvoid play(int a,int b)DSub play(a as integer,b as integer)10以下程序的输出结果是( )。A0 B29 C31 D无定值fun(int x, int y, int z) z=x*x+y*y; main() int a=31;fun(5,2,a);printf(%d,a);11下列程序的输出结果是( )。A非法 Ba4的地址 C5 D3main() c

5、har a10=9,8,7,6,5,4,3,2,1,0,*p=a+5;printf(%d,*-p);12当调用函数时,实参是一个数组名,则向函数传送的是( )。A数组的长度B数组的首地址C数组每一个元素的地址D数组每个元素中的值13若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是( )。AEOF B0 C非零值 DNULL14以下程序的输出结果是( )。A1,5,9, B1,4,7, C3,5,7, D3,6,9,main() int i, x33=1,2,3,4,5,6,7,8,9;for(i=0;i3;i+) printf(%d,xi2-i);15以下叙述正确

6、的是( )。A在进行宏定义时,可以引用已定义过的宏B编译预处理命令必须位于程序的开头C宏展开将占用程序运行时间D从宏被定义的位置起,所有与宏名相同的字符串都将被替换16在说明一个共用体变量时,系统分配给它的存储空间是( )。A该共用体中第一个成员所需存储空间B该共用体中最后一个成员所需存储空间C该共用体中占用最大存储空间的成员所需存储空间D该共用体中所有成员所需存储空间的总和17下列程序段的输出结果( )。int b=10;printf(%d ,b);A02 B-20 C-21 D-1118在C语言中,对文件进行操作的一般步骤是( )。A打开文件操作文件关闭文件 B操作文件修改文件关闭文件C读

7、写文件打开文件关闭文件D读文件写文件关闭文件19若执行fopen()函数发生错误,则函数的返回值是( )。A地址值 BNULL C1 DEOF20以下程序运行后结果是( )。#define A 3#define B(a) (A+1)*a)main() int x; x=3*(A+B(7); printf(%dn,x);A93 B31 C12 D不确定三、阅读程序,将运行结果写到各题右侧的空白处(每小题4分,共20分)1main() int a=0;a+=(a=8);printf(%dn,a);2main() int a33=1,2,3,4,5,6; int i,j,s=0; for(i=1;i

8、3;i+) for(j=0;j= food) puts(p);四、阅读程序或程序段,填空(每小题4分,共20分)1以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标,请填空。#define N 3#define M 3select(int aNM,int *n) int i,j,row=1,colum=1; for(i=0;iN;i+) for(j=0;jarowcolum)row=i;colum=j; *n= ; return ; main() int aNM=9,11,23,6,1,15,9,17,20,max,n

9、; max=select(a,&n); printf(max=%d,line=%dn,max,n);2以下程序的功能是:输出a,b,c三个变量中的最小值,请填空。#includevoid main() int a,b,c,t1,t2; scanf(%d%d%d,&a,&b,&c); t1=ab? ; t2=ct1? ; printf(%dn,t2);3下面程序采用函数递归调用的方法计算sum=1+2+3+4+.+n,请填空。#include stdio.hmain() int sum(int); int i; scanf(%d,&i); if(i=0) printf(Input error!)

10、; else printf(sum=%d,sum(i);int sum(int n) if(n=1) return ; else return ;4编写一个程序判定一个字符在一个字符串中出现的次数,如果字符不出现,则返回0,请填空。#include int char_count(char *s,char letter) int count=0; while(*s) if( ) count+; return ;main() char c,string50,*str=string; printf(Input string:); gets(str); printf(Input a char:); s

11、canf(%c,&c); printf(The number is:%d,char_count(str,c);5编写一个程序将用户输入的由数字字符和非数字字符组成的字符串中的数字提取出来,请填空。main() char str20,*p; p=str; gets(str); for(; ;p+) if( ) printf(%c,*p); 五、编程题(每小题10分,共20分)1编一程序,输入一个百分制成绩,输出用 A,B,C,D,E表示的等级。设:90分以上的为A,8089分为B,7079分为C,6069分为D,60分以下为E。若输入的成绩大于100分或小于0分,输出“输入错误!”的提示信息。(

12、要求用switch语句编程)。2在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1到100分,选手最后得分为去掉一个最高分和一个最低分后其余8个分数的平均值,请编写程序实现。韩山师范学院2011年本科插班生考试样卷教育技术学 专业 C语言程序设计 题号一二三四五六七八九十总分评卷人得分一、填空题(每空1分,共10分)1. C语言的数据类型中,构造类型包括:数组、 和 。2. 在C程序中,指针变量能够赋 值或 值。3. C目标程序经 后生成扩展名为exe的可执行程序文件。4. 设有定义语句 static char s5; 则s4的值是 。5. 设x为int型变量。与逻辑表达式!x等价的关系表

13、达式是 。6. 若一全局变量只允许本程序文件中的函数使用,则该变量需要使用的存储类别是 。7. 磁盘文件按文件读写方式分类可以为顺序存取文件和 。8. 设有下列结构体变量xx的定义,则表达式sizeof(xx)的值是_。struct long num;char name20;unionfloat y; short z; yz; xx;二、单项选择题(每小题1.5分,共30分)题号12345678910答案题号11121314151617181920答案1. 设有定义int x=8, y, z; 则执行y=z=x+, x=y= =z; 语句后,变量x值是( )A、0 B、1 C、8 D、92.

14、有以下程序main( ) int i=1,j=1,k=2; if(j+k+)&i+) printf(%d,%d,%dn,i,j,k);执行后输出结果是( )A、 1,1,2 B、2,2,1 C、 2,2,2 D、2,2,33. 已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )A、scanf( “%2d%2d%2d”,&i,&j,&k);B、scanf( “%d %d %d”,&i,&j,&k);C、scanf( “%d,%d,%d”,&i,&j,&k);D、scanf( “i=%d,j=%d,k=%d”,&i,&j,

15、&k);4. 有以下程序 main() int a=5,b=4,c=3,d=2; if(abc) printf(%dn,d); else if(c-1=d)= =1) printf(%dn,d+1); elseprintf(%dn,d+2); 执行后输出结果是 ( )A、2 B、3 C、 4 D、 编译时有错,无结果5. 以下程序段 ( )x=1;do x=x*x; while (!x); A、是死循环B、循环执行二次C、循环执行一次D、有语法错误6. 以下不能正确定义二维数组的选项是( )A、int a22=1,2;B、int a2=1,2,3,4;C、int a22=1,2,3;D、int

16、 a2=1,2,3,4;7. 有以下程序main() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6; int i,s=0; for(i=0;i4;i+) s+=aai1; printf(“%dn”,s); 程序运行后的输出结果是 ( )A、11 B、19 C、 13 D、208. 以下程序的输出结果是 ( ) main() char ch35=AAAA,BBB,CC; printf(%sn,ch1); A、AAAA B、BBB C、BBBCC D、CC9. 有以下程序#define f(x) x*xmain( ) int i; i=f(4+4)/f(2+2

17、); printf(“%dn”,i); 执行后输出结果是( )A、28 B、22 C、16 D、410. 决定C语言中函数返回值类型的是( )。A、return语句中的表达式类型B、调用该函数的主调函数类型C、调用函数时临时指定的类型D、定义函数时在函数首部中所指定的类型(若缺省,则隐含为int型)。11. 系统对预处理命令(如宏替换、文件包含、条件编译)的处理时机是( )。A、编译源程序 B、编译源程序之前 C、连接目标文件时 D、运行程序时12. 在位运算中,操作数每左移一位,其结果相当于( )15A、操作数乘以2C、操作数除以2B、操作数除以4D、操作数乘以413. 下述描述中不正确的是

18、( )。A、字符型数组中可以存放字符串B、可以对字符型数组进行整体输入、输出C、可以对整型数组进行整体进行输入、输出D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值14. 若有以下定义 int a23,则对a数组第i行第j列元素的正确引用是( )A、*(*(a+i)+j)B、(a+i)jC、*(a+i+j)D、*(a+i)+j15. 有以下程序 void fun(char *a, char *b) a=b; (*a)+; main() char c1=A,c2=a,*p1,*p2; p1=&c1; p2=&c2; fun(p1,p2); printf(%c%cn,c1,c2);

19、 程序运行后的输出结果是( ) A、Ab B、aa C、AaD、Bb16. 已定义以下函数Fun (char *p2, char * p1) while(*p2=*p1)!= 0) p1+;p2+; 函数Fun的功能是( ) A、将p1所指字符串复制到p2所指内存空间B、将p1所指字符串的地址赋给指针p2C、对p1和p2两个指针所指字符串进行比较D、检查p1和p2两个指针所指字符串中是否有017. 设有以下结构体类型:struct st char name8; int num; float s4;student50;并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中

20、,以下不正确的形式是( )A、 fwrite(student,sizeof(struct st),50,fp);B、 fwrite(student,50*sizeof(struct st),1,fp);C、 fwrite(student,25*sizeof(struct st),25,fp);D、 for(i =0;i50;i+)fwrite(student+i, sizeof(struct st),1,fp);(A卷)第 59 页 共 59 页18. 若有说明语句char a = It is mine;char *p= It is mine;则以下不正确的叙述是( )A、 a+1表示的是字符

21、t的地址B、 p指向另外的字符串时,字符串的长度不受限制C、 p变量中存放的地址值可以改变D、 a中只能存放10个字符19. 当调用函数时,实参是一个数组名,则向函数传送的是 ( )A、 数组的长度B、 数组的首地址C、 数组每一个元素的地址 D、 数组每一个元素中的值20. 设有变量说明 int a=3,b=6; char c; 若执行赋值语句 c=(ab)2; 则c的二进制值是( )。 A、00011100 B、00000111 C、00000001 D、00010100三、阅读程序,将运行结果写到各题右侧的空白处(每小题4分,共20分)1#include main() char str=

22、1234567; int i; for(i=0; i7; i+=3) printf(%sn, str+i); 2#include main() int i; for(i=0;i3;i+) switch(i) case 0: printf(%d,i); case 2: printf(%d,i); default: printf(%d,i); 3#include main() int i; for (i=1;i6;i+) if (i%2) printf(#); continue; printf(*); printf(n); 4#include int b=1; func (int p) stati

23、c int d=5; d+=p; printf (%d,d); return (d ); main () int a=3; printf(%dn,func(a+func(b);5#include struct stu int num; char name10; int age; void py(struct stu *p) printf(%sn, (*p).name); main() struct stu student3=1001,Sun,25,1002,Ling,23,1003,Shen,22; py(student+2); 四、阅读程序或程序段,填空(每小题4分,共20分)1下面程序的功

24、能是调用fun函数以删除字符串中指定的字符,请填空。void fun(char s,int c) int i,j; for(i=0,j=0;si!=0;i+) if ( ) sj=0;main() char str=abcdefgAbcd, ch;scanf(%c,&ch);fun(str,ch);printf(%sn,str);2下面程序是按学生姓名查询其排名和平均成绩,查询可连续进行直到键入0时结束,请填空。#include#define NUM 4struct student int rank;char *name;float score; stu=3,”Tom”,89.3,4,”Mar

25、y”,78.2,1, ”Jack”,95.1,2, ”Jim”,90.6;main() char str10; int i;do printf(Enter a name: );scanf(%s,str);for(i=0;i=NUM) printf(Not foundn);while(strcmp(str,”0”)!=0);3下面程序是用“顺序查找法”查找数组中的元素,请填空。main() int a8=25,57,48,37,12,92,86,33; int i, x;scanf(%d, &x);for(i=0;i8;i+) if ( )printf(Found!The index is :%

26、dn, i);break; if( ) printf(“Cant found! );4下面程序由键盘输入一些字符,逐个把它们送到磁盘文件中,直到输入一个“!”为止,请填空。#includemain( ) FILE *fp;char ch,fname10;printf(Input name of file: n); gets(fname);if(fp=fopen(fname, w)= =NULL)printf(cannot open n);exit(0);printf(Enter data:n);while ( ) fputc ( );fclose(fp);5下面函数 fun 的功能是:将在字符

27、串s中下标为奇数位置上的字符,紧随其后重复出现一次,放在一个新串t中, 例如:当s中的字符串为:ABCDEF 时,则t中的字符串应为:BBDDFF。 #includevoid fun (char *s, char *t) int i,j; for(i=0;i2的结果是_。得分评卷人二、单项选择题(每题1.5分,共30分)题号12345678910答案题号11121314151617181920答案1算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是( )。A高效性 B有穷性 C有零个输入或多个输入 D确定性2以下哪个不是C语言程序的三种基本结构( )。A顺序结构

28、B递归结构 C循环结构 D选择结构3有以下程序:main() int m,n,p; scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%d,m,n,p);若想从键盘上输入数据,使变量m的值为123,n的值为456,p的值为789,则正确的输入是( )。Am=123n=456p=789Bm=123 n=456 p=789Cm=123,n=456,p=789D123 456 7894下面四个选项中,哪个选项是合法变量( )。A4as Ba#3 C_3a D“a”5若执行以下程序时从键盘上输入9,则输出结果是( )。A11 B10 C9 D8mainn() int n;

29、scanf(%d,&n);if(n10) printf(%dn,n+1);else printf(%dn,n-1);6设x、y、t均为int型变量,则执行语句:x=y=3;t=x+y+;后,y的值为( )。A不定值 B4 C3 D17有以下程序段int k=0;while(k1)k+;while 循环执行的次数是( )。A无限次 B有语法错,不能执行 C一次也不执行 D执行1次8若变量c为int类型,能正确判断出c为数字的表达式是( )。A(0=c) B(c= 0)&(c= 9)C0=c= 0)|(c= 9)9以下正确的函数声明形式是( )。A. double fun(int x , int

30、y)B. double fun(int x ; int y)C. double fun(int x , int y) ;D. double fun(int x ; int y) ;10以下程序的输出结果是( )。A0 B29 C31 D无定值int fun(int x, int y) int z; z=x*x+y*y; return z;main() int a=31;a=fun(5,2);printf(%d,a);11下列程序的输出结果是( )。A非法 Ba1的地址 C9 D8main() char a10=9,8,7,6,5,4,3,2,1,0,*p=a+1;printf(%d,*p);1

31、2下列能正确定义一维数组的选项是( )。Aint a5=0,1,2,3,4,5; Bint a =0,1,2,3,4,5;Cchar a=A, B, C; Dint a5=0123;13有下列程序:#include void WriteStr(char *fn,char *str) FILE *fp;fp=fopen(fn,w); fputs(str,fp); fclose(fp);main( )WriteStr(t1.dat,start); WriteStr(t1.dat,end);程序运行后,文件t1.dat 中的内容是( )。Astart BendCstartend Dendrt14以下

32、程序的输出结果是( )。main( ) int a =1,2,3,4,5,6,7,8,9,0,*p;for(p=a;pa+10;p+)printf(%d,*p);A1,2,3,4,5,6,7,8,9,0, B2,3,4,5,6,7,8,9,10,1,C0,1,2,3,4,5,6,7,8,9, D1,1,1,1,1,1,1,1,1,1,15有定义语句:int b;char c10;,则正确的输入语句是 ( )。Ascanf(%d%s,&b,&c);Bscanf(%d%s,&b, c);Cscanf(%d%s,b, c);Dscanf(%d%s,b,&c);16下列程序的功能是:给r 输入数据后计

33、算半径为r 的圆面积s。程序在编译时出错。main( )/* Beginning */ int r; float s;scanf(%d,&r);s=*r*r;printf(s=%fn,s);出错的原因是( )。A注释语句书写位置错误B存放圆半径的变量r不应该定义为整型C输出语句中格式描述符非法D计算圆面积的赋值语句中使用了非法变量17下列程序段的输出结果( )。int b=10;printf(%d ,b1);A01 B20 C21 D1118在C语言中,对文件进行操作的一般步骤是( )。A操作文件修改文件关闭文件B打开文件操作文件关闭文件C读文件写文件关闭文件D读写文件打开文件关闭文件19使用

34、fopen()函数打开文件时,向文本文件尾增加数据,文件的使用方式应为( )。Ar Ba Cw+ Dab+20以下程序运行后结果是( )。#define A 5main() int x=0; x=3*(A+7); printf(%dn,x);A36B0C21D不确定得分评卷人三、阅读程序,将运行结果写到各题右侧的空白处(每题4分,共20分)1main() int a=0;a=a;printf(%c, a);2#includemain( )char p=a,b,c, 0;char q10=a,b,c;printf(%d,strlen(q);printf(%d ,strlen(p);3long f

35、unc(int x) long p; if (x=0|x=1) return(2); p=x*func(x-1); return(p); main() printf(%dn,func(2); 4struct date int a; char s5;arg=27,abcd;main() arg.a=5; strcpy(arg.s,AB); printf(%d,%s,arg.a,arg.s);5#include main()if (100)printf(Great!n);else if (60)printf(Passn);elseprintf(Failn);得分评卷人四、阅读程序或程序段,填空(每

36、题4分,共20分)1以下程序打印左下三角的九九乘法表,请填空。#include main() int i,j; for(i=1;i10;i+) for(j=1; ;j+) printf(%d*%d=%2d , ); printf(n); 2以下程序的功能是:输出a,b,c三个变量中的最大值,请填空。#includevoid main() int a,b,c,t1,t2; scanf(%d%d%d,&a,&b,&c); t1= ? a:b; t2= ? c:t1 ; printf(%dn,t2);3以下程序中,select函数的功能是:在一维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值的下标。请填空。#define N 10select(int aN,int *n) int i,k=0; for(i=1;iak) k=i; ; ;main() int aN =9,11,23,6,1,15,9,17,20,max,n; max=select(a,&n); printf(max=%d,n=%dn,max,n);4以下程序的功能是:输入a和b两整数,按由大到小顺序输出,请填空。main() in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论