C语言文件选择题
- 格式:doc
- 大小:51.50 KB
- 文档页数:7
全国计算机等级考试二级C语言之文件一、选择题:(1)以下叙述中错误的是A)C语言中对二进制文件的访问速度比文本文件快B)C语言中,随机文件以二进制代码形式存储数据C)语句 FILE fp; 定义了一个名为fp的文件指针D)C语言中的文本文件以ASCII码形式存储数据(2)有以下程序#includemain(){ FILE *fp; int i, k, n;fp=fopen("data.dat", "w+");for(i=1; i{ fprintf(fp,"%d ",i);if(i%3==0) fprintf(fp,"\n");}rewind(fp);fscanf(fp, "%d%d", &k, &n); printf("%d %d\n", k, n); fclose(fp);}程序运行后的输出结果是A)0 0B)123 45C)1 4D)1 2(3)以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是A)feof(fp)B)ftell(fp)C)fgetc(fp)D)rewind(fp)(4)有以下程序#include "stdio.h"void WriteStr(char *fn,char *str){FILE *fp;fp=fopen(fn,"W");fputs(str,fp);fclose(fp);}main(){WriteStr("t1.dat","start");WriteStr("t1.dat","end");}程序运行后,文件t1.dat中的内容是A)startB)endC)startendD)endrt(5) 有如下程序#includemain(){FILE *fp1;fp1=fopen("f1.txt","w");fprintf(fp1,"abc");fclose(fp1);}若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为A) goodabcB) abcdC) abcD) abcgood(6) 有以下程序#includemain( ){ FILE *fp; int i,k=0,n=0;fp=fopen(“d1.dat”,”w”);for(i=1;ifclose(fp);fp=fopen(“d1.dat”,”r”);fscanf(fp,”%d%d”,&k,&n); printf(“%d %d\n”,k,n);fclose(fp);}执行后输出结果是A) 1 2B) 123 0C) 1 23D) 0 0(7) 有以下程序(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)#includemain( ){ FILE *fp; int i,a[4]={1,2,3,4},b;fp=fopen("data.dat","wb");for(i=0;ifclose(fp);fp=fopen("data.dat","rb");fseek(fp,-2L*sizeof(int).SEEK_END) ;fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/ fclose(fp);printf("%d\n",B) ;}执行后输出结果是A) 2B) 1C) 4(8) 若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为A) 0B) 1C) -1D) 一个非0值(9) 下列关于C语言数据文件的叙述中正确的是A) 文件由ASCII码字符序列组成,C语言只能读写文本文件B) 文件由二进制数据序列组成,C语言只能读写二进制文件C) 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D) 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(10) 以下叙述中不正确的是A)C语言中的文本文件以ASCⅡ码形式存储数据B)C语言中对二进制文件的访问速度比文本文件快C)C语言中,随机读写方式不适用于文本文件D)C语言中,顺序读写方式不适用于二进制文件(11) 以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。
C语言习题精选第一章、程序设计基本概念一.选择题1.C语言规定,必须用(C)作为主函数(A)function (B)include (C)main(D)stdio2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个(B),一个C程序总是从(B)开始执行。
(A)过程(B)主函数(C)函数(D)include3.! C源程序是由(A)构成的(A)函数(B)函数和过程(C)超文本过程(D)子程序4.(A)是C程序的基本构成单位(A)函数(B)函数和过程(C)超文本过程(D)子程序5.! 下列说法正确的是(C)(A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可(B)一个函数的函数体必须要有执行部分,可以没有变量定义(C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数(D)以上都不对6.下列说法正确的是(D)(A)main函数必须放在C程序的开头(B)main函数必须放在C程序的最后(C)main函数可以放在C程序的中间部分,即在一些函数之前在另一个函数之后,但在执行C程序时是从程序开头执行的(D)main函数可以放在C程序的中间部分,即在一些函数之前在另一些函数之后,但在执行C程序时是从main函数开始的7.下列说法正确的是(C)(A)在执行C程序时不是从main函数开始的(B)C程序书写格式严格限制,一行内必须写一个语句(C)C程序书写格式自由,一个语句可以分写在多行上(D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号8.在C语言中,每个语句和数据定义是用(C)结束(A)句号(B)逗号(C)分号(D)括号9.下列字符串是标识符的是(A)(注:以字母或下划线开头)(A)_HJ (B)9_student (C)long(D)LINE 110.以下说法正确的是(C)(A)C语言程序总是从第一个定义的函数开始执行(B)在C语言程序中,要调用的函数必须在main()函数中定义(C)C语言程序总是从main()函数开始执行(D)C语言程序中的main()函数必须放在程序的开始部分11.(B)不是C语言提供的合法关键字()(A)switch (B)print (C)case(D)default12.C语言提供的合法关键字是(A)(A)break (B)print (C)funition(D)end13.C语言提供的合法关键字是(A)(A)continue (B)procedure (C)begin(D)append二.填空题1.一个C源程序至少包含一个(主函数),即(main())2.!一个函数由两部分组成,它们是(函数的说明部分)和(函数体)3.!函数体一般包括(变量的定义部分)和(执行部分)4.!函数体的范围是(最外层的一对大括弧内的部分)5.!C语言是通过(输入和输出函数)来进行输入和输出的6.!在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个(函数)7.C语言的关键字都用(小写){大写或小字}8.!主函数名后面的一对圆括号中间可以为空,但一对圆括号不能(省)第二章、 C程序设计的初步知识一.选择题1.C语言中不能用来表示整常数的进制是(D)(A)十进制(B)十六进制(C)八进制(D)二进制2.在C语言中,反斜杠字符是(D)(A)\n (B)\t (C)\v (D)\\3.在ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码(A)(A)大32 (B)大64 (C)小32 (D)小14.设d为字符变量,下列表达式不正确的是(C)(A)d=97 (B)d=‟a‟ (C)d=”a”(D)d=‟g‟5.10+‟a‟+1.5-567.345/‟b‟的结果是(B)(A)long (B)double (C)int (D)unsigned float6.!在C语言中,运算对象必须是整型数的运算符是(A)(A)% (B)/ (C)%和/ (D)**7.为表示关系x>=y>=z,应使用C语言表达式(A)(A)(y<=x)&&(y>=z) (B)(x>=y)AND(y>=z)(C)(x>=y>=z) (D)(x>=y)&(y>=z)8.若欲表示在if后a不等于0的关系,则能正确表示这一关系的表达式为(D)(A)a<>0 (B)!a (C)a=0 (D)a!=09.?下列常数中,合法的C常量是(A)(A)”x-y” (B)‟105‟ (C)‟Be‟ (D)7ff10.?下列常数中,合法的C常量是(A)(A)-0. (B)‟105‟ (C) …AB‟(D)3+511.下列常数中,合法的C常量是(A)(A)‟\n‟ (B)e-310 (C)‟DEF‟ (D)‟1234‟12.下列常数中,不合法的C常量是(B)(A)-0x2a1 (B)lg3 (C)‟[… (D)”CHINA”13.下列常数中,不合法的C常量是(B)(A)-0x3b1 (B)123e+2.3 (C)‟}‟ (D)6e+714.?下列符号中,可以作为变量名的是(C)(A)+a (B)12345e (C)a3B (D)5e+015.写出下面程序的输出结果(A)main(){int x,y,z;x=y=1;z=x++-1;printf(“%d,%d\t”,x,z);z+=-x+++(++y||++z);printf(“%d,%d”,x,z);}(A)2,0 3,-1 (B)2,1 3,0 (C)2,0 2,1 (D)2,10 ,116.写出下面程序的输出结果(D)main(){int x=40,y=4,z=4;x = y = =z;printf(“%d”,x);x = x = = (y-z);printf(“%d”,x);}(A)4 0 (B)4 1 (C)1 1 (D)1 017.写出下面程序的输出结果(A)main(){int I,j;I=16; j=(I++)+I;printf(“%d”,j);I=15;printf(“%d %d”,++I,I);}(A)32 16 15 (B)33 15 15 (C)34 15 16(D)34 16 1518.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值为(C)(A)1 (B)2 (C)2.0 (D)2.519.?下列程序的执行结果是(B)#define sum 10+20main(){ int b=0,c=0;b=5;c=sum*b;printf(“%d”,c);}(A)100 (B)110 (C)70 (D)15020.表达式(double)(20/3)的值为(B)(A)6 (B)6.0 (C)2 (D)3二.填空题1.如果int I=3;则k=(I++)+(I++)+(I++),则k =(9),I=(6);2.?如果int I=3;则k=(I++)+(++I)+(I++),则k=(12), I=(6);3.?如果int I=3;则k=(++I)+(++I)+(I++),则k=(15),I=(6);4./如果int I=3;则k=(++I)+(++I)+(++I),则k=(18),I=(6);5.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为(K,5)main(){char c=‟A‟; int I=10;c = c+10;I = c%I;Printf(“%c,%d\n”,c,I); }6.!C语言的数据类型有四大类,其分别为(基本数据类型),(构造类型),(指针),(空类型)。
C语言练习题-选择题(带答案)1.下列字符序列中,可用作C标识符的一组字符序列是(D)。
A:S.b,um,average,_aboveB:cla,day,lotu_1,2dayC:#md,&12某,month,tudent_n!D:D56,r_1_2,name,_t_12.C语言程序从main()函数开始执行,所以这个函数要写在(C).A:程序文件的开始B:程序文件的最后C:程序文件的任何位置(除别的函数体内)D:它所调用的函数的前面3.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为(B).A:连接、编译B:编译、连接C:连接、运行D:运行4.要调用文件处理函数时,在#include命令行中应包含(C).A:\5.以下数据中,不正确的数值或字符常量是(C)。
A:0B:5LC:o13D:98616.在C语言中,错误的语句是(C).A:a=b=c;B:;C:breakD:b=3某5,a某=4;7.以下标识符中,不能作为合法的C用户定义标识符的是(B)。
A:a3_b3B:voidC:_123D:IF8.一个C语言程序是由(C)组成.A:一个主程序和若干子程序B:函数C:若干过程D:若干子程序9.C语言源程序的基本单位是(B)。
A:过程B:函数C:子程序D:标识符10.已知宏定义#defineN3#defineY(n)((N+1)某n)执行语句z=2某(N+Y(5+1));变量z的值为(B).A:42B:48C:54D:出错第11题C语言文件系统中,整数1008若以ASCII形式存储,则占几个字节(B).A:2B:4C:1D:5第12题正确的自定义标识符是(C).A:ifB:a某bC:IfD:8pq第13题有说明语句chara='\\101';,则变量a(D).A:包含4个字符B:包含2个字符C:包含3个字符D:包含1个字符第14题下面正确的字符常量是(C).A:\第15题在main函数体内部和外部均允许出现的实体是(A).A:预处理命令B:语句C:另一函数的定义D:函数形式参数声明第16题若变量已正确说明为float类型,要通过语句canf(\给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是(B).A:102233B:10.0,22.0,33.0C:10.022.033.0第17题(B)是C语言提供的合法数据类型关键字.A:FloatB:ignedC:integerD:Char第18题下列选项中,合法的C语言关键字是(D).A:VARB:cherC:integerD:default第19题使用语句canf(\输入变量某,y的值([]代表空格),正确的输入是(C).A:1.25,2.4B:1.25[]2.4C:某=1.25,y=2.4D:某=1.25[]y=2.4第20题宏定义\\的宏替换\应为(A).A:a=某+5某y-3.1;B:a=(某+5)某(y-3.1);C:a=某+5某y-3.1D:a=(某+5)某(y-3.1)答案:A第21题(1.0分)题号:919下述程序段的输出结果是(A).int某=10;inty=某++;printf(\A:11,10B:11,11C:10,10D:10,11答案:A第22题(1.0分)题号:925以下不正确的C语言标识符是(A).A:2yB:a_1_2C:able某eD:_某答案:A第23题(1.0分)题号:914以下所列的C语言常量中,错误的是(B).A:0某ffB:1.2e0.5C:2LD:'\\72'答案:B第24题(1.0分)题号:918下列程序的输出是(B).#includemain(){printf(\A:0B:变量无定义C:-1D:1答案:B第25题(1.0分)题号:930在C程序中,1如果用来表示逻辑值时,应代表(A).A:真B:假C:整数1D:长整型数1答案:A第26题(1.0分)题号:927以下答案中不是C语言最基本数据类型的是(A).A:逻辑型B:整型C:字符型D:实型答案:A第27题(1.0分)题号:922常数的书写格式决定了常数的类型和值,0某1011是(C).A:8进制整型常量B:字符常量C:16进制整型常数D:2进制整型常数答案:C第28题(1.0分)题号:928若某,y均定义为int型,z为double型,以下不合法的canf函数调用语句是(D).A:canf(\\B:canf(\\C:canf(\\D:canf(\\答案:D第29题(1.0分)题号:931以下所列字符常量中,不合法的是(A).A:'\\0某a2'B:'\\65'C:'$'D:'\\某2a'答案:A第30题(1.0分)题号:912若变量都已正确说明,则以下程序段(C).a=2;b=3;printf(a>b\A:没有正确的输出格式控制B:输出为:某某某a=2C:输出为:###b=2D:输出为:某某某a=2###b=3答案:C第31题(1.0分)题号:929以下四个字符序列中,能用作用户自定义的标识符是(A).A:PutcharB:-doubleC:A123-D:int答案:A第32题(1.0分)题号:923下列格式符中,可以用于以8进制形式输出整数的是(C).A:%dB:C:%oD:答案:C第33题(1.0分)题号:936以下叙述中正确的是(D).A:输入项可以是一个实型常量,如:canf(\B:只有格式控制,没有输入项,也能正确输入数据到内存,例如:canf(\ C:当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:canf(\D:当输入数据时,必须指明变量地址,例如:canf(\答案:D第34题(1.0分)题号:926C语言中字符型(char)数据在内存中的存储形式是(D).A:原码B:补码C:反码D:ASCII码答案:D。
复习题一、单项选择题(每题1分,共30分)1、一个C语言程序是由()。
A.一个主程序和若干子程序组成B.函数组成C.若干过程组成D.若干子程序组成3、用来标识变量名、符号常量名、函数名、类型名、文件名、数组名的有效字符序列称为标识符。
在C语言中,规定标识符只能有字母、数值或下划线三类字符组成,且第一个字符必须为()或()。
A.字母,数字B.数字,下划线C.字母,下划线D.字母,下划线,数字5、C语言中,主调函数携带的参数列表称为实参,而被调用函数的参数列表习惯上称为()。
A.形式参数B.值参C.动态参数D.静态参数7、下列关于switch和break语句的结论中,只有()是正确的。
A.break语句是switch语句的一部分B.在switch语句中可以根据需要使用或不使用break语句C.在switch语句中必须使用break语句D.以上三个结论中有两个是正确的9、对于数组a[m][n]来说,使用数组的某个元素时,行下标最大值是(),列下标最大值是()。
A. m,n-1B. m-1,n-1C. m-1,nD. m,n10、下面程序段的运行结果是()。
char a[7]=″abcedf″;char b[4]=″ABC″;strcpy(a,b);printf(“%c”,a[5]);A. dB. \0C. eD. f11、一维double型数组a长度为10,则实际所占内存字节数为()。
A. 20B. 40C. 60D. 8012、字符串a=“hello”,则函数调用strlen(a)的返回值为()。
A. 4B. 5C. 6D. 413、在C语言中,&作为单目运算符时表示的是()。
A.地址与B.取地址C.输入地址D.输出地址14、对不同类型的数据有不同的格式字符。
例如:()格式字符是用来输出十进制整数,()格式字符是用来输出一个字符串。
A.c,sB.s,dC.d,cD.d,s15、do-while语句的特点是()。
第十二章文件基础训练一、填空题1、文件是指___________________________________________________________。
2、根据数据的组织形式,C中将文件分为______ASCII码文件________和___二进制文件___________两种类型。
3、现要求以读写方式,打开一个文本文件 stu1 ,写出语句:__FILE *fp fp=fopen(“stu.txt”,”r+”);_______________。
__________________________________。
4、现要求将上题中打开的文件关闭掉,写出语句:___fclose(fp);__________________。
5、若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则打开文件方式字符串应该是___fopen(“a.txt”,”wb+”);__________。
二、选择题1、若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是( ) 。
A) fopen("A:\user\abc.txt","r") B) fopen("A:\\user\\abc.txt","r+")C) fopen("A:\user\abc.txt","rb") C) fopen("A:\\user\\abc.txt","w")2、若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为( )。
A) 0 B) 1 C) -1 D) 一个非0值3、当已经存在一个file1.txt文件,执行函数fopen(“file1.txt”,”r+”)的功能是()。
A)打开file1.txt文件,清除原有的内容;B)打开file1.txt文件,只能写入新的内容;C)打开file1.txt文件,只能读取原有内容;D)打开file1.txt文件,可以读取和写入新的内容;4、 fread(buf , 64,2,fp)的功能是:( )A)从fp所指向的文件中,读出整数64,并存放在buf中;B)从fp所指向的文件中,读出整数64和2,并存放在buf中;C)从fp所指向的文件中,读出64个字节的字符,读两次,并存放在buf地址中;D)从fp所指向的文件中,读出64个字节的字符,并存放在buf中;5、以下程序的功能是( ) 。
C语言文件选择题(答案在最后)1、标准库函数fgets(s,n,f)得功能就是A) 从文件f中读取长度为n得字符串存入指针s所指得内存B) 从文件f中读取长度不超过n-1得字符串存入指针s所指得内存C) 从文件f中读取n个字符串存入指针s所指得内存D) 从文件f中读取长度为n-1得字符串存入指针s所指得内存2、在C中,对文件得存取以________为单位A) 记录B) 字节C) 元素D) 簇3、下面得变量表示文件指针变量得就是A) FILE *fp B)C) FILER *fp D) file *fp4、在C中,下面对文件得叙述正确得就是A) 用“r”方式打开得文件只能向文件写数据B) 用“R”方式也可以打开文件C) 用“w”方式打开得文件只能用于向文件写数据,且该文件可以不存在D) 用“a”方式可以打开不存在得文件5、在C中,当文件指针变fp已指向“文件结束”,则函数feof(fp)得值就是A) 、t、B) 、F、C) 0 D) 16、在C中,系统自动定义了3个文件指针stdin,stdout与stderr分别指向终端输入、终端输出与标准出错输出,则函数fputc(ch,stdout)得功能就是A) 从键盘输入一个字符给字符变量chB) 在屏幕上输出字符变量ch得值C) 将字符变量得值写入文件stdout中D) 将字符变量ch得值赋给stdout7、下面程序段得功能就是#include <stdio、h>main(){char s1;s1=putc(getc(stdin),stdout);}A) 从键盘输入一个字符给字符变量s1B) 从键盘输入一个字符,然后再输出到屏幕C) 从键盘输入一个字符,然后在输出到屏幕得同时赋给变量s1D) 在屏幕上输出stdout得值8、在C中,常用如下方法打开一个文件if((fp=fopen("","r" ))==NULL){printf("cannot open this file \n");exit(0);}其中函数exit(0)得作用就是A) 退出C环境B) 退出所在得复合语句C) 当文件不能正常打开时,关闭所有得文件,并终止正在调用得过程D) 当文件正常打开时,终止正在调用得过程9、执行如下程序段#include <stdio、h>FILE *fp;fp=fopen("file","w" );则磁盘上生成得文件得全名就是A) file B) file、cC) D)10、在内存与磁盘频繁交换数据得情况下,对磁盘文件得读写最好使用得函数就是A) fscanF,fprintf B) fread,fwriteC) getc,putc D) putchar,getchar11、在C中若按照数据得格式划分,文件可分为A) 程序文件与数据文件B) 磁盘文件与设备文件C) 二进制文件与文本文件D) 顺序文件与随机文件12、若fp就是指向某文件得指针,且已读到该文件得末尾,则C语言函数feof(fp)得返回值就是A) EOF B) -1C) 非零值D) NULL13、在C中,缓冲文件系统就是指A) 缓冲区就是由用户自己申请得B) 缓冲区就是由系统自动建立得D) 缓冲区就是根据文件得大小决定得D) 缓冲区就是根据内存得大小决定得14、在C中,文件型指针就是A) 一种字符型得指针变量B) 一种结构型得指针变量C) 一种共用型得指针变量D) 一种枚举型得指针变量15、在C中,标准输出设备就是指A) 键盘B) 鼠标C) 硬盘D) 光笔16、在C中,标准输出设备与标准错误输出设备就是指显示器,它们对应得指针名分别为A) stdin,stdio B) STDOUT,STDERRC) stdout,stderr D) stderr,stdout17、在C中,所有得磁盘文件在操作前都必须打开,打开文件函数得调用格式为: fopen(文件名,文件操作方式);其中文件名就是要打开得文件得全名,它可以就是:A) 字符变量名、字符串常量、字符数组名B) 字符常量、字符串变量、指向字符串得指针变量C) 字符串常量、存放字符串得字符数组名、指向字符串得指针变量D) 字符数组名、文件得主名、字符串变量名18、在C中,打开文件得程序段中正确得就是A) #include <stdio、h> B) #include <stdio、h>FILE *fp; ;fp=fopen("","WB"); fp=fopen("","w");C) #include <stdio、h> D) #include <string、h>FILE *fp; FILE *fp;fp=fopen("","w"); fp=fopen("","w");19、在C中,打开文件时,选用得文件操作方式为"wb",则下列说法中错误得就是A) 要打开得文件必须存在B) 要打开得文件可以不存在C) 打开文件后可以读取数据D) 要打开得文件就是二进制文件20、在C中,如果要打开C盘一级目录ccw下,名为“ccw、dat”得二进制文件用于读与追加写,则调用打开文件函数得格式为A) fopen("c:\ccw\ccw、dat","ab") B) fopen("c:\ccw、dat","ab+")C) fopen("c:ccw\ccw、dat","ab+") D) fopen("c:\ccw\ccw、dat","ab+")21、在C中,假设文件型指针fp已经指向可写得磁盘文件,并且正确执行了函数调用fputc('A',fp),则该次调用后函数返回得值就是A) 字符'A'或整数65 B) 符号常量EOFC) 整数1 D) 整数-122、以下函数,一般情况下,功能相同得就是A) fputc与putchar B) fwrite与fputcC) fread与fgetc D) putc与fputc23、设文件已存在,且有如下列程序段#include <stdio、h>FILE *fp1;fp1=fopen("","r");while(!feof(fp1)) putchar(getc(fp1));该程序段得功能就是A) 将文件得内容输出到屏幕B) 将文件得内容输出到文件C) 将文件得第一个字符输出到屏幕D) 什么也不干24、设文件stu1、dat已存在,且有如下列程序段#include <stdio、h>FILE *fp1, *fp2;fp1=fopen("stud1、dat","r");fp2=fopen("stud2、dat","w");while(feof(fp1)) putc(getc(fp1),fp2);该程序段得功能就是A) 将文件stud1、dat得内容复制到文件stud2、dat中B) 将文件stud2、dat得内容复制到文件stud1、dat中C) 屏幕输出stud1、dat得内容D) 什么也不干25、下面程序段定义了函数putint,该函数得功能就是putint(int n,FILE *fp){char *s;int num;s=&n;for(num=0;num<2;num++)putc(s[num],fp);}A) 屏幕输出一整数B) 屏幕输出一字符C) 向文件写入一实数D) 向文件写入一整数26、如果要将存放在双精度型数组a[10]中得10个双精度型实数写入文件型指针fp1指向得文件中,正确得语句就是A) for(i=0;i<80;i++) fputc(a[i],fp1);B) for(i=0;i<10;i++) fputc(&a[i],fp1);C) for(i=0;i<10;i++) fwrite(&a[i],8,1,fp1);D) fwrite(fp1,8,10,a);27、如果将文件型指针fp指向得文件内部指针置于文件尾,正确得语句就是A) feof(fp); B) rewind(fp);C) fseek(fp,0L,0); D) fseek(fp,0L,2);28、如果文件型指针fp指向得文件刚刚执行了一次读操作,则关于表达式“ferror(fp)”得正确说法就是A) 如果读操作发生错误,则返回1 B) 如果读操作发生错误,则返回0C) 如果读操作未发生错误,则返回1 D) 如果读操作未发生错误,则返回029、下列程序得主要功能就是#include "stdio、h"main(){FILE *fp;long count=0;fp=fopen("q1、c","r");while(!feof(fp)){fgetc(fp);count++;}printf("count=%ld\n",count);fclose(fp);}A) 读文件中得字符B) 统计文件中得字符数并输出C) 打开文件D) 关闭文件30、下列程序得主要功能就是#include "stdio、h"main(){FILE *fp;char ch;long count1=0,count2=0;fp=fopen("q1、c","r");while(!feof(fp)){ch=fgetc(fp);if(ch=='{'}count++;if(ch==')') count2++;}if(count1==count2) printf("YES!\n");else printf("ERROR!\n");fclose(fp);}A) 读文件中得字符'{'与'}' B) 统计文件中字符'{'与'}'得个数C) 输出“YES!”与“ERROE!”D) 检查C语言源程序中得花括号就是否配对31、假定名为“data1、dat”得二进制文件中依次存放了下列4个单精度实数: -12、1 12、2 -12、3 12、4则下面程序运行后得结果就是#include "stdio、h"main(){FILE *fp;float sum=0、0,x;int i;fp=fopen("data1、dat","rb")for(i=0;i<4;i++,i++){fread(&x,4,1,fp);sum+=x;}printf("%f\n",sum); fclose(fp);}A) 0、1 B) 0、0C) -12、3 D) 12、432、下面程序得主要功能就是:#include "stdio、h"main(){FILE *fp;float x[4]={-12、1,12、2,-12、3,12、4};int i;fp=fopen("data1、dat","wb")for(i=0;i<4;i++){fwrite(&x[i],4,1,fp);fclose(fp);}}A) 创建空文档data1、datB) 创建文本文件data1、datC) 将数组x中得四个实数写入文件data1、dat中D) 定义数组x33、有如下程序段:#include "stdio、h"main(){FILE *fp;int i;char s[10];fp=fopen("name、txt","w")for(i=0;i<40;i++){scanf("%s",s); fputc(s,fp);fputc("\n",fp);}fclose(fp);}下面说法正确得就是A) 将39个人得名字写入文本文件name、txt中B) 将40个人得名字写入文本文件name、txt中B) 文件name、txt中只能写入40个字符D) 文件name、txt必须存在34、有如下函数段:int (fpp)FILE *fpp;{ if(ferror(fpp))return(1);elsereturn(0);}则下列说法正确得就是A) 函数得功能就是测试fpp所指向得文件最后一次操作就是否正确B) 函数得功能就是返回1C) 函数得功能就是返回0D) 函数得功能就是测试fpp所指向得文件最近一次操作就是否正确35、函数fopen()得返回值不能就是A) NULL B) 0C) 1 D) 某个内存地址36、以只写方式打开一个二进制文件,应选择得文件操作方式就是A) "a+" B)"w+"C) "RB" D) "wb"37、存储整型数据-7865时,在二进制文件与文本文件中占用得字节数分别就是A) 2与2 B) 2与5C) 5与5 D) 5与238、在C中,二进制文件中得数据存放格式与整数-12345占用得字节数分别为A) ASCII码方式、4个字节B) ASCII码方式、2个字节C) 二进制数方式、2个字节D) 二进制数方式、4个字节答案:1、B2、B3、A4、C5、D6、B7、C8、C9、A 10、B 11、C 12、C 13、B 14、B 15、A 16、C 17、C 18、C 19、A 20、D 21、A 22、D 23、A 24、D 25、D 26、C 27、D 28、D 29、B 30、D 31、A 32、C 33、B 34、C 36、D 37、B 38、B。
第一单元C语言概述一、选择题1、C语言中主函数的个数为(A)个。
A)1 B)2C)无穷个D)任意个2、以下关于C语言描述错误的是(D)。
A)一个C程序总是从main函数开始执行TB)每个语句和数据声明的最后必须有一个分号TC)C语言的注释符是以“/*”开始并以“*/”结束的TD)一个C程序可以包含多个main函数F3、C 语言源程序文件后缀为(C )。
A).EXE B).OBJ C).C D).ASM4、C语言是由(C )组成的。
A)子程序B)主程序与子程序C)函数D)过程5、C语言属于(B )语言A)机器语言B)汇编语言C)高级语言D)面向对象语言第二单元C语言基础一、选择题1、C语言中普通整型变量int在内存中占(B )字节。
A)1 B)2 C)3 D)42、下列不是C语言基本数据类型的是(A )。
A)字符型B) 整型C) 浮点型D) 结构体3、有关自增、自减运算,以下只有(D )是正确的。
A) ---f B) ++78 C) a—b++ D) d++4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (A<B && !C>B)的值是(A )。
A)0 B)10 C)1 D)55、若有x=1,y=2,z=3,则表达式(x<y?x:y)= =z的值是(D )。
A)1 B)2 C)3 D)06、判断char型变量ch是否为大写字母的正确表达式是(C )。
A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)7、判断整型变量digit是否为数字的正确表达式是(C )。
A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’)C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch)8、一个C程序的执行是从(A )。
C语言选择题精选*1、A一个C程序的执行是从_____。
A)本程序的main函数开始,到main函数结束√B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束*2、C以下叙述正确的是:A)在C程序中,main函数必须位于程序的最前面×B)C程序的每行中只能写一条语句×C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误×*3、D以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面*4、CC语言规定:在一个源程序中,main函数的位置。
A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后*5、B一个C语言程序是由A)一个主程序和若干子程序组成 B)函数组成C)若干过程组成 D)若干子程序组成*6、A在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为A)char<int <1ong int<=float<doubleB)char=int<1ong int<=float<doubleC)char< int <1ong int=float=doubleD)char=int =1ong int<=float<double*7、C若x,i,j和k都是int型变量,则执行下面表达式后x的值为x=(i=4,j=16,k=32)A)4 B)16 C)32 D)52*8、B假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:A)7 B)8 C)6 D)2*9、A下列四组选项中,均不是C语言关键字的选项是A)define B)getc C)include D)whileIF char scanf gotype printf case pow*10、B下面四个选项中,均是C语言关键字的选项是A)auto B)switch C)signed D)ifenum typedef union structinclude continue scanf type*11、C下面四个选项中,均是不合法的用户标识符的选项是。
C语言文件选择题(答案在最后)1、标准库函数fgets(s,n,f)的功能是A) 从文件f中读取长度为n的字符串存入指针s所指的内存B) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C) 从文件f中读取n个字符串存入指针s所指的内存D) 从文件f中读取长度为n-1的字符串存入指针s所指的内存2、在C中,对文件的存取以________为单位A) 记录B) 字节C) 元素D) 簇3、下面的变量表示文件指针变量的是A) FILE *fp B) FILE fpC) FILER *fp D) file *fp4、在C中,下面对文件的叙述正确的是A) 用“r”方式打开的文件只能向文件写数据B) 用“R”方式也可以打开文件C) 用“w”方式打开的文件只能用于向文件写数据,且该文件可以不存在D) 用“a”方式可以打开不存在的文件5、在C中,当文件指针变fp已指向“文件结束”,则函数feof(fp)的值是A) .t. B) .F.C) 0 D) 16、在C中,系统自动定义了3个文件指针stdin,stdout和stderr分别指向终端输入、终端输出和标准出错输出,则函数fputc(ch,stdout)的功能是A) 从键盘输入一个字符给字符变量chB) 在屏幕上输出字符变量ch的值C) 将字符变量的值写入文件stdout中D) 将字符变量ch的值赋给stdout7、下面程序段的功能是#include <stdio.h>main(){char s1;s1=putc(getc(stdin),stdout);}A) 从键盘输入一个字符给字符变量s1B) 从键盘输入一个字符,然后再输出到屏幕C) 从键盘输入一个字符,然后在输出到屏幕的同时赋给变量s1D) 在屏幕上输出stdout的值8、在C中,常用如下方法打开一个文件if((fp=fopen("file1.c","r" ))==NULL){printf("cannot open this file \n");exit(0);}其中函数exit(0)的作用是精选文库A) 退出C环境B) 退出所在的复合语句C) 当文件不能正常打开时,关闭所有的文件,并终止正在调用的过程D) 当文件正常打开时,终止正在调用的过程9、执行如下程序段#include <stdio.h>FILE *fp;fp=fopen("file","w" );则磁盘上生成的文件的全名是A) file B) file.cC) file.dat D) file.txt10、在内存与磁盘频繁交换数据的情况下,对磁盘文件的读写最好使用的函数是A) fscanF,fprintf B) fread,fwriteC) getc,putc D) putchar,getchar11、在C中若按照数据的格式划分,文件可分为A) 程序文件和数据文件B) 磁盘文件和设备文件C) 二进制文件和文本文件D) 顺序文件和随机文件12、若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是A) EOF B) -1C) 非零值D) NULL13、在C中,缓冲文件系统是指A) 缓冲区是由用户自己申请的B) 缓冲区是由系统自动建立的D) 缓冲区是根据文件的大小决定的D) 缓冲区是根据内存的大小决定的14、在C中,文件型指针是A) 一种字符型的指针变量B) 一种结构型的指针变量C) 一种共用型的指针变量D) 一种枚举型的指针变量15、在C中,标准输出设备是指A) 键盘B) 鼠标C) 硬盘D) 光笔16、在C中,标准输出设备和标准错误输出设备是指显示器,它们对应的指针名分别为A) stdin,stdio B) STDOUT,STDERRC) stdout,stderr D) stderr,stdout17、在C中,所有的磁盘文件在操作前都必须打开,打开文件函数的调用格式为:fopen(文件名,文件操作方式);其中文件名是要打开的文件的全名,它可以是:精选文库A) 字符变量名、字符串常量、字符数组名B) 字符常量、字符串变量、指向字符串的指针变量C) 字符串常量、存放字符串的字符数组名、指向字符串的指针变量D) 字符数组名、文件的主名、字符串变量名18、在C中,打开文件的程序段中正确的是A) #include <stdio.h> B) #include <stdio.h>FILE *fp; FILE fp;fp=fopen("file1.c","WB"); fp=fopen("file1.c","w");C) #include <stdio.h> D) #include <string.h>FILE *fp; FILE *fp;fp=fopen("file1.c","w"); fp=fopen("file1.c","w");19、在C中,打开文件时,选用的文件操作方式为"wb",则下列说法中错误的是A) 要打开的文件必须存在B) 要打开的文件可以不存在C) 打开文件后可以读取数据D) 要打开的文件是二进制文件20、在C中,如果要打开C盘一级目录ccw下,名为“ccw.dat”的二进制文件用于读和追加写,则调用打开文件函数的格式为A) fopen("c:\ccw\ccw.dat","ab") B) fopen("c:\ccw.dat","ab+")C) fopen("c:ccw\ccw.dat","ab+") D) fopen("c:\ccw\ccw.dat","ab+")21、在C中,假设文件型指针fp已经指向可写的磁盘文件,并且正确执行了函数调用fputc('A',fp),则该次调用后函数返回的值是A) 字符'A'或整数65 B) 符号常量EOFC) 整数1 D) 整数-122、以下函数,一般情况下,功能相同的是A) fputc和putchar B) fwrite和fputcC) fread和fgetc D) putc和fputc23、设文件file1.c已存在,且有如下列程序段#include <stdio.h>FILE *fp1;fp1=fopen("file1.c","r");while(!feof(fp1)) putchar(getc(fp1));该程序段的功能是A) 将文件file1.c的内容输出到屏幕B) 将文件file1.c的内容输出到文件C) 将文件file1.c的第一个字符输出到屏幕D) 什么也不干24、设文件stu1.dat已存在,且有如下列程序段#include <stdio.h>FILE *fp1, *fp2;fp1=fopen("stud1.dat","r");精选文库fp2=fopen("stud2.dat","w");while(feof(fp1)) putc(getc(fp1),fp2);该程序段的功能是A) 将文件stud1.dat的内容复制到文件stud2.dat中B) 将文件stud2.dat的内容复制到文件stud1.dat中C) 屏幕输出stud1.dat的内容D) 什么也不干25、下面程序段定义了函数putint,该函数的功能是putint(int n,FILE *fp){char *s;int num;s=&n;for(num=0;num<2;num++)putc(s[num],fp);}A) 屏幕输出一整数B) 屏幕输出一字符C) 向文件写入一实数D) 向文件写入一整数26、如果要将存放在双精度型数组a[10]中的10个双精度型实数写入文件型指针fp1指向的文件中,正确的语句是A) for(i=0;i<80;i++) fputc(a[i],fp1);B) for(i=0;i<10;i++) fputc(&a[i],fp1);C) for(i=0;i<10;i++) fwrite(&a[i],8,1,fp1);D) fwrite(fp1,8,10,a);27、如果将文件型指针fp指向的文件内部指针置于文件尾,正确的语句是A) feof(fp); B) rewind(fp);C) fseek(fp,0L,0); D) fseek(fp,0L,2);28、如果文件型指针fp指向的文件刚刚执行了一次读操作,则关于表达式“ferror(fp)”的正确说法是A) 如果读操作发生错误,则返回1 B) 如果读操作发生错误,则返回0C) 如果读操作未发生错误,则返回1 D) 如果读操作未发生错误,则返回029、下列程序的主要功能是#include "stdio.h"main(){FILE *fp;long count=0;fp=fopen("q1.c","r");while(!feof(fp)){fgetc(fp);count++;}printf("count=%ld\n",count);fclose(fp);}A) 读文件中的字符B) 统计文件中的字符数并输出精选文库C) 打开文件D) 关闭文件30、下列程序的主要功能是#include "stdio.h"main(){FILE *fp;char ch;long count1=0,count2=0;fp=fopen("q1.c","r");while(!feof(fp)){ch=fgetc(fp);if(ch=='{'}count++;if(ch==')') count2++;}if(count1==count2) printf("YES!\n");else printf("ERROR!\n");fclose(fp);}A) 读文件中的字符'{'和'}' B) 统计文件中字符'{'和'}'的个数C) 输出“YES!”和“ERROE!”D) 检查C语言源程序中的花括号是否配对31、假定名为“data1.dat”的二进制文件中依次存放了下列4个单精度实数:-12.1 12.2 -12.3 12.4则下面程序运行后的结果是#include "stdio.h"main(){FILE *fp;float sum=0.0,x;int i;fp=fopen("data1.dat","rb")for(i=0;i<4;i++,i++){fread(&x,4,1,fp);sum+=x;}printf("%f\n",sum); fclose(fp);}A) 0.1 B) 0.0C) -12.3 D) 12.432、下面程序的主要功能是:#include "stdio.h"main(){FILE *fp;float x[4]={-12.1,12.2,-12.3,12.4};int i;fp=fopen("data1.dat","wb")for(i=0;i<4;i++){fwrite(&x[i],4,1,fp);fclose(fp);}}A) 创建空文档data1.dat精选文库B) 创建文本文件data1.datC) 将数组x中的四个实数写入文件data1.dat中D) 定义数组x33、有如下程序段:#include "stdio.h"main(){FILE *fp;int i;char s[10];fp=fopen("name.txt","w")for(i=0;i<40;i++){scanf("%s",s); fputc(s,fp);fputc("\n",fp);}fclose(fp);}下面说法正确的是A) 将39个人的名字写入文本文件name.txt中B) 将40个人的名字写入文本文件name.txt中B) 文件name.txt中只能写入40个字符D) 文件name.txt必须存在34、有如下函数段:int file_err(fpp)FILE *fpp;{ if(ferror(fpp))return(1);elsereturn(0);}则下列说法正确的是A) 函数的功能是测试fpp所指向的文件最后一次操作是否正确B) 函数的功能是返回1C) 函数的功能是返回0D) 函数的功能是测试fpp所指向的文件最近一次操作是否正确35、函数fopen()的返回值不能是A) NULL B) 0C) 1 D) 某个内存地址36、以只写方式打开一个二进制文件,应选择的文件操作方式是A) "a+" B)"w+"C) "RB" D) "wb"37、存储整型数据-7865时,在二进制文件和文本文件中占用的字节数分别是A) 2和2 B) 2和5C) 5和5 D) 5和2精选文库38、在C中,二进制文件中的数据存放格式和整数-12345占用的字节数分别为A) ASCII码方式、4个字节B) ASCII码方式、2个字节C) 二进制数方式、2个字节D) 二进制数方式、4个字节答案:1、B2、B3、A4、C5、D6、B7、C8、C9、A 10、B 11、C 12、C 13、B 14、B 15、A 16、C 17、C 18、C 19、A 20、D 21、A 22、D 23、A 24、D 25、D 26、C 27、D 28、D 29、B 30、D 31、A 32、C 33、B 34、C 36、D 37、B 38、B。