韩山专插本C语言真题卷_第1页
韩山专插本C语言真题卷_第2页
韩山专插本C语言真题卷_第3页
韩山专插本C语言真题卷_第4页
韩山专插本C语言真题卷_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

韩山专插本C语言真题卷韩山专插本C语言真题卷韩山专插本C语言真题卷韩山专插本C语言真题卷编制仅供参考审核批准生效日期地址:电话:传真:邮编:韩山师范学院2011年专升本插班生考试试题教育技术学专业C语言程序设计试卷(A卷)题号一二三四五六七八九十总分评卷人得分一、填空题(每空1分,共10分)1.C程序的基本单位是________。2.C语言源程序文件的后缀是________。3.标识符的第一个字符必须是_______或________。4.表达式10%3的结果是_________。5.当打开的文件被成功关闭后,函数fclose()返回。6.在每个C语句和数据定义的最后必须有一个____________。7.若有定义:doubleA[3][5];则A数组中行下标的下限为_____________,列下标的上限为_____________。8.若x=2,y=3,则x|y<<2的结果是___________。二、单项选择题(每小题1.5分,共30分)题号12345678910答案题号11121314151617181920答案1.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是()。A.高效性B.有穷性C.有零个输入或多个输入D.确定性2.C语言程序的三种基本结构是()。A.顺序结构、选择结构、循环结构B.递归结构、循环结构、转移结构C.嵌套结构、递归结构、顺序结构D.循环结构、转移结构、顺序结构3.有下面的程序段chara[3],b[]=“China”;a=b;printf(“%s”,a);A.运行后将输出ChinaB.运行后将输出ChC.运行后将输出ChiD.编译出错4.若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。A.x=n%2.5B.x=y==5C.x+n=iD.x=5=4+15.若执行以下程序时从键盘上输入9,则输出结果是()。A.11B.10C.9D.8main(){intn;scanf("%d",&n);if(n++<10)printf("%d\n",n);elseprintf("%d\n",n--);}6.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为()。A.不定值B.4C.3D.17.有以下程序段intk=0;while(k=1)k++;while循环执行的次数是()。A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次8.若变量c为char类型,能正确判断出c为小写字母的表达式是()。A.‘a'<=c<=‘z'B.(c>=‘a')||(c<=‘z')C.(‘a'<=c)and(‘z'>=c)D.(c>=‘a')&&(c<=‘z')9.以下所列的各函数首部中,正确的是()。A.voidplay(var:Integer,varb:Integer)B.voidplay(a,b)C.voidplay(inta,intb)D.Subplay(aasinteger,basinteger)10.以下程序的输出结果是()。A.0B.29C.31D.无定值fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}11.下列程序的输出结果是()。A.非法B.a[4]的地址C.5D.3main(){chara[10]={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)的返回值是()。A.EOFB.0C14.以下程序的输出结果是()。A.1,5,9,B.1,4,7,C.3,5,7,D.3,6,9,main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][2-i]);}15.以下叙述正确的是()。A.在进行宏定义时,可以引用已定义过的宏B.编译预处理命令必须位于程序的开头C.宏展开将占用程序运行时间D.从宏被定义的位置起,所有与宏名相同的字符串都将被替换16.在说明一个共用体变量时,系统分配给它的存储空间是()。A.该共用体中第一个成员所需存储空间B.该共用体中最后一个成员所需存储空间C.该共用体中占用最大存储空间的成员所需存储空间D.该共用体中所有成员所需存储空间的总和17.下列程序段的输出结果()。intb=10;printf("%d",~b);A.02B.-20C.-21D.-1118.在C语言中,对文件进行操作的一般步骤是()。A.打开文件——操作文件——关闭文件B.操作文件——修改文件——关闭文件C.读写文件——打开文件——关闭文件D.读文件——写文件——关闭文件19.若执行fopen()函数发生错误,则函数的返回值是()。A.地址值B.NULLC.1D.EOF20.以下程序运行后结果是()。#defineA3#defineB(a)((A+1)*a)main(){intx;x=3*(A+B(7));printf("%d\n",x);}A.93B.31C.12D.不确定三、阅读程序,将运行结果写到各题右侧的空白处(每小题4分,共20分)1.main(){inta=0;a+=(a=8);printf("%d\n",a);}2.main(){inta[3][3]={{1,2},{3,4},{5,6}};inti,j,s=0;for(i=1;i<3;i++)for(j=0;j<=1;j++)s+=a[i][j];printf("%d",s);}3.main(){charstring1[64]="abc\t";char*string2="def\t";charstring3[]="123\n";strcat(string1,string2);strcat(string1,string3);printf("%d\n",strlen(string1));}4.structdate{inta;chars[5];}arg={27,"abcd"};main(){ arg.a-=5; strcpy(arg.s,"ABCD"); printf("%d,%s",arg.a,arg.s);}5.main(){charfood[]="Bread";char*p;p=food+strlen(food);while(--p>=food)puts(p);}四、阅读程序或程序段,填空(每小题4分,共20分)1.以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标,请填空。#defineN3#defineM3select(inta[N][M],int*n){inti,j,row=1,colum=1;for(i=0;i<N;i++)for(j=0;j<M;j++)if(a[i][j]>a[row][colum]){row=i;colum=j;}*n=;return;}main(){inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;max=select(a,&n);printf("max=%d,line=%d\n",max,n);}2.以下程序的功能是:输出a,b,c三个变量中的最小值,请填空。#include<stdio.h>voidmain(){inta,b,c,t1,t2;scanf("%d%d%d",&a,&b,&c);t1=a<b;t2=c<t1?;printf("%d\n",t2);}3.下面程序采用函数递归调用的方法计算sum=1+2+3+4+...+n,请填空。#include"stdio.h"main(){intsum(int);inti;scanf("%d",&i);if(i<=0)printf("Inputerror!");elseprintf("sum=%d",sum(i));}intsum(intn){if(n==1)return;elsereturn;}4.编写一个程序判定一个字符在一个字符串中出现的次数,如果字符不出现,则返回0,请填空。#include<stdio.h>intchar_count(char*s,charletter){intcount=0;while(*s){if()count++;}return;}main(){charc,string[50],*str=string;printf("Inputstring:");gets(str);printf("Inputachar:");scanf("%c",&c);printf("Thenumberis:%d",char_count(str,c));}5.编写一个程序将用户输入的由数字字符和非数字字符组成的字符串中的数字提取出来,请填空。main(){charstr[20],*p;p=str;gets(str);for(;;p++){if()printf("%c",*p);}}五、编程题(每小题10分,共20分)1.编一程序,输入一个百分制成绩,输出用‘A’,‘B’,‘C’,‘D’,‘E’表示的等级。设:90分以上的为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。若输入的成绩大于100分或小于0分,输出“输入错误!”的提示信息。(要求用switch语句编程)。2.在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1到100分,选手最后得分为去掉一个最高分和一个最低分后其余8个分数的平均值,请编写程序实现。韩山师范学院2011年本科插班生考试样卷教育技术学专业C语言程序设计题号一二三四五六七八九十总分评卷人得分一、填空题(每空1分,共10分)C语言的数据类型中,构造类型包括:数组、和。在C程序中,指针变量能够赋值或值。C目标程序经后生成扩展名为exe的可执行程序文件。设有定义语句staticchars[5」;则s[4]的值是。设x为int型变量。与逻辑表达式!x等价的关系表达式是。若一全局变量只允许本程序文件中的函数使用,则该变量需要使用的存储类别是。磁盘文件按文件读写方式分类可以为顺序存取文件和。设有下列结构体变量xx的定义,则表达式sizeof(xx)的值是_________。struct{longnum;charname[20];union{floaty;shortz;}yz;}xx;二、单项选择题(每小题1.5分,共30分)题号12345678910答案题号11121314151617181920答案设有定义intx=8,y,z;则执行y=z=x++,x=y==z;语句后,变量x值是()A、0B、1C、8D、9有以下程序main(){inti=1,j=1,k=2;if((j++‖k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后输出结果是()A、1,1,2B、2,2,1C、2,2,2D、2,2,3已知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,&k);有以下程序main(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);elseif((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}执行后输出结果是()A、2B、3C、4D、编译时有错,无结果以下程序段()x=1;do{x=x*x;}while(!x);A、 是死循环 B、 循环执行二次C、 循环执行一次 D、 有语法错误以下不能正确定义二维数组的选项是()A、 inta[2][2]={{1},{2}}; B、 inta[][2]={1,2,3,4};C、 inta[2][2]={{1},2,3}; D、 inta[2][]={{1,2},{3,4}};有以下程序main(){intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};inti,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf(“%d\n”,s);}程序运行后的输出结果是()A、11B、19C、13D、20以下程序的输出结果是()main(){charch[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);}A、"AAAA"B、"BBB"C、"BBBCC"D、"CC"有以下程序#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf(“%d\n”,i);}执行后输出结果是()A、28B、22C、16决定C语言中函数返回值类型的是()。A、return语句中的表达式类型B、调用该函数的主调函数类型C、调用函数时临时指定的类型D、定义函数时在函数首部中所指定的类型(若缺省,则隐含为int型)。系统对预处理命令(如宏替换、文件包含、条件编译)的处理时机是()。A、编译源程序 B、编译源程序之前C、连接目标文件时 D、运行程序时在位运算中,操作数每左移一位,其结果相当于()A、操作数乘以2C、操作数除以2B、操作数除以4D、操作数乘以4下述描述中不正确的是()。A、字符型数组中可以存放字符串B、可以对字符型数组进行整体输入、输出C、可以对整型数组进行整体进行输入、输出D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值若有以下定义inta[2][3],则对a数组第i行第j列元素的正确引用是()A、 *(*(a+i)+j) B、 (a+i)[j]C、 *(a+i+j) D、 *(a+i)+j有以下程序voidfun(char*a,char*b){a=b;(*a)++;}main(){charc1='A',c2='a',*p1,*p2;p1=&c1;p2=&c2;fun(p1,p2);printf("%c%c\n",c1,c2);}程序运行后的输出结果是()A、 AbB、 aaC、 AaD、 Bb已定义以下函数Fun(char*p2,char*p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数Fun的功能是()A、将p1所指字符串复制到p2所指内存空间B、将p1所指字符串的地址赋给指针p2C、对p1和p2两个指针所指字符串进行比较D、检查p1和p2两个指针所指字符串中是否有'\0'设有以下结构体类型:structst{charname[8];intnum;floats[4];}student[50];并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,以下不正确的形式是()fwrite(student,sizeof(structst),50,fp);fwrite(student,50*sizeof(structst),1,fp);fwrite(student,25*sizeof(structst),25,fp);for(i=0;i<50;i++)fwrite(student+i,sizeof(structst),1,fp);若有说明语句chara[]="Itismine";char*p="Itismine";则以下不正确的叙述是()a+1表示的是字符t的地址p指向另外的字符串时,字符串的长度不受限制p变量中存放的地址值可以改变a中只能存放10个字符当调用函数时,实参是一个数组名,则向函数传送的是()数组的长度数组的首地址数组每一个元素的地址数组每一个元素中的值设有变量说明inta=3,b=6;charc;若执行赋值语句c=(a^b)<<2;则c的二进制值是()。A、00011100B、00000111C、00000001D、00010100三、阅读程序,将运行结果写到各题右侧的空白处(每小题4分,共20分)1.#include<stdio.h>main(){charstr[]="1234567";inti;for(i=0;i<7;i+=3)printf("%s\n",str+i);}2.#include<stdio.h>main(){inti;for(i=0;i<3;i++)switch(i){case0:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}3.#include<stdio.h>main(){inti;for(i=1;i<6;i++){if(i%2){printf("#");continue;}printf("*");}printf("\n");}4.#include<stdio.h>intb=1;func(intp){staticintd=5;d+=p;printf("%d,",d);return(d);}main(){inta=3;printf("%d\n",func(a+func(b)));}5.#include<stdio.h>structstu{intnum;charname[10];intage;};voidpy(structstu*p){printf("%s\n",(*p).name);}main(){structstustudent[3]={{1001,"Sun",25},{1002,"Ling",23},{1003,"Shen",22}};py(student+2);}四、阅读程序或程序段,填空(每小题4分,共20分)1.下面程序的功能是调用fun函数以删除字符串中指定的字符,请填空。voidfun(chars[],intc){inti,j;for(i=0,j=0;s[i]!='\0';i++) if()s[j]='\0';}main(){charstr[]="abcdefgAbcd",ch;scanf("%c",&ch);fun(str,ch);printf("%s\n",str);}2.下面程序是按学生姓名查询其排名和平均成绩,查询可连续进行直到键入0时结束,请填空。#include<string.h>#defineNUM4structstudent{intrank;char*name;floatscore;};stu[]={3,”Tom”,89.3,4,”Mary”,78.2,1,”Jack”,95.1,2,”Jim”,90.6};main(){charstr[10];inti;do{printf("Enteraname:");scanf("%s",str);for(i=0;i<NUM;i++)if(){printf("%s,%d,%f\n",stu[i].name,stu[i].rank,stu[i].score);break;}if(i>=NUM)printf("Notfound\n");}while(strcmp(str,”0”}3.下面程序是用“顺序查找法”查找数组中的元素,请填空。main(){inta[8]={25,57,48,37,12,92,86,33};inti,x;scanf("%d",&x);for(i=0;i<8;i++) if() {printf("Found!Theindexis:%d\n",i);break;}if()printf(“Can’tfound!");}4.下面程序由键盘输入一些字符,逐个把它们送到磁盘文件中,直到输入一个“!”为止,请填空。#include<stdio.h>main(){FILE*fp;charch,fname[10];printf("Inputnameoffile:\n");gets(fname);if((fp=fopen(fname,"w"))==NULL) {printf("cannotopen\n");exit(0);}printf("Enterdata:\n");while()fputc();fclose(fp);5.下面函数fun的功能是:将在字符串s中下标为奇数位置上的字符,紧随其后重复出现一次,放在一个新串t中,例如:当s中的字符串为:"ABCDEF"时,则t中的字符串应为:"BBDDFF"。#include<string.h>voidfun(char*s,char*t){inti,j; for(i=0;i<=strlen(s);i++){ ; ;}}main(){chars[100],t[100];scanf("%s",s);fun(s,t);printf("Theresultis:%s\n",t);}五、编程题(每小题10分,共20分)1.编一个程序,将输入的一个字符串按反序存放,要求在主函数中输入字符串并输出反序后的字符串,在被调用函数中完成反序存放。例如:输入字符串“abcdefg”,输出“gfedcba”。2.有一个班5位学生,各学4门课程,查找出有一门以上课程不及格的学生,打印出其全部课程的成绩。韩山师范学院2012年专升本插班生考试教育技术学专业C语言程序设计试卷(A卷)题号一二三四五总分评卷人得分得分评卷人一、填空题(每空1分,共10分)1.每个C程序都必须包括一个________函数。2.C语言源程序编辑完成后,需要经过________、________两个环节,才能执行。3.若变量a,b已经定义为int类型并赋值为4和5,要求用printf函数以a=4,b=5的形式输出,请写出完整的输出语句。4.表达式10/3的结果是。5.算法的复杂度主要包括时间复杂度和。6.C语言语句的结束符是____________。7.数组intA[10];中有个元素,下标上限为_____________。8.若x=2,y=12,则x&y>>2的结果是___________。得分评卷人二、单项选择题(每题1.5分,共30分)题号12345678910答案题号11121314151617181920答案1.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是()。A.高效性B.有穷性C.有零个输入或多个输入D.确定性2.以下哪个不是C语言程序的三种基本结构()。A.顺序结构B.递归结构C.循环结构D.选择结构3.有以下程序:main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d",m,n,p);}若想从键盘上输入数据,使变量m的值为123,n的值为456,p的值为789,则正确的输入是()。A.m=123n=456p=789B.m=123n=456p=789C.m=123,n=456,p=789D.1234567894.下面四个选项中,哪个选项是合法变量()。A.4asB.a#3C._3a5.若执行以下程序时从键盘上输入9,则输出结果是()。A.11B.10C.9D.8mainn(){intn;scanf("%d",&n);if(n<10)printf("%d\n",n+1);elseprintf("%d\n",n-1);}6.设x、y、t均为int型变量,则执行语句:x=y=3;t=x+y++;后,y的值为()。A.不定值B.4C.3D.17.有以下程序段intk=0;while(k<1)k++;while循环执行的次数是()。A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次8.若变量c为int类型,能正确判断出c为数字的表达式是()。A.('0'<=c)and('9'>=c)B.(c>='0')&&(c<='9')C.'0'<=c<='9'D.(c>='0')||(c<='9')9.以下正确的函数声明形式是()。A.doublefun(intx,inty)B.doublefun(intx;inty)C.doublefun(intx,inty);D.doublefun(intx;inty);10.以下程序的输出结果是()。A.0B.29C.31Dintfun(intx,inty){intz;z=x*x+y*y;returnz;}main(){inta=31;a=fun(5,2);printf("%d",a);}11.下列程序的输出结果是()。A.非法B.a[1]的地址C.9D.8main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+1;printf("%d",*p);}12.下列能正确定义一维数组的选项是()。A.inta[5]={0,1,2,3,4,5};B.inta[]={0,1,2,3,4,5};C.chara={'A','B','C'};D.inta[5]="0123";13.有下列程序:#include<stdio.h>voidWriteStr(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中的内容是()。A.startB.endC.startendD.endrt14.以下程序的输出结果是()。main(){inta[]={1,2,3,4,5,6,7,8,9,0},*p;for(p=a;p<a+10;p++)printf("%d,",*p);}A.1,2,3,4,5,6,7,8,9,0,B.2,3,4,5,6,7,8,9,10,1,C.0,1,2,3,4,5,6,7,8,9,D.1,1,1,1,1,1,1,1,1,1,15.有定义语句:intb;charc[10];,则正确的输入语句是()。A.scanf("%d%s",&b,&c);B.scanf("%d%s",&b,c);C.scanf("%d%s",b,c);D.scanf("%d%s",b,&c);16.下列程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。main()/*Beginning*/{intr;floats;scanf("%d",&r);s=π*r*r;printf("s=%f\n",s);}出错的原因是()。A.注释语句书写位置错误B.存放圆半径的变量r不应该定义为整型C.输出语句中格式描述符非法D.计算圆面积的赋值语句中使用了非法变量17.下列程序段的输出结果()。intb=10;printf("%d",b<<1);A.01B.20C.21D.1118.在C语言中,对文件进行操作的一般步骤是()。A.操作文件——修改文件——关闭文件B.打开文件——操作文件——关闭文件C.读文件——写文件——关闭文件D.读写文件——打开文件——关闭文件19.使用fopen()函数打开文件时,向文本文件尾增加数据,文件的使用方式应为()。A.rB.aC.w+D.ab+20.以下程序运行后结果是()。#defineA5main(){intx=0;x=3*(A+7);printf("%d\n",x);}A.36B.0C.21D.不确定得分评卷人三、阅读程序,将运行结果写到各题右侧的空白处(每题4分,共20分)1.main(){inta=0;a='a';printf("%c",a);}2.#include<string.h>main(){charp[]={'a','b','c','\0'};charq[10]={'a','b','c'};printf("%d,",strlen(q));printf("%d",strlen(p));}3.longfunc(intx){longp;if(x==0||x==1)return(2);p=x*func(x-1);return(p);}main(){printf("%d\n",func(2));}4.structdate{inta;chars[5];}arg={27,"abcd"};main(){arg.a=5;strcpy(arg.s,"AB");printf("%d,%s",arg.a,arg.s);}5.#include<stdio.h>main(){ if(100) printf("Great!\n"); elseif(60) printf("Pass\n"); else printf("Fail\n");}得分评卷人四、阅读程序或程序段,填空(每题4分,共20分)1.以下程序打印左下三角的九九乘法表,请填空。#include<stdio.h>main(){inti,j;for(i=1;i<10;i++){for(j=1;;j++)printf("%d*%d=%2d",);printf("\n");}}2.以下程序的功能是:输出a,b,c三个变量中的最大值,请填空。#include<stdio.h>voidmain(){inta,b,c,t1,t2;scanf("%d%d%d",&a,&b,&c);t1=a:b;

