ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:25.35KB ,
资源ID:6248317      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6248317.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第1112章c语言复习试题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第1112章c语言复习试题.docx

1、第1112章c语言复习试题第十一章 位运算一、单项选择题1. 对于int a,要使表达式(11) | a)= =a的值为1; 则a可以是 A) 2 B) 6 C) 10 D) 2,6,10均可2. 以下叙述中不正确的是 A) 表达式a & =b 等价于a = a & bB) 表达式a | =b 等价于a = a | bC) 表达式a =b 等价于a = a bD) 表达式a ! =b 等价于a = a ! b3. 表达式 0x13 的值是 A) 0xffee B) 0xffff C) 0xffec D) 0xffcc4. 表达式-1 | 0377的值是 A)0177111 B) 0177711

2、 C) 0177771 D)01777775. 在位运算中,左移时,若左端移出的部分不包含有效二进制数1时,则操作数每左移一位,其结果相当于 A) 操作数乘以2 B) 操作数除以2 C) 操作数乘以4 D) 操作数除以4 二看程序,写结果1. 以下程序运行后的输出结果是_main()unsigned char a, b, c; a=0x3; b=a|0x8; c=b1;printf(%d %dn,b,c);2. 以下程序的输出结果是 main() char x=040;printf(%on,x1);3. 以下程序的输出结果是 main ( ) int x=0.5; char z=a; prin

3、tf(%dn, (x&1)&(zz) ); 4. 以下程序的输出结果是 main ( ) int a=1,b=0; switch(a b) case 1: a+=1;b+=a+;case 2: a+; b=a+;case 3: a1;b+=a+;printf(%dn,b);5. 以下程序的输出结果是 main ( ) unsigned a=0361, b, c; int n=5;b= a n; printf (%o, c); c|=b; printf (%o, c);第十一章 位运算参考答案一、单项选择题1D 2. D3. C4. D5. A二、看程序,写结果111 222100 304351

4、04000, 7, 104007第十二章 文件一、单选题(18题)1、若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是 A. EOF B. 0 C. 非零值 D. NULL2、在C程序中,可把整型数以二进制形式存放到文件中的函数是 A. fprintf函数 B. fread函数 C. fwrite函数 D. fputc函数 3、若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是 A. fopen(A:userabc.txt,r) B. fopen(A:userabc.txt,r+)C. fopen(A:usera

5、bc.txt,rb) D. fopen(A:userabc.txt,w)4、以下叙述中错误的是_A. 二进制文件打开后可以先读文件的末尾,而顺序文件不可以 B. 在程序结束时,应当用fclose函数关闭已打开的文件 C. 利用fread函数从二进制文件中读数据,可以用数组名给数组中所有元素读入数据 D. 不可以用FILE定义指向二进制文件的文件指针5、C语言中标准输入文件stdin是指 A. 键盘 B. 显示器 C. 软盘 D. 硬盘6、C语言中标准输出文件stdout是指 A. 键盘 B. 显示器 C. 软盘 D. 硬盘7、C语言中对文件操作的一般步骤是 A. 打开文件操作文件关闭文件 B.

6、 打开文件关闭文件操作文件 C. 打开文件读文件写文件 D. 读文件写文件关闭文件8、以下可作为函数fopen中第一个参数的正确格式是 A. cusertext.txt B. cusertext.txtC. c:usertext.txt D. c:usertext.txt9、若执行fopen函数时发生错误,则函数的返回值是 A. 地址值 B. 0 C. 1 D. EOF10、若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则使用文件方式字符串应是 A. ab+ B. wb+ C. rb+ D. ab11、若以“a+”方式打开一个已存在的文件,则以下叙述正确的是 A. 文件打开

7、时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作B. 文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作添加和读操作C. 文件打开时,原有文件内容被删除,位置指针移到文件末尾,可作添加和读操作D. 文件打开时,原有文件内容被删除,位置指针移到文件开头,可作添加和读操作12、已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是 A. 一个整型变量,代表要读入的数据项总数B. 一个文件指针,指向要读的文件C. 一个指针,指向要读入数据的存放地址D. 一个存储区,存放要读的数据项13、以下fread函数的调用形式中,参数类型正

8、确的是 A. fread (unsigned size, unsigned n, char *buffer, FILE *fp) B. fread (char *buffer , unsigned size, unsigned n, FILE *fp)C. fread (unsigned size, unsigned n, FILE *fp, char *buffer)D. fread (FILE *fp, unsigned size, unsigned n, char *buffer)14、函数调用语句:fseek (fp, 10L, 2); 的含义是 A. 将文件位置指针移到距离文件头10

