湖北师范学院2010年“专升本”招生考试
《C语言程序设计》试题题号题分得分
评卷人一、选择题(本题共20小题,每题2分,共40分)得分)。A)S2_KEYB)Int)。A)0C)4sB)1C)2D)_charD)31.以下不合法的用户标识符是(一40
二10
三30
四20
五六七八总分
2.设有intx=11;则表达式(++x)%3的值是(3.C语言源程序名的后缀是(A).exeB).cp)。D).cC).obj4.若在定义语句:inta,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是()。B)scanf(\"%d%d%d\);D)scanf(\"%d\);)。C)=C)a[1][4]D)〈=)。D)a[1][3]C)inta[5+5]D)intn=10,a[n]A)scanf(\"%d\);C)scanf(\"%d\);A)%=A)a[0][4]B)/B)a[0][3]5.C语言中运算对象必须是整型的运算符是(6.若有定义语句:inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是(7.若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是A)#defineN10Inta[N]B)#definen5Inta[2*n]8.语句printf(\"a\\bre\\'hi\\'y\\\\\\bou\\n\");的输出结果是(A)re'hi'youB)abre'hi'y\\bou)。(说明:'\\b'是退格符)D)a\\bre\\'hi\\'y\\\\\\bouC)a\\bre\\'hi\\'y\\bou)。9.下列程序执行后的输出结果是(A)Avoidmain()B)BC)FD)G{intx='f';printf(\"%c\\n\}10.若变量已正确定义,有以下程序段1i=0;do{printf(\"%d,\);}while(i++);printf(\"%d\\n\)其输出结果是(A)0,0#include{)。C)1,1D)程序进入无限循环B)0,111.有以下程序voidmain()inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf(\"%d\\n\);}程序的运行结果是()。A)0B)1C)2D)312.已定义以下函数fun(int*p){return*p;}该函数的返回值是(A)不确定的值C)形参p中存放的值A)10B)3C)不定值)。B)形参p所指存储单元中的值D)形参p的地址值)。D)013.执行下面的程序段后,变量k中的值为(intk=3,s[2];s[0]=k;k=s[1]*10;14.有以下函数intaaa(char*s){char*t=s;while(*t++);t--;2return(t-s);}以下关于aaa函数的功能叙述正确的是(A)求字符串s的长度C)将串s复制到串t15.有以下程序voidmain(){}程序运行后的输出结果是________。A)aB)oC)uD)echars[]={\"aeiou\ps=s;printf(\"%c\\n\)。B)比较两个串的大小D)求字符串s所占字节数16.有以下程序#include#defineF(X,Y)X*Ymain(){inta=3,b=4;printf(\"%d\\n\F(a+b,a-b));}程序运行后的输出结果是(A)12main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,j,k=2;for(i=0;i<3;i++){printf(\"%d\}}执行后输出结果是(A)258B)369)。D)789C)456B)7C)-7)。D)1117.有以下程序18.以下关于typedef的叙述错误的是3A)用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名B)用typedef为类型说明一个新名,通常可以增加程序的可读性C)typedef只是将已存在的类型用一个新的名字来代表D)用typedef可以增加新类型19.有以下程序#includevoidmain(){FILE*fp;inti;charch[]=”abcd”,t;fp=fopen(“abc.dat”,”wb+”);for(i=0;i<4;i++)fwrite(&ch[i],1,1,fp);fseek(fp,-2L,SEEK_END);//说明:SEEK_END为文件尾fread(&t,1,1,fp);fclose(fp);printf(“%c\\n”,t);}程序执行后的输出结果是________。A)cB)dC)aD)b20.已知指针p的指向如下图所示,则执行语句*--p;后*p的值是(A)20B)30C)19D)29a[4]50)。a[0]a[1]1020a[2]a[3]30P40评卷人二、填空题(本题共10小题,每题1分,共10分)得分1.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,将变量c中大写字母转换为对应小写字母的语句是_____。2.C语言中用于结构化程序设计的三种基本结构是顺序结构、选择结构、__________。3.设有数组定义:chararray[]=\"Student.\";则数组array所占的空间为________。4.若输入字符串:abcde<回车>,则以下while循环体将执行______次。while((ch=getchar())==’b’)printf(“*”);5.若有定义:int*p[4];请说明它含义:定义了一个________。6.表示“整数x的绝对值不大于10”的C语言表达式是_________。47.已知字符A的ACSII码值为65,以下语句的输出结果是_________。charch=’B’;printf(“%c%d\\n”,ch,ch);8.若指针s指向存储单元a[8],p指向存储单元a[0],表达式s-p的值是_________。9.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)__________;10.设intb=2;表达式(b<<1)&5的值是__________。评卷人三、程序阅读题(本题共6小题,每小题5分,共30分)得分1.有下列程序voidmain(){intn=0,m=1,x=0;if(!n)x=1;if(m)x=2;if(x)x=3;printf(“%d\\n”,x);}执行后的结果是________。2.有以下程序voidmain(){inti;for(i=1;i<=40;i++){if(i++%5=0)if(++i%8=0)printf(\"%d\}printf(\"\\n\")}执行后的结果是________。3.以下程序voidmain(){chars[]=\"6789\";s[1]=‘\\0';printf(\"%s\\n\}执行后的结果是________。4.有以下程序voidmain(){inta=4,b=3,c=2,t=0;if(b>a&&a=-10||x<=10B668(int*)malloc3456789101(sizeof(int)*11)四、编程题(本题共3小题,共20分)根据程序设计规范编写程序完成题中相应的功能。1.求1+2+3+…+100的和。(6分)#includevoidmain(){inti=1,s=0;do{s+=i;}while(i<=100);printf(“s=%d\\n”,s);}2.求100—200间的全部素数。(6分)#include#include7voidmain(){intm,k,i,n=0;for(m=101;m<=200;m+=2){k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1){printf(“%d”,m);n++;}}}3.有一3行4列的矩阵,编程求其中最大元素的值以及所在的行号和列号。(8分)#includevoidmain(){inti,j,row=0;colum=0,max;inta[3][4]={{1,2,3,4},{9,8,7,6},{12,13,10,11}};max=a[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>max){max=a[i][j];row=a[i][j];8colum=j;}printf(“max=%d,row=%d,colum=%d\\n”,max,row,colum);}9