t2=c:t1;

printf("%d\n",t2);}3.以下程序中,select函数的功能是:在一维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值的下标。请填空。#defineN10select(inta[N],int*n){inti,k=0;for(i=1;i<N;i++)if(a[i]>a[k])k=i;;;}main(){inta[N]={9,11,23,6,1,15,9,17,20},max,n;max=select(a,&n);printf("max=%d,n=%d\n",max,n);}4.以下程序的功能是:输入a和b两整数,按由大到小顺序输出,请填空。main(){int*p1,*p2,*p,a,b;scanf("%d,%d",&a,&b);;;if(a<b){p=p1;p1=p2;p2=p;}printf(“*p1=%d,*p2=%d",*p1,*p2);}5.以下函数的功能是:将from指针所指向的内容复制到to指针所指向空间,请填空。voidcopy_string(char*from,char*to){for(;;from++,to++);*to='\0';}得分评卷人五、编程题(每题10分,共20分)1.编写程序,把从键盘输入的数字按下列对应关系显示。输入数字显示1One2Two3Three其他Other2.求1+2+3+4+……+n的值,并输出结果,其中n由用户输入。韩山师范学院2013年专升本插班生考试试卷教育技术学专业C语言程序设计试卷(A卷)题号一二三四五总分评卷人得分得分评卷人一、填空题(每空1分,共10分)1.结构化程序设计方法规定程序或程序段的结构有三种:、选择结构和循环结构。2.在内存中存储"A"要占用个字节,存储'A'要占用字节。3.有语句:charA[]={"Iamastudent"};该字符串的长度是,A[3]=。4.能表述"20<x<30"的C语言表达式是。5.C语言的预处理语句以__________开头。6.数组名代表数组的。7.C语言中字符串的结束符是。8.定义fp为文件型指针变量的定义方法为_________。得分评卷人二、单项选择题(每题1.5分,共30分)题号12345678910答案题号11121314151617181920答案1、 下面标识符中,不合法的用户标识符为________。A.hot_do B.cat1 C._pri D.2ab2、 下列叙述中正确的是________。A.每个C源文件中都必须有一个main()函数B.在C程序中main()函数的位置是固定的C.一个C程序只能由一个源文件组成D.在C程序的函数中不能定义另一个函数3.以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/yz的C语言表达式是________。A.x/y*z B.x*(1/(y*z)) C.x/y*1/z D.x/y/z4.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按________方式。A.从左起输出该字符串,右补空格B.按原字符长从左向右全部输出C.右对齐输出该字串,左补空格D.输出错误信息5、以下程序段的输出结果是________。charstr[15]=”hello!”;printf(“%d\n”,strlen(str));A.15B.14C.7D.66.巳知字母A的ASCII码是65,以下程序的执行结果是________。#include<stdio.h>voidmain(){charc1='A',C2='Y';printf("%d,%d\n",c1,c2);}A.A,Y B.65,65 C.65,90 D.65,897.以下选项中,值为1的表达式________。A.1-'0' B.1-'\0' C.'1'-0 D.'\0'-'0'8.以下合法的if语句(设intx,a,b,c;)是________。A.if(a=b)x++; B.if(a=<b)x++;C.if(a<>b)x++; D.if(a=>b)x++;9.若k为整型变量,则以下循环体执行的次数为__________。for(k=2;k<0;k--)printf("%d",k);A.0 B.1 C.2 D.无限次10.C语言中while和do-while循环的主要区别是__________。A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句11.若有说明,intb[3][4];则对数组元素的正确引用是_________。A.b[3][4] B.b[3][0] C.b(1)(2) D.b[3-3][2-0]12.以下正确的定义语句是_________。A. inta[1][4]={1,2,3,4,5};B. floatx[3][]={{1},{2},{3}};C. longb[2][3]={{1},{1,2},{1,2,3}};D. doubley[][3]={0};13.以下所列的各函数首部中,正确的是__________。A.voidplay(vara:Integer,varb:Integer) B.voidplay(inta,b)C.voidplay(inta,intb)D.Subplay(aasinteger,basinteger)14.以下程序的运行结果是________。#definef(x)x*xvoidmain(){inti;i=f(2+1);printf("%d\n",i);}A.4 B.9 C.6 D.15.不能把字符串"Hello!"赋给数组b的语句是。A.charb[10]={'H','e','l','l','o','!'}; B.charb[10];b="Hello!";C.charb[10];strcpy(b,"Hello!"); D.charb[10]="Hello!";16.若有说明语句"inta[10],*p=a;",对数组元素的正确引用是。A.*(a+10) B.*(p-1) C.p[2] D.p+217.在C语言中,当定义一个共用体类型,并用其定义某变量后,系统分配给该变量的内存大小是________。A.各成员所需要内存空间的总和B.第一个成员所占内存空间C.成员中所有成员空间最大者D.成员中所有成员空间最小者18.若inta=4,b;b=a^a;则b=。A.1 B.4 C.64 D.19.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是A.EO B.0 C.非零值 D.20.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则打开文件的方式字符串应是________。A."ab+" B."wb+" C."rb" D."ab"得分评卷人三、阅读程序,将运行结果写到各题右侧的空白处(每题4分,共20分)1.#include<stdio.h>voidmain(){inti,sum;i=1;sum=0;do{sum=sum+i;i=i+1;}while(i<=10);printf(“sum=%d\n”,sum);printf(“i=%d\n”,i);}2.#include<stdio.h>voidmain(){inta,b,c;a=10;b=20;c=max(a,b);printf("max=%d\n",c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}3.#include<stdio.h>voidmain(){inta[8]={4,8,12,16,20,24,28,32};int*p=a;do{printf(“%d\t”,*p);p++;}while(p<a+8);}4.#include<stdio.h>voidmain(){

