版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章算法及算法描述一、填空题1、算法具有以下五个特点、、、2判断一个算法的优劣的主要标准、、、、人常用的算法图形表示法主要包括4影响程序质量的质量要素主要包括、、、工程序设计语言经历了的发展历程是 、 、 、 &算法实现包括的阶雨是 、、、、第2章C语言概述一、判断题(a为正确,b为错误)1、C程序的基本组成单位是函数。2篇呈序的一行只能写一条语句。Amain函数必须写在一个C程序的最前面。4一个C程序可以包含若干函数,但必须有主函数。工一个c程序的执行是从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。&C语言是一种结构化程序设计语言。1、一个C程序可以有若干个C源程序组成,而C源程序可以由若干个函数和预处理组成。&在标准C中,语句必须以结束。夕在邂序中,注释说明只能位于一条语句的后面。1Q在对一个避序进行编译的过程中,可发现注释中的拼写错误。第3章数据类型与数据运算一、判断题(a为正确,b为错误)1、a-b是合法的标识符。2在遴序中,Affi和aph是两个相同的变量。3.在标准C中,变量可以先使用再定义。4逗号运算符的求值顺序是从左到右的,逗号表达式的值为第一个表达式的值。,"件运算符的优先级比“4运算符的优先低。6,无符号整型变量的取值范围是:0-65535b1、表达式i+与+H在任何场合功能完全相同。&若有inti=10,j=2;则执行完 后的值为2&二、多项选择题1、C语言提供的合法的数据类型关键字是()0ADouble Rshort Gint DChar2下面均是不合法的用户标识符的选项是()0AA Rfloat Gb-aD一123P-0 laO gototerrpdo -A intINT入已知ch是字符型变量,下面不正确的赋值表达式是()。Ach="723' B \<ffG\Q07Dc屋X4若有以下定义,则能使值为3的表达式是:int『7,x=12;()Ax%=0<%=5)R 炫=(k一眇⑤Gx%=ll—般D—G^q=5)工下关于运算符优先顺序的描述中正确的是()oA赋值运算符(逻辑与运算符〈关系运算符v逻辑非运算符B逻辑运算符〈关系运算符〈算术运算符〈赋值运算符G赋值运算符〈逻辑与运算符〈关系运算符〈算术运算符D算术运算符〈关系运算符〈赋值运算符〈逻辑与运算符6,已知ch是字符型变量,正确的赋值表达式是()oAc『利/ Bch=,\O"C7¥9Dch=5+9久在C语言中,要求运算数必须是整型的运算符是()A%=R++G!=D%8下列关于字符串的说法中错误的是()oA在c语言中,字符串是借助于字符型一维数组来存放的,并规定以字符作为字符串结束标志。Ry作为标志占用存储空间,计入串的实际长度。G在表示字符串常量的时候需用人为在其末尾加入'7/.D在c语言中,字符串常量隐含处理成以结尾。三、单项选择题1、以下关于longint和short类型数据占用内存大小的叙述中正确的是:()oA均占用4个字节 B根据数据的大小决定G由用户自己定义 D由c语言编译系统决定2假设所有变量均为整型,则表达式(a=2,b=5,bHM的值是()oA7R8G6D23.若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4j=16(12)()oA4R16G32D524已有定义:int—,尸1,z=5;则表达式!(a均+z—的值是()。A0R1G2D-1\设有:intsf=1,tr2c^,d=4m=2户/执行(m=8&gc>d)后n的值()oTOC\o"1-5"\h\zA 1 B 2G 3D46,设有intAll;则表达式(奸Pl/3)的值()oA 3 R 3.6 G4D 4.07.inta;floatf;doublei;表达式15+i*^A—a的值是( )型。AfloatRintGcharDdouble&设变量a是整型,f是实型,i是双精度型,则表达式1阡a+i*f值的数据类型为()oAintRfloatGdoubleD不确定四、编程题1、某件商品的价格为120元,分别安十进制、八进制和十六进制输出其值。2编程实现:从键盘输入正方体的变长,求其表面积和体积。A编程实现:从键盘输入球的半径,计算球的表面积和体积。4编程实现:定义int型变量il和i2的值分别为65和97,依次按字符、十进制、八进制和十六进制整数的形式输出它们的值,要求每个变量各占一行。大编程实现:从键盘输入一个实数,分别按小数形式和指数形式输出该实数的值。第4章常用库函数一、单选题1、以下程序输出结果是—(注□表示空格)1VhinO 版rintfC*sl=%15s*\n*s2=%-5s"chinabeijing,wchi");}A*sl=chinabeijin灯□□*B*slrhianbeijin灯□口*sl=*chi* *s2=chi□口C*s1=?'□□chinabeijing*D*sl=E]口口chianbeijing**s2=QDnchi *S2=chi□口*2根据定义和数据的输入方式,输入语句的正确形式为—已有定义:floatfl,f&输入方式为:4.52,3.5Ascanf("%f, ,&f1,&筋;Bscanf,&fl,&f2);Cscanf(“用.3f,淞If,&fl,&f》;Dscanf("%.2f,%2.If,&fl,f故;又如下语句:scanf("a=^b4^c=^f,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式为一(注□表示空格)人132<^]车>B1,3,2<0车>Ca=inb=3ZI0=2<0车>口3=1,b=6,c=2<0车>4设有如下定义:intx=10,y=5,z,则语句printf ,=皿,/);的输出结果是。A1BOC4D3\printf函数中用到的格式符%5s,其中数字5表示输出的字符串占5列。如果字符串长度大于5,则输出方式为—A从左起输出该字符串,右补空格B按原字符长从左向右全部输出C右对齐输出该字串,左补空格C输出错误信息printf函数中用到的格式符用号其中数字5表示输出的字符串占5列。如果字符串长度小于5,则输出方式为—A从左起输出该字符串,右补空格B按原字符长从左向右全部输出C右对齐输出该字串,左补空格瑜出错误信息.已有定义intA-2,和输出语句:printf("炒,a);以下正确的叙述是一A整形变量的输出格式符只有利一种B爆格式符的一种,它可以适应任何一种类型的数据C%<是格式符的一种,其变量的值按十六进制输出,但弗lx是错误的D玲lx不是错误的格式符,其中数字8规定了输出字符的宽度&下列语句输出结果是 oUnsignedH;printf(“附,i);A65535B65536G-lD1下列语句输出结果是 ointi=65535;printf("%f,i);A65535B0C-lD语法错误.下列语句输出结果是 oLonga=oxffff;intb=a;printf("%',tj);A65535B65536C-1D111、已知ch是字符型变量,下面不正确的赋值表达式是 oAclr=723'Bclr=\<ffCc修\Q0^Etg\p'12,设有定义:intk=Q以下选项的四个表达式中与其他三个表达式的值不相同的是一oAld-FBC-HkEkHH已知inta;float匕所用的scanf调用语句格式为:scanf("既磔,b=%f',地&b);为了将数据3和25.08分别赋给x和y,正确的输入应当是 oA3,25.08<enter> Bs=3,tp=25.08<£nter>C/b=25.08<enter>D吃23<enter>b=25.08<enter>14语句printf(u,strlen("7、\065\<f))的输出结果是一A5B14C8 D输出项不合法,无正确输出15,下列格式符中,哪一个可以用于以8进制形式输出整数—oA%BWC%)D%d16字符变量ch—A,int类型变量K=25,语句printf("用d,用cNH',ch,M;输出 。A65,253B65253C65,25DA25n有以下程序Nhin0(Intrqn,rScanfC ,比i&n,跄;Printf("%%%Nf,用口由}住:口表示空格)若想从键盘上输入数据,使变量时的值为123,n中的值为456,P中的值为789,则正确的输入是一An?=123n=456p=789Bn=12JZIn=45Cp=789Gn=123,n=456,尸789DI2345678918.逻辑运算符两侧运算对象的数据类型—oAR能是0或1B只能是0或非零整数C只能是整形或字符型数据D可以是任何类型的数据19当k的值不为0时,在下列选项中能够将k的值赋给变量mn的是oB(nr4^>8&.(rp4^)C(||(rp40D(k=^r)<8&(n=k)2Q若希望当那值为奇数时,表达式的值为“真”,保勺值为偶数,表达式的值为假o则以下不能满足要求的表达式是—oA^2=1H(a%2=q)C!(阳D舷21、putchar函数可以向终端输出一个。A整型变量表达式值;B实型变量值;C字符串;D字符或字符型变量值22若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是 Ascanf(" %le",&x, ;Bscanf("%2d*Wolf"&x,&y,&z);Cscanf(%用眩咒&x,&0;DTOC\o"1-5"\h\zscanf 2f&y, ;23,已有如下定义和输入语句,若要求al,a2,cl,c2的值分别为10,20,AB当从第一列开始输入数据时,正确的数据输入方式是 Ointal,a2;charcl,c2;scanf &al, ;scanf &21,&ca;A1020AB<CR> B102(kCR>AB<CR>C1020 D1020ABeR>24设%y和z是int型变量,且x=3,y=4,k5,则下面表达式中值为0的是 AzyzyzBx<=yCx||y-Hz8&/-zD!你或)题z|11)25.若有以下定义:inta,b;float苏,则正确的赋值语句是 0AaF=1,b=2,BCAb=5Db=int®26判断char型变量ch是否为大写字母的正确表达式是一。AzA<=ch<^Z BA)&Z)C9MA)跟gWZ)D(A<Fch)^ND(Z>^h2N执行以下语句后a的值为—oint环5,b=6,w=l,jrf,z=4;8&(b=^>z);A5B0C2D12&已知一3,A,N则表达式—儆ckB敌力的值是 OA飞―B语法错C1D।假"29.设*y和s是int型变量,且a3,尸4k5,则下面表达式中值为0的是 。A,x'帔y'Bx<=yCx||y+z&&^LD!(0Ky)幽z二、多选题1、若x,y均定义为int型,z定义为double型,以下合法的scanf函数调用语句是 Ascanf("%^1用 ,如附,初;Bscanf("%d*%^1f',x,y,公;Cscanf("%:用S/&, &0;Dscanf("2f,叙败&z);2已知intI,j,kscanf("%%%',&L&j,即;若从键盘送入Lj,k的值分别为1,2,3时,则正确的输入方式是 o(注:口表不空格,《比表小回车)A1,2,3B1<CR>2<CR>3<CR>C]□U3 D1<O^□3工以下说法正确的是—A输入项可以为一个实型常量,如scanf("%f,3.》;B只有格式控制,没有输入项,也能进行正确输入,如scanf(" );G当输入一个实型数据时,格式控制部分不能规定小数点后的位数,如scanf("族2', 是错误的;D当输入数据时,必须指明控制变量的地址,如scanf4a是int类型变量,c是字符变量,下列输入语句哪些是正确的 Ascanf("% ,&a,&c);Bscanf ,a,。;Cscanf(“海箔,&a,&c);Dscanf("d=%lc=%f,&a,&c);三、填空题1、以下程序的输出结果是—oNfeinO{inta=177;printf("用',&;}2.以下程序的输出结果是 o岫in夕{int后123用printf("2d\p,,0;}四、阅读程序题分析下来函数段,写出其对应的执行结果。1、已知字母择勺ASCH码是65,以下程序的执行结果是— O1Vbin0(Charcl=A,c2=Y;printf("阳 ,cl,c2);}2阅读以下程序,当输入数据的形式为:25,13,1OXR=>正确的输出为OMkinIIntx,y,z;Scanf("阳泡%’,附,跄;PrintfCEy+z=%i\rf,x4y+z);!工main0(Inta,UScanf(“浓d将2d*d',&a,&b);Printf("%f,肝除;}上面程序运行时,输入12345678回车,结果。4.voidmain0{intaIO,b^lQPrintfC%Nt%f,l ;}以上程序运行结果为:。\main0(Inta;PrintfCW,(a=3*4a*5,a+5));}以上程序运行结果为— o6main0{Float后123.4567&Printf(“%422,®;}以上程序结构为:。1、main0(Charc,4G=^etchar0;I>s—33;printf(“如,c,4;1又以上程序,若输入4则输出结果为。&mian0{inti=010,j=10,Is^oxlQPrintf(“阳%],%!',I,j,?;}以上程序的运行结果为: o五、操作题1.看程序写结果。#include"stdio.h"main0(chara,b,c;aF^etchar0;tngetchar0;G^etchar0;putchar®;putchar⑥;putchar©;}输出结果为: 2看程序写结果。#include"stdiah"voidmain0{intA123,t^721;float许123.456,printf a,坊;printf("牛%lda吟@da=%_4d\n",a,a,力;printf("fc^d7db=%-9d b,b,b,5;printfd冬14 4N;printf("^%-81d,b=%-81d\p",a,hi);printfQ%s,%7.2s,%4s,%-5.3s\p","sun","sun","sun","sunprintf赊,恰^1",x,x,a;printfC%IO.3e,%)1Qle,%)125e\n",丁国力;}输出结果为:3.看程序,写结果include"stdiah"voidmain0{inta;charqscanfC%1",刎;scanf('%:",&z);printf("舁%d",a);printf("c=%z",0;}输出结果为:4看程序,写结果include"stdio.h"voidmainGchars□—'good\psuri\tday1puts(s);}输出结果为:5.看程序,写结果include"stdioih"voidmain0{chars[10];gets(s);puts(s);}结果为: 6看程序,写结果include"stdiah"include"stdio.h"voidmain0(charsi[15]—'hello",s2[IQ]—\vorld";strcat(si,;puts(si);puts(s2);strcat(si,"good");puts(si);}结果为: 7.看程序,写结果#include"stringh"#include"stdio.h"voidmain0{charsi[20]—"hellowarId",s2Q,0]—'good";strcpy(si,s2);puts(si);puts(s3;strcpy(si,i/elccms);puts(si);}结果为: &看程序,写结果#include"stringh"#include"stdiah"voidmain0(charsi0—'ABC",s20=I,AHD";intixrF=strcmp(si,s2);printf("n=%d7i",rj);n=strcup(s2,si);printffn=%Nn",明}结果为: .看程序,写结果inc1ude"stringK'include"stringh"include"stdiah"voidmain0(charsi[]="good^\tbetteNbesf\n";chars2口=~a405”;puts(si);puts(s》;printfC%^",strlen (si));printf strlen 02);printf strlen ("hello'));printf strlen ("wDrld1));}结果为: .看程序,写结果include"stringh"inc1ude"stdiah"voidmain0(charsiQ="Good\tBe11eR\tBesf\pchars2Q—'A&sLOS";puts(si);puts(sp;str1wr(s1);str1wr(sp;puts(si);puts(sp;}结果为: .看程序,写结果#include“stringK#inc1ude"stringh"#include"stdiah"voidmain0(charsiQ—'good\tbettei\tbest\pchars2D="abM05";puts(si);puts(sp;strupr(si);sstrupr(s2);puts(si);puts(s2);}结果为: 12看程序,写结果#include"stringh"#include"stdiah"voidmain0(charc;printffpleaseinputaletter');scanf(%",&c);c=a'8&c<^z)? A—a'):az—A);printf。;}M果为•i5章酶序曲僮本结构一、判断题1、C语言规定,else子句总是与它上面的最近的if配对2ifQ0);不能看作是一条合法的条件语句Aif语句后面的表达式只能是关系表达式4判断整型变量a即是5又是7的整数倍的C表达式是(a%5=0a%^=q)\在C语言中10!学的值是1&在C语言中表达式隹=2)8&g-2)的值是17.在switch语句中必须使用break语句&在switch语句中必须使用break语句9在标准C中,没有逻辑型数据,故不能使用逻辑表达式。10.在标准C中,所有关系运算符的优先级都相同。11、在if语句中,else前一个语句可不加12.在标准C中,逻辑表达式中只允许出现逻辑型数据。H在标准C中,所有的if--else语句都可以用条件语句替换。14在switch语句中,case后可不加"{}”。15.在C语言中,将语句ifl);写成if0=5);将导致编译错误。16在所有关系运算符中,其优先级最低的是“=和!心。n若X的当前值为5,执行语句“if&H)E5;”后的值仍为5b1&在a呈序中,用整数。表示逻辑“假19.表达式!(QCIlyX)等价于!心。幽伊>0).2Q由于dcc^while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。21、if语句中条件表达式只能是关系表达式或逻辑表达式22.若有intk=1;词lile仁1)k+七则vhile循环执行的次数是1次2Abreak语句不能够单独使用,只能用于循环语句和switch语句24break语句可以用来跳出整个循环语句2*doftiile语句构成的循环至少执行一次26for(i=l;i#④);语句结束后变量i的值是427、for•语句只能用于循环次数已经确定的情况28.while的循环控制条件比decile的循环控制条件严格29汕ile语句构成的循环至少执行一次3。选择结构(if语句)和循环结构都可以使用嵌套形式31、循环语句中如果包含若干条语句,则必须用大括号括起来32.在while循环中允许使用嵌套循环,但只能是嵌套while循环。3工在循环过程中,使用break语句和continue语句的作用是一样的34在标准(2中,研ile和dq_while的功能完全相同。3\在标准C中,啪ile后表达式只能是逻辑或关系表达式。36在标准C中,for语句后的三个表达式必须都出现。3久在标准C中,for语句后的三个表达式是按其先后次序执行的。38在标准C中,for语句后的三个表达式可以是任意类型的表达式。39.break的作用可以结束循环多重循环,即有多重循环时,可直接跳到最外层。4Q执行“for(1=1;I<1Q14=25)si;”后,I的当前值为1L二、选择题.有下面的程序main(){1ntx—3,y—0,z—Qif(qH。printf("****》;elseprintf("####');)以下说法正确的是()A有语法错误不能通过编译 B输出****C可以通过编译,但是不能通过连接,因而不能运行 D输出####2有以下程序main(){inta=15,b=21,nr=Qswitch(a^){case0:mH;break;case1:m]■七switch({defau11nrFHcase0:mH;break}}printfC%d\p,,n);}程序运行后的输出结果是()A1R2C3D4.有以下程序main0inta=3,b=4,c=5,d=Zif(3>t^if(b>Q)printfC%1",(H-F+1);elseprintff%1",-H-d4-l);printf('%i\p",d);)程序运行后的输出结果是()A2B3C43D44.下列条件语句中,功能与其他语句不同的是()Aif@printfC%i\p",9;elseprintfy);Bif知R)printfQ%bd;elseprintfC%Np",苗;Cif(a!=0)printf刘;elseprintf("^dXp",y);Dif^=0)printf ;elseprintfC%Nn",y);.为了避免嵌套的ifrlse语句的二义性,C语言规定else总是与()组成配对关系。A缩排位置相同的ifB在其之前未配对的ifC在其之前未配对的最近的ifD同一行上的if选择出合法的if语句(设int%a,b,g)( )。Aif(a=^)c-FHBifc-FHCifc-FHDif^>ti).判断char型变量s是否为小写字母的正确表达式是()。A' a'<=s<=z B (s>= aj &(s<=z)C (s>=a') (s<=z) D (a' <=s) and(zx=s)&若希望当X的值为奇数时,表达式的值为“真”,X的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()oA^=1B!()^2=0)C!D迎.指出下列程序段所表示的逻辑关系是()oif^<tj){if^^4)x=lQ}elsex=-lQ人■一、\1。a<b且c=d10a<b且c=dA-10a>b且cWdB'-ioa>b10a<b且c=d'10a<b且c=dX=<X=<C-10a<b且cHdD[-10cWd
TOC\o"1-5"\h\z-1 x<0y=<0 x=0以下程序段中不能根据xcN产1; if(x>=Q)io,以下程序段中不能根据xcN产1; if(x>=Q)值正确计算出y值的是()oAif回y=l;By=QDifif回y=l-elsey=—1;elseifif回y=l-elsey=—1;elseif(x<0)y=-1;if(x>Q)y=l; else产&elsey=—1;elsey=—1;11.执行以下语句后,y的值为()ointx,y,石-H-x||-Hy跟-Hz;A0 B1 C2确定值12已知int赤4,b=2,c=3;以下语句执行后a,b,c的值是()。ifc=a;b=c;Aa==l,b=2,c=3B环2,b=6,c^>Ca=2,b=3,c=lDa=2,b=3,g=213.请阅读以下程序:该程序()o#include“stdinH'main0{intx=-10,尸5,z=Qif printff ;elseprintf(¥¥^\p,);}A有语法错不能通过编译B可以通过编译但不能通过连接C输出*** D输出YWU以下程序的运行结果是()o#include“stdiamain0{inta==l;if printf(%Np,,a);elseprintf(%i\p',a-4;}A0 B1 C2 D315.当a=l,b=2,c=4d=3时,执行完下面一段程序后x的值是()oififx=l;elseif(3<q)if(b<4)x=2;else不g;elseelsex=5;A1 B2 C3 D416执行以下程序段后,变量x,y,z的值分别为()。inta==l,b=0,x,y,z;—a:-Hb;z=b5Ax=0,y=0,z=0Bx=—1,y=—1,z=1Cx=0,y=l,z=0Dx=-1,y=2,后117.若ahgd立均为int类型变量,则执行下面语句后的词直是()。a==l; c=3;cM;w=(a<tj)?a:hw=(?w:c;w=( ?w:4A1 B2 C3 D41&以下程序的输出结果是()o#include"stdiamain0(int2t—5,b4c_6>4printf( ,d=at?a>?wc:切;}A5 B4 C6D不确定.下列程序段的输出结果为()omainI{inta3;
do{printfC/^d", ;}汕ile((—•苗);}D死循环D1.000000A1 B30 C1-D死循环D1.000000.有如下程序,写出该执行结果()。#include"stdiaK'main0{floatx=2.0,y;if(^0.Q)y=0.0;elseif(x<10.0y=LQ/%elsey=l.Qprintf《%f5,y);}A0.000000B0.250000C0.50000021.以下程序的运行结果是()。#include"stdiaK'main0{intef=2,tr=—1,g=2;if(a<t))if(t<Q)c=QelsecHprintf《,c);}A0 B1 C222运行以下程序后,如从键盘上输入china用则输出为()。#include“stdiaKmain0(intvl=0,v2=Qcharchwhile(9h=getchar0)!='#')switch9及{case'a:case'H:default:vl-H;case'd:v2-H^}printf(阻%,vl,v^);}A2,0 B5,0 C5,5 D2,523.有以下程序,程序运行后的输出结果是()。#include"stdiamain0(inta=15,b=21,nr=QswitchQ用){case0:mHtbreak;case1:switch{defau11:mH;case0:mH;break;}}printf(%W,n);}A1 B2 C3 D4.以下程序中,汕ile循环的循环次数是()main(){inti=Qv^iile(iv1。{if(i<1)continueif(i=5)break;i-HAl010 06D死循环,不能确定次数.以下程序的输出结果是main(){int^=0,i;for(i=l;i<5;i-H){switch(i){case0i
case3:a4=^;case1:case2a4=6;defau11:aH=5;printf(a);}A31B13 010Q2026在C语言中,为了结束Mile语句构成的循环,while后一对圆括号中表达式的值应该为()oA0 B1 Ctrue D非027.以下程序的输出结果是()。mainI{intwhile(p~~)printf(%frj);}A20B31 C321 D21028以下程序的输出结果是()。main0{intx=10,y=10,i;for(i=Q y=M-Fi)printf x—5y);}A10192B9876C10990 D101091.当执行以下程序段时。kl;do}汕ile(9;C循环体执行无数次)。A循环体执行一次BC循环体执行无数次)。D系统提示有语法错误.执行以下程序后输出的结果是(main0{int尸do包一;}汕i1e(-y);printf(i%Ni“,y~^;]A-lR1 C8 D0.下面程序的输出结果是()omainI{intx—3,y—6,a—Qwhile(x+-H= ){aH=l;ifbreak}printfC'x=7^,尸%d,赤%N",x,y,a);}Ax4y4a—1 Bx—5,y—5,^=1Cx—5,y4a—3Dx~5,y4a:—132若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是()ofor(i=5;i;i-)for(j=Qjqj-H)A20 B24 C25 D3033.请读程序:#include<stdicih>main0{intx—1,y—0,a—0,b—Qswitch⑨fcase1:switch(y)Ease0:aH-Hbreak;b4•十break;}b+4;break;}printff'a=%lb=%Ni",a,坊;}上面程序的输出结果是()oAa2,b=lBa=Lb=lCa=l,b=0D^=2,tr=234在C语言中,为了结束由doHiile语句构成的循环,while后一对圆括号中表达式的值应为()oA0 B1 Ctrue D非035.有以下程序main(){chark;inti;for(i=l;i<3;i-H){scanf(%",8^;switch®{case'。:printf("anothefxn1);break;case'r:printf("numbei\o");)}}程序运行时,从键盘输入:Ok回车X程序执行后的输出结果是。AanotherRanotherGanotherDnumbernumber number numberNumber.在下列选项中,没有构成死循环的程序段是()oAinti=10Qwhile(1)(i=i%l00+1;if(i>10C!)break;}Bfor(;;);Cintk=100Qdo旧代}WiileGo=1000Q);Dints=^6汕i1e回;-s;.若输入B以下程序的运行结果为()omain0{chargrade;scanf(%",地rad®;switch(gradq){case'A:printff>=85.");case'E:case'C:printf(">=60.');case'D:printf("<60.");default:printf("error.");}A>=85.RX60.C>==60.<60.error.Derror.38列程序运行的情况是()omainI{inti=l,sunr=Qwhile(i<lQ)sun^sumEL;i-H;printf("i=%1,sunF%d",i,sun);}Ai=10,sum=9Bi=9,sutif=9Ci=2,sum=lD运行出现错误.有以下语句:i=l;for(i<=10Qi-H) sum{匚i;与以上语句序列不等价的有()oAfor(i=l;;i-H){suml=i;if(i=10。break}Bfor(i=l;i<=10Q){sumf=i;i-H^}Ci=l;for(i<=10(^)sunM=i; Di=l;for(;){sum+=i;if(i=lO0break;i-H^}.下面程序的运行结果为()omain0{int店forei;n<=l(^rHH){ifcontinue;printfC%d",坨;}}A12457810B369C12D1234567891041.下面程序的运行结果是()omain0{intx,y,z;TOC\o"1-5"\h\zx4^-z y;printf 力;}ARjt=0 Cx=2 Dx=642标有/海勺语句的执行次数是()ointy,i;for(i=Qi<2Qi-H){if(i/^==Q)continue}C10 D9A20 B1943.在C语言中,ifC10 D9A只能用逻辑表达式 B只能用关系表达式C只能用逻辑表达式或关系表达式 D可用任意表达式44在以下给出的表达式中,与dmmile®语句中的(目不等价的表达式是()oA(E=Q)B(E>0||B<Q)C促=Q) D但R)45.假定所有变量均已正确定义,下列程序段运行后x的值为()okl=l;k2=2;k3=3;x=15;if(kl)x~~;elseif(Jcpif(J<$x=4;e1sea3;A14 B4 C1546.执行下面语句的输出为()ointi=-l;if(i<=0)printf("*** ;elseprintf("%%%%7‘);A****B%%%%47.下列程序的输出为(#include"stdiah"C%%%%cD有错,执行不正确)omainQ{inti,j,yr=O;for(Ei<2;+)forG-Qj<=^;j+4){if(j物continuex-H^小}printf("方力;rAE Bx=84&下列程序的输出为(#include<stdicih>Cx=6 Dx=12)omainI{inti,j,l<^0,for(i=Qi<2;i-H){forG=Qj<3;j+D——j;}E+j;printfnr%ixi",k,n);}AW), BkM),m=5Ck=l,hf^D『1,nrf49,下列程序的输出为()0#include<stdiah>main。{intcharc=A;do{switch(p-H){case'A:ld-^break;case'B":k―;case'C:H=2;break;case'15: continuecase'E:1^4<*105break;default:1^/3;}leH;}vvhile&G);printf 廿;}A『3BW C『2 Dk-05Q下列程序的输出为()。#include<stdiQh>mainJ{inti=0,j=0,if(什四||e+jXD)a-Hprintf(叮4@j-%ia畤小p",i,j,4;)Ai=0,j=0,^=6Bi=l,j=L3=7Ci=l,jR,a7Di=0,j=l,aF=7三、填空题1.下盲程序的输出结果是―J青填空。main(){intx=100,a=200,b=5Qintvl=25,v2=2Qif(3<t!)if0=5。if(vl)x=ll;elseif(vpx=12;x=[1];printfC%1",刘;}2执行下面程序时,若从键盘上输入8,则输出为9,请填空。main(){int用scanff%1",&^);if([3溺printfC%NSp",-H-?0;elseprintfC%Nsp",x);}工若从键盘输入5&则以下程序输出的结果是main(){inta;scanf("%f,碗;if(a>5Q)printf("%',4;if(a>4。printfC%',4;if(a>3Q)printfC%',4;)4以下程序运行后的输出结果是 。main0{intx—1,y—0,a—0,b—0^switch因tase1:switch(y){caseftaH-^break;b-H;break;}a+-Hb+-Hbreak;printf a,5;四、改错题.对于输入的三个数字ahc的最大值并输出。#include<stdiah>voidmain0(inta,b,c;scanf锣&a,&b,&c);if(3>t!)ma^a;elsemax=4^if(nax<q)printf("ma作%d",ma^;}2从键盘输入圆半径r的值,求圆周长、圆面积的值并输出。#include<stdiah>voidmain0(floatr,1,s;floatpi=3.1415926printf("pleaseinputtheradius:Xp1);scanfi);l=2*pi*i;s=pi*r*r;printf("perimeteris物2fxp",1);printf("areais海2f\p",s);}3.求1〜100之间所有偶数的和。#include<stdiah>voidmain0(intsunrO,可n=Qwhile6^10。sim+=^n+2;}printf("F100之间所有偶数的和为:%d",sun);}4输出10g200之间的不能被3整除的数。#include<stdiah>voidmain0{int店forgio。n<^=20Qn-H)(if0^=0break;printfC%d",明}}五、程序输出结果(1)、以下程序运行后的输出结果是:main0{inta=l,b=2,c=3;if(c=^)printfC%IW,0;elseprintf ;}②、以下程序运行后的输出结果是:main0{inta—3,b4,c—5,t—92if(b<a8&a<c)t=a;^c;(?=t;if^<c8^d)<c)t=4);b=a;a=t;printf &h0;}6)、以下程序运行后的输出结果是:main\(inta,b,ca=lQb=2。g= II^/b>l);printf a,b,。;}④、以下程序运行后的输出结果是:main0{intx=l,^=0,a=0,b=Qswitch侬fcase1:switch(y){case0iarH;break;b-H;break;}a-H;b+4;break;}printfC%ia,切;}(5)、有以下程序main0{intn=0,m=l,x=&if(rj)x-=l;if(i)if⑨printfC<%Np,,9;}执行后输出结果是:⑥、以下程序运行后的输出结果是:。main0{intp=6。printf("%d\rf,(p/3X)?p/LO:嫡);}⑺、以下程序运行后的输出结果是:main0{inta—1,b—3,c—5;ifprintfC,yes\p,f);elseprintf("nd\o");}⑧、若有以下程序main0{intp,a=5;if=0)printf ©;elseprintf pH-2);}执行后输出结果是:⑨、若有以下程序main\{int3f=4, c=5,t=Qif^<ti)t=a;a=t^b=t;if1?=a;a==qc=t;printf(%1加%i\p",a,b,。;}执行后输出结果是:(10)、以下程序运行后的输出结果是:main夕{intx=10,y==20,t=(^iftfx=y;尸;printf(“阳知7',为9;}(口)、若从键盘输入5&则以下程序输出的结果是:main0{inta;scanfC%1",㈣;if3>50)printff%!",4;if^>40)printfC%!",4;ifprintfC%d",a);}(12)、以下程序运行后的输出结果是:#include<stdioih>voidmain0{inti=lQswitch(i)(i4=l;i4=l;i4=l;defau11:i4=l;printf("%f,i);}(13)、以下程序运行后的输出结果是:已知字母4勺ASCII码为65b#include<stdiah>voidmain[(chara,b;b=a^6,Z;printfQ%da,坊;}(14、以下程序运行后的输出结果是:#include<stdiah>voidf(intv,intW(intt;v=v^w=t;}voidmain0(intx=l,y=3,z=2;if(^y)fX力;elseif(y>z)f39;elsef依9;printf(“% ,x,y,0;}(15)、以下程序运行后的输出结果是:#include<stdiah>voidmain0(inta=l,tr=2,g=3;ifprintf("%d\p",q);elseprintfC%d\p",坊;}(1位、以下程序运行后的输出结果是:#include<stdiah>voidmain0{intff=c;switch(h+4)(defaultprintf("error》;breakcasea:case'A:case'b’:caseF:printff'good");break;case'c:case'C:printf("pass%case'd:case'D:printf("warn");}}(17)、以下程序运行后的输出结果是:#include<stdiah>voidmain\(inti=0,s=Ojdo(if(i%3(iHcontinue;}i找s4=i;}Wiile(i<0;printfC%d\p",s);}(18)、当输入19,2,21时下列程序运行的结果是:main\{inta,b,c,max;printfC'pleasescanthreenumbera,b,c\n");scanfC%1 %",&a,&b,&c);max=a;iffnaxctj)if(nax<£)max=<;printf("maxis:%d",ma^);}(19、若输入字母c,程序输出结果为[1];若输入字符*,程序将[序#include<stdicih>main0{charcl,c2,cl=getchar0;Mile(zl<97||cl>122)cl=getchar0;c2=clfprintf cl,c》;}QO)、以下程序运行的结果为:mainI{inta,b,c,x,y,z;a==l(^b=Z(步⑤;山;y=标®(b>=Q);11(b>4;printf%1c,x,y,z);}QI)、若输入4程序运行结果为【1】,若输入Y运行结果为[2],若输入10,运行结果为【3】.main0{intx,y;scanfC%!",舐);if6<1){『printf("H尸x,y);}elseif(x<lQ){y=2*x-l;printf("方=%d,k2*x—L=%I\q",及y);}else{y=3*H;printf 产3*xTl=%Ni",*y);}}Q2)、以下程序运行的结果:main0{inti=l,sunr^Qloop:if(i<=lQ){sunM=i;iHgotoloop}printf("sunr%i\n",sin);}Q3)、以下程序运行的结果:mainI{intx=2,y,qx^^+l;printf(%",;printff%],",9;printfC%Ni",力;}Q4、以下程序运行的结果:#include<stdiQh>#include<nath.h>main0{inti,k,ri)n=Qforkl;m1=2){if般10=Q)printf("\p");l^=sqrt(i);for(i=2;i<=4<;i-H)if(r^oi=O)break;if(i溺{printf("%2d",n);rrH;}}}Q5)、如果输入T','2,'3,'4',程序运行输出的是:#include<stdicih>main0fcharc;inti,k;日for(i包i幽i+4)仙ile(1){c=getchar0;if (/品心M夕)break;}Ec*10+c,J;}printf("k=%Nn",?;}六、编程题1.编程实现求H4+升••…+100之和。2,编程实现求1到100之间的奇数之和与偶数之和。.从键盘输入一个正整数,求出其阶乘并输出。求lT/^+l/5-l/7+..T/9升1/L01之和。\求1+卧1/凡..+1/99之和。&从键盘两个整数,求其最大公约数和最小公倍数。1从键盘输入一个正整数,将该数前后倒置后输出。&用双重循环打印如下图形。************************9从键盘输入一行字符,若为小写字母,则转化为大写字母;若为大写字母,则转化为小写字母;否则转化为ASCH码表中的下一个字符。10,给一个百分制成绩,要求输出等级‘B、'C、‘D、’E。90分以上为‘A,8co分为'7口9分为‘C,60分以下为'E5o11、输入两个正整数讨口n,求其最大公约数和最小公倍数。12.求Sn^FaarFaaa-l—Faa-aaa(有n个成之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。IX一球从100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地时共经过多少米?第10次反弹多高?第6章数组一、判断题(a为正确,b为错误)1、inta[]={0,1,2,3,45,G;不是正确的数组说明语句2,已有定义:charaQ—'xyz",b□={x','y','z'};则数组a和b的长度相同3,任何数组在使用前必须先定义。4二维数组元素在内存中的存放顺序是按列主顺序存放工若有说明:intag]⑷;则aQ+1]叨是对a数组元素的正确引用6,有数组定义inta[2]回={出,{2,3}};则a叨四的值为07.在定义二维数组时,可以将该数组的两个维数全部省略&字符数组charc口="string";有6个数组元素9在标准C语言中,字符串是以7结束的,故字符串的长度也包括‘7L10.在标准C语言中,数组的下标必须是常量,不允许是表达式。11、在标准C语言中,数组在大小一旦确定就不允许改变。U在标准C语言中,可以引用整个数组,而不必引用每一个数组元素。H在对数组进行赋初值时,不管有没有对所有元素赋初值都必须指定数组的长度。14在标准C语言中,二维数组在内存中的存放次序是以行序为主序。.设有变量定义charsQ=hell6',则数组中有6个元素。.c语言不允许对数组的大小作动态定义。17,字符个数多的字符串比字符个数少的字符串大已知程序段thara口①;scanfC%",4;printfC%",&;}输入:abcck回车X结果是ab已知程序段thara口1];gets®;puts®;}输入:abcd<回车X输出结果是:abcd.若有定义一维数组inta⑷的首地址为007阳则a⑴元素的首地址是0079H(设int型数据占两个字节)。二、程序改错题在下面的程序中,每个程序都存在若干处错误,请找到并修改这个理错误。1、.出数组中的所有元素。#include<stdiah>voidmain0{inti,a[IQ];for(i=Qfi-H)aLi1=i;printfC%d",a);}2输出数组元素,实现每5个元素一行进行输出。#include<stdicih>#defineN10voidmain0(intaN=a1,2,3,4,5,6,7,&%;inti;for(i=Qi<^i-H)(if(i%EprintfC\n");printfC%5d",a[i]);}printf05);}人数组a0中有5个整数,求它们的和并输出。#include<stdiah>voidmain0inta口={1,2,3,45};inti=0,sun)for(i<5;i-H)sunr=suml-a[i];printf("sunr%f,sun);}4以下程序用于计算一个一维数组各元素平方根的和。#include<stdiah>#include<nath.h>voidmain0{inta[10],i;floatsurqfor(i=Qid。i-H)scanf(,&a[i]);while(iV冯)(suml=sqrtQ[i]);iH}}5.对输入的10个数,利用选择排序方法进行排序,并输出排序后的结果。#include<stdiah>#defineN10voidmain0{intaN;inti,j,min,tempprintf(输入待排序数据:\p");for(i=Qi-H)scanfC%1",&aLi]);for(i=Qi+4)(mir^i;for(j=i+l;j-H)ifQfciin]>aQJ)min=j;if(nin!=i)tempFFa[i];a[i]=a1nin];a£nin]=temR}}printf(腓序后数据为:7%for(i=Qi-H)printfC%d",a[i]);printf(N%}6对输入的10个数,利用冒泡排序方法进行排序,并输出排序后的结果。#include<stdiah>#defineN5voidmain0(intainti,j,ten^printf。输入待排序数据:\p');for(i=Q网i44)scanfC%1",&aLi]);for(i=l;fi-H)for(j=QjCH;j+4)if^m>aD+u){tenp=a田;a[j]』D+l];aD+l]=temR}printf(腓序后数据为:5);for(i=Q网i44)printfC%i",aEi]);printf(N%}I实现在数组ad©(一个递增数组)中进行折半查找,其中待查找数据ng从键盘输入。#include<stdicih>#defineN10voidmain0(intaM={l,3,5,7,9,11,15,18,21,3Q;intnun)flag=0,bott=0,top^-1,loca,mictprintf(请输入待查找数据:7");scanf('%i",&nun);if^ium<a⑹||nuni>aprintfC%d不在数组中nun);else(while(bott<=top){mid=(bott+top)if(hun^F.1nid])(loca^nic^flag=l;}elseif^iun<a!nid])top^nid—1;elsebott询idH;}if(flag=l)printf(数组元素a%2=%Nn",loca,nun);elseprintfC%i不在数组中\p",nun);}}&用于实现矩阵的转置。#include<stdicih>voidmain0(intaQ0={{1,2},{3,*;inti,j,ten^for(i=Qi<^i-H)for(j=Qj<j44)
9输出字符串。#include<stdiah>voidmain0charcQ="B^SK\pd^SE";printfc0);}ia下列给定程序的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。11>astring,r)11>astring,r)stringis:%s\n",s);inti,j;printf("XpEhtergets(s);printf("\p\(ilhefor(i=0,s[i]!=,\p/;i~H)^^nWr*******************found**********************^/if((sH>=A8&s[i]<=Z)幽(s[i]*a8&s[i]<=^z'))sD-l-0=sEi];^/^•w^*******************found**********************^/s□=2";printfC\{i\prniestringofchangingis:%s\p",s);}三、程序填空题以下各题目中所给出的程序有部分语句空缺,请填写空白语句,使程序能完成预定功能。1、以下程序以每一行输出4个数据的形式输出a数组。#include<stdicih>mainIinta[2(J],i;for(i=Qi<2Qi-H)scanff%i",);for(i=Qi<2。i-H)(ifI)printfC/d",a[i]);}printf05);}2以下程序功能是:统计从终端输入的字符中每个大写字母的个数。用懵作为输入结束标志,请填空。#include<stdiah>#include<ctype.h>main()(intnum[26],i;charqfor(i=Qi<2gi-H)num[i]=Q毗i1e!!=’拌) 金计从终端输入的大写字母个数*/if(isupper©) num[c—65]4=1;for(i=Qi<2gi-H) 出大写字母和该字母的个数*/if(hum[i])printff%:%d\p",i,num[i]);}3,下列程序的主要功能是输入10个整数存入数组a,再输入一个整数为在数组a中查找X,找到则输出x在10个整数中的序号(从1开始);找不到则输出Q#include<stdiah>voidmain0{inti,a[10],%flag=Qfor(ifi<lQi-H)scanff%i",&a[(]);scanfC%1",我;for(i=Qi<lQi-H)if1)f1ag=i+l;break;}printf("%d\p",fla0;}4以下程序分别在a数组和b数组中放入arrH和b计1个由小到大的有序数,程序把两个数组中的数按由小到大的顺序归并到c数组中。#include<stdiQh>main0(inta口团={1,2,5,8,9,IQ,an=5,b口团={1,3,4,8,12,1^,bn=5;inti,j,k,cBQ],nwr=999*a[arH-12W[biyFl]i=j=l『Qwhi1e(Q[i]! ||(bQ]! )ifQ[i]小田)(c冈=;leH;}else(cKJ=;笈十;}for(i=Qi<l<;i-H)printfc[i]);printf}I以下程序把一个整数转换成二进制数,所得二进制数的每一位放在一维数组中,输出此二进制数。注意:二进制数的最低位在数组的第一个元素中。#include<stdicih>main0(intb[16],x,k,r,i;printff'pleaseinputbinarynumtox,r);scanfC%1", ;printfC%d7i",中;do(r=>% bEH4c]=i;}while(x>=l);for(i鼻;i-)printfC%d",b[i]);printf(N%}6下面程序完成功能是:判定用户输入的正整数是否为“回文数”,所谓“回文数”是指正读反读都相同的数。#include<stdicih>main0(intbuffer口。,i,k,flaglongnumber,店printf("pleaseinputonenumbern=7)/lQn=7)/lQ}汕ile(p!=0);flag=l;for(i=Qi<= i+4)if()
flag=Qf(f1a0printfC%ldishuiwenshu\n",number);elseprintf("%ldisnothuiv^enshuXo",number);}7,求一个3*5的二维数组嫡最大元素值。#include<stdicih>voidmain0scanfC%d",&numbe1);rp^iumbei;doint回={{1,2,3,4尢ft12,23,11,171,{22,19,20,32,271};inti,j,max;mamn⑹⑹;for(i=Qi<3;i+4)forG=Qj<5;j-H)if( 泊a才max=;printf(,rEhemaxnumberis:%d",maa;}&在二维数组a中选出各行最大的元素组成一个一维数组U,#include<stdiah>voidmain0(inta口g]={3,16,87,65,432,11,108,10,25,12,27};intb国,i,j,1;for(i=Qi<=2;i+4)for6=1;j<=^;j-H)ifQ[i]□>1)1=LbDQ=1;}printfCNparraya:\o");for(i=Q02;i-H)(forG=Qj<=^;j+4)printf("%5d",a[i]□);printf;}printf('\narrayb:\n");for(i=Q02;i-H)printf("%5d",b[i]);printf("Xp1);}q计算一个以5*5矩阵的主对角线和次对角线元素的和。#include<stdicih>voidmain0intara0={{1,2,3,4a,{1,2,3,45},{1,2,3,451,£2,3,45},{1,2,3,451};intpri1in^=Qintsec1ine=Qinti=0,for(i<5;i+4)for(j<5;j-H)(ifI 1pri_linH=na[i]□;if sec1ine4=^a[i]田;!一printf("TiesumofprtJineis:%d\p,,pri_Jinq);printf("Thesumofsec^Jineis: ,sec_Jinq);}ia从键盘输入由5个字符组成的单词,判断此单词是不是he11。并显示结果。#include<stdiQh>mainI(staticcharstr[]={'h'ef1'd};charstrl团;for(i=Qi<5;i+4)flag=Qfor(UQi<5;i44)if1)(flag=l; break;}if(f1a@printf("thiswz)rdisnothello");elseprintf("thiswordishello");11、以下程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。#include<stdiah>#include<stringh>main。(charaD—'clanguage",t;inti,j,k;l?=strlen®;for(if i-4^)for(j=i+Z)if1){t=a[i];a[i]』臼;a□=t;}puts®;printf(N);}U下面程序段完成功能是:输出两个字符串中对应字符相等的字符。请填空。#include<stdiah>main(){char x[[="1anguagechar y口="1Ingga";intifvhile&[i]!=8&y[i]!=){ifprintf("%:",);elsei-Ht13.下面程序完成功能是:计算一个字符串中子串出现的次数。#include<stdiQh>main0(inti,j,k,count;charstrl[20],str2[2(J];printf(生串:%gets(strl);printf(吁串:九gets(str2);for(i=Qstrl[i];i-H)for(j=i,strl[j]=str2[k];j-H^k+4)if()count-H^printf。子串在主串中出现的次数吟小n”,count);}14下面程序的功能是将一个字符串内容颠倒过来。#include<stdicih>#defineN10voidmain0{charstrN,k;inti,j;for(i=Qi<J^i-H)str[i]=getchar卜for(i=0,j=N-l;i<j;)(k=str[i];str
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 6.3 树立正确的择业观
- 与个人签外包合同
- 中软外包合同
- 人力咨询外包合同
- 代驾服务外包合同
- 信息流设计外包合同
- 公司强制转外包合同
- 公司饭菜外包合同
- 军训外包合同
- 出租车劳务外包合同
- 2026上海大歌剧院管理有限公司夏季工作人员招聘137人笔试备考题库及答案解析
- 2026贵州黔西南州兴义市选聘社区工作者30人笔试参考题库及答案解析
- 高考考务人员培训系统考试试题答案
- 2026上海市大数据中心招聘10名笔试参考题库及答案解析
- (二模)青岛市2026年高三年级第二次适应性检测语文试题(含答案)
- 国药集团2026届春季校园招聘笔试历年备考题库附带答案详解
- 产科孕产期管理诊疗常规
- 2026年河南省中考英语模拟试卷(三)(含答案)
- 【 生物 】人体的运动重难点梳理课件-2025-2026学年北师大版七年级生物下册
- 《AQ3067-2026化工和危险化学品重大生产安全事故隐患判定准则》解读
- 2026湖北三支一扶试卷真题
评论
0/150
提交评论