问题 单项选择题

有以下程序(提示:程序中fseek(fp-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件末尾向前移2*sizeof(ing)字节)
#include <stdio.h>
main()
FILE *fp; int i, a[4]=1,2,3,4,b;
fp=fopen("data.dat","wb");
for(i=0;i<4;i++) fwrite(&a[i],sizeof(int),1,fp);
fclose(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.2

B.1

C.4

D.3

答案

参考答案:D

解析: 函数fopen(const char *filename,constchar*mode)的功能是以mode指定的模式打开filename指定的磁盘文件:fclose(FILE*fp)的功能是关闭文件指针fp指向的文件; 函数 fscanf(FILE*fp,const chat’*format1,address,--])的功能是根据format中的格式从中指向的文件中读取数据,并存入到相应的address指向的变量中.函数 fprintf(FILE*fp,const char*format[,argument--])的功能是把argument列表中的表达式值写到fp所指向的文件中;函数fwfite(void*ptr,int size,int n,FILE*fp)的功能是把ptr指向的缓冲区中的size×n个字节写到文件指针fp指向的文件中。本题中首先定义了一个文件指针fp,然后通过函数fopen以可"wb"的方式打开文件"data.daft",直接通过一个for循环,每循环一次调用函数fwrite将数组中的元素a[i]的值写进 fp所指的文件中,该循环共循环4次,循环完后fp所指文件的内容为123,然后通过fclose函数关闭fp所指文件.接着通过函数fopen以"rb”的方式打开文件"data.dat",通过fseek函数让指针中从文件末尾向前移动2个int型大小字节的,然后通过函数fread从中所指的文件中读取一个int型大小的数据到变量b中,故此时b的值为3,因此最后输出的,b的值为3,所以,4个选项中选项D符合题意。

单项选择题

2013年1-9月,苏南、苏中、苏北地区生产总值分别为26273.1亿元、8426.8亿元、9784.8亿元,同比分别增长10.2%、11.9%、12.2%;规模以上工业增加值为11762.9亿元、4900.9亿元、4829.0亿元,同比分别增长9.2%、13.1%、14.5%,苏北增幅比全省平均高3.0个百分点,沿海地铁规模以上工业增加值3652.9亿元,同比增长14.2%,增幅比全省平均高2.7个百分点。 

2013年1-9月,苏南、苏中、苏北工业用电量分别为1683.1亿千瓦时、400.7亿千瓦时、539.6亿千瓦时,同比分别增长5.4%、5.3%、10.8%,苏北增幅比全省平均高4.8个百分点;沿海地区工业用电量384.4亿千瓦时,同比增长13.8%,增幅比全省平均高7.8个百分点。 

2013年1-9月,苏南、苏中、苏北完成固定资产投资分别为14299.4亿元、4988.8亿元、6222.7亿元,同比分别增长19.0%、20.1%、22.4%,苏北增幅比全省平均高2.4个百分点;沿海地区地区完成固定资产投资4787.0亿元,同比增长21.4%,增幅比全省平均高1.4个百分点。 

2013年1-9月,苏南、苏中进口总额分别为3503.2亿美元、357.8亿美元,同比增长0.4%、4.8%;苏北进出口总额191.4亿美元,同比下降10.8%,增速比全省平均低11.0个百分点,沿海地区进出口总额306.8亿美元,增速比全省平均高8.7个百分点。

2013年1-9月,江苏省规模以上工业增加值同比增加量多的地区是()。

A.苏南地区 

B.苏中地区 

C.苏北地区 

D.沿海地区

多项选择题