9、个字节位置处B. 将文件位置指针从文件尾处向后退10个字节C. 将文件位置指针从当前位置向后移10个字节D. 将文件位置指针从当前位置向前移10个字节15、函数rewind的作用是 A. 将文件位置指针重新返回文件的开始B. 将文件位置指针指向文件中所要求的特定位置C. 将文件位置指针指向文件的尾部D. 将文件位置指针自动移向下一个字符位置16、函数ftell的作用是 A. 移动流式文件的位置指针 B. 初始化流式文件的位置指针C. 得到流式文件的位置指针 D. 以上答案均不正确17、设有数组定义语句:int a10; 若要将这些元素值保存在磁盘中,以下错误的形式是 。 A. fwrite (

10、 a, sizeof (int ), 10 , fp); B. fwrite ( a, 2, 10, fp); C. fwrite ( a, 2*10 , 1 , fp); D. fwrite ( a, sizeof (int ), 1, fp); 18、fprintf函数的正确调用形式是 A. fprintf (文件指针, 格式字符串, 输出表列)B. fprintf (文件指针, 格式字符串, 输入表列)C. fprintf (格式字符串, 输出表列, 文件指针)D. fprintf (格式字符串, 输入表列, 文件指针)二、读程序,写运行结果(5题 一般题:提高题=2:1)一般题1、下面

11、的程序执行后,文件test中的内容是 #include void fun (char *fname., char *st) FILE *myf; int i; myf=fopen(fname, w ); for(i=0; istrlen(st); i+) fputc(sti, myf); fclose(myf);main() fun (test, new world); fun (test, hello,); 2、有如下程序,若文本文件f1.txt中原有内容为:good,则运行程序后文件f1.txt中的内容为 #include main ( ) FILE *fp1; fp1=fopen (f1

12、.txt,w); fprintf(fp1,abc); fclose(fp1); 3、下面的程序执行后,文件f2.txt中的内容是 #include void main ( ). FILE *fp; char *s1=”first”, *s2=”second”;if(fp=fopen(f2.txt,wb+)=NULL) printf(cannot open the filen);exit(0);.fwrite( s2, 6, 1, fp);fseek( fp,0L, SEEK_SET);fwrite (s1, 5, 1, fp);fclose (fp); 4、下面的程序的运行结果是 #inclu

13、de void main() FILE *fp; int i, n;if(fp=fopen(f3.txt,w+)=NULL) printf(cannot open the filen); exit(0);. for( i=1; i=10; i+) fprintf ( fp, “%3d”, i);for( i=0; i5; i+) fseek (fp, i*6L,SEEK_SET); fscanf ( fp, “%3d”, &n); printf (“%3d”, n); printf (“n”);fclose (fp);提高题5、假设以下程序执行前文件gg.txt的内容为:sample,程序运行

14、后的结果是 #include void main() FILE *fp; long position; fp=fopen(“gg.txt”, “w”); position=ftell(fp); printf(“position=%ldn”, position); fprintf(fp, “sample data”); position=ftell(fp); printf(“position=%ldn”, position); fclose(fp);三、完善程序(10题 一般题:提高题=2:1)一般题1、下面程序把从终端读入的文本(用作为文本结束标志)输出到一个名为bi.dat的新文件中。 #i

