还剩40页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第一章C语言概述.一,选择题一个C程序的执行是从(A)A本程序的main函数起先到main函数结束B本程序文件的第一个函数起先,到本程序文件的最终一个函数结束C本程序的main函数起先,到本程序文件的最终一个函数结束D本程序文件的第一个函数起先,到本程序main函数结束在C语言中,每个语句必需以(D)结束A.回车符B.冒号C.逗号D.分号一个C语言程序是由(B)A.一个主程序和若干子程序组成C.若干过程组成5下列说法中错误的是(D)o主函数可以分为两个部分主函数说明部分和主函数体主函数可以调用任何非主函数的其他函数任何非主函数可以调用其他任何非主函数程序可以从任何非主函数起先执行6用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(C)o二,填空题:标记,以*/符号作为结束标记floatarray
[5]={
0.0};inti;fori=0;i5;i++scanf/z%f/zfearray[i];fori=l;i5;i++array
[0]=array
[0]+array[i];〃第B行printf%f\n”array
[0];〃第C行A.第A行B.第B行C.第C行.D.没有17下面哪一项是不正确的字符串赋值或赋初值的方式oCchar*str;str=string;charstr
[7]={,,g,};charstrl
[10];strl=string;charstrl[]=string”str2D=12345678”;18若有以下说明和语句,则输出结果是哪一项oCstrlens为求字符串s的长度的函数chars
[12]=abook!;printfstrlens;A.12B.8C.7D.1119若有以下说明和语句,则输出结果是Bstrlens为求字符串s的长度的函数charsp口=\t\v\\\0will\n;.printfstrlensp;A.14B.3C.9D.字符串中有非法字符20若有以下说明和语句,则输出结果是Ccharstr口=\c:\\abc.printfstr;A.字符串中有非法字符B.Vc:\\abc.datVC.〃c:\abc.dat〃D.c:\\abc.dat”
2.填空题不检查元素下标是否数据类型0符号常量越界2C语言中,数组在内存中占一片首地址数组名是一个..常量,不能对它进行赋值运算连续数组名,地址3执行staticintb
[5]a[]
[3]={123456};后b
[4]=.,a[l]
[2]=o064设有定义语句staticinta
[3]
[4]={{1}{2}{3}};则值为值为.,的值为o2005如定义语句为chara[]=windowsb[]=95;语句prin如定%s”strcatab;的输出结果为oWindows956依据以下说明,写出正确的说明语句men是一个有10个整型元素的数组.step是一个有4个实型元素的数组元素值分别为L9-
2.
33020.6ogrid是一个二维数组共有4行10列整型元素intmesh
[10];floatstep
[4]={
1.9-
2.
33020.6};intgrid
[4]
[10];7array是一个一维整形数组有10个元素前6个元素的初值是9474932-5正确的说明语句为:该数组下标的取值范围是从—到从小到大用scanf函数输入数组的其次个元素表示为o用赋值语句把39存入第一个元素表示为.o把第六个和第四个元素之和存入第一个元素表示为O.intarrayEl0]={9474932-5};09scanfarray[l];array
[0]=39;.array
[0]=array
[5]+array
[3];8写出以下初始化数组的长度
①int而成3];数组而11的长度为
②floatisa[]={l
02.
03.
04.
05.0};数组isa的长度为o
③intdoom
[8];数组doom的长度为
④floatpci
[4]
[2];数组pci的长度为—o
⑤int.ast
[3]
[3];数组ast的长度为
⑥intatt
[3]
[4];数组att的长度为
⑦float加11口
[3]={{147}{25}{369}};数组1€11的长度为62016321824369若有以下整型的a数组,数组元素和它们得值如下所示:a
[10]oV8staticcharc[]={abook”};及staticcharc[]=abook;等价X9staticcharc[]={,aJbook,\0};及staticcharc[]={abook};等价X10设已有说明staticcharcl
[10]c2
[10];下面程序片段是合法的cl二{book};c2=cl;
4.程序填空题1输入20个数,输出它们的平均值,输出及平均值之差的确定值为最小的数组元素请填空#includestdio.hvoidmainfloata
[20]pjz=0st;intik;fori=0;i20;i++pjz+=a[i];s=fabsa
[0]-pjz;fori=l;i20;i++iffabsa[i]-pjzss=fabsa[i]-pjz;t=a[i];.fori=0;i20;i++scanf“%f,a[i];pjz/=20;printfa%f%f\n^pizt;2以下程序以每行10个数据的形式输出a数组,请填空voidmaininta
[50]i;printf输入50个整数:;fori=0;i50;i++scanf%d;fori=l;i=50;i++.{ifprintf/z%3d\n/z;printf%3d”;a[i]i%10==0a[i-l]F面程序的功能是输出数组s中最大元素的下标,请填空voidmainintkp;ints[]={l-972-103;forp=0k=p;p6;p++ifs[p]s[k]printf%d\nk;k=p4这个程序输入了20个数存放在一个数组中并且输出其中最大者及最小者,20个数的和及它们的平均值请填空voidmainchararray;intmaxminaveragesum;inti;fori=0;i;i++|printf〃请输入第%d个数:〃,i+1;scanf;max=array
[0];min=array
[0];fori=0;i=;i++{ifmaxarray[i]ifminarray[i]sum=average=printf20个数中最大值是%dmax;printf最小值是%dmin;printf和是%匕”,sum;printf“平均值是%\n”average;
[20]20array[i]19max=array[i];min=array[i];sum+array[i]sum/20B卷.阅读程序,分析程序的功能1#includestdio.hWincludestring.hvoidmain{chars
[80];int.i;fori=0;i80;i++s[i]=getchar;ifs[i]==\nbreak;\0;i=0;whiles[i]putchars[i++];putchar\n;从键盘输入一个字符串,并逐一输出ftincludestdio.hftincludestring.hvoidmaincharstr
[10]
[80]c
[80];inti;fori=0;i10;i++getsstrEi];strcpycstr
[0];fori=l;i10;i++ifstrlencstrlenstr[i]strcpycstr[i];printf%s\nc;printf%d\nstrlenc;从键盘输入若干字符串找到其中最长的一个输出及它的长度3#includestdio.hWincludestring.hvoidmain{chara
[10]
[80]c
[80];intijk;fori=0;i10;i++getsa[i];fori=0;i9;i++{.k=i.;forj=i+l;j10;j++ifstrcmpa[j]a[k]0k=j;.ifk!=i{strcpyca[i];strcpya[i]a[k];strcpya[k]c;}//字符串交换fori=0;i10;i++putsa[i];从键盘输入若干字符串,并将它们按大到小依次排好再输出4阅读程序,写出运行结果#includestdio.hvoidmaininta
[6]={12417252716}b
[6]={27134252316}ij;fori=0;i6;i++{.forj=0;j6;j++ifa[i]==b[j]break;ifj6printf%da[i];..printf\n;42527165阅读程序,写出运行结果.ttincludestdio.hvoidmainchara
[8]temp;intjk;forj=0;j7;j++a[j]=a+j;a
[7]=0’;forj=0;j3;j++.temp=a
[6];fork=6;k0;k—a[k]=a[k-l];.a
[0]=temp;.printf%s\na;..gabcdeffgabcdeefgabcd6阅读下列程序,写出程序运行的输出结果ftincludestdio.httincludestring.hvoidmaincharstrl[]=*******〃;forinti=0;i4;i++{..printf%s\nstrl;.strl[i]=;.strl[strlenstrl-1]=\Q9;..****7该程序的运行结果是min=m=voidmain{floatarray
[4]E3]={{
3.4-
5.
656.7}{
56.
8999.-.0123}{
0.45-
5.
77123.5}{
43.
40111.2}..;..intij;..intmin;intmn;..min=array
[0]
[0];m=0;n=0;fori=0;i3;i++forj=0;j4;j++ifminarray[i][j]min=array[i][j];m=i;n=j;..printfmin=%dm=%dn=%d\nminmn;.一
5.77218写出下面这个程序的输出结果voidmaincharstr口―ABCDEFGHIJKL〃;printf级s\nstr;屏幕上显示printf%s\n”str
[4];屏幕上显示str
[2]=str
[5];printf%s\nstr;屏幕上显示str
[9]=\0;printf%s\nstr;屏幕上显示ABCDEFGHIJKLEFGHIJKLABFDEFGHIJKLABFDEFGHI9读懂下面的程序并填空voidmaincharstr
[80];inti=0;getsstr;whilestr[i]!=0ifstr[i]=astr=z..str[i]-=32;i++;putsstr;程序运行时假如输入upcase屏幕显示程序运行时假如输入AalBb2Cc3屏幕显示UPCASEAA1BB2CC第8章函数习题A.ifB.forC.whileD.return⑼被调函数调用结束后,返回到oDA.主调函数中该被调函数调用语句处B.主函数中该被调函数调用语句处C.主调函数中该被调函数调用语句的前一语句D.主调函数中该被调函数调用语句的后一语句10以下对C语言函数的有关描述中,正确的是..oAA.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.C函数既可以嵌套定义又可递归调用C.函数必需有返回值,否则不能运用函数.D.C程序中有调用关系的全部函数必需放在同一个源程序文件中11C语言中函数的隐含存储类型是cA..autoB.staticC.externD.无存储类型12能把函数处理结果的两个数据返回给主调函数,在下面的方法中不正确的是AA..return这两个数.B.形参用两个元素的数组C.形参用两个这种数据类型的指针D.用两个全局变量C语言可执行程序从什么地方起先执行oCA.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数14有一个函数原型如下所示,则该函数的返回类型为Cabcfloatxfloaty;A..voidB.doubleC.intD.float
2.填空题说明变量时,若省略存储类型符,系统默认其为的类型符为动态,auto静态型局部变量的作用域是生存期是部整个程序函数中的形参和调用时的实参都是数组名时,传递方式为传递方式为O址传递,值传递函数的形式参数的作用域为,全局的外部变量和函数体内定义的局部变量重名时,变量优先该函数中,局部若自定义函数要求返回一个值,则应在该函数体中有一条语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符oreturnvoid若函数的形式参数是指针类型,则实参可以是或o指针数组名函数的参数为char*类型时,形参及实参结合的传递方式为址传递函数的实参为常量时,形参及实参结合的传递方式为值传递F面这个函数的功能是求两个整数的积,并通过形参传回结果,请填空voidmulxyresult.推断题X1函数说明指的是在程序中设定一个函数模块V2形参只有在被调用时才支配存储空间C语言中,输入操作是由库函数scanf完成的,输出操作是由库函数printf完成的5系统默认的C语言源程序文件的扩展名是.c经过编译后生成的目标文件的扩展名是.obj经过连接后生成的可执行文件的扩展名是.exeC语言的标识符只能由字母,数字和下划线.三种字符组成第三章数据类型,运算符和表达式一,选择题1以下选项中,不正确的C语言浮点型常量是CA.
160.B.
0.12C.2e
4.2D.
0.02以下选项中,D是不正确的C语言字符型常量A.aB.,\x41C.D.〃a〃在C语言中,字符型数据在计算机内存中,以字符的C形式存储A..原码.B.反码C.ASCII码D.BCD码
4..若xij和k都是int型变量,则计算下面表达式后,x的值是Cox=i=4j=16k=32A.4B16C.32D.525算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为BA..算术运算,赋值运算,关系运算B..算术运算.关系运算..赋值运算C..关系运算,赋值运算,算术运算D..关系运算算术运算..赋值运算6若有代数式则不正确的C语言表达式是CA.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*37表达式!x||a==b等效于DoA.!x||a==bB.!x||y==bC.!x||a==bD.!x||a==b8设整型变量mnabcd均为L执行m=abn=cd后,mn的值是A0A.00B.01C.10D.11设有语句inta=3;则执行了语句a+=a-=a*=a;后,变量a的值是BA.3B.0C.9D.-1210在以下一组运算符中,优先级最低的运算符是DA.*B.!=.C..+D.=11设整型变量i值为2表达式++i+++i+++i的结果是BoA.6B.12C.15D.表达式出错12若已定义x和y为double类型,则表达式x=ly=x+3/2的值是CA.1B.2C.
2.0D.
2.5sizeofdouble的结果值是AA.8B.4C.2D.出错14设a=lb=2c=3d=4则表达式aba:cda:d的结果为DA.415B.3设a为整型变量C.2D.1A.10a15C.a10a1516设f是实型变量不能正确表达数学关系lKa15的C语言表达式是AoB.a==11||a==12||a==13||a==14D.!a=10!a=15下列表达式中不是逗号表达式的是DoA.f=
3.
21.0B.f0f10C.f=
2.0f0D.f=
3.
21.0X3在C的函数中,最好运用全局变量X4在调用函数时,实参传值给形参,调用结束时,形参值传给实参V5全部函数定义都是并行的,相互独立的X6函数的隐含存储类型是externX7形参可以是常量,变量或表达式X8函数调用可以作为一个函数的形参J9C语言规定,实参应及其对应的形参类型一样X10定义函数时,形参的类型说明可以放在函数体内
4.程序填空题1对数组按值从大到小的依次排序后输出,请填空.ttincludestdio.hvoidmainOfloata
[7]={26383129};inti;voidsortfloat*int;■ffori=0;i7;i++printf^%f”printf\n;voidsortintijk;floatt;fori=0;in-l;i++k=i;.forj=i+l;jn;j++ifk=j;{t=*p+i;*p+i=*p+k;*p+k=t;}sorta7float*pintn*p+k*p+jifk!=i空^includestdio.hvoidfindfloat*pintmaxintminintnintk;*max=*p;fork=l;kn;k++t=*p+k;ifift*min*min=t;floatt;*min=*p;*maxtB卷
5.写出下列程序运行结果1maininti=lp;p=funii+1;printf%d\np;intfunintaintbintf;ifab..f=l;elseifa==bf=0;elsef=-l;returnf;-12键盘输入abcdefCRftincludestdio.hvoidfuncharc;ifc=getchar!=\nfun;putcharc;voidmain{funfedcba⑶ftincludestdio.hftdefineC5intx=ly=C;voidmainintx;x=y++;printf%d%d\n”xy;ifx4{intx;x=++y;printf,z%d%d\n”xy;x+=y一.printf%d%d\n”xy;56771264ftincludestdio.hintca=4;funcintaintb{c=a*b;a=b-l;b++;returna+b+1;}voidmainintb=2p=0c=l;p=funcba;printf%d%d%d%d\n”.abcp;4289⑸unsignedfun6unsignednumunsignedk=l;do{k*=num%10;num/=10;}whilenum;returnk;voidmainunsignedn=26;printf%d\n〃,fun6n;12ftincludestdio.hintmaxintaintb;mainintxyztm;scanf%d%d%dxyz;t=maxxy;m=maxtz;printfmintmaxintaintbifabreturna;elsereturnb;运行时若输入10159则输出运行时若输入300129300则输出:ftincludestdio.hlongsumintaintb;longfactorialintn;mainintnln2;longa;scanf%d%d”nln2;a=sumnln2;printfa=%ld”a;longsumintaintblongclc2;cl=factoriala;c2=factorialb;returncl+c2;longfactorialintnlongrtn=l;inti;fori=l;i=n;i++rtn*=i;returnrtn;运行时若输入23则输出—8运行时若输入05则输出―121^includestdio.hints;intxy;mainintn;x=l;y=2;n=s;printfx=%dy=%dn=%d”xyn;intsintz;x=3;y=4;z=x+y;returnz;程序运行后输出―3479以下程序的输出结果是好—b=—c=ftincludestdio.hintfuncintaint*p;voidmainOinta=lb=2c;c=funcab;b=funcca;a=funcbc;printf〃a=%db=%dc=%d〃abc;intfuncintaint*pa++;*p=a+2;return*p+a361619第九章预处理A部分本,专科必做一,选择题以下不正确的叙述是DA宏替换不占用运行时间B宏名无类型C宏替换只是字符替换D宏名必需用大写字母表示C语言的编译系统对宏叮嘱的处理D..A在程序运行时进行的B在程序连接时进行C和C程序中的其它语句同时进行编译的D在对源程序中其它语句正式编译之前进行的3以下程序的输出结果是CA15B100C10D150ftdefineMINxyxyx:yvoidmainintIjk;i=10;j=15;k=10*MINij;printf%d\n,k;4以下叙述中正确的是D用打起1111€包含的文件的后缀必需是“.h”o若一些源程序中包含某个头文件;当该文件有错时,只需对该头文件进行修改,包含此头文件的全部源程序不必重新进行编译宏叮嘱行可以看作是一行C语句预处理是在编译之前进行的5以下叙述中正确的是CA源程序中全部的行都参与编译.B宏定义常量及const定义常量是一样的C宏定义可以嵌套定义,即在宏定义中的字符串可以引用另一个宏定义的标识符D以上都不正确二,填空题以Y程序中for循环执行的次数是6oftdefineN2WdefineMN+lWdefineNUMM+l*M/2voidmaininti;fori=l;i=NUM;i++;printf%d\n,i;2以下程序的输出结果是x=93ftdefineA3^defineBaA+l*avoidmainintx;x=3*A+B7;printfx=%d\n,x;B部分本科必做编程请写出一个宏定义MYALPHAc用以推断c是否是字母字符,若是,得1否则得Oo解ttdefineMYALPHAcc=Ac=1||c=ac二z1:0第十章指针A部分本,专科必做一,选择题1若有定义intx*pb;则以下正确的表达式是AApb=xBpb=xC*pb=xD*pb=*x2以下程序的输出结果是BA因变量无定义输出不定值B0C-1D1#includestdio.hvoidmain{printf%d\n,NULL;}3以下程序的输出结果是BA523B-5-12-7C-5-12-17D5-2-7#includestdio.hvoidsubintxintyint*z{*z=y-x;}.voidmainOintabc;sub105a;sub7ab;subabc;printfa%d%d%d\n”,abc;4以下程序的输出结果是CA4B6C8D10#includestdio.hvoidmainintk=2m=4n=6;int*pk=k*p;*p=n=*pk**pm;printf%d\n,n;5已知指针p的指向图一的a[l]则执行语句*p++;后,*p的值是BoA20B30C21D
31..a
[0]a[l]a
[2]a
[3]...a
[4]1020304050图一6已知指针p的指向图一的a[l]则表达式*++p的值是BoA20B30C21D317已知指针p的指向图一的a[l]则表达式++*p的值是CoA20B30C21D318以下程序的输出结果是DA23B24C25D26#includestdio.hvoidprtvint*x{printf%d\n++*x;}voidmainOinta=25;prtva;9以下程序的输出结果是BoA运行出错B100Ca的地址Db的地址#includestdio.hvoidmainint**k*ab=100;a=b;k=a;printf%d\n”**k;10以下程序运行后,输出结果是DA8B7#includestdioh.sschar*s{char*p=s;while*pp++;returnp-s;main{char*a=abded;inti;i=ssa;printf%d\ni;.二,填空题1若有定义:charch;1使指针P指向变量ch的定义语句是char*p=ch;2若已定义char*p;使指针p指向变量ch的赋值语句是p=ch;o3在1的基础上,通过指针p给变量ch读入字符的scanf调用语句是scanf%cp;o.4在1的基础上,通过指针p给变量ch赋字符a,的语句是*p=a,;5在1的基础上,通过指针p用格式输出函数输出ch中字符的语句是printf%c”,*p;o2以下程序输出的是Covoidmain{.inti=3j=2;.char*a=DCBA〃;..printf//%c%c\n/za[i]a[j];.3以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换请填空voidexchangeint*xint*y{intt;t=*y;*y=*x;*x=t;B部分本科必做程序填空1下面程序的输出结果是ABCDBCDCDD0char.b□=ABCD;voidmain{.char*chp;forchp=b;*chp:chp+=2printf%s”chp;printf\n;下面是一个字符串连接函数,请补充完整voidmystrcatchar*slchar*s2char*p*q;forp=sl;*p;p++;forq=s2;*q;q++*p++=*q;*p=\0;第十一章结构体及共用体A部分本,专科必做一,选择题1设有如下定义structsk{inta;floatb;}data*p;若有p二data;则对data中的a域的正确引用是B□2依据以下定义,能输出字母M的语句是DAprintfa%c\nwclass
[3].name;Bprintfa%c\nwclass
[3].name
[1];Cprintfa%c\nwclass
[2].name
[1];Dprintfa%c\n^class
[2].name
[0];structperson{charname
[9];intage;};structpersonclass
[10]={“John”,17“Paul“,19“Mary”,18“Adam”,16};3以下程序的输出结果是DoA0B1C3D6#includestdio.hvoidmainstructemplx{intx;inty;}enum
[2]={l327};printf%d\n,enum
[0].y/enum
[0].x*enum[l].x;4若有以下说明及语句,则值为6的表达式是DoAp++-nBp-n++C*p.n++D++p-nstructst{intn;structst*next;};structsta
[3]*p;a
[0].n=5;a
[0].next=a[l]n=7;a[l].next=a
[2];a
[2].n=9;a
[2]nexti\0’;p=a
[0];5已知字符0的ASCII码的十进制的值是48且数组的第0个元素在低位,以下程序的输出结果是Bo17表达式18/4*sqrt
4.0/8值的数据类型是CA.intB.floatC.doubleD.不确定18已知字母A的ASCH码为十进制数65且c2为字符型,则执行语句C2=A+6-3;后c2中的值是AA.DB.68C.不确定的值D.C19以下用户标识符中,合法的是BA.intB.nitC.123D.a+bC语言中,要求运算对象只能为整数的运算符是AoA.%B./C.D.*21若有说明语句charc=\72;则变量c在内存占用的字节数是AA.1B.2C.3D.422字符串〃ABC〃在内存占用的字节数是BoA.3B.4C.6D.823要为字符型变量a赋初值,下列语句中哪一个是正确的BA..chara=3;B.chara=f3;C.chara=%;D.chara=*;24下列不正确的转义字符是CA.\\B.\C.074D.\0二,填空题11C语言市的逻辑值“真”是用1表示的,逻辑值“假”是用
0.表示的2若x和n都是int型变量,且x的初值为12n的初值为5则计算表达式x%=n%=2后x的值为0o3设c=,w9a=lb=2d=-5则表达式x+1设,y!=c+2-a-5*b=d+lb==a=2的值分别为
1.011o4设floatx=
2.5y=
4.7;inta=7;表达式x+a%3*intx+y%2/4的值为
2.56求解赋值表达式a=b=10%c=6表达式值,abc的值依次为44106o7求解逗号表达式x=a=36*a后,表达式值xa的值依次为
18338.数学式a/b*c的C语言表达式a/b/c三,编程题1设长方形的高为
1.5宽为
2.3编程求该长方形的周长和面积2编写一个程序,将大写字母A转换为小写字母ao.main{floatx=l.5y=
2.3;printfaareais%62f\n,x*y;}main{charc=A;printf%d”,c+32;}A39B9C38D8voidmainunion{inti
[2];longk;charc
[4];}r*s=r;s-i
[0]=0x39;s-i[l]=0x38;printf%x\n”,s-c
[0];6以下程序输出的结果是CA32B16C8D24typedefunion{longx
[2];inty
[4];charz
[8];}MYTYPE;MYTYPEthem;voidmainprintf%d\n,sizeofthem;7设有以下语句typedefstructSintg;charh;}则下面叙述中正确的是(B)A)可用S定义结构体变量B)可以用T定义结构体变量8有以下说明和定义语句structstudent{intage;charnum
[8];};structstudentstu
[3]={{20202301〃}{21202302”}{10\9“202303”}};structstudent*p=stu;以下选项中引用结构体变量成员的表达式错误的是(D)Ap++-numBp-numC*p.numDstu
[3].age二,填空题1为了建立结构体(含有两个成员,data是数据成员,next是指向自身结构体的指针成员)请填空Structlinkchardata;structlink*next;)2把类型int另取一个类型名称INT则以下应填:typedefintINT;3以下程序的运行结果是2023Shangxian#includestring.htypedefstructstudent{charname
[10];longsno;floatscore;}STU;main{STUa={“zhangsan”,202395}b={“Shangxian”,202390}c={Anhua”,202395}d*p=d;d=a;ifstrcmpa.nameb.name0d=b;ifstrcmpc.named.name0d=c;printf%ld%s\n,d.snop-name;B部分(本科必做)程序填空:以下程序的功能是处理由学号和成果组成的学生记录,N名学生的数据已在主函数中放入结构体数组s中,它的功能是把分数最高的学生数据放在b所指的数组中,留意分数最高的学生可能不只一个,函数返回分数最高学生的人数请填空#includestdio.h^defineN16typedefstructcharnum
[10];ints;}STREC;intfunSTREC*aSTREC*bintij=0max=a
[0].s;fori=0;KN;i++ifmaxa[i].smax=a[i].s;fori=0;iN;i++ifaEi].s==maxb[j++]=a[i];returnj;voidmainSTRECs[N]={{GA005”,85}{“GA003”,76}{“GA002”,69}{“GA004”,85}{“GA00191}{“GA007”,72}{“GA00864}{“GA006”,87}{“GA0015”,85}{“GA0013”,91}{“GA0012”,64}{“GA0014”,91}{“GA0011”,66}{“GA0017”,64}{“GA0018”,64}{“GA0016”,72}};STRECh[N];intin;n=funsh;printfThe%dhighestscore:\nwn;fori=0;in;i++printfa%s%4d\n,h[i].numh[i].s;printf\n;依次结构答案一,单项选择题AADABCCBBD二,程序改错题.正确的程序为#include“stdio.hmain{..charc;getcharc;putchar\007;/*鸣笛*/putchar;.正确的程序为main{intabs1;scanf%d%dab;s=a*b;1=2*a+b;printfCl=%ds=%d\n^1s;三,写出程序运行结果68x=4y=ll四,编程题
1.main{intabcsum;floatave;scanfa%d%d%dwabc;sum=a+b+c;ave=sum/
3.0;printfsum=%dave=%.2f\n”sumave;五,选做题voidmain{.floatabtemp;printfinputaandb:〃;scanf%d%dab;temp=a;a=b;b=temp;printfzza=%db=%d\n”ab选择结构答案一,单项选择题LB
2.A
3.D
4.C
5.D
6.B二,填空题
1.55455433440VeryGoodGoodVeryGoodFailPassPass三,阅读程序,写出运行结果1043;-1361四,程序设计题Lmain{intabxy;scanf%d%d”,ab;x=a*a+b*b;ifx100{y=x/100;printf%dy;}elseprintf%d”a+b;if结构main{floatt;charc;printfinputscoremaxas100:\nscanf%f,tift=90ch=A;elseift=80ch=B;elseift=70ch=C;elseift=60ch=D;elsech=E‘;printfGrade=%d\n”ch;switch结构main{floatt;charc;printfainputscoremaxas100:\n”;switcht/10{case10:case9:ch=Acase8:ch=Bcase7:ch=Ccase6:ch=Dcase5:ch=EprintfGrade=%d\n”ch;五,选做题mainO{intabct;scanfa%d%d%dwabc;ifab{t=a;a=b;b=t;}ifac{t=a;a=c;c=t;}ifbc{t=b;b=c;c=t;}printf%d%d\n”abc;switchs0s=10{case1:switchs=3s=6{case1:x=2;break;case0:switchsl||s8{case1:x=3;break;case0:x=l;break;}}break;case0:x=0;break;循环结构答案一,选择题
1.B
2.A
3.A
4.C
5.A
6.B
7.A
8.C
9.D
10.D二,填空题xlxl/2-2ch=getcharch=Ach〈=Zs=s+t*it=-t三,阅读下列程序,写出程序运行的输出结果85289215SUM=2468四,程序改错l.mainO{inti=200n=0;/*n用来记录每行已打印数的个数*/whilei=300{ifi%7==0{//break;.printf%5di;n=n+lifn==5/*满5个换行*/{printf\n;n=0;.}i++;}
2.main{intis=0t=l;fori=l;i=7;i++{t=t*i;printfsum=%d\n”s;五,程序设计题mainO{intxgsb;forx=100;x1000;x++{b=x/100;s=x%100/10;g=x%10;ifg*g*g+s*s*s+b*b*b==xprintf%d\nx;}mainO{intis=0f=l;fori=2;i80;i++{s=s+f*i-l/i;f=-f;}printfs=%f\nws;六,选做题mainO{floats=0m=
2.0n=l.0p;inti;fori=l;i=20;i++{s=s+m/n;p=m;m=m+n;n=p;}printfs二%f\n”s;#includestdio.hmain{intijks=l;fori=l;i=20;i++forj=l;j=50;j++{k=100-i*5-j*2;ifk=0{printf%2d%2d%2d”,ijk;s=s+l;ifs%5==0printf\n;.第7章数组习题A卷.单项选择题inta
[4]={5389};其中a
[3]的值为DA.5B.3C.8D.92以下4个字符串函数中所在的头文件及其他3个不同AA..getsB.strcpy3以下4个数组定义中,C.strlen是错误的DD.strcmpA.inta
[7];B.#defineN5longb[N];c
[5];D.intnd[n];6若有以下数组说明,则数值最小的和最大的元素下标分别是inta
[12]={123456789101112;D.chara[]={012345}ID合法的数组定义是oA.inta
[3][]={012345};C.inta
[2]
[3]={0123456};12下列语句中,正确的是A.chara
[3][]={abc1};.C.chara
[3][]=T};13下列定义的字符数组中,输出DB.inta[]
[3]={01234};D.inta
[2]
[3]={0l2345};oDB.chara[]
[3]={abc1};D.chara[]
[3]={aT};printf,z%s\nz/str
[2];的输出是oCstaticstr
[3]
[20]={basicfoxproA..basicB.foxproC.windowsD.输出语句出错14下列各语句定义了数组,其中哪一个是不正确的A.chara
[3]
[10]={ChinaAmericanAsia};C.floatx
[2][]={1246810};oCB.intx
[2]
[2]={1234};D.intm[]
[3]={l23456};15数组定义为inta
[3]
[2]={123456}值为6的数组元素是oBA.a
[3]
[2]D.a
[2]
[3]16下面的程序中哪一行有错误Wincludestdio.hmainoD。