精通教育集团-软件学院专业课集训营资料12013年天津市大学软件学院高职升本专业课试题考场号考生号姓名第一部分C语言部分100分一、单项选择题(共20小题,每题2分,共40分)以下每小题列出的四个备选答案中只有一个符合题目要求,请将正确答案填入“单项选择题答题表”对应的格中,未填入答题表,错选或多选均不得分。1.表示当x的取值在[1,10]和[200,210]范围内为真,否则为假的C语言表达式为A.(x=1&&x=10)&&(x=200&&x=210)B.(x=1||x=10)||(x=200||x=210)C.(x=1&&x=10)||(x=200&&x=210)D.(x=1||x=10)&&(x=200||x=210)2.若有以下定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则为数组元素a[i]不正确的引用是A.*(p+i)B.*(a+i)C.p[i]D.*a[i]3.判断char型变量ch是否为数字的C表达式为A.('0'=ch&ch='9')B.(ch='0'&&ch='9')C.(ch=0&&ch=9)D.(ch=0&&ch=9)4.以下程序段构成的循环是for(x=0,y=0;(y!=12&&x4);x++);A.无限循环B.循环次数不定C.执行4次D.执行3次5.以下程序的输出结果是#includestdio.hmain(){inti;for(i=1;i=5;i++){if(i%2)printf(*);elsecontinue;printf(#);}}A.*#*#*#B.*##*##*##*##C.*#*#D.#*#*6.以下程序的输出结果是#includestdio.h#defineMAX(x,y)(x)=(y)?(x):(y)main(){inti=10,j=15;printf(%d,10*MAX(i,j));}A.15B.100C.10D.1507.设有说明:int(*ptr)[8];则ptr是A.指向整形变量的指针B.指向函数的指针,该函数的返回值为int数据C.指向一维数组的指针,该数组的基类型为intD.长度为8的一维指针数组精通教育集团-软件学院专业课集训营资料28.以下程序段的输出结果是chara[]=0123456789,*p=a+4;printf(%c,*p++);A.4B.a[4]的地址C.6D.59.下面程序的运行结果是#includestdio.hmain(){inta=1,b=10;do{b−=a;a++;}while(b−−0);printf(a=%d,b=%d\n,a,b);}A.a=3,b=11B.a=2,b=8C.a=1,b=−1D.a=4,b=910.执行下面程序,输入2后的输出结果是#includestdio.hmain(){intk;scanf(%d,&k);switch(k){case1:printf(%d\n,k++);break;case2:printf(%d\n,k++);case3:printf(%d\n,k++);break;default:printf(Full!\n);}}A.1B.2C.23D.23Full11.若有以下结构体和变量定义,则以下引用方法不正确...的是structworker{intsno;char*name;}work,*p=&work;A.work.snoB.(*p).nameC.p-snoD.work-sno12.chars[10],*p=s;则以下不正确的表达式是A.p=s+1;B.p=s++;C.*(s+1)=*p;D.*p++=s[2];13.以下不能对二维数组a正确初始化的语句是A.inta[2][3]={{1,2,3},{4,5},{6}};B.inta[][3]={{1,2,3},{4,5,6}};C.inta[2][4]={1,2,3};D.inta[][3]={{1,0,1},{},{1,1}};14.若有以下说明和语句,则输出结果是charsp[]=\t\n\\0will\n;精通教育集团-软件学院专业课集训营资料3printf(%d,strlen(sp));A.4B.3C.9D.字符串中有非法字符15.对于结构体类型,以下说法正确的是A.定义结构体时不能定义结构体变量B.结构体变量所占的空间等于占空间最大的成员所需空间C.结构体类型可以作为返回值类型D.结构体定义后可以与标准类型一样使用,但前面必须使用struct16.在C语言中,要求运算数必须是整型的运算符是A./B.++C.!=D.%17.以下程序段在VC6.0环境中运行的输出结果是structstudentinfo{charname[10];intSNO;charsex;}student,*ps=&student;printf(%d,%d,sizeof(student),sizeof(ps));的输出结果是A.15,15B.15,4C.15,2D.4,218.根据17题中的结构体和变量定义,不能..正确输出name成员的语句是A.printf(%s,student.name);B.printf(%s,ps-name);C.printf(%s,*ps.name);D.printf(%s,(*ps).name);19.以下程序的输出结果是main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(%d%d%d%d\n,a[0][3],a[1][2],a[2][1],a[3][0]);}A.0650B.147C.5430D.输出值不定20.设有以下变量定义:charstr[20],i;当输入“zhang空格hong回车”时,能正确读入“zhanghong”的程序段是A.scanf(%s,str);B.for(i=0,str[i]=getchar();str[i]!='\n';)str[i++]=getchar();C.gets(str);D.for(i=0,str[i]=getchar();str[i]!='\0';i++)str[i]=scanf(%c,str[i]);二、填空题(共10题,每题1分,共10分)请按照试题中对应的标号顺序填写到答题表中1.C函数中若省略函数类型说明,则该函数类型默认为。2.局部变量默认的存储类型为。3.文件包含命令#include有两种形式,区别是搜索路径不同。包含系统文件string.h应该使用。4.如果要限定变量的作用域仅在当前文件有效,应使用关键字。5.break和continue都可以用于循环结构中,其中只是结束本次循环,回到循环体第一条精通教育集团-软件学院专业课集训营资料4语句开始下次循环。6.C语言变量有四种存储类别,其中关键字extern的含义是。7.静态变量的初始化是在阶段完成的。8.数组名作为实参使用时,传送的是。9.sizeof运算符的对象即可以是变量,也可以是。10.C语言中多维数组可嵌套定义,即n维数组可看作元素类型为。三、判断题判断下题是否正确,正确的划√,错误的划×(每题1分,共15分)1.在do-while循环中,循环体至少执行一次。()2.C语言中局部变量和全部变量可以同名,并且在函数内局部变量优先于全局变量。()3.预处理命令都是以#号开头,且每行只能写一条命令。()4.定义二维数组时,如果对数组的所有元素赋值,则可省略长度说明。()5.C语言要求所有被调用的函数一定要在调用语句之前进行定义。()6.函数内定义的静态变量当函数执行完其值依然存在。()7.void关键字只能用于定义函数,不能定义变量。()8.一个函数直接或间接的调用自己,称作递归调用。()9.全局变量是指在main函数中定义的变量。()10.for(exp1;exp2;exp3)语句s;中的s可以是空语句。()11.结构体可以与标准类型一样使用,但前面须用struct关键字。()12.main函数称为主函数,是个无参函数。()13.表达式n=++i等价于n=i;i=i+1;。()14.语句chars[]=test;与chars[]={'t','e','s','t'};是等价的。()15.C函数中的函数即可以嵌套定义,也可以嵌套调用。()四、阅读程序题本题共5小题,每小题5分,共25分,请写出程序的运行结果1.【程序】#includestdio.h#includestding.hmain(){chari,s[5][81],max=0;printf(input5strings);for(i=0;i5;i++)gets(s[i]);for(i=0;i5;i++)if(strlen(s+i)max)max=i;puts(s[max]);}【运行结果】写出从键盘输入以下5个字符串时程序的运行结果Program,test,Iamastudent,wee,computer精通教育集团-软件学院专业课集训营资料52.【程序】#includestdio.hmain(){inti,f1=1,f2=1;for(i=1;i=5;i++){printf(\t%d\t%d,f1,f2);f1=f1+f2;f2=f1+f2;}printf(%d,%d\n,f1,f2);}【运行结果】3.【程序】#includestdio.hvoidfun(intn){staticintfn=1;fn=fn*n;printf(\t%d,fn);}main(){inti;for(i=2;i=5;i++)fun(i);}【运行结果】4.【程序】#includestdio.hvoidselect(intmax,inta[],intn){inti;max=a[0];for(i=1;in;i++)if(a[i]max)max=a[i];}main(){inti,max=10,a[10]={10,20,30,40,50,60,70,80,90,100};select(max,a,10);printf(\nmax=%d,max);}【运行结果】精通教育集团-软件学院专业课集训营资料65.【程序】写出输入84时程序运行结果#includestdio.hmain(){intscore;printf(\ninputscore:);scanf(%d,&score);switch(score/10){case10:case9:printf(\n优);case8:printf(\n良);case7:case6:printf(\n及格);default:printf(\n不及格);}}【运行结果】五、编程题(本题共1题,10分)已知每张选票上按序印有候选人姓名,要求选民从中勾选3人,多选或少选都视为废票不予统计,统计选票时输入数据的格式为长度为5的由0和1组成的字符串:“1”表示对相应候选人被选中,“0”表示未选中,如“01011”表示第2、4、5个候选人被选中。请编写程序读入每张选票的投票信息,若为有效选票则统计到结果中,当输入空串时结束,输出以下统计结果:1.总有效投票数。2.每个候选人姓名及投票数。提示:候选人信息已保存在以下的数组中,无须再从键盘输入。structitem/*保存候选人及得票信息的结构体*/{charname[20];/*候选人姓名*/intcount;/*得票数*/}mans[5]={{name1,0},{name2,0},{name3,0},{name4,0},{name5,0}};精通教育集团-软件学院专业课集训营资料7