15、nclude stdio.h FILE *fp; main ( ) char ch;if( (fp=fopen ( “bi.dat”, (1) ) )= = NULL) exit(0);while( (ch=getchar( ) !=) fputc (ch, (2 ) );fclose(fp);2、以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文件中形成文本文件,并将字符的个数写到文件尾部。 #include main( ) FILE *fp; char ch, fname32; int count=0; printf(Input the filename : )

16、;scanf(%s, fname); if(fp=fopen( (1) , w+)=NULL) printf(Cant open file:%s n, fname); exit(0); printf(Enter data:n); while(ch=getchar()!=#) fputc(ch, fp); count+; fprintf( (2) , n%dn, count); fclose(fp); 3、以下程序段打开文件后,先利用 fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度。 FILE *myf; ling f1;myf

17、= (1) (test.t,rb);fseek (myf, 0, (2) ); f1=ftell (myf);fclose (myf);printf (%dn,f1);4、以下程序用来统计文件中字符个数。 #include stdio.h main() FILE *fp; long num=0L; if(fp=fopen(fname.dat,r)=NULL) pirntf(Open errorn); exit(0); while( (1) ) fgetc(fp); num+; printf(num=%1dn, (2) ); fclose(fp); 5、以下程序求的三个近似值。当精度分别为:10

18、-6、10-8、10-10时,输出对应的s和i的值。#include float f(float e, int *n) float s, m, t;t=1.0/2/1; s=t; m=1; while( te) m+; t=t/2/m; s+=t; *n=m; return s;main() float s1, s2, s3; FILE *fp; int n1, n2, n3; s1=f(1e-6,&n1); s2=f(1e-8,&n2); s3=f(1e-10,&n3); fp=fopen(“z6.out”,”w”); fprintf(fp,”s1=%f i=%dn”, (1) , n1);

19、 fprintf(fp,”s2=%f i=%dn”, (2) , n2);fprintf(fp,”s3=%f i=%dn”, (3), n3); fclose(fp);6、以下程序的功能是从键盘输入一个字符串,将该字符串中的小写字母转换为大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。(1) main ( ) FILE *fp; char str100; int i=0; if(fp=fopen(“test.txt”, (2) )=NULL) printf(“cant open this file.n”); exit(0); gets(str);while(stri)

20、 if(stri=a&stri=z) stri= (3) ; fputc(stri,fp); i+;fclose(fp);fp=fopen(“test.txt”, (4) );fgets(str, 100, fp); printf(“%sn”,str);fclose(fp); 7、本程序从一个文件from.txt中读出内容,除去其中的数字后写入另一文件to.txt。 #include main ( ) FILE *fr, *to; int cc;if (fr=fopen ( (1) , “r”) = NULL) printf( Can not open file- form.txt ); re

21、turn 1; if ( (to=fopen( (2) , “w”) = NULL _) printf( Can not open file- to.txt ); return 1; while ( ( cc = (3) ) != EOF ) if ( cc9 ) (4) ; fclose(fr), fclose(to); 提高题8、以下程序从一个二进制文件中读入结构体数据,并把结构体数据显示在屏幕上。#include struct rec int num; float total;void main() FILE *f; f=fopen (bin.dat,rb); eout(f); fclo

22、se(f);void reout( (1) ) struct rec r; while (!feof(f) fread(&r., (2) , 1, f); printf(%d.%fn, (3) ); 9、以下程序的功能是用“追加”的形式打开f4.txt查看文件指针的位置;然后向文件中写入data再察看文件指针的位置。其中ftell(*FILE)返回long型的文件指针位置。程序执行前gg.txt内容为:aaaaaa。 #include void main(void) (1) long p; fp=fopen( (2) ); p=ftell ( fp ); printf(p=%ldn, p);

23、fprintf( fp, (3) ); p=ftell (fp); printf(p=%ldn, p); fclose(fp); 10、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。函数SortDat()的功能是按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,函数WriteDat()是把结果输

24、出到文件OUT2.DAT中。 #include #include #include #include #include#define MAX 100typedef struct char dm5; /*产品代码*/ char mc11; /*产品名称*/ int dj; /*单价*/ int sl; /*数量*/ long je; /*金额*/ PRO;PRO sellMAX;void ReadDat();void WriteDat();void SortDat() int i, j; PRO swap; for(i=0; iMAX-1; i+) for(j=i+1; jsellj.je )

25、swap=selli; selli=sellj; sellj=swap; if(strcmp(selli.dm,sellj.dm)0&selli.je=sellj.je) swap=selli; selli=sellj; sellj=swap; void main() ReadDat ( ); SortDat ( ); WriteDat ;void ReadDat ( ) FILE *fp; char str80,ch11; int i;fp=fopen( (2) , r);for(i=0; i100; i+)fscanf (fp, “%s%s%d%d%ldn”, selli.dm, sell

26、i.mc, &selli.dj, &selli.sl, &selli.je);fclose(fp);void WriteDat(void) FILE *fp; int i;fp=fopen( (3) , w);for(i=0;i100;i+)fprintf(fp,%s %s %4d %5d %101dn, selli.dm,selli.mc,selli.dj,selli.sl,selli.je);fclose(fp);四、编程题 (5题 一般题:提高题=2:1)一般题1、编写一个程序,从键盘输入一个字符串,将大写字母全部转换成小写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以!

27、结束。 2、编写一个程序,将从键盘上读入的10个整数以二进制方式写入名为bi.dat的新文件中。3、编写一个程序,从键盘输入3个学生的数据(包括学生学号、姓名、年龄、通信地址),将它们存入文件student;然后再从文件中读出数据,显示在屏幕上。4、编写程序,有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,然后将原有的数据和计算出的平均分数存放在磁盘文件stud中。提高题5、编写程序,读入磁盘上语言源程序文件test8.c,删去程序中的注释后显示。第十二章 文件参考答案一、单选题(18题)1.C 2.C 3.B 4.A 5.A 6.B 7.A 8.D 9.B 10.B11.A 12.C 13.B 14.B 15.A 16.C 17.D 18.A二、读程序,写运行结果(5题 一般题:提高题=2:1)一般题1. hello 2. abc3.firstd 4. 1 3 5 7 9提高题5. position=0 position=11三、完善程序(10题 一般题:提高题=2:1)一般题1.(1) “w” (2) fp2. (1) fname (2) fp3. (1) fopen (2) SEEK_END4. (1) !feof (fp) (2) num5. (1) s1 (2) s2

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1