chars[]="abcdef";s[3]='\0';printf("%s\n",s);}5.#include<stdio.h>voidmain(){ enumtype{a,b=-5,c,d=6,f,g=9}; printf("%d,%d,%d\n",a,c,f);}得分评卷人四、阅读程序或程序段,填空(每题4分,共20分)1.已知能被4整除而不能被100整除的或者能被400整除的年份是润年,则判断某一年是否是润年的程序如下:#include<stdio.h>voidmain(){intyear,leap;scanf(“%d”,&year);if(_________________________________)leap=1;elseleap=0;if(_____________)printf("是润年.\n");elseprintf("不是润年.\n");}2.韩信点兵。韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。下面程序的主要功能是计算韩信至少有多少兵。#include<stdio.h>voidmain(){ intx=1; intfind=0; for(x=1;____;x++) { if(x%5==1&&x%6==5&&x%7==4&&x%11==10) { printf("x=%d\n",x); ____________; } } }3.求矩阵主次对角线之和。#include<stdio.h>voidmain(){inta[3][3]={9,7,5,1,2,4,6,8,0};inti,j,s1=0,s2=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if(____)s1=s1+a[i][j];if(____)s2=s2+a[i][j];}printf(“%d\n%d\n”,s1,s2);}4.输入两个数,按从小到大的顺序输出#include<stdio.h>voidswap(int*p1,int*p2){inttemp;temp=*p1;*p1=*p2;*p2=;}voidmain(){inta,b;scanf(“%d,%d”,&a,&b);if(a>b)swap();printf(“%d,%d\n”,a,b);}5.以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#include<stdio.h>voidmain(){FILE*fp;charc;fp=;do{c=getchar();fputc(c,fp);}while(c!=EOF);;}得分评卷人五、编程题(每题10分,共20分)1.从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“notexist”。2.从键盘上输入10个数存入一维数组中,求这10数中的最大值与最小值并输出。韩山师范学院2014年本科插班生考试试卷教育技术学专业C语言程序设计试卷(A卷)题号一二三四五总分评卷人得分得分评卷人一、填空题(每空1分,共10分)1.C语言的标识符必须以________或________开头。2.C语言程序的执行是从________函数开始。3.fgets函数的作用是从指定文件读入一个________。4.表达式13%10的结果是________。5.若有定义:inta[3][5];则数组a中共有________个元素。行下标的下界是________,行下标的上界是________。6.若x=3,y=2,则x|y<<2的结果是___________。7.数据的输入输出是针对________而言的。得分评卷人二、单项选择题(每小题1.5分,共30分)题号12345678910答案题号11121314151617181920答案1.一个C程序的执行是从__________A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main()函数开始,到最后一个函数结束2.一个C程序是由__________。A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成3.下面不正确的字符串常量是_________。A.'abc' B."12'12" C."0"D.""4.以下结果为整数的表达式(设有inti;charc;floatf;)_________A.i+f B.i*c C.c+f D.i+c+f5.设charch;以下正确的赋值语句是_________A.ch='123’; B.ch='\xff’C.ch='\08’; D.ch=”\”6.设intm=1,n=2,则m=n的值是_________A.0 B.1 7.如下程序的执行结果是_________main(){ intn=1,m=2; printf("%d%d",++n,m++);}A.21 B.12 C.22 D.118.设inta=1,b=2,c=3;则表达式a==c||a+b>=c的值是__________A.FB.0C9.C语言对嵌套if语句的规定是:else总是与__________配对。

