C语言习题级答案2

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

选折题1.inta=1,b=2,c=3;if(ab)a=b;if(ac)a=c;则a的值为(A)。A、1B、不一定C、3D、22.以下选项中不合法的用户标识符是BA、DimB、printfC、_123D、A$3.inti,j,a[2][3];按照数组a的元素在内存的排列次序,不能将数1,2,3,4,5,6存入a数组的是(C)。A、for(i=0;i2;i++)for(j=0;j3;j++)a[i][j]=i*3+j+1;B、for(i=0;i6;i++)a[i/3][i%3]=i+1;C、for(i=1;i=6;i++)a[i][i]=i;D、for(i=0;i3;i++)for(j=0;j2;j++)a[j][i]=j*3+i+1;4.以下所列的C语言常量中,错误的是___A___。A、1.2e0.5B、0xFFC、2LD、'\72'5.若有说明:inta[3][4]={0};则下面正确的叙述是(A)。A、数组a中每个元素均可得到初值0B、只有元素a[0][0]可得到初值0C、此说明语句不正确D、数组a中各元素都可得到初值,但其值不一定为06.以下正确的字符串常量是DA、'abc'B、'A'C、OlympicGamesD、\\\7.C语言中,char类型数据占(C)。A、8个字节B、4个字节C、1个字节D、2个字节8.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是____D__。A、非法的常量B、字符aC、字符eD、字符A9.以下函数的类型是(D)fff(floatx){return5;}A、与参数x的类型相同B、void类型C、无法确定D、int类型10.以下叙述中正确的是(A)。A、静态(static)类别变量的生存期贯穿于整个程序的运行期间B、全局变量的作用域一定比局部变量的作用域范围大C、函数的形参都属于全局变量D、未在定义语句中赋初值的auto变量和static变量的初值都是随机值11.下列运算符中是C语言关系运算符的是(C)。A、&B、~C、!=D、!12.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是(D)。A、字符eB、字符aC、非法的常量D、字符A13.若有floatx=213.82631;,则执行下列程序段的输出结果为(B)。printf(%3d,(int)x);A、213.82B、213C、213.83D、3.814.全局变量的定义不可能在(A)。A、函数内部B、文件外面C、最后一行D、函数外面15.C语言中函数调用的方式有(A)。A、函数调用作为语句、函数表达式或函数参数三种B、函数调用作为语句一种C、函数调用作为函数表达式一种D、函数调用作为语句或函数表达式两种16.字符串\\\的长度为(A)A、8B、9C、10D、1417.若有double*p,x[10];inti=5;使指针变量p指向元素x[5]的语句为(D)。A、p=x;B、p=x[i];C、p=&(x+i)D、p=&x[i];18.以下程序的执行结果是___A____.main(){intnum=0;while(num=2){num++;printf(%d,,num);}}A、1,2,3,B、1,2,3,4,C、1,2,D、0,1,219.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数Dfeof(fp)的值为()。A、一个非0值B、-1C、1D、020.以下对枚举类型名的定义中正确的是(D)。A、enuma{sum,mon,tue};B、enuma={sum,mon,tue};C、enuma={sum,mon,tue};D、enuma{sum=9,mon=-1,tue};21.在执行fopen函数时,ferror函数的初值是(D)。A、TRUEB、1C、-1D、022.以下能正确进行字符串赋值的语句是DA、chars[5]=“good!”;B、chars[5]={‘a’,‘e’,‘i’,‘o’,‘u’};C、chars[5];s=“good!”;D、char*s;s=“good!”;23.已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中不正确的是(C)。A、p=&a[j];B、p=a;C、p=10;D、p=&j,p=p1;24.若有intx,y,z;,则执行以下程序段后的输出结果为:Cx=1;y=5;z=3;if(xy)x=y;y=z;printf(x=%d,y=%d,z=%d,x,y,z);A、x=5,y=3,z=5B、x=1,y=5,z=3C、x=1,y=3,z=3D、x=5,y=3,z=325.当顺利执行了文件关闭操作时,fclose函数的返回值是(D)。A、TRUEB、1C、-1D、026.以下能正确定义数组并正确赋初值的语句是(D)。A、intc[2][]={{1,2},{3,4}};B、inta[1][2]={{1},{3}};C、intN=5,b[N][N];D、intd[3][2]={{1,2},{34}};27.以下程序的执行结果是_____B___.main(){intw=1,x=2,y=3,z=4;w=(wx)?x:w;w=(wy)?y:w;w=(wz)?z:w;printf(%d,w);}A、2B、4C、3D、128.以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x4);x++);(A)。A、4次B、是无限循环C、3次D、循环次数不定29.以下函数的类型是__B____。fff(floatx){return5;}A、无法确定B、int类型C、与参数x的类型相同D、void类型30.关于建立函数的目的,以下正确的说法是(C)。A、减少程序文件所占内存B、提高程序的执行效率C、提高程序的可读性D、减少程序的篇幅判断1.若有intⅰ=10,j=0;则执行完语句if(j=0)ⅰ++;elseⅰ--;ⅰ的值为11。F2.inti=20;switch(i/10){case2:printf(A);case1:printf(B);}的输出结果为A。F3.C语言的函数可以嵌套定义.F4在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。T5.在C语言中,对于数组的定义chara[8]=computer是错误的.T6.结构体类型只有一种。F7.函数中的形式参数是局部变量.T8.在C语言中charstr[6]=hello,可以将字符串hello正确赋给数组.T9.C语言中只能逐个引用数组元素而不能一次引用整个数组。T10.在C语言中charstr[]={'h','e','l','l','o'}不能将字符串hello正确赋给数组.T程序设计1/*------------------------------------------------【程序设计】--------------------------------------------------功能:给定n个数据,求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)。------------------------------------------------*/#includestdio.hvoidbky();intstation(ints[],intn){/**********Begin**********/inti,k;k=0;for(i=1;in;i++)if(s[i]s[k])k=i;return(k);/**********End**********/}程序设计2/*------------------------------------------------【程序设计】--------------------------------------------------功能:请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。------------------------------------------------*/#includeconio.h#includestdio.h#defineM3#defineN4voidbky();voidfun(inttt[M][N],intpp[N]){/**********Begin**********/inti,j;for(j=0;jN;j++){pp[j]=tt[0][j];for(i=1;iM;i++)if(tt[i][j]pp[j])pp[j]=tt[i][j];}/**********End**********/}main(){intt[M][N]={{22,45,56,30},{19,33,45,38},{20,22,66,40}};intp[N],i,j,k;printf(Theoriginaldatais:\n);for(i=0;iM;i++){for(j=0;jN;j++)printf(%6d,t[i][j]);printf(\n);}fun(t,p);printf(\nTheresultis:\n);for(k=0;kN;k++)printf(%4d,p[k]);printf(\n);bky();}voidbky(){inti,j,array[3][4],p[4];FILE*rf,*wf;rf=fopen(in.dat,r);wf=fopen(out.dat,w);for(i=0;i3;i++)for(j=0;j4;j++)fscanf(rf,%d,&array[i][j]);fun(array,p);for(j=0;j4;j++){fprintf(wf,%7d,p[j]);fprintf(wf,\n);}fclose(rf);fclose(wf);}/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。------------------------------------------------------*/#includestdio.hmain(){inta[10];voidinput();voidoutput();voidmax_min();input(a,10);max_min(a,10);output(a,10);}voidinput(int*arr,intn){int*p,i;p=arr;printf(pleaseenter10integers:\n);for(i=0;in;i++)/**********ERROR**********/scanf(%d,p);}voidmax_min(int*arr,intn){int*min,*max,*p,t;min=max=arr;for(p=arr+1;parr+n;p++)/**********ERROR**********/if(*p*max)max=p;elseif(*p*min)min=p;t=*arr;*arr=*min;*min=t;/**********ERROR**********/if(max=arr)max=min;t=*(arr+n-1);*(arr+n-1)=*max;*max=t;}voidoutput(int*arr,intn){int*p,i;p=arr;printf(Thechangedarrayis:\n);/**********ERROR**********/while(i=

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功