还剩33页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
单选题
1.给出以下定义:charx[]=abcdefg;chary[]={abcdefg};则正确的叙述为A数组x和数组y等价B数组x和数组y的长度相同C数组x的长度大于数组y的长度D数组x的长度小于数组y的长度
2.设有数组定义chararray[]=chinr则数组array所占的空间为A)4个字节B)5个字节C)6个字节D)7个字节
3.合法的数组定义是Ainta[]=string;Binta
[5]={012345};Cchars=string;Dchara[]={012345};
4.以下程序的输出结果是()main{intk=17;printf%d%o%x\nkkk;}(A)170210x11(B)171717(C)170x11021(D)
1721115.若有以下定义intx
[10]*pt=x;则对数组元素的正确引用是()(A)*x
[10](B)*x+3(C)*pt+10(D)pt+
36.下列描述中不正确的是A字符型数组中可以存放字符串B可以对字符型数组进行整体输入、输出C可以对整型数组进行整体输入、输出D不能在赋值语句中通过赋值运算符=对字符型数组进行整体赋值
7.下列程序的运行结果是()#Include<stdio.h>main(){inta=2,b=5;printfa=%db=%d\nac;}(A)a=%2,b=%5(B)a=2,b=5(C)a=d,b=d(D)a=%d,b=%d
8.有以下程序执行后输出的结果是()main{inta=5b=4c=3d=2;ifabcprintf%d\nd;elseifc-1=d==1printf%d\nd+1;elseprintf%d\nd+2;}(A)2(B)3(C)4(D)编译时有错,无结果
9.下面程序段的运行结果是( )char*s=abcde;s+=2;printf%ds;(A)cdeb字符cc字符c的地址d无确定的输出结果
10.有如下定义structperson{charname
[9];intage;};strictpersonclass
[10]={Johu17Paul19Mary18Adam16};根据上述定义能输出字母M的语句是()(A)prinft%c\nclass
[3].mane;(B)pfintf%c\nclass
[3].name
[1];(C)prinft%c\nclass
[2].name
[1];(D)printf%c\nclass
[2].name
[0];
11.执行语句for(i=1;i++4;);后变量i的值是()(A)3(B)4(C)5(D)不定12.设有以下语句typedefstructS{intg;charh;}T;则下面叙述中正确的是A可用S定义结构体变量B可以用T定义结构体变量CS是struct类型的变量DT是structS类型的变量13.若有以下说明和定义以下叙述正确的是______typedefint*INTEGERINTEGERp*q;Ap是int型变量Bp是基类型为int的指针变量Cq是基类型为int的指针变量D程序中可用INTEGER代替int类型名14.变量a所占内存字节数是A4B5C6D8unionU{charst
[4];inti;longl;};srtuctA{intc;unionUu;}a;15.已知chara
[20]b
[20];则以下正确的输入语句是______A)gets“ab”;B)scanf%s%sab;C)scanf%s%sab;D)getsa;getsb;16.有以下程序,执行后输出结果是()main{chara[]=abcdefgb
[10]=abcdefg;printf%d%d\nsizeofasizeofb;}(A)77(B)88(C)810(D)
101017.若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是()(A)int型(B)float型(C)double型(D)由系统当时的情况而定18.下列不正确的转义字符是A\\B\C074D\019.已知inti=0j=1*p=i*q=j;错误语句是______A)i=*qB)i=*jC)p=*iDj=*p++;20.有以下函数charfunchar*p{returnp;}该函数的返回值是______A无确切的值B形参p中存放的地址值C一个临时存储单元的地址D形参p自身的地址值
21.C语言中用于结构化程序设计的三种基本结构是()(A)顺序结构、选择结构、循环结构(B)if、switch、break(C)for、while、do-while(D)if、for、continue
22.在C程序中,可把整型数以二进制形式存放到文件中的函数是()(A)fprintf函数(B)fread函数(C)fwrite函数(D)fputc函数23.以下叙述中正确的是______A构成C程序的基本单位是函数B可以在一个函数中定义另一个函数Cmain函数必须放在其它函数之前D所有被调用的函数一定要在调用之前进行24.已知i、j、k为int型变量,若从键盘输入123回车,使i的值为
1、j的值为
2、k的值为3,以下选项中正确的输入语句是______Ascanf%2d%2d%2dijk;Bscanf%d%d%dijk;Cscanf%d%d%dijk;Dscanfi=%dj=%dk=%dijk;
25.有以下程序段b中的值是( )inta
[10]={12345678910}*p=a
[3]b;b=p
[5];(A5(B6(C8(D926.已知struct{intI;charc;floata;}test;则sizeoftest的值是A4B5C6D
727.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feoffp的返回值为()(A)EOF(B)非0值(C)0(D)NULL28.有以下程序执行后输出结果是______main{char*p
[10]={abcaabdfgdcdbeabbdcd};printf%d\nstrlenp
[4];}A2B3C4D529.下列叙述中正确的是AC语言编译时不检查语法BC语言的子程序有过程和函数两种CC语言的函数可以嵌套定义DC语言所有函数都是外部函数
30.设有如下说明typedefstruct{intn;charc;doublex;}STD;则以下选项中能正确定义结构体数组并赋初值的语句是()STDtt
[2]={{1A62}{2B75}};STDtt
[2]={1A62275};structtt
[2]={{1A}{2B}structtt
[2]={{1A
62.5}{2B
75.0}};
31.有下列程序voidchangeintk[]{k
[0]=k
[5];}main{intx
[10]={12345678910}n=0;whilen=4{changex[n];n++;}forn=0;n5;n++printf%dx[n];printf\n;}程序运行后输出的结果是()(A)678910(B)13579(C)12345(D)6234532.设有数组说明inta
[4]
[4];,则不能等价表示的数组元素a
[3]
[3]是______A)*a
[3]+3B)**a+3+3C)*a
[3]
[3]D)**a+3+333.在一个C语言程序中Amain函数必须出现在所有函数之前Bmain函数可以在任何地方出现Cmain函数必须出现在所有函数之后Dmain函数必须出现在固定位置
34.有下列程序#includestdio.hmain{charc1c2c3c4c5c6;scanf%c%c%c%cc1c2c3c4;c5=getchar;c6=getchar;putcharc1;putcharc2;printf%c%c\nc5c6;}程序运行后,若从键盘输入从第1列开始123CR45678CR则输出结果是()(A)1267(B)1256(C)1278(D)
124535.下面程序的输出是()intm=13;intfun2intxinty{intm=3;returnx*y-m;}main{inta=7b=5;printf%d\nfun2ab/m;}(A)1(B)2(C)7(D)1036.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量\101是______A字符AB字符aC字符eD非法的常量37.以下非法的赋值语句是______An=i=2++i;Bj++;C++i+1;Dx=j0;38.有如下程序该程序段的输出结果是main0{intn=9;whilen6{n--;printf%dn;}}A987B876C8765D
987639.有下列程序#includestdio.hvoidfunint*aintn{inttij;fori=0;in-1;i++forj=i+1;jn;j++ifa[i]a[j]{t=a[i];a[i]=a[j];a[j]=t;}}main{intc
[10]={1234567890}i;func+46;fori=0;i10;i++printf%dc[i];printf\n;}程序的运行结果是()(A)1234567890(B)0987651234(C)0987654321(D)123498765040.有以下程序段intk=0whilek=1k++;while循环执行的次数是A无限次B有语法错,不能执行C一次也不执行D执行1次
41.下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列其它元素不变划线处应填()#includestdio.h#includestring.hmain{chara[]=clanguaget;intijk;k=strlena;fori=0;i=k-2;i+=2forj=i+2;jk;________ifa[i]a[j]{t=a[i];a[i]=a[j];a[j]=t;}putsa;printf\n;}Ak=k+1Bk=k+2Cj+=1Dj+=242.若有以下定义和语句:char*s1=12345*s2=1234;printf%d\nstrlenstrcpys1s2;则输出结果是A4B5C9D1043.若有以下定义和语句:inta
[10]={12345678910}*p=a;则不能表示a数组元素的表达式是A*pBa
[10]C*aDa[p-a]44.C语言中形参的缺省存储类别是()(A)自动auto(B)静态static(C)寄存器register(D)外部extern45.有以下程序执行后输出结果是main{char*p
[10]={abcaabdfgdcdbeabbdcd};printf%d\nstrlenp
[4];}A2B3C4D546.若有以下调用语句则不正确的fun函数的首部是Avoidfunintmintx[]Bvoidfunintsinth
[41]Cvoidfunintpint*sDvoidfunintnintamain{inta
[50]n;funna
[9];}
47.以下程序的输出结果是()main{intab;fora=1b=1;a=100;a++{ifb=10break;ifb%3==1{b+=3;continue;}}printf%d\na;}(A)101(B)6(C)5(D)
448.运行以下程序后,如果从键盘上输入6514回车,则输出结果为()main{intm,n;scanf%d%d,m,n;whilem!=n{whilemnm-=n;whilenmn-=m;}printf“m=%d\n”,m;}(A)m=3(B)m=2(C)m=1(D)m=049.以下说法中正确的是_____A#define和printf都是C语句B#define是C语句,而printf不是Cprintf是C语句,但#define不是D#define和printf都不是C语句50..若有以下定义和语句charc1=bc2=e;printf%d%c\nc2-c1c2-a+A;则输出结果是______A2MB3EC2ED输出项与对应的格式控制不一致,输出结果不确定
51.在下列选项中,不正确的赋值表达式是()(A)a=b+c=1(B)n1=n2=n3=0(C)k=i==j(D)++t
52.以下程序的输出结果是()(A)699(B)669(C)61515(D)6615intd=1;funintp{staticintd=5;d+=p;printf%d,d;returnd;}main{inta=3;printf%d\n,funa+fund;}
53.表示关系x=y=z的c语言表达式为()(A)X=YY=Z(B)X=YANDY=Z(C)X=Y=Z(D)X=YY=Z54.以下对C语言函数的描述中,正确的是______A在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参BC函数既可以嵌套定义又可以递归调用C函数必须有返回值,否则不能使用函数DC程序中有调用关系的所有函数必须放在同一个源程序文件中55.设有“chars[]=Program*p=s;,则以下叙述中正确的是______A数组s的内容与指针变量p中内容相同B数组s的长度与strlenp的值相同Cp
[5]的值等于s
[5]的值Dsizeofs等于sizeof*p
56.有以下程序main{unsignedcharabc;a=0x3;b=a|0x8;c=b1;printf%d%d\nbc;}程序运行后的输出结果是()(A)-1112(B)-6-13(C)1224(D)112257.设有说明intx=2y=3;,则++xy--x:y的值为A)1B)2C)3D)458.与语句while!x等价语句是______A)whilex==0B)whilex!=0C)whilex!=1D)while~x59.已知chara
[20]b
[20];则以下正确的输入语句是______A)gets“ab”;B)scanf%s%sab;C)scanf%s%sab;D)getsa;getsb;60.已知inti=0j=1*p=i*q=j;错误语句是______Ai=*qBi=*jCp=*iDj=*p++;61.有以下程序,程序运行后的输出结果是() #include intfintt[]intn; main {inta
[4]={1234}s; s=fa4;printf%d\ns; } intfintt[]intn {ifn0returnt[n-1]+ftn-1; elsereturn0; }(A)4(B)10(C)14(D)662.下列程序执行后的输出结果是______main{inta
[3]
[3]*pi;p=a
[0]
[0];fori=0;i9;i++p[i]=i+1;printf%d\na
[1]
[2];}A)3B)6C)9D)随机数63.若有以下程序main{intk=2i=2m;m=k+=i*=k;printf%d%d\nmi;}执行后的输出结果是______A8,6B8,3C6,4D7,464.在C语言中,对于存储类型为的变量,只有在使用它们时才占用内存单元A)register和staticB)static和autoC)register和externD)auto和register
65.有如下定义structperson{charname
[9];intage;};strictpersonclass
[10]={Johu17Paul19Mary18Adam16};根据上述定义能输出字母M的语句是()(A)prinft%c\nclass
[3].mane;(B)pfintf%c\nclass
[3].name
[1];(C)prinft%c\nclass
[2].name
[1];(D)printf%c\nclass
[2].name
[0];
66.有以下程序#include<stdio.h #include<string.h main() {charx[]=”STRING”; x[0]=0;x[1]=’\0’;x[2]=’0’; printf(”%d%d\n”,sizeof(x),strlen(x)); } 程序运行后的输出结果是()(A)61 (B)70 (C)63 (D)
7167.下列关于单目运算符++、--的叙述中正确的是A它们的运算对象可以是任何变量和常量B它们的运算对象可以是char型变量和int型变量,但不能是float型变量C它们的运算对象可以是int型变量,但不能是double型变量和float型变量D它们的运算对象可以是char型变量、int型变量和float型变量
68.若ij已定义为int类型,则以下程序段中内循环体的总的执行次数是fori=5;i;i--forj=0;j=4;j++{...}A20B25C24D
3069.若有以下定义:floatx;intab;则正确的switch语句是AswitchxBswitchx{case.0:printf*\n;{case12:printf*\n;case
2.0:printf**\n;case3:printf**\n;}}Cswitcha+bDswitcha+b;{case1:printf\n;{case1:printf.*\n;case1+2:printf**\n;case2:printf**\n;}}
70.以下程序输出的结果是main{charw[]
[10]={ABCDEFGHIJKLMNOP}K;fork=1;k3;k++printf%s\nw[k][k];}AABCDBABCDCEFGDFGHFGHEFGJKKLKLIJOM填空题
1.若有定义语句charab;a=A+5-3;b=a+6-2;,则a和b的值分别为__67和G
2.定义intn=8a=15;a*=n%=3;则执行后,变量n=2_,a=30_
3.若有定义语句inta;a=intdouble3/2+
0.5+int
1.99*2;,则a的值_3_4.若有定义inta=10b=9c=8;按顺序执行c=a-=b-5;c=a%11+b=3;语句后,变量b中的值是_3__
5.若有定义:charc=\010;,则变量C中包含的字符个数为_1__
6.在C语言中,实数有两种表示形式,即float_和_double_
7.若有定义语句intx=20;,则表达式0x20和0xx20的值分别为1和
08.C语言的输入输出操作是由printf和scanf函数来实现的
9.设有变量定义inta[]={123456}*p=a+2;试计算表达式*p+2的值是_5__10.设x和y均为int型变量且x=1y=2则以下表达式的值为
1.
01.0+x/y11.若想通过以下输入语句使a=
5.0,b=4,c=3,则输入数据的形式应该是
5.04c=3intb,c;floata;scanf%f,%d,c=%d,a,b,c;
12.用来存放字符数据的数组称为字符数组
13.C语言中用于结构程序设计的三种基本结构是顺序结构和选择结构和循环结构
14.构成数组的各个元素必须具有相同的数据类型15.C程序是由函数_构成的,一个C程序中至少包含main()16.设有以下变量定义,并已赋确定的值charw;intx;floaty;doublez;则表达式w*x+z-y所求得值的数据类型为double17.若有定义inta=10b=9c=8;接着顺序执行下列语句后,变量b中的值是3c=a-=b-5;c=a%11+b=3;18.设y是int型变量,请写出判断y为奇数的关系表达Y%2==
119.已知字符A的ACSII码值为65,以下语句的输出结果是B66charch=’B’;printf%c%d\nchch;20.array是一个一维整型数组,有10个元素,如何用赋值语句把39存入第一个元素array
[0]=39;_
21.C语言规定了以字符_”\0”_作为字符串结束标志若fp已正确定义为一个文件指针,d
1.dat为二进制文件,请填空,以便为“读”而打开此文件fp=fopen”d
1.fat””rb”;
22.若输入字符串abcde回车则以下while循环体将执行0次Whilech=getchar==eprintf*;
23.设ijk均为int型变量则执行完下面的for循环后k的值为10fori=0j=10;i=j;i++j--k=i+j;24.指针变量的值是它所指向的变量的_地址__
25.在函数之外定义的变量称为_全局_变量
26.fopen函数如果调用成功,返回相应文件的指针_,否则,返回_NULL
27.对文件进行读写操作之前,必须先执行_打开_文件的操作,在读写操作结束之后,必须执行关闭文件的操作
28.在C语言中,所谓读文件就是由文件向内存输入数据,而写文件则是由内存向文件输出数据
29.对结构体类型变量初始化时,初始化数据和结构体成员在类型、个数和顺序上必须保持一致
30.从用户使用的角度看,C语言中的函数可以分为_库函数和_用户自定义函数_两大类
31.若有程序要求给i赋10,给j赋20,则应该从键盘输入i=10j=20main{intij;scanfi=%dj=%dij;printfi=%dj=%d\nij;}
32.若有以下定义则不移动指针p且通过指针p引用值为98的数组元素的表达式是P
[5]或*p+5intw
[10]={235410334798728061}*p=w;
33.所谓___地址传递_____就是在调用函数时,将实参变量的地址传递给对应的形参,使其指向同样的存储区域34.设int占2个字节,char占1个字节,若有以下定义和语句则a占用字节数是_5_而b占用字节数是_2___struct{intday;charmouth;intyear;}a;*b;b=a;
35.有以下定义和语句则sizeofa的值是10而sizeofa.share的值是4structdate{intday;intmonth;intyear;union{intshare1floatshare2;}share;}a;程序填空题
1.函数pi的功能是根据以下近似公式求π值π*π/6=1+1/2*2+1/3*3+..+1/n*n现在请你在下面的函数中填空,完成求π的功能#includemath.hdoublepilongn{doubles=
0.0;longi;fori=1;i=n;i++s=s+【
1.0/i*i】;returnsqrt6*s;}2.以下函数的功能是计算s=1+1/2!+1/3!+……+1/n!,请填空doublefunintn{doubles=
0.0,fac=
1.0;inti;fori=1;i=n;i++{fac=fac【*
1.0/i】;s=s+fac;}returns;}
3.以下程序的功能是调用函数fun计算m=1-2+3-4+…+9-10,并输出结果请填空intfunintn{intm=0,f=1,i;fori=1;i=n;i++{m+=i*f;f=【-f】;}returnm;}main{printfm=%d\n,【f10】;}
4.请在以下程序第一行的下划线处填写适当内容,使程序能正确运行【doublemax】double,double;main{doublex,y;scanf%lf%lf,x,y;printf%lf\n,maxx,y;}doublemaxdoublea,doubleb{returnaba:b;}
5.以下函数的功能是求x的y次方,请填空doublefundoublex,inty{inti;doublez;fori=1,z=x;iy;i++z=z*【x】;returnz;}
6.以下函数用来在w数组中插入xw数组中的数已按由小到大顺序存放n所指存储单元中存放数组中数据的个数插入后数组中的数仍有序请填空voidfunchar*wcharxint*n{intip;p=0;whilexw[p]【p++或++p或p=p+1或p+=1或p=1+p;】fori=*n;ip;i--w[i]=【w[i-1];或*w+i-1;】w[p]=x;++*n;}
7.以下程序的功能是计算1-100之间是7的倍数的数值之和请填空main{intisum;【sum=0】;i=1;whilei=100{ifi%7【==】0sum+=i;【i++】;}printf“sum=%d\n”sum;}
8.以下程序的功能是:从键盘上输入一行字符存入一个字符数组中然后输出该字符串请填空#includestdio.hmain{charstr
[81]*sptr;inti;fori=0;i80;i++{str[i]=getchar;ifstr[i]==‘\nbreak;}str[i]=【’\0或0】;sptr=str;while*sptrputchar*sptr【++】;}
9.以下fun函数的功能是累加数组元素的值n为数组中元素的个数累加的和值放入x所指的存储单元中请填空funintb[]intnint*x{intkr=0;fork=0;kn;k++r=【r+b[k]】;【*x】=r;}
10.以下函数把b字符串连接到a字符串的后面并返回a中新字符串的长度请填空Strcenchara[]charb[]{intnum=0n=0;while*a+num!=【‘\0或0】num++;whileb[n]{*a+num=b[n];num++;【n++或n+=1或n=n+1】;}returnnum;}
11.mystrlen函数的功能是计算str所指字符串的长度并作为函数值返回请填空intmystrlenchar*str{inti;fori=0;【*str+i或str[i]】!=‘\0;i++;return【i】;}
12.以下sstrcpy函数实现字符串复制即将t所指字符串复制到s所指向内存空间中形成一个新的字符串s请填空voidsstrcpychar*schar*t{while*s++=【*t++】;}main{charstr1
[100]str2[]=abcdefgh;sstrcpystr1str2;printf%s\nstr1;}
13.以下函数的功能是删除字符串s中的所有数字字符请填空vioddelechar*s{intn=0i;fori=0;s[i];i++if【!s[i]=0s[i]=9】s[n++]=s[i];s[n]=【\0】;}
14.以下程序的功能是用以删除字符串所有的空格请填空main{chars
[100]={OurteacherteachClanguage!};intij; fori=j=0;s[i]!=【\0】;i++ ifs[i]!={s[j]=s[i];【j++】;} s[j]=【\0】; printf%s\ns;}
15.以下程序的功能是从键盘上输入若干个学生的成绩统计计算出平均成绩并输出低于平均分的学生成绩用输入负数结束输入请填空main{floatx
[1000]sum=
0.0avea;intn=0i;printfEntermark\n;scanf%fA;whilea=
0.0n1000{sum+【=a】;x[n]=【a】;n++;scanf%fA;}ave=【sum/n】;printfOutput\n;printfave=%f\nave;fori=0;n;i++if【x[i]ave】printf%f\nx[i];}
16.以下程序用来对从键盘上输入的两个字符串进行比较然后输出两个字符串中第一个不相同字符的ASCII码之差例如:输入的两个字符串分别为abcdef和abceef则输出为-1请填空#includemain{charstr
[100]str2
[100]c;intis;printf\ninputstring1:\n;geststr1;printf\ninputstring2:\n;geststr2;i=0;whilestrl[i]==str2[i]str1[i]!=【\0或0】i++;s=【strl[i]-str2[i]】;printf%d\ns;}
17.下面程序的功能是将字符数组a中下标值为偶数的元素从小到大排列其它元素不变请填空#includestdio.h#includestring.hmain{chara[]=clanguaget;intijk;k=strlena;fori=0;i=k-2;i+=2forj=i+2;jk;【j+=2】if【a[i]a[j]】{t=a[i];a[i]=a[j];a[j]=t;}putsa;printf\n;}
18.下面程序的功能是计算1到10之间的奇数之和及偶数之和,请填空#include<Stdio.h>main(){inta,b,c,i;a=c=0;fori=0;i=10;i+=2{a+=i;【b=i+1或b=1+i】;c+=b;}printf偶数之和=%d\n”,a;printf(奇数之和=%d\n”,c-11);}
19.下面程序的功能是输出100以内能被3整除且个位数为6的所有整数,请填空#include<stdio.h>main(){intij;fori=0;【i=9或i10或9=i或10i】;i++{j=i*10+6;if【j%3!=0或j%3】continue;printf%dj;}}20.以下程序的功能是产生一个M×N的随机数矩阵(数值范围在1~100之间),找出其中的最大值元素请填空main{intijrow=0col=0max;inta
[3]
[4];printf建立随机数数组\n;fori=0;i3;i++forj=0;j4;j++a[i][j]=rand%100;max=【a
[0]
[0]】;fori=0;i3;i++forj=0;j4;j++ifa[i][j]max{max=a[i][j];row=【i】;col=【j】;}printf随机数矩阵中最大值元素a[%d][%d]=%d\nrowcolmax;}阅读程序
1.以下程序的输出结果是_______________main{inta=0a+=a=8;printf%d\na;}
2.下列程序的运行结果是_______________funintt[]intn{intim;ifn==1returnt
[0];elseifn=2{m=funtn-1;returnm;}}main{inta[]={11463823592};printf%d\nfuna10;}
3.以下程序的输出结果是_______________main{inta=1b=2;a=a+b;b=a-b;a=a-b;printf%d%d\nab;}
4.下列程序的输出结果是_______________main0{intx=1a=0b=0;switchx{case0:b++;case1:a++;case2:a++;b++;}printfa=%db=%d\nab;}
5.下列程序的输出结果是_______________#includestdio.h #includestring.h main{chararr
[2]
[4];strcpyarr
[0]you;strcpyarr
[1]me;arr
[0]
[3]=;printf%s\narr;}
6.有以下程序执行后输出结果是_______________main{intn=0m=1x=2;if!nx-=1;ifmx-=2;ifxx-=3;printf%d\nx;}
7.有以下程序程序运行时输入12回车,执行后输出结果是_______________#includestdio.hmain{charch1ch2;intn1n2;ch1=getchar;ch2=getchar;n1=ch1-‘0’;n2=n1*10+ch2-‘0’;printf%d\nn2;}
8.下列程序段的输出结果是_______________intn=c;switchn++{default:printferror;break;casea:caseA:caseb:caseB:printfgood;break;casec:caseC:printfpass;cased:caseD:printfwarn;}
9.从键盘输入123456abcedf↙,下列程序的输出结果是_______________#includestdio.hmain{charstr
[30];scanf%sstr;printfstr=%s\nstr;}
10.若有以下程序执行后输出结果为_______________main{inta=4b=3c=5t=0;ifabt=a;a=b;b=t;ifact=a;a=c;c=t;printf%d%d%d\nabc;}
11.下列程序的输出结果是__________________#includestdio.h#defineN5main{intia[N];fori=0;iN;i++a[i]=i;fori=N;i0;i--{ifa[i]%2==0printf%da[i];}}
12.以下程序的输出结果是_______________main{intsi;fors=0i=1;i3;i++s+=i;printf%d\ns;}
13.以下程序运行后的输出结果是_______________main{intim=0n=0k=0;fori=9;i=11;i++switchi/10{case0:m++;n++;break;case10:n++;break;default:k++;n++;}printf%d%d%d\nmnk;}
14.以下程序的输出结果是_______________voidfun{staticinta=0;a+=2;printf%d,a;}main{intcc;forcc=1;cc4;cc++fun;printf\n;}
15.下列程序运行后的输出结果是________________#includestring.hchar*sschar*s{char*pt;p=s+1;t=*s;while*p{*p-1=*p;p++;}*p-1=t;returns;}main{char*pstr
[10]=abcdefgh;p=ssstr;printf%s\np;}
16.下列程序的输出结果是_______________inttintx,inty,intcp,intdp{cp=x*x+y*y;dp=x*x-y*y;}main{inta=4,b=3,c=5,d=6;ta,b,c,d;printf%d%d\n,c,d;}
17.有以下程序#includestdio.hmain{intij;fori=3;i=1;i--{forj=1;j=2;j++printf%di+j;printf\n;}}程序的运行结果是__________________
18.有以下程序#includestdio.hvoidfunint*aint*b{int*c;c=a;a=b;b=c;}main{intx=3y=5*p=x*q=y;funpq;printf%d%d*p*q;funxy;printf%d%d\n*p*q;}程序运行后输出的结果是______________
19.以下程序运行后的输出结果是_____________#includestdio.hmain{intk=1s=0;do{ifk%2!=0continue;s+=k;k++;}whilek10;printfs=%d\ns;}
20.下列程序的输出结果是_______________#includestdio.hmain{charb
[30]*chp;strcpyb
[0]CH;strcpyb
[1]DEF;strcpyb
[2]ABC;printf%s\nb;}
21.以下程序的输出结果是_______________main{char*p=abcdefgh*r;long*q;q=long*p;q++;r=char*q;printf%s\nr;}
22.下列程序的输出结果是_________________#includestdio.hmain{intia
[6]={12345};fori=0;i6;i++{ifi%2!=0printf%da[i];}}
23.下面程序的运行结果是_______________voidswapint*aint*b{int*t;t=a;a=b;b=t;}main{intx=3y=5*p=x*q=y;swappq;printf%d%d\n*p*q;}
24.以下程序运行后输入3abcde回车则输出结果是_______________#includestdio.hmovechar*strintn{chartemp;inti;temp=str[n-1];fori=n-1;i0;i--str[i]=str[i-1];str
[0]=temp;}main{chars
[50];intniz;scanf%d%sns;z=strlens;fori=1;i=n;i++movesz;printf%s\ns;}
25.有以下程序执行后输出的结果是_______________voidfintyint*x{y=y+*x;*x=*x+y;}main{intx=2y=4;fyx;printf%d%d\nxy;}
26.下列程序的运行结果是_______________#includestring.hchar*sschar*s{returns+strlens/2;}main{char*p*str=abcdefgh;p=ssstr;printf%s\np;}
27.下列程序的输出结果是________________#includestdio.hmain{intijc
[3]
[4];inta
[3]
[4]={{3574}{8367}{0976}};intb
[3]
[4]={{1679}{2830}{3473}};fori=0;i3;i++{forj=0;j4;j++{c[i][j]=a[i][j]+b[i][j];}printf%3dc[i][j-1];}}
28.下面程序的输出结果是_______________charb[]=ABCD;main{char*chp;forchp=b;*chp;chp+=2printf%schp;printf\n;}
29.有以下程序#include stdio.hint b=2;int funint *k{ b=*k+b;return b;}main{ int a
[10]={12345678}i;fori=2;i4;i++ {b=funa[i]+b; printf%d b;}printf\n;}程序运行后的输出结果是______________
30.有以下程序fintb[],intm,intn{inti,s=0;fori=m;in;i=i+2s=s+b[i];returns;}main{intx,a[]={1,2,3,4,5,6,7,8,9};x=fa,3,7;printf%d\n,x;}程序的运行结果为________________阅读程序复习题答案
1.
162.
113.
214.a=2b=
15.youme
6.-
47.
128.passwarn
9.str=
12345610.
50311.
4212.
513.
13214.
24615.bcdefgha
16.
5617.
45342318.3,5,3,
519.s=
020.CDABC
21.efgh
22.
24023.
3524.cdeab
25.
8426.efgh
27.
137928.ABCDCD
29.
102830.10编程题1.输入三个整数xyz,请把这三个数由小到大输出main{intxyzt;scanf%d%d%dxyz;ifxy{t=x;x=y;y=t;}ifxz{t=z;z=x;x=t;}ifyz{t=y;y=z;z=t;}printfsmalltobig:%d%d%d\nxyz;}
2.根据输入的百分制成绩(score),要求输出成绩等级(grade)A、B、C、D、E90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为Emain(){intscore;chargrade;printf(“\nPleaseinputascore(0~100)”);scanf(“%d”score);if(score=90)grade=’A’;elseif(score=80)grade=’B’;elseif(score=70)grade=’C’;elseif(score=60)grade=’D’;elsegrade=’E’;printf(“Thegradeis%c.\n”,grade);}3.编写一个程序根据用户输入的三角形的三边长判定是何种三角形(分为一般,等边,直角,等腰及不能构成三角形,输出以上信息,能构成三角形的打印出面积)#includemath.hmain{floatabc;floatsarea;printfabc=;scanf%f%f%fabc;ifa+bcb+caa+cb{s=a+b+c/2;area=sqrts*s-a*s-b*s-c;printfarea=%f\narea;ifa==bb==cprintf等边三角形\n;elseifa==b||a==c||b==cprintf等腰三角形\n;elseifa*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*aprintf直角三角形\n;elseprintf一般三角形\n;}elseprintf不能构成三角形\n;}4.编写一个程序求所有的“水仙花数”(是指一个三位数,其各位数字的立方和恰好等于该数本身)如153=1*1*1+3*3*3+5*5*5,所以153是“水仙花数”main{intiabc;fori=100;i=999;i++{a=i/100;b=i/10%10;c=I%10;ifi==a*a*a+b*b*b+c*c*cprintf%d\ni;}}5.一个数如果恰好等于它的因子之和,这个数就称为“完数”例如6=1+2+
3.编程找出1000以内的所有完数main{intmsi;form=2;m1000;m++{s=0;fori=1;im;i++ifm%I==0s=s+i;ifs==m{printf“%d是一个“完数”,它的因子是”m;fori=1;im;i++ifm%i==0printf“%d”i;printf“\n”;}}}
6.编程输入10个浮点型的数,求它们的和,平均值,最大值和最小值main{floatarr
[10];floatmaxminsumave;inti;fori=0;i10;i++scanf“%f”arr[i];sum=0;max=min=arr
[0];fori=0;i10;i++{ifarr[i]maxmax=arr[i];ifarr[i]minmin=arr[i];sum+=arr[i];}ave=sum/10;printf“themaxis%f”max;printf“theminis%f”min;printf“thesumis%f”sum;printf“theaveis%f”ave;}
7.N个数进行从小到大排序(N由键盘输入)main{inta
[100]ijpnt;printf输入所需要排序的数据个数:\n;scanf%dn;printf输入所要排序的各个数据:\n;fori=1;i=n;i++scanf%da[i];fori=1;i=n-1;i++forj=1;j=n-i;j++ifa[j]a[j+1]{t=a[j];a[j]=a[j+1];a[j+1]=t;}fori=1;i=n;i++printf%da[i];}.
8.求100至200间的全部素数并把素数按5个一行输出#includemath.hmain{intmikn=0;form=101;m=200;m=m+2{k=sqrtm;fori=2;i=k;i++ifm%i==0break;ifi=k+1{printf“%d”m;n=n+1;}ifn%5==0printf“\n”;}printf“\n”;}
9.写函数,求s=a+aa+aaa+…+aa…a的和比如a=6,m=4则s=6+66+666+6666编程要求函数原型为longsumintminta在主函数中输入am的值,调用函数summa求出s=a+aa+aaa+…+aa…a的值后,在主函数中输出结果longsumintminta{longs=0t;intIj;forI=1;I=m;I++{t=0;forj=1;j=I;j++t=t*10+a;s=s+t;}returns;}main{longy;intma;scanf%d%d”am;y=summa;printf“%ld”y;}10.求满足下列条件的四位数该数是完全平方数;第
一、三位数字之和为10,第
二、四位数字之积为12main{intijabcd;fori=32;i=99;i++{j=i*i;a=j/1000;b=j/100-a*10;c=j/10%10;d=j%10;ifa+c==10b*d==12printf“%d”j;}
11.编写程序,用递归法计算n!编程要求函数原型为longfactintn在主函数中输入n的值,调用函数factn求出n!,在主函数中输出结果#includestdio.hlongfactintn{longinta;ifn0printfn0dataerror\n;elseifn==0||n==1a=1;elsea=factn-1*n;returna;}main{intn;longff;printfinputainteager:\n;scanf%dn;ff=factn;printf%d!=%ldnff;}
12.有一组学生成绩如下学号计算机语言C英语高等数学17065812829087361557347788915959289编写程序,输出每个人的平均分和各科平均分Main{inta
[5]
[3]={{706581}{829087}{615573}{72891}{959289}};IntIjs=0;Floatstudent
[5]subject
[3];Forj=0;j3;j++{s=0;Fori=0;i5;i++S=s+a[i][j];subject[j]=s/
5.0;}Fori=0;i5;i++{s=0;Forj=0;j3;j++S=s+a[i][j];student[i]=s/
3.0;}Printf“学号 平均分\n”;Fori=0;i5;i++Printf“%-8d%-
8.2f\n”i+1student[i];Printf“计算机语言C 英语 高等数学 \n”;Fori=0;i3;i++Printf“%-
8.2f\n”subject[i];}13.我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?main{intxy;forx=0;x=20;x++fory=0;y=33;y++if5*x+3*y+100-x-y/
3.0==100printf“%5d%5d%5d”xy100-x-y;}14.输出9*9口诀main{ intij; fori=1;i10;i++ {forj=1;j10;j++ { printf%d*%d=%-3dijI*j; } printf\n; }}
15.编写程序,输入三角形的三条边a、b、c假设三条边满足构成三角形的条件,计算并输出该三角形的面积area提示计算三角形面积的公式为p=a+b+c/2,area=sqrtp*p-a*p-b*p-c#includemath.h#includestdio.hmain{floatabcparea;scanf%f%f%fabc;p=a+b+c/2;area=sqrtp*p-a*p-b*p-c;printfThreeedgesare:%.2f%.2f%.2f\nabc;printfTheareais:%.2f\narea;}16.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问20个月后的兔子总数为多少?main{longf1f2;inti;f1=f2=1;fori=1;i=20;i++ {printf%ld%ldf1f2; ifi%2==0printf\n; f1=f1+f2; f2=f1+f2; }}
17.有一分数序列2/1,3/2,5/3,8/5,13/8,21/
13...求出这个数列的前20项之和main{intntnumber=20;floata=2b=1s=0;forn=1;n=number;n++ { s=s+a/b; t=a;a=a+b;b=t; }printfsumis%
9.6f\ns;}18统计全班20人的成绩,统计项目包括姓名,学号,五门功课成绩(语文,数学,英语,政治,物理)求出每个人的平均分和全班的平均分main{intijsum;floataa1;structstudent{charname
[10];intnum;ints
[5];floataver;};structstudenttable
[20];fori=0;i20;i++{printf输入姓名学号成绩:\n;scanf%s%dtable[i].nametable[i].num;forj=0;j5;j++scanf%dtable[i].s[j];}fori=0;i20;i++{sum=0;forj=0;j5;j++sum=sum+table[i].s[j];table[i].aver=sum/
5.0;}a=0;fori=0;i20;i++a=a+table[i].aver;a1=a/20;fori=0;i20;i++printf%s平均分:%.2f\ntable[i].nametable[i].aver;printf总平均分:%.2f\na1;}
19.从读入的整数数据中统计大于零的整数个数和小于零的整数个数.用输入零来结束输入程序中用变量i统计大于零的整数个数用变量j统计小于零的整数个数.#includestdio.hmain{intnij;printf输入非零的整数输入零结束程序;i=j=0;scanf%dn;whilen!=0{ifn0i=I+1;ifn0j=j+1;scanf%dn;}printfi=%4dj=%4d\nij;}
20.输入一行字符(以回车键结束),统计其中英文字符,数字字符和空格字符出现的次数main{chara;intbcd;printf“Enter”;scanf“%ca;b=c=d=0;whilea!=”\n”{ifa=’0’a=’9’b++;ifa=’A’a=’Z’||a=’a’a=’z’c++;ifa==’‘d++;scanf“%c”a;}printf“b=%dc=%dd=%d”bcd;}。