A.其之前最近的ifB.第一个if

C.缩进位置相同的ifD.其之前最近且不带else的if10.下面表达式中__________的值等于0。(设:inta=1;b='0';)A.!a==!bB.!a||bC.!(a==b)D.a&&!b11.执行下列程序,输入为1的输出结果是____ #include<stdio.h> main() { intk; scanf(“%d”,&k); switch(k) { case1:printf(“%d\n”,k++); case2:printf(“%d\n”,k++); case3:printf(“%d\n”,k++); case4:printf(“%d\n”,k++);break; default:printf(“FULL!\n”); }}A.1 B.2 C.2 D.1 3 2 4 3 5 412.以下正确的函数声明形式是__________A.doublefun(intx,inty)B.doublefun(intx;inty)C.doublefun(intx,inty);D.doublefun(intx;inty);13.以下程序段__________ x=-1; do{x=x*x;}While(!x);A.是死循环 B.循环执行二次C.循环执行一次D.语法错误14.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是()。A.高效性B.有穷性C.有零个输入或多个输入D.确定性15.C语言程序的三种基本结构是()。A.顺序结构、选择结构、循环结构B.递归结构、循环结构、转移结构C.嵌套结构、递归结构、顺序结构D.循环结构、转移结构、顺序结构16.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是__________structstud

