下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 昆明理工大学C语言程序设计课后习题答案

昆明理工大学C语言程序设计课后习题答案.doc

昆明理工大学C语言程序设计课后习题答案

Baldwin文松
2019-03-15 0人阅读 举报 0 0 暂无简介

简介:本文档为《昆明理工大学C语言程序设计课后习题答案doc》,可适用于高等教育领域

昆明理工大学C语言程序设计课后习题答案第章认识C语言(一)、是非题程序是指挥计算机进行各种信息处理任务的一组指令序列。A对B错机器语言与硬件平台相关,但汇编语言和硬件平台无关。A对B错编译型高级语言明显优于解释型高级语言。A对B错C语言把高级语言的基本结构和低级语言的实用性紧密结合起来,不仅适合编写应用软件,而且适于编写系统软件。A对B错面向对象的程序设计方法明显优于面向过程的程序设计方法。A对B错计算机算法要有一个明确的起点和确定的步骤序列。A对B错main函数是C程序的入口,由计算机系统负责调用。A对B错在C语言中,同一行上可以写一条或多条语句,但一条语句不能写在多行上。A对B错在C语言中,扩展名为h的文件称为头文件,常用于组织C标准函数库中的函数。A对B错注释语句会增加编译结果的复杂性,因此要尽量减少注释语句的数量。A对B错声明变量的含义是通知编译系统为变量分配合适大小的存储空间。A对B错C语言不允许使用关键字作为变量的名称,但可以使用保留字为变量命名。A对B错符号常量提高了程序的可读性,但降低了程序维护的方便性。A对B错变量声明把一个具体的标识符名称和计算机内存中的一个特殊的位置联系起来,同时确定了该位置存储的信息类型。A对B错C语言允许在同一条语句中定义多个相同类型的变量,其间用分号进行分隔。A对B错在ISOANSI规定中,允许将变量声明放在程序中的任何位置。A对B错不同类型的数据在内存中所占存储单元的大小不同,内部存储方式不同,取值范围不同,甚至能够参与的运算种类也不相同。A对B错有符号和无符号整数的区别仅在于对数据最高位的解释不同。若最高位解释为数据位,则为signed类型若最高位解释为符号位,则为unsigned类型。A对B错默认形式的实数常量的数据类型为float类型。A对B错实型变量能表示的数字的有效位数是有限的。A对B错sizeof()是C语言提供的标准库函数,用于测试数据类型在系统中所占的字节数。A对B错使用转义字符可输出ASCII码表中的任一字符。A对B错char类型数据内部采用整数存储方式,因此它和int型数据可以互为通用。A对B错在C语言中,保存字符串“B”实质上是保存字符'B'和''两个符号。A对B错在C语言中,允许对两个字符型数据进行加法运算。A对B错(二)、选择题C语言是一种。A汇编语言B“解释型”语言C“编译型”语言D面向对象stdioh"DC语言的预处理不能实现宏定义和条件编译的功能以下叙述中正确的是。A局部变量说明为static,其生存期将得到延长B全局变量说明为static,其作用域将被扩大C任何存储类的变量在未赋初值时,其值都是不确定的D形参可以使用的存储类说明符与局部变量完全相同在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则。A称为函数的直接递归调用BC语言中不允许这样的递归调用C称为函数的循环调用D称为函数的间接递归调用以下程序的输出结果是。#include"stdioh"longfib(intn){if(n>)return(fib(n)fib(n))elsereturn()}voidmain(){printf("dn",fib())}ABCD以下所列的各函数首部中,正确的是。Avoidplay(var:Integer,varb:Integer)Bvoidplay(inta,b)Cvoidplay(inta,intb)DSubplay(aasinteger,basinteger)以下程序的输出结果是。#include"stdioh"#definef(x)x*xvoidmain(){inta=,b=,cc=f(a)f(b)printf("dn",c)}ABCD下列程序的运行结果为。#include"stdioh"#defineMA(x)x*(x)voidmain(){inta=,b=printf("dn",MA(ab))}ABCD以下程序的输出结果是。#include"stdioh"f(intb,intm,intn){inti,s=for(i=mi<ni=i)s=sbireturns}main(){intx,a={,,,,,,,,}x=f(a,,)printf("dn",x)}ABCD下列的结论中只有是正确的。A所有的递归程序均可以采用非递归算法实现B只有部分递归程序可以用非递归算法实现C所有的递归程序均不可以采用非递归算法实现D以上三种说法都不对以下程序的运行结果为。#include"stdioh"intx=intfun(intp){staticintx=x=pprintf("d",x)return(x)}voidmain(){inty=printf("dn",fun(fun(x)))}ABCD下列程序的输出结果是。#include"stdioh"intfun(intx,inty,intcp,intdp){cp=x*xy*ydp=x*xy*y}voidmain(){inta=,b=,c=,d=fun(a,b,c,d)printf("ddn",c,d)}ABCD以下程序输出的结果是。#include"stdioh"longfun(intn){longsif(n==||n==)s=elses=nfun(n)returns}main(){printf("ldn",fun())}ABCD阅读下面的程序:#include"stdioh"voidmain(){intswap()inta,ba=b=swap(a,b)printf("a=d,b=dn",a,b)}swap(inta,intb){inttemptemp=aa=bb=temp}下面的说法中,正确的是。A在main()函数中调用swap()后,能使变量a和b的值交换B在main()函数中输出的结果是:a=,b=C程序第行的语句intswap()是对swap()函数进行调用Dswap()函数的类型是void第章结构体二、习题(一)、是非题结构体变量所占用空间是全部成员占用空间之和。A对B错共用体可以作为结构体的成员,但结构体不能作为共用体的成员。A对B错结构体中各个成员的数据类型必须是相同的。A对B错有以下定义的结构体:typedefstructstudent{intnumcharnameintage}stu则,structstudent是结构体变量名。A对B错枚举类型中,枚举值是常量,不能再在程序中对其赋值。A对B错typedef的作用是给数据类型取一个别名。A对B错如果两个结构体变量有相同的类型,则可以把其中一个结构体变量的值整体赋值给另一个结构体变量。A对B错一个共用体变量可以有多个数据成员,这些数据成员共享同一个存储空间,但如果空间不够用可以临时由系统分配。A对B错结构体变量可以整体赋值,但不能整体比较。A对B错在定义了枚举变量后,系统才为该变量分配内存空间。A对B错(二)、选择题在定义一个共用体变量时,系统分配给它的内存是。A各成员所需内存之和B第一个成员所需内存C成员中占用内存最大者D任意一个成员所需内存以下结构体的定义语句中,正确的是。Astructstudent{intnumcharnameintage}stuBstruct{intnumcharnameintage}studentstructstudentstuCstructstudent{intnumcharnameintage}stuDstructstudent{intnumcharnameintage}studentstu如有定义的枚举类型:enumweekday{Wed=,Thu,Fri,Sat,Sun,Mon,Tue}everyday则,Mon的值为。ABCD有如下定义的结构体类型:structdata{intyearintmonthintday}workday对其中成员month的正确引用方式是。AdatamonthBdatayearmonthCmonthDworkdaymonth已知对学生记录的描述为:structstudent{intnumcharname,sexstruct{intyear,month,day}birthday}structstudentstu设变量stu中的“生日”是“年月日”,对“birthday”正确赋值的程序是。Ayear=month=day=Bstuyear=stumonth=studay=Cbirthdayyear=birthdaymonth=birthdayday=Dstubirthdayyear=stubirthdaymonth=stubirthdayday=下列关于枚举类型的描述不正确的是。A可以在定义枚举类型时对枚举元素进行初始化B在赋值时,不可以将一个整数赋值给枚举变量C枚举变量不可以进行关系运算D枚举变量只能取对应枚举类型的枚举元素表中的元素值有如下的说明:uniontest{intacharc}test则在VC环境下sizeof(uniontest)的结果是。ABCD以下程序的运行结果是。#include<stdioh>unioncon{struct{intx,y,z}minti}nummain(){nummx=nummy=nummz=numi=printf("dn",nummx)}ABCD有如下程序段,执行后的输出结果是。#include<stdioh>main(){structa{intxinty}num={{,},{,}}printf("dn",numxnumy*numy)}ABCD以下程序的运行结果是。#include<stdioh>#include<stringh>typedefstruct{charnamecharsexfloatscore}STUvoidf(STUa){STUb={"Zhao",'m',,}intistrcpy(aname,bname)asex=bsexfor(i=i<i)ascorei=bscorei}main(){STUc={"Qian",'f',,}f(c)printf("s,c,f,fn",cname,csex,cscore,cscore)}AQian,f,,BQian,m,,CZhao,f,,DZhao,m,,第章指针二、习题(一)、是非题运算符“*”有时是单目运算符,有时又可能是双目运算符。A对B错取地址运算符“”与指针运算符“*”的优先级相同,结合方向为自右向左。A对B错指针变量的类型不是该变量本身的类型,而是它所指向的变量的类型。A对B错指针变量不可以作为函数的参数。A对B错b指的是变量b的地址所存放的值。A对B错语句int*p定义了一个指针变量p,其值是整型的。A对B错语句“int*p”中*p的含义为取值。定义指针变量A对B错一个变量的地址就称为该变量的“指针”。A对B错语句inti,*p=i是正确的C定义。A对B错变量的指针,其含义是指该变量的一个标志。A对B错void类型的指针不指向某种类型的数据,所以没有意义。A对B错表达式*p的运算顺序为先自增后取值。A对B错C语言中,执行表达式(*p)后p的指向改变了。A对B错两个指针相加没有意义。A对B错若有定义:int*p,*p,m=,n,则p=mp=p是正确的赋值语句。A对B错已知inta,*p,则语句p=a是正确的。p=aA对B错char*name定义了一个一维指针数组,它有个元素,每个元素都是指向字符数据的指针型数据。A对B错*(aij)与aij的含义相同。A对B错若有定义:int(*p),则标示符p是一个指针,它指向一个含有四个整型元素的一维数组。A对B错设有以下定义:char*c={"",""},表示c数组的两个元素中分别存放了字符串""和""的首地址。A对B错(二)、选择题变量的指针,其含义是指该变量的。A值B地址C名D一个标志下面能正确进行字符串赋值操作的是。Achars={"ABCDE"}Bchars={'A','B','C','D','E'}Cchar*ss="ABCDE"Dchar*sscnaf("s",s)以下语句或语句组中,能正确进行字符串赋值的是。。Achar*sp*sp="right"Bcharss="right"Cchars*s="right"Dchar*sp="right"设有定义:char*c,以下选项中能够使字符型指针c正确指向一个字符串的是。Acharstr="string"c=strBscanf("s",c)Cc=getchar()D*c="string"下列语句中,正确的是。Achar*ss="Olympic"Bcharss="Olympic"Cchar*ss={"Olympic"}Dcharss={"Olympic"}已有定义intk=int*p,*p且p和p均已指向变量k,下面不能正确执行的赋值语句是。Ak=*p*pBp=kCp=pDk=*p*(*p)若有定义:doublea,*s=a,以下能够代表数组元素a的是。A(*s)B*(s)C*sD*s若有定义inta,*p=a,则对a数组元素的正确引用是。A*aBaC*(p)D*(a)若有定义语句:doublea,*p=a以下叙述中错误的是。A定义语句中*是一个间接访问运算符B定义语句中*号只是一个说明符C定义语句中p只能存放double类型变量的地址D定义语句中,*p=a把变量a的地址作为初始赋给指针变量p若有程序段:charstr="china"char*pp=str则下列叙述正确的是。A*p与str相等Bstr数组长度和p所指向的字符串长度相等Cstr和p完全相同D数组str中的内容和指针变量p中的内容相等若有语句int*point,a=和point=a下面均代表地址的一组选项是。Aa,point,*aB*a,a,*pointCpoint,*point,aDa,*point,point以下选项中,对指针变量p的正确操作是。Ainta,*pp=aBinta,*pp=aCintaint*p=a=Dintaint*p,*p=a*p=*p设有定义语句:intm={,,,},*k=m,以下选项中表达式的值为的是。A*(k)BkC*kD*k=若有定义:int*p,m=,n,以下正确的程序段是。Ap=nscanf("d",p)Bp=nscanf("d",*p)Cscanf("d",n)*p=nDp=n*p=m以下程序的运行结果是。#include"stdioh"main(){intm=,n=,*p=m,*q=n,*rr=pp=qq=rprintf("d,d,d,dn",m,n,*p,*q)}A,,,B,,,C,,,D,,,若有定义语句:inta,*p,*q且≤i<,则错误的赋值是Ap=aBqi=aiCp=aiDp=a以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是。#include"stdioh"main(){int*p,q,a,bp=aprintf("inputa:")scnaf("d",*p)…}A*p表示的是指针变量p的地址B*p表示的是变量a的值,而不是变量a的地址C*p表示的是指针变量p的值D*p只能用来说明p是一个指针变量程序段char*s="abcde"s=printf("d",s)的运行结果是。AcdeB字符'c'C字符'c'的地址D无确定的输出结果下面程序段的运行结果是。charstr="ABC",*p=strprintf("dn",*(p))*(p)表示p的地址从开始处移动ABC字符'C'的地址D字符'C'下面程序段的运行结果是。chara="language",*pp=awhile(*p!='u'){printf("c",*p)p}ALANGUAGEBlanguageCLANGDlangUAGE若有定义chars,则在下面表达式中不表示s的地址的是。AsBsCsDs以下程序的运行结果是。#include<stdioh>#include<stringh>main(){charstr={"One*World","One*Dream!"},*p=strprintf("d,",strlen(p))printf("sn",p)}A,One*WorldB,One*Dream!C,One*Dream!D,One*World下列函数的功能是。fun(char*a,char*b){while((*b=*a)!=''){a,b}}A使a所指字符串赋给b所指空间B使指针b指向a所指字符串C将a所指字符串和b所指字符串进行比较D检查a和b所指字符串中是否有''以下程序的运行结果是。#include<stdioh>main(){char*s={"abc"}do{printf("d",*s)s}while(*s)}AabcBCD以下程序的运行结果是。#include<stdioh>voidfun(int*p){printf("dn",p)}main(){inta={,,,,,,,,,}fun(a)}ABCD若有定义语句:char*s="OK",*s="ok",以下选项中能够输出“OK”的语句是。Aif(strcmp(s,s)=)puts(s)Bif(strcmp(s,s)!=)puts(s)Cif(strcmp(s,s)=)puts(s)Dif(strcmp(s,s)!=)puts(s)以下程序的运行结果是。#include<stdioh>voidfun(char*c,intd){*c=*cd=dprintf("c,c,",*c,d)}main(){charb='a',a='A'fun(b,a)printf("c,cn",b,a)}Ab,B,b,ABb,B,B,ACa,B,B,aDa,B,a,B有以下定义和语句:structworkers{intnumcharnamecharcstruct{intdayintmonthintyear}s}structworkersw,*pwpw=w能给w中year成员赋的语句是。A*pwyear=Bwyear=Cpw>year=Dwsyear=下面程序把数组元素中的最大值放入a中,则在if语句中的条件表达式应该是。main(){inta={,,,,,,,,,},*p=a,ifor(i=oi<i,p)if()*a=*pprintf("d",*a)}Ap>aB*p>aC*p>*aD*p>*a以下程序的运行结果是。#include<stdioh>main(){inta={,,,},*p=a,ifor(i=i<=i){ai=*pp}printf("dn",a)}ABCD以下程序的输出结果是。#include<stdioh>main(){char*s=""intk=,a=while(sk!=''){kif(k==){a=a(sk'')continue}a=a(sk'')}printf("k=da=dn",k,a)}Ak=a=Bk=a=Ck=a=Dk=a=以下程序的输出结果是。#include<stdioh>main(){chara={"one","two","three","four","five"}inti,jchartfor(i=i<i)for(j=ij<j)if(ai>aj){t=aiai=ajaj=t}puts(a)}AfwoBfixCtwoDowo下面程序对两个整型变量的值进行交换。以下正确的说法是。main(){inta=,b=printf("()a=d,b=dn",a,b)swap(a,b)printf("()a=d,b=dn",a,b)}swap(intp,intq){inttt=pp=qq=t}A该程序完全正确B该程序有错,只要将语句swap(a,b)中的参数改为a,b即可C该程序有错,只要将swap()函数中形参p和q以及t均定义为指针即可D以上说法都不正确下面程序的功能是按字典顺序比较两个字符串a,b的大小,如果a大于b则返回正值,等于则返回,小于则返回负值。下划线处应该填。#include"stdioh"s(char*s,char*t){for(*s==*tt,s)if(*s=='')returnreturn(*s*t)}main(){chara,b,*p,*qintip=aq=bscanf("ss",a,b)i=s()printf("d",i)}Ap,qBq,pCa,pDb,q下面程序的运行结果是。#include<stdioh>voiddelch(char*s){inti,jchar*aa=sfor(i=,j=ai!=''i)if(ai>=''ai<=''){sj=aij}sj=''}main(){char*item="abc"delch(item)printf("ns",item)}AabcBCaDabc以下程序的执行后输出结果是。#include<stdioh>main(){charstr="xyz",*ps=strwhile(*ps)psfor(pspsstr>=ps)puts(ps)}AyzBzCzDxxyzyzyzxyxyzxyz以下程序的执行后输出结果是。#include<stdioh>voidmain(){inta,*p,ip=afor(i=i<i)pi=ifor(i=i<i)printf("d",aij)}ABCD以下程序执行后的输出结果是。#include<stdioh>voidmain(){inta={,,,},y,*p=ay=(*p)printf("d",y)}ABCD以下程序执行后的输出结果是。#include<stdioh>#include<stringh>voidmain(){chars,*s="abcdef"strcpy(s,s)printf("s",s)}AabcdefBabcdefCabD以上答案都不对若有函数:voidfun(doublea,int*n){……},以下叙述中正确的是。A调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B形参a和n都是指针变量C形参a是一个数组名,n是指针变量D调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组第章文件二、习题(一)、判断题C语言通过文件指针对它所指向的文件进行操作。A对B错函数fseek(fp,n,k)中的第二个参数代表的位移量是相对于的文件的开始来说的。A对B错函数rewind()的作用是位置指针返回移动前的位置。A对B错为了提高读写效率,在进行读写操作后不应关闭文件以便下次再进行读写。A对B错使用fwrite()向文件中写入数据之前,该文件必须是以wb方式打开。A对B错命令行参数是指在操作系统状态下执行命令程序时允许带的参数。A对B错在C语言中将文件视为无结构的字节流。A对B错当以参数w打开文件时,若指定路径下已有同名文件,则覆盖原有文件。A对B错可以使用ftell()获得文件的当前读写位置。A对B错文件正常关闭时返回。A对B错由于在C语言中将文件视为无结构的字节流,所以不能对文件进行二进制读写。A对B错表达式c=fgetc(fp)!=EOF的功能是从fp指向的文件中读取字符并判断文件是否结束。A对B错C语言中的文件是一种流式文件,读写时均以字符为单位。A对B错函数fopen()不可以打开二进制文件。A对B错函数fgets(s,n,fp)读出的字符串长为n。A对B错系统打开的标准设备文件不需要用fclose()函数关闭。A对B错语句puts(fp,"hello")可以向fp指向的文件中写入字符串。A对B错fseek()函数中的位移量必须是一个long型数据。A对B错用“rb”方式打开的文件必须是已经存在的文件。A对B错使用fgetc()函数读取字符后,文件内部位置指针移动到文件末尾。A对B错(二)、选择题以下函数不能用于向文件写入数据的是。AftellBfwriteCfputcDfprintf设fp已定义,执行语句fp=fopen("file","w")后,以下针对文本文件file操作叙述的选项中正确的是。A写操作结束后可以从头开始读B只能写不能读C可以在原有内容后追加D可以随意读和写下列关于C语言文件的叙述中正确的是。A文件由一系列数据依次排列组成,只能构成二进制文件B文件由结构序列组成,可以构成二进制文件或文本文件C文件由数据序列组成,可以构成二进制文件或文本文件D文件由字符序列组成,其类型只能是文本文件读取二进制文件的函数调用形式为:fread(buffer,size,count,fp),其中buffer代表的是。A一个文件指针,指向待读取的文件B一个整型变量,代表待读取的数据的字节数C一个内存块的首地址,代表读入数据存放的地址D一个内存块的字节数标准库函数fgets(buf,n,fp)的功能是。A从fp所指向的文件中读取长度为n的字符串存入缓冲区bufB从fp所指向的文件中读取长度不超过n的字符串存入缓冲区bufC从fp所指向的文件中读取n个字符串存入缓冲区bufD从fp所指向的文件中读取长度为n的字符串存入缓冲区buf以下程序完成的功能是。#include"stdioh"main(){FILE*in,*outcharch,infile,oileprintf("Entertheinfilename:")scanf("s",infile)printf("Entertheoilename:")scanf("s",oile)if((in=fopen(infile,"r"))==)printf("cannotopeninfilen")if((in=fopen(oile,"w"))==)printf("cannotopenoilen")while(!feof(in))fputc(fgetc(in),out)fclose(in)fclose(out)}A程序完成将磁盘文件的信息在屏幕上显示的功能B程序完成将两个磁盘文件合二为一的功能C程序完成将一个磁盘文件复制到另一个磁盘文件中D程序完成将两个磁盘文件合并并在屏幕上输出以下程序运行后的输出结果是。#include"stdioh"main(){FILE*fpinti=,j=,k,nfp=fopen("dldat","w")fprintf(fp,"dn",i)fprintf(fp,"dn",j)fclose(fp)fp=fopen("dldat","r")fscanf(fp,"dd",k,n)printf("ddn",k,n)fclose(fp)}ABCD阅读下面的程序,程序实现的功能是(atxt在当前盘符下已经存在)。#include"stdioh"#include"stringh"voidmain(){FILE*fpinta,*p=afp=fopen("atxt","w")while(strlen(gets(p))>){fputs(a,fp)fputs("n",fp)}fclose(fp)}A从键盘输入若干行字符,按行号倒序写入文本文件atxt中B从键盘输入若干行字符,取前行写入文本文件altxt中C从键盘输入若于行字符,第一行写入文本文件atxt中D从键盘输入若干行字符,依次写入文本文件atxt中下面的程序执行后,文件test中的内容是。#include"stdioh"#include"stringh"voidfun(char*fname,char*st){FILE*myfintimyf=fopen(fname,"w")for(i=i<strlen(st)i)fputc(sti,myf)fclose(myf)}main(){fun("test","newworld")fun("test","hello")}AhelloBnewworldhelloCnewworldDhello,rld阅读下面的程序,此程序的功能为#include"stdioh"#include"stringh"main(intargc,char*argv){FILE*p,*pintcp=fopen(argv,"r")p=fopen(argv,"a")c=fseek(p,L,)while((c=fgetc(p))!=EOF)fputc(c,p)fclose(p)fclose(p)}A实现将p打开的文件中的内容复制到p打开的文件B实现将p打开的文件中的内容复制到p打开的文件C实现将p打开的文件中的内容追加到p打开的文件内容之后D实现将p打开的文件中的内容追加到p打开的文件内容之屠fseek函数的正确调用形式是。Afseek(文件指针,起始点,位移量)Bfseek(文件指针,位移量,起始点)Cfseek(位移量,起始点,文件指针)Dfseek(起始点,位移量,文件指针)若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是。AEOFBCD结束标志函数fseek(pf,OL,SEEKEND)中的SEEKEND代表的起始点是。A文件开始B文件末尾C文件当前位置D以上都不对位系统中,将一个整数分别以ASCII码文件和二进制文件形式存放,各自需要占据的存储空间字节数分别是。A和B和C和D和若要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则文件读方式字符串应是。A"a"B"r"C"rb"D"ab"函数fscanf的功能是。A将信息从文件输入B将信息输出到文件C将信息从控制台输入D将信息输出到控制台终端上下面叙述中,不正确的是。AC语言中的文本文件以ASCII形式存储数据BC语言对二进制文件的访问速度比文本文件快CC语言中,随机读写方式不适用于文本文件DC语言中,顺序读写方式不适用于二进制文件如果程序中有语句FILE*fpfp=fopen("abctxt","w"),则程序准备做。A对文件读写操作B对文件读操作C对文件写操作D对文件不操作使用函数fopen()以文本方式打开或建立可读可写文件,要求:若指定的文件不存在,则新建一个,并使文件指针指向其开头若指定的文件存在,打开它,将文件指针指向其结尾。正确的“文件使用方式”是。A"r"B"w"C"a"D"a"若定义:inta,fp是指向某一已经正确打开了的文件的指针,下面的函数调用形式中不正确的是。Afread(a,sizeof(int),,fp)Bfread(a,*sizeof(int),,fp)Cfread(a,sizeof(int),,fp)Dfread(a,*sizeof(int),,fp)若要打开D盘上子目录tt下的二进制文件testbin,在调用函数fopen时,第一个参数的正确格式是()。A"d:tttestbin"B"d:tttestbin"C"d:tttestbin"D"d:tttestbin"正常执行文件关闭操作时,fclose()函数的返回值是。ABTRUECDfeof()函数。A可用于二进制文件也可用于文本文件B只用于二进制文件C不能用于二进制文件D只能用于文本文件语句“fseek(fp,L,)”的功能是。A将fp所指向的文件的读写指针移到距文件首个字节处B将fp所指向的文件的读写指针移到距文件尾个字节处C将fp所指向的文件的读写指针从当前位置向文件首方向移动个字节D将fp所指向的文件的读写指针从当前位置向文件尾方向移动个字节在C程序中,可把整型数以二进制形式存放到文件中的函数是。Afprintf()Bfread()Cfwrite()Dfputc()下面关于C语言文件操作的结论中,是正确的。A对文件操作必须先关闭文件B对文件操作必须先打开文件C对文件操作顺序无要求D对文件操作前必须先测试文件是否存在,然后再打开文件如果需要打开一个已经存在的非空文件“f”进行修改,正确的打开语句是。Afp=fopen("f","r")Bfp=fopen("f","ab")Cfp=fopen("f","w")Dfp=fopen("f","r")fscanf()函数的正确调用形式是。Afscanf(文件指针,格式字符串,输出表列)Bfscanf(格式字符串,输出表列,文件指针)Cfscanf(格式字符串,文件指针,输出表列)Dfscanf(文件指针,格式字符串,输入表列)下面不是系统指定的标准设备文件有。Afopen()Bstdin()Cstdout()Dstderr!()下面操作后,文件的读写指针不指向文件首。Arewind(fp)Bfseek(fp,L,)Cfseek(fp,L,)Dfopen("fc","r")下面程序把终端输入的字符输出到名为abctxt的文件中,直到从终端读入字符“#”时结束输入和输出操作程序有错,出错原因是。#include"stdioh"voidmain(){FILE*foutcharchfout=fopen('abctxt','w')ch=fgetc(stdin)while(ch!='#'){fputc(ch,fout)ch=fgete(stdin)}fclose(fout)}A函数fopen()调用形式有误B输入文件没有关闭C函数fgetc()调用形式有误D文件指针stdin()没有定义函数fgetc()的作用是从文件读入一个字符,该文件的打开方式必须是。A读或读写B追加C只写D答案B和C都正确利用fseek()函数可实现的操作是。A文件的随机读写B文件的顺序读写C改变文件的位置指针D以上答案均正确若执行fopen()函数时发生错误,则函数的返回值是。A地址值BEOFCD系统的标准输入文件是指。A显示器B硬盘C键盘D软盘以下程序的运行结果是。#include"stdioh"main(){FILE*fpinta={,,,,},ifp=fopen("ddat,"wb")fwrite(a,sizeof(int),,fp)fwrite(a,sizeof(int),,fp)fclose(fp)fp=fopen("ddat","rb")fread(a,sizeof(int),,fp)fclose(fp)for(i=i<i)printf("d",a)}A,,,,,,,,,,B,,,,,,,,,,C,,,,,,,,,,D,,,,,,,,,,以下程序的运行结果是。#include"stdioh"main(){FILE*fpinta={,,},i,nfp=fopen("dldat","w")for(i=i<i)fprintf(fp,"d",ai)fprintf(fp,"n")fclose(fp)fp=fopen("dldat","r")fscanf(fp,"d",n)fclose(fp)printf("dn",n)}ABCD以下程序执行后,abcdat文件的内容是。#include"stdioh"main(){FILE*pfchar*s="China",*s="Beijing"pf=fopen("abcdat","wb")fwrite(s,,l,pf)rewind(pf)fwrite(s,,,pf)fclose(pf)}AChinaBChinangCChinaBeijingDBeijingChina若文本文件fileatxt中原有内容为:hello,则运行以下程序后,文件fileatxt中的内容为。#include"stdioh"main(){FILE*ff=fopen("fileatxt","w")fprintf(f,"abc")fclose(f)}AhelloabcBabcloCabcDabchello以下程序运行后的输出结果是。#include"stdioh"main(){FILE*fp,intk,n,j,a={,,,,,}fp=fopen("ddat","w")for(i=i<i)fprintf(fp,"dn",ai)fclose(fp)fp=fopen("ddat","r")for(i=i<i)fscanf(fp,"d,d",k,n)fclose(fp)printf("d,dn",k,n)}A,B,C,D如果程序中有语句FILE*fpfp=fopen("abctxt","w"),则程序准备做。A对文件读写操作B对文件读操作C对文件写操作D对文件不操作使用函数fopen()以文本方式打开或建立可读可写文件,要求:若指定的文件不存在,则新建一个,并使文件指针指向其开头若指定的文件存在,打开它,将文件指针指向其结尾。正确的“文件使用方式”是。A"r"B"w"C"a"D"a"若定义:inta,fp是指向某一已经正确打开了的文件的指针,下面的函数调用形式中不正确的是。Afread(a,sizeof(int),,fp)Bfread(a,*sizeof(int),,fp)Cfread(a,sizeof(int),,fp)Dfread(a,*sizeof(int),,fp)若要打开D盘上子目录tt下的二进制文件testbin,在调用函数fopen时,第一个参数的正确格式是()。A"d:tttestbin"B"d:tttestbin"C"d:tttestbin"D"d:tttestbin"正常执行文件关闭操作时,fclose()函数的返回值是。ABTRUECDfeof()函数。A可用于二进制文件也可用于文本文件B只用于二进制文件C不能用于二进制文件D只能用于文本文件语句“fseek(fp,L,)”的功能是。A将fp所指向的文件的读写指针移到距文件首个字节处B将fp所指向的文件的读写指针移到距文件尾个字节处C将fp所指向的文件的读写指针从当前位置向文件首方向移动个字节D将fp所指向的文件的读写指针从当前位置向文件尾方向移动个字节在C程序中,可把整型数以二进制形式存放到文件中的函数是。Afprintf()Bfread()Cfwrite()Dfputc()下面关于C语言文件操作的结论中,是正确的。A对文件操作必须先关闭文件B对文件操作必须先打开文件C对文件操作顺序无要求D对文件操作前必须先测试文件是否存在,然后再打开文件如果需要打开一个已经存在的非空文件“f”进行修改,正确的打开语句是。Afp=fopen("f","r")Bfp=fopen("f","ab")Cfp=fopen("f","w")Dfp=fopen("f","r")fscanf()函数的正确调用形式是。Afscanf(文件指针,格式字符串,输出表列)Bfscanf(格式字符串,输出表列,文件指针)Cfscanf(格式字符串,文件指针,输出表列)Dfscanf(文件指针,格式字符串,输入表列)下面不是系统指定的标准设备文件有。Afopen()Bstdin()Cstdout()Dstderr!()下面操作后,文件的读写指针不指向文件首。Arewind(fp)Bfseek(fp,L,)Cfseek(fp,L,)Dfopen("fc","r")下面程序把终端输入的字符输出到名为abctxt的文件中,直到从终端读入字符“#”时结束输入和输出操作程序有错,出错原因是。#include"stdioh"voidmain(){FILE*foutcharchfout=fopen('abctxt','w')ch=fgetc(stdin)while(ch!='#'){fputc(ch,fout)ch=fgete(stdin)}fclose(fout)}A函数fopen()调用形式有误B输入文件没有关闭C函数fgetc()调用形式有误D文件指针stdin()没有定义函数fgetc()的作用是从文件读入一个字符,该文件的打开方式必须是。A读或读写B追加C只写D答案B和C都正确利用fseek()函数可实现的操作是。A文件的随机读写B文件的顺序读写C改变文件的位置指针D以上答案均正确若执行fopen()函数时发生错误,则函数的返回值是。A地址值BEOFCD系统的标准输入文件是指。A显示器B硬盘C键盘D软盘以下程序的运行结果是。#include"stdioh"main(){FILE*fpinta={,,,,},ifp=fopen("ddat,"wb")fwrite(a,sizeof(int),,fp)fwrite(a,sizeof(int),,fp)fclose(fp)fp=fopen("ddat","rb")fread(a,sizeof(int),,fp)fclose(fp)for(i=i<i)printf("d",a)}A,,,,,,,,,,B,,,,,,,,,,C,,,,,,,,,,D,,,,,,,,,,以下程序的运行结果是。#include"stdioh"main(){FILE*fpinta={,,},i,nfp=fopen("dldat","w")for(i=i<i)fprintf(fp,"d",ai)fprintf(fp,"n")fclose(fp)fp=fopen("dldat","r")fscanf(fp,"d",n)fclose(fp)printf("dn",n)}ABCD以下程序执行后,abcdat文件的内容是。#include"stdioh"main(){FILE*pfchar*s="China",*s="Beijing"pf=fopen("abcdat","wb")fwrite(s,,l,pf)rewind(pf)fwrite(s,,,pf)fclose(pf)}AChinaBChinangCChinaBeijingDBeijingChina若文本文件fileatxt中原有内容为:hello,则运行以下程序后,文件fileatxt中的内容为。#include"stdioh"main(){FILE*ff=fopen("fileatxt","w")fprintf(f,"abc")fclose(f)}AhelloabcBabcloCabcDabchello以下程序运行后的输出结果是。#include"stdioh"main(){FILE*fp,intk,n,j,a={,,,,,}fp=fopen("ddat","w")for(i=i<i)fprintf(fp,"dn",ai)fclose(fp)fp=fopen("ddat","r")for(i=i<i)fscanf(fp,"d,d",k,n)fclose(fp)printf("d,dn",k,n)}A,B,C,D如果程序中有语句FILE*fpfp=fopen("abctxt","w"),则程序准备做。A对文件读写操作B对文件读操作C对文件写操作D对文件不操作使用函数fopen()以文本方式打开或建立可读可写文件,要求:若指定的文件不存在,则新建一个,并使文件指针指向其开头若指定的文件存在,打开它,将文件指针指向其结尾。正确的“文件使用方式”是。A"r"B"w"C"a"D"a"若定义:inta,fp是指向某一已经正确打开了的文件的指针,下面的函数调用形式中不正确的是。Afread(a,sizeof(int),,fp)Bfread(a,*sizeof(int),,fp)Cfread(a,sizeof(int),,fp)Dfread(a,*sizeof(int),,fp)若要打开D盘上子目录tt下的二进制文件testbin,在调用函数fopen时,第一个参数的正确格式是()。A"d:tttestbin"B"d:tttestbin"C"d:tttestbin"D"d:tttestbin"正常执行文件关闭操作时,fclose()函数的返回值是。ABTRUECDfeof()函数。A可用于二进制文件也可用于文本文件B只用于二进制文件C不能用于二进制文件D只能用于文本文件语句“fseek(fp,L,)”的功能是。A将fp所指向的文件的读写指针移到距文件首个字节处B将fp所指向的文件的读写指针移到距文件尾个字节处C将fp所指向的文件的读写指针从当前位置向文件首方向移动个字节D将fp所指向的文件的读写指针从当前位置向文件尾方向移动个字节在C程序中,可把整型数以二进制形式存放到文件中的函数是。Afprintf()Bfread()Cfwrite()Dfputc()下面关于C语言文件操作的结论中,是正确的。A对文件操作必须先关闭文件B对文件操作必须先打开文件C对文件操作顺序无要求D对文件操作前必须先测试文件是否存在,然后再打开文件如果需要打开一个已经存在的非空文件“f”进行修改,正确的打开语句是。Afp=fopen("f","r")Bfp=fopen("f","ab")Cfp=fopen("f","w")Dfp=fopen("f","r")fscanf()函数的正确调用形式是。Afscanf(文件指针,格式字符串,输出表列)Bfscanf(格式字符串,输出表列,文件指针)Cfscanf(格式字符串,文件指针,输出表列)Dfscanf(文件指针,格式字符串,输入表列)下面不是系统指定的标准设备文件有。Afopen()Bstdin()Cstdout()Dstderr!()下面操作后,文件的读写指针不指向文件首。Arewind(fp)Bfseek(fp,L,)Cfseek(fp,L,)Dfopen("fc","r")下面程序把终端输入的字符输出到名为abctxt的文件中,直到从终端读入字符“#”时结束输入和输出操作程序有错,出错原因是。#include"stdioh"voidmain(){FILE*foutcharchfout=fopen('abctxt','w')ch=fgetc(stdin)while(ch!='#'){fputc(ch,fout)ch=fgete(stdin)}fclose(fout)}A函数fopen()调用形式有误B输入文件没有关闭C函数fgetc()调用形式有误D文件指针stdin()没有定义函数fgetc()的作用是从文件读入一个字符,该文件的打开方式必须是。A读或读写B追加C只写D答案B和C都正确利用fseek()函数可实现的操作是。A文件的随机读写B文件的顺序读写C改变文件的位置指针D以上答案均正确若执行fopen()函数时发生错误,则函数的返回值是。A地址值BEOFCD系统的标准输入文件是指。A显示器B硬盘C键盘D软盘以下程序的运行结果是。#include"stdioh"main(){FILE*fpinta={,,,,},ifp=fopen("ddat,"wb")fwrite(a,sizeof(int),,fp)fwrite(a,sizeof(int),,fp)fclose(fp)fp=fopen("ddat","rb")fread(a,sizeof(int),,fp)fclose(fp)for(i=i<i)printf("d",a)}A,,,,,,,,,,B,,,,,,,,,,C,,,,,,,,,,D,,,,,,,,,,以下程序的运行结果是。#include"stdioh"main(){FILE*fpinta={,,},i,nfp=fopen("dldat","w")for(i=i<i)fprintf(fp,"d",ai)fprintf(fp,"n")fclose(fp)fp=fopen("dldat","r")fscanf(fp,"d",n)fclose(fp)printf("dn",n)}ABCD以下程序执行后,abcdat文件的内容是。#include"stdioh"main(){FILE*pfchar*s="China",*s="Beijing"pf=fopen("abcdat","wb")fwrite(s,,l,pf)rewind(pf)fwrite(s,,,pf)fclose(pf)}AChinaBChinangCChinaBeijingDBeijingChina若文本文件fileatxt中原有内容为:hello,则运行以下程序后,文件fileatxt中的内容为。#include"stdioh"main(){FILE*ff=fopen("fileatxt","w")fprintf(f,"abc")fclose(f)}AhelloabcBabcloCabcDabchello以下程序运行后的输出结果是。#include"stdioh"main(){FILE*fp,intk,n,j,a={,,,,,}fp=fopen("ddat","w")for(i=i<i)fprintf(fp,"dn",ai)fclose(fp)fp=fopen("ddat","r")for(i=i<i)fscanf(fp,"d,d",k,n)fclose(fp)printf("d,dn",k,n)}A,B,C,

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/215

昆明理工大学C语言程序设计课后习题答案

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利