网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
单选题
有以下程序:#include main(){ FILE *fp; int i,a[6]={1,2,3,4,5,6},k; fp=fopen(data.dat,w+b); fwrite(&a[0],sizeof(int),1,fp); for(i = 1;i < 6;i++) { fseek(fp,0L,0); fread(&k,sizeof(int),1,fp); fseek(fp,0L,0); a[i]+=k; fwrite(&a[i],sizeof(int),1,fp); } rewind(fp); fread(&k,sizeof(int),1,fp); fclose(fp); printf(%d,k);}程序的运行结果是( )。
A
21
B
6
C
123456
D
11
参考答案
参考解析
解析:
“w+”表示打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则建立该文件;加入b字符后“w+b”用来告诉函数库打开的文件为二进制文件。程序执行过程为:以读/写方式打开一个新的二进制文件data.dat,从地址为a的数据块开始,一次输出一个整型字节的数据,只输出一次,将1写入文件中;执行for循环,将文件指针移到文件开头,将文件第一个数值读出赋给k,再将指针移动到开头,向文件内输入a[i]+k=3。for循环实现将a数组中元素累加,结果21存放在文件中。调用rewind将文件指针移动到开头,调用fread函数从文件中读出一个整型数据赋给k=21,调用fclose函数关闭文件,打印k值,答案选择A选项。
“w+”表示打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失;若文件不存在则建立该文件;加入b字符后“w+b”用来告诉函数库打开的文件为二进制文件。程序执行过程为:以读/写方式打开一个新的二进制文件data.dat,从地址为a的数据块开始,一次输出一个整型字节的数据,只输出一次,将1写入文件中;执行for循环,将文件指针移到文件开头,将文件第一个数值读出赋给k,再将指针移动到开头,向文件内输入a[i]+k=3。for循环实现将a数组中元素累加,结果21存放在文件中。调用rewind将文件指针移动到开头,调用fread函数从文件中读出一个整型数据赋给k=21,调用fclose函数关闭文件,打印k值,答案选择A选项。
更多 “单选题有以下程序:#include main(){ FILE *fp; int i,a[6]={1,2,3,4,5,6},k; fp=fopen(data.dat,w+b); fwrite(a[0],sizeof(int),1,fp); for(i = 1;i 6;i++) { fseek(fp,0L,0); fread(k,sizeof(int),1,fp); fseek(fp,0L,0); a[i]+=k; fwrite(a[i],sizeof(int),1,fp); } rewind(fp); fread(k,sizeof(int),1,fp); fclose(fp); printf(%d,k);}程序的运行结果是( )。A 21B 6C 123456D 11” 相关考题
考题
单选题下列语句中,正确的是( )。A
char *s; s = Olympic;B
char s[7]; s= Olympic;C
char *s; s= {Olympic};D
char s[7]; s= {Olympic};
考题
单选题已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是( )。A
c=('A'+c)%26-'a'B
c=c+32C
c=c-'A'+'a'D
c=(c-'A')%26+'a'
考题
单选题若有以下函数首部int fun(double x[10],int*n)则下面针对此函数的函数声明语句中正确的是( )。A
int fun(double*,int*);B
int fun(double,int);C
int fun(double *x,int n);D
int fun(double x,int*n);
考题
单选题有以下程序:#include main(){ int i,a; for(i=0;i=10;i++)a=i; printf(%d,%d,i,a); }程序的运行结果是( )。A
11,10B
10,10C
10,11D
11,11
考题
单选题有以下程序
#include
main()
{
charb,c;
inti;
b='a';
c='A';
for(i=0;i6;i++)
{
if(i%2)putchar(i+b);
elseputchar(i+c);
}
printf();
}
程序运行后的输出结果是( )。A
aBcDeFB
ABCDEFC
AbCdEfD
abcdef
考题
单选题C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述中正确的是( )。A
预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义B
用户标识符可以由字母和数字任意顺序组成C
在标识符中大写字母和小写字母被认为是相同的字符D
关键字可用作用户标识符,但失去原有含义
考题
单选题设有如下定义: typedefint*INTEGER; INTEGERp,*q; 则()是正确的叙述。A
p是int型变量B
q是基类型为int的指针变量C
p是基类型为int的指针变量D
程序中可用INTEGER代替int类型名
考题
单选题设已定义:inta[][4]={0,0};则下列描述错误的是()A
数组a的每个元素都可得到初值0B
二维数组a的第一维大小为1C
数组a的行数为1D
只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
考题
单选题有以下程序:#include int disp(char *str){ while(*str) putchar(*str++); putchar('#'); return *str;}main(){ printf(%d,disp(C##123));}程序运行后的输出结果是( )。A
C##123#0B
C##1230C
C##0D
C##123#\0
考题
单选题有以下程序: #include voidfun(intx,inty,int*z) { *z=y-x; } main() { inta,b,c; fun(10,5,a); fun(7,a,b); fun(a,b,c); printf("%d,%d,%d",a,b,c); } 程序运行后的输出结果是( )。A
5,2,3B
-5,-12,-7C
-5,-12,-17D
5,-2,-7
考题
单选题设有定义:int a=1,b=2,c=3;以下语句中执行效果与其他三个不同的是( )。A
if(ab)c=a,a=b,b=c;B
if(ab){c=a,a=b,b=c}C
if(ab)c=a;a=b;b=c;D
if(ab){c=a;a=b;b=c}
考题
单选题下列关于C语言函数的描述中,正确的是()A
函数的定义可以嵌套,但函数的调用不可以嵌套B
函数的定义不可以嵌套,但函数的调用可以嵌套C
函数的定义和函数的调用都可以嵌套D
函数的定义和函数的调用都不可以嵌套
考题
单选题有以下程序:
#include
main()
{
charb,c;
inti;
b='a';
c='A';
for(i=0;i6;i++)
{
if(i%2)putchar(i+b);
elseputchar(i+c);
}
printf();
}
程序运行后的输出结果是( )。A
ABCDEFB
AbCdEfC
aBcDeFD
abcdef
考题
单选题下列叙述中正确的是( )。A
存储空间不连续的所有链表一定是非线性结构B
结点中有多个指针域的所有链表一定是非线性结构C
能顺序存储的数据结构一定是线性结构D
带链的栈与队列是线性结构
考题
单选题若有定义语句:char str1[] = "string", str2[8], *str3, str4[10] = "string";库函数strcpy的功能是复制字符串,以下选项中错误的函数调用是( )。A
strcpy(str3, "HELLO!");B
strcpy(str2, "HELLO!");C
strcpy(str1, "HELLO!");D
strcpy(str4, "HELLO!");
热门标签
最新试卷