{charnum[6];

doubleave;

}a;A.14B.18 17.设i和x都是整型,则以下for循环______for(i=1,x=876;i<=6&&x!=876;i++)scanf("%d",&x);A.最多执行6次B.最多执行5次C.是无限循环D.循环体一次也不执行18.若有说明:inta[3][4];则对数组元素的正确引用是__________A.a[2][4]B.a[1,3]C.a[1+1][0]D.a(2)(1)19.若有以下说明,请选出哪个是对a数组元素地址的正确引用________inta[5],*p=a;A.&a[5]B.p+2C20.以下不正确的说法为_________A.在不同函数中可以使用相同名字的变量B.形式参数是局部变量C.在函数内定义的变量只在本函数范围内有效D.在函数内的复合语句中定义的变量在本函数范围内有效得分评卷人三、阅读程序,将运行结果写到各题右侧的空白处(每小题4分,共20分)1.main(){inta=0;a+=(a=8);printf("%d\n",a);}2.main(){inta[3]={1,2,3};inti,s=0;for(i=1;i<3;i++)s+=a[i];printf("%d",s);}3.main(){charstring1[64]="abc";char*string2="def";charstring3[]="123";strcat(string1,string2);strcat(string1,string3);printf("%d\n",strlen(string1));}4.structdate{inta;chars[5];}arg={27,"abcd"};main(){ arg.a=5; strcpy(arg.s,"ABCD"); printf("%d,%s",arg.a,arg.s);}5.main(){charfood[]="Bread";char*p;p=food;puts(p);}得分评卷人四、阅读程序或程序段,填空(每小题4分,共20分)1.以下程序的功能是:在N行M列的二维数组中,找出最小值,以及最小值所在的行下标,请填空。#defineN3#defineM3main(){inta[N][M]={21,11,23,6,1,15,9,17,20};inti,j,row=0,min=a[0][0];for(i=0;i<N;i++)for(j=0;j<M;j++)if(a[i][j]<min){①②}printf("min=%d,line=%d\n",min,row);}2.以下程序的功能是:输出a,b,c三个变量中的最大值,请填空。#include<stdio.h>voidmain(){inta,b,c,t1,t2;scanf("%d%d%d",&a,&b,&c);t1=a<b?①;t2=c<t1?②;printf("%d\n",t2);}3.下面程序用于计算sum=1+2+3+4+...+n,请填空。#include"stdio.h"main(){intn,i,s=0;scanf("%d",&n);for(i=1;①;i++)②;printf("sum=%d",s);}4.以下程序完成对一维数组Array进行冒泡排序(从大到小),请填空。main(){intArray[11];intj,k,temp;for(j=1;j<11;j++) scanf(“%d”,&Array[i]);for(j=1;j<10;j++)for(k=1;①;

