c语言把文件看作一个字符的序列,C语言程序设计题目及解答14.doc

本文涉及C语言的文件操作,包括文件的读写、打开与关闭。题目涵盖了判断题和选择题,讨论了缓冲文件系统、文本文件处理、文件读写模式以及文件内容的修改。同时,介绍了如何在C语言中判断回文字符串并将其写入文件。
摘要由CSDN通过智能技术生成

C语言程序设计题目及解答14

一、判断题?(10分)

1. 在使用缓冲文件系统时,程序中的数据都先送于是到缓冲区。2分

2. C语言只能处理文本文件。2分

3. C语言把文件看作是一个字符的序列。2分

4. fopen("file1","r")方式打开的文件可进行修改。2分

5. 在d:盘根目录下建一个新的tx1.txt 文本文件,其打开方式应为p=fopen("d:\tx1.txt","a");2分

二、选择题?(6分)

1.有以下程序:

#include

int main()

{

FILE *fp; int i=20,j=30,k,n;

fp=fopen("d1.dat","w");

fprintf(fp,"%d",i);

fprintf(fp,"%d",j);

fclose(fp);

fp=fopen("d1.dat","r");

fscanf(fp,"%d%d",&k,&n);

printf("%d %d",k,n);

fclose(fp);

return 0;}

程序运行后的输出结果是( )。???[A] 2分

A. 20 30?????B. 20 50?????C. 30 50?????D. 30 20

2.【程序说明】输入正整数m和n,将大于整数m且紧靠m的n个素数存入到新建文件sushu.txt中。空(1)、(2)处应填什么:???[C] 2分

#include

#include

int f(int x)

{ int k;

for(k=2;k

if(x%k==0) return 0;

return 1;

}

void main()

{ int m,n,count;

FILE *fp;

if(__(1)__) {

printf("不能打开文件--> sushu.txt\n" );

exit(0);

}

printf("输入m n:\n");

scanf("%d%d",&m,&n);

for(count=0;count

if(f(m)==1){

___(2)___; count++;

}

fclose (fp);

}

A. (fp=fopen("sushu.txt","w"))==NULL和fputc(m,fp)B. (fp=fopen("sushu.txt","r"))==NULL和fprintf(fp,"%d ",m)C. (fp=fopen("sushu.txt","w"))==NULL和fprintf(fp,"%d ",m)D. fp=fopen("sushu.txt","w")==NULL和printf("%d ",m)3.【程序说明】函数int fun(char *s),判断输入的字符串是否“回文”。若是回文,函数返回1,并将回文写入D:\data.dat文件中;否则函数返回0,输出”NO”。(注:字符串顺读和倒读都一样,则是回文。如:“axa”是回文,“1234”不是回文。)(1)(2)处应填入()?[D] 2分

【程序】

#include "stdio.h"

int fun( char *s )

{

char *p, *q;

int n=0;

p=s;

for(; *s!='\0' ;s++,n++);

q=p+n-1;

for(; p<=q; q--,p++ )

if (*p!=*q) break;

if ( p

else return 1 ;

}

void main()

{char s[80];

FILE *fp;

fp= __ (1)__;

gets(s);

if(fun(s)==1) __(2) __ ;

else printf("NO");

fclose(fp);

}

A. fopen("d:\\data.dat","w")和fscanf(fp,"%s",s)B. fopen("d:\\data.dat","r")和fscanf(fp,"%s",s)C. fopen("d:\\data.dat","r")和fprintf(fp,"%s\n",s)D. fopen("d:\\data.dat","w")和fprintf(fp,"%s\n",s)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值