k++)if(②){temp=Array[k];array[k]=Array[k+1];array[k+1]=temp;}}5.某同学把邮箱密码忘记了,他只记得密码是一个5位数,67□□8,其中百位和十位上的数字不记得了,他喜欢用39和14的倍数做密码。请帮他设计一个算法破解该密码。main(){longm;for(m=67008;m<=67998;①){if(②)printf("%ld",m);}}得分评卷人五、编程题(每小题10分,共20分)1.有一个函数:-1(x<0)y=0(x=0)1(x>0)编一程序,输入一个x值,输出y值。2.输出所有的水仙花数,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如:153=13+53+33。 韩山师范学院2015年本科插班生考试试卷教育技术学专业C语言程序设计试卷(A卷)题号一二三四五六总分评卷人得分得分评卷人一、填空题(每空1分,共10分)1.定义一个宏EOF,使其与-1等价,定义为(#defineEOF-1)。2.在一个函数内部直接或间接调用该函数本身,称为函数的(递归)

调用。3.C语言变量按其作用域分为局部变量和(全局变量)。4.判断一个字符变量c是数字字符的表达式是((c>=’0’)&&(c<=’9’))。5.在C语言中,二维数组元素在内存中的存放顺序是(按行存放)。6.请把数学式写成C语言的表达式(sqrt(b*b-4*a*c)/2*a)。7.表达式12345==12345/3*3的值为(1)。8.以下定义的结构体类型拟包含两个成员,其中成员变量info用来存入整形数据;成员变量link是指向自身结构体的指针.请将定义补充完整。structnode{intinfo;structnode*link;}9.在C语言的文件系统中,最重要的概念是“文件指针”,定义文件指针fp的方法为(FILE*fp)。10.在C程序中,根据数据的组织形式可以可分为文ASCII件和(二进制)文件。得分评卷人二、选择题(每小题2分,共32分)1.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(C)。A.A%2==1B.!(A%2==0)C.!(A%2)D.A%22.若a为int型变量,且a=2,则表达式a*=2+3的结果为(B)。A.24 B.10 C.7 D.83.设a,b为整型变量,以下合法的表达式为(A)。A.b=a/2 B.b=*a+2 C.b+a=2 D.b=a%2.54.关闭文件使用的函数是(D)。A.fseek B.fopen C.rewind D.fclose5.若有以下说明和语句:structstudent{intage;intnum;}std,*p;p=&std;则以下对结构体变量std中成员age的引用方式不正确的是(D)。A.std.ageB.p->ageC.(*p).ageD.*p.age6.下面是对数组s的初始化,其中不正确的是(D)。A.chars[5]={"abc"}; B.chars[5]={'a','b','c'};C.chars[5]=""; D.chars[5]

温馨提示

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

评论

0/150

提交评论