學(xué)習(xí)啦 > 知識大全 > 知識百科 > 公共基礎(chǔ)知識 > 二級c語言公共知識點(2)

二級c語言公共知識點(2)

時間: 謝君787 分享

二級c語言公共知識點

  9.知識點:fopen()函數(shù)和fclose()函數(shù)

  (1)fopen函數(shù)

  l 調(diào)用方式:fp=fopen(“file1”,”r”);

  l 使用文件方式:如”r”只讀打開一個文本文;”w”只寫打開或建立一個文本文件;”a”追加打開一個文本文件,在文件末尾添加數(shù)據(jù)。

  例1:(2011-03-40)設(shè)fp已定義,執(zhí)行語句fp=fopen("file","w");后,以下針對文本文件file操作敘述的選項中正確的是(B)

  A)寫操作結(jié)束后可以從頭開始讀 B)只能寫不能讀

  C)可以在原有內(nèi)容后追加寫 D)可以隨意讀和寫

  【解析】文件打開方式,‘w’只能向該文件寫入,如打開的文件不存在則以指定的文件名建立文件,如存在,則先刪除再重建一個文件。故選B。

  l 若不能實現(xiàn)打開任務(wù),fopen函數(shù)將帶回一個空指針值NULL。

  例1:(2009-04-13)以下程序用來判斷指定文件是否能正常打開,請?zhí)羁铡?/p>

  #include <stdio.h>

  main()

  {FILE *fp;

  if(((fp=fopen(“test.txt”,”r”))== NULL ))

  printf(“未能打開文件!\n);

  else

  printf(“文件打開成功!\n”);

  }

  【解析】考查文件打開操作。打開文件使用fopen函數(shù),正常打開時返回指向該文件的文件指針,否則返回值為NULL;題目中當if條件表達式成立時,輸出“未能打開文件!”,故fopen函數(shù)返回值為NULL。正確答案:NULL。

  (2)fclose()函數(shù)

  l 調(diào)用方式:fclose(fp);

  l 順利完成關(guān)閉操作,返回值為0,否則返回EOF(-1)。

  10.知識點:fputc()函數(shù)和fgetc()函數(shù)

  l fgetc()函數(shù)的調(diào)用形式:ch=fgetc(fp);從打開的文件fp中讀取一個字符。

  l fputc()函數(shù)的調(diào)用形式:fputc(ch,fp);將字符輸出到fp所指向的文件中去。

  11.知識點:fread()函數(shù)和fwrite()函數(shù)

  l fread()函數(shù)的調(diào)用形式:fread(buffer,size,count,fp);其中buffer是一個指針,size是每個數(shù)據(jù)塊的字節(jié)數(shù),count是每次讀入數(shù)據(jù)塊的個數(shù),fp是文件指針。

  例1:structstud

  {char name[10];

  int num;

  }stu[40];

  假設(shè)學(xué)生的數(shù)據(jù)已存放在磁盤文件中,如何讀入40個學(xué)生的數(shù)據(jù)?

  for(i=0;i<40;i++)

  fread( &stu[i] , sizeof(struct stur) ,1,fp);

  l fwrite()函數(shù)的調(diào)用形式:fread(buffer,size,count,fp);其中buffer是輸出數(shù)據(jù)的首地址。

  12.知識點:fscanf()函數(shù)和fprintf()函數(shù)

  l fscanf(文件指針,格式控制字符串,輸入列表);

  l fprintf(文件指針,格式控制字符串,輸出列表);

  例1:(2011-09-40)有以下程序

  #include<stdio.h>

  main()

  {FILE *fp;

  int k,n,i,a[6]={1,2,3,4,5,6};

  fp=fopen(“d2.dat”,”w”);

  for(i=0;i<6;i++)fprintf(fp,”%d\n”,a[i]);

  fclose(fp);

  fp=fopen(“d2.dat”,”r”);

  for(i=0;i<3;i++) fscanf(fp,”%d%d”,&k,&n);

  fclose(fp);

  printf(“%d,%d\n”,k,n);

  }程序運行后的輸出結(jié)果是 (C)

  A.1,2 B.3,4 C.5,6 D.123,456

  【解析】第一次fp=fopen(“d2.dat”,”w”);以寫方式打開,通過循環(huán)將a數(shù)組全部寫入文件中,并且每行寫一個;第二次fp=fopen(“d2.dat”,”r”); 以寫方式打開,然后通過循環(huán)每次讀取兩個數(shù)字給k和n,第三次k和n分別得到5和6

  例1:(2009-04-40)有以下程序

  #include <stdio.h>

  main()

  {FILE *f;

  f=fopen(“filea.txt”,”w”);

  fprintf(f,”abc”);

  fclose(f);

  }若文本文件filea.txt中原有內(nèi)容為:hello,則運行以上程序后,文件filea.txt的內(nèi)容為(C)

  A)helloabc B)abclo C)abc D)abchello

  【解析】程序中定義了一個文件指針,然后用fopen()函數(shù),以寫的方式打開文件“filea.txt”,并讓指針f指向它,執(zhí)著調(diào)用fprintf()函數(shù),將“abc”寫到指針所指向的文件中。由于filea.txt里原來的內(nèi)容”hello”被”abc”覆蓋掉,所以文件“filea.txt”里,最后的內(nèi)容為”abc”,本題答案選C。

  13.知識點:fgets()函數(shù)和fputs()函數(shù)

  l fgets(str,n,fp);從fp指向的文件輸入n-1個字符,在最后加一個’

二級c語言公共知識點(2)

時間: 謝君787 分享

二級c語言公共知識點

  9.知識點:fopen()函數(shù)和fclose()函數(shù)

  (1)fopen函數(shù)

  l 調(diào)用方式:fp=fopen(“file1”,”r”);

  l 使用文件方式:如”r”只讀打開一個文本文;”w”只寫打開或建立一個文本文件;”a”追加打開一個文本文件,在文件末尾添加數(shù)據(jù)。

  例1:(2011-03-40)設(shè)fp已定義,執(zhí)行語句fp=fopen("file","w");后,以下針對文本文件file操作敘述的選項中正確的是(B)

  A)寫操作結(jié)束后可以從頭開始讀 B)只能寫不能讀

  C)可以在原有內(nèi)容后追加寫 D)可以隨意讀和寫

  【解析】文件打開方式,‘w’只能向該文件寫入,如打開的文件不存在則以指定的文件名建立文件,如存在,則先刪除再重建一個文件。故選B。

  l 若不能實現(xiàn)打開任務(wù),fopen函數(shù)將帶回一個空指針值NULL。

  例1:(2009-04-13)以下程序用來判斷指定文件是否能正常打開,請?zhí)羁铡?/p>

  #include <stdio.h>

  main()

  {FILE *fp;

  if(((fp=fopen(“test.txt”,”r”))== NULL ))

  printf(“未能打開文件!\n);

  else

  printf(“文件打開成功!\n”);

  }

  【解析】考查文件打開操作。打開文件使用fopen函數(shù),正常打開時返回指向該文件的文件指針,否則返回值為NULL;題目中當if條件表達式成立時,輸出“未能打開文件!”,故fopen函數(shù)返回值為NULL。正確答案:NULL。

  (2)fclose()函數(shù)

  l 調(diào)用方式:fclose(fp);

  l 順利完成關(guān)閉操作,返回值為0,否則返回EOF(-1)。

  10.知識點:fputc()函數(shù)和fgetc()函數(shù)

  l fgetc()函數(shù)的調(diào)用形式:ch=fgetc(fp);從打開的文件fp中讀取一個字符。

  l fputc()函數(shù)的調(diào)用形式:fputc(ch,fp);將字符輸出到fp所指向的文件中去。

  11.知識點:fread()函數(shù)和fwrite()函數(shù)

  l fread()函數(shù)的調(diào)用形式:fread(buffer,size,count,fp);其中buffer是一個指針,size是每個數(shù)據(jù)塊的字節(jié)數(shù),count是每次讀入數(shù)據(jù)塊的個數(shù),fp是文件指針。

  例1:structstud

  {char name[10];

  int num;

  }stu[40];

  假設(shè)學(xué)生的數(shù)據(jù)已存放在磁盤文件中,如何讀入40個學(xué)生的數(shù)據(jù)?

  for(i=0;i<40;i++)

  fread( &stu[i] , sizeof(struct stur) ,1,fp);

  l fwrite()函數(shù)的調(diào)用形式:fread(buffer,size,count,fp);其中buffer是輸出數(shù)據(jù)的首地址。

  12.知識點:fscanf()函數(shù)和fprintf()函數(shù)

  l fscanf(文件指針,格式控制字符串,輸入列表);

  l fprintf(文件指針,格式控制字符串,輸出列表);

  例1:(2011-09-40)有以下程序

  #include<stdio.h>

  main()

  {FILE *fp;

  int k,n,i,a[6]={1,2,3,4,5,6};

  fp=fopen(“d2.dat”,”w”);

  for(i=0;i<6;i++)fprintf(fp,”%d\n”,a[i]);

  fclose(fp);

  fp=fopen(“d2.dat”,”r”);

  for(i=0;i<3;i++) fscanf(fp,”%d%d”,&k,&n);

  fclose(fp);

  printf(“%d,%d\n”,k,n);

  }程序運行后的輸出結(jié)果是 (C)

  A.1,2 B.3,4 C.5,6 D.123,456

  【解析】第一次fp=fopen(“d2.dat”,”w”);以寫方式打開,通過循環(huán)將a數(shù)組全部寫入文件中,并且每行寫一個;第二次fp=fopen(“d2.dat”,”r”); 以寫方式打開,然后通過循環(huán)每次讀取兩個數(shù)字給k和n,第三次k和n分別得到5和6

  例1:(2009-04-40)有以下程序

  #include <stdio.h>

  main()

  {FILE *f;

  f=fopen(“filea.txt”,”w”);

  fprintf(f,”abc”);

  fclose(f);

  }若文本文件filea.txt中原有內(nèi)容為:hello,則運行以上程序后,文件filea.txt的內(nèi)容為(C)

  A)helloabc B)abclo C)abc D)abchello

  【解析】程序中定義了一個文件指針,然后用fopen()函數(shù),以寫的方式打開文件“filea.txt”,并讓指針f指向它,執(zhí)著調(diào)用fprintf()函數(shù),將“abc”寫到指針所指向的文件中。由于filea.txt里原來的內(nèi)容”hello”被”abc”覆蓋掉,所以文件“filea.txt”里,最后的內(nèi)容為”abc”,本題答案選C。

  13.知識點:fgets()函數(shù)和fputs()函數(shù)

  l fgets(str,n,fp);從fp指向的文件輸入n-1個字符,在最后加一個’\0’,得到字符串共有n個字符,把它們放到字符數(shù)組str中。

  l fputs(“China”,fp);把字符串”China”輸出到fp指向的文件,字符串末尾’\0’不輸出。

  (2010-03-40)有以下程序

  #include <stdio.h>

  main()

  {FILE *fp;char str[10];

  fp=fopen(“myfile.dat”,”w”);

  fputs(“abc”,fp);fclose(fp);

  fp=fopen(“myfile,data”,”a+”);

  fprintf(fp,”%d”,28);

  rewind(fp);

  fscanf(fp,”%s”,str);puts(str);

  fclose(fp);

  }程序運行后的輸出結(jié)果是(C)

  A)abc B)28c C)abc28 D)因類型不一致而出錯

  【解析】以“a+”方式打開一個已存在的文件,原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可作添加和讀操作。fputs(“abc”,fp);把字符串”abc”輸出到fp指向的文件。

  14.知識點:rewind()函數(shù)

  l 調(diào)用形式:rewind(fp);

  l 功能:使位置指針重新返回文件的開頭。

  15.知識點:fseek()函數(shù)

  l 功能:改變文件的位置指針

  l 調(diào)用形式:fseek(fp,100L,0);將位置指針移到離文件頭100個字節(jié)處。

  l 文件首 SEEK_SET 0 文件當前位置 SEEK_CUR 1

  文件末尾 SEEK_END 2

  16.知識點:ftell()函數(shù)

  l ftell(fp);

  l 功能:得到流式文件中的當前位置。

  17.知識點:feof()函數(shù)

  l feof(fp);

  l 判斷文件是否結(jié)束,結(jié)束,返回值為1,否則為0。

  例1(2011-03-15)以下程序運行后的輸出結(jié)果是 【15】 。

  main()

  { FILE *fp; int x[6]={1,2,3,4,5,6},i;

  fp=fopen("test.dat","wb");

  fwrite(x,sizeof(int),3,fp);

  rewind(fp);

  fread(x,sizeof(int),3,fp);

  for(i=0;i<6;i++)printf("%d",x[i]);

  printf("\n");

  fclose(fp);

  }

  答案:123456

  【解析】fwrite(x,sizeof(int),3,fp);將數(shù)組內(nèi)的前三個元素即1,2,3輸出到文件中去,rewind(fp);文件回到開頭,fread(x,sizeof(int),3,fp);將文件的內(nèi)容讀出并存到x數(shù)組的前三個元素中,把1,2,3寫到數(shù)組的前三個元素中去,所有數(shù)組中的元素值均沒變。

看過“二級c語言公共知識點“的人還看了:

1.2016年二級c語言公共基礎(chǔ)知識試題及答案

2.計算機二級公共基礎(chǔ)知識試題及答案

3.二級c公共基礎(chǔ)知識試題及答案

4.全國計算機等級考試二級c公共基礎(chǔ)知識

5.c語言二級公共基礎(chǔ)知識

’,得到字符串共有n個字符,把它們放到字符數(shù)組str中。

  l fputs(“China”,fp);把字符串”China”輸出到fp指向的文件,字符串末尾’

二級c語言公共知識點(2)

時間: 謝君787 分享

二級c語言公共知識點

  9.知識點:fopen()函數(shù)和fclose()函數(shù)

  (1)fopen函數(shù)

  l 調(diào)用方式:fp=fopen(“file1”,”r”);

  l 使用文件方式:如”r”只讀打開一個文本文;”w”只寫打開或建立一個文本文件;”a”追加打開一個文本文件,在文件末尾添加數(shù)據(jù)。

  例1:(2011-03-40)設(shè)fp已定義,執(zhí)行語句fp=fopen("file","w");后,以下針對文本文件file操作敘述的選項中正確的是(B)

  A)寫操作結(jié)束后可以從頭開始讀 B)只能寫不能讀

  C)可以在原有內(nèi)容后追加寫 D)可以隨意讀和寫

  【解析】文件打開方式,‘w’只能向該文件寫入,如打開的文件不存在則以指定的文件名建立文件,如存在,則先刪除再重建一個文件。故選B。

  l 若不能實現(xiàn)打開任務(wù),fopen函數(shù)將帶回一個空指針值NULL。

  例1:(2009-04-13)以下程序用來判斷指定文件是否能正常打開,請?zhí)羁铡?/p>

  #include <stdio.h>

  main()

  {FILE *fp;

  if(((fp=fopen(“test.txt”,”r”))== NULL ))

  printf(“未能打開文件!\n);

  else

  printf(“文件打開成功!\n”);

  }

  【解析】考查文件打開操作。打開文件使用fopen函數(shù),正常打開時返回指向該文件的文件指針,否則返回值為NULL;題目中當if條件表達式成立時,輸出“未能打開文件!”,故fopen函數(shù)返回值為NULL。正確答案:NULL。

  (2)fclose()函數(shù)

  l 調(diào)用方式:fclose(fp);

  l 順利完成關(guān)閉操作,返回值為0,否則返回EOF(-1)。

  10.知識點:fputc()函數(shù)和fgetc()函數(shù)

  l fgetc()函數(shù)的調(diào)用形式:ch=fgetc(fp);從打開的文件fp中讀取一個字符。

  l fputc()函數(shù)的調(diào)用形式:fputc(ch,fp);將字符輸出到fp所指向的文件中去。

  11.知識點:fread()函數(shù)和fwrite()函數(shù)

  l fread()函數(shù)的調(diào)用形式:fread(buffer,size,count,fp);其中buffer是一個指針,size是每個數(shù)據(jù)塊的字節(jié)數(shù),count是每次讀入數(shù)據(jù)塊的個數(shù),fp是文件指針。

  例1:structstud

  {char name[10];

  int num;

  }stu[40];

  假設(shè)學(xué)生的數(shù)據(jù)已存放在磁盤文件中,如何讀入40個學(xué)生的數(shù)據(jù)?

  for(i=0;i<40;i++)

  fread( &stu[i] , sizeof(struct stur) ,1,fp);

  l fwrite()函數(shù)的調(diào)用形式:fread(buffer,size,count,fp);其中buffer是輸出數(shù)據(jù)的首地址。

  12.知識點:fscanf()函數(shù)和fprintf()函數(shù)

  l fscanf(文件指針,格式控制字符串,輸入列表);

  l fprintf(文件指針,格式控制字符串,輸出列表);

  例1:(2011-09-40)有以下程序

  #include<stdio.h>

  main()

  {FILE *fp;

  int k,n,i,a[6]={1,2,3,4,5,6};

  fp=fopen(“d2.dat”,”w”);

  for(i=0;i<6;i++)fprintf(fp,”%d\n”,a[i]);

  fclose(fp);

  fp=fopen(“d2.dat”,”r”);

  for(i=0;i<3;i++) fscanf(fp,”%d%d”,&k,&n);

  fclose(fp);

  printf(“%d,%d\n”,k,n);

  }程序運行后的輸出結(jié)果是 (C)

  A.1,2 B.3,4 C.5,6 D.123,456

  【解析】第一次fp=fopen(“d2.dat”,”w”);以寫方式打開,通過循環(huán)將a數(shù)組全部寫入文件中,并且每行寫一個;第二次fp=fopen(“d2.dat”,”r”); 以寫方式打開,然后通過循環(huán)每次讀取兩個數(shù)字給k和n,第三次k和n分別得到5和6

  例1:(2009-04-40)有以下程序

  #include <stdio.h>

  main()

  {FILE *f;

  f=fopen(“filea.txt”,”w”);

  fprintf(f,”abc”);

  fclose(f);

  }若文本文件filea.txt中原有內(nèi)容為:hello,則運行以上程序后,文件filea.txt的內(nèi)容為(C)

  A)helloabc B)abclo C)abc D)abchello

  【解析】程序中定義了一個文件指針,然后用fopen()函數(shù),以寫的方式打開文件“filea.txt”,并讓指針f指向它,執(zhí)著調(diào)用fprintf()函數(shù),將“abc”寫到指針所指向的文件中。由于filea.txt里原來的內(nèi)容”hello”被”abc”覆蓋掉,所以文件“filea.txt”里,最后的內(nèi)容為”abc”,本題答案選C。

  13.知識點:fgets()函數(shù)和fputs()函數(shù)

  l fgets(str,n,fp);從fp指向的文件輸入n-1個字符,在最后加一個’\0’,得到字符串共有n個字符,把它們放到字符數(shù)組str中。

  l fputs(“China”,fp);把字符串”China”輸出到fp指向的文件,字符串末尾’\0’不輸出。

  (2010-03-40)有以下程序

  #include <stdio.h>

  main()

  {FILE *fp;char str[10];

  fp=fopen(“myfile.dat”,”w”);

  fputs(“abc”,fp);fclose(fp);

  fp=fopen(“myfile,data”,”a+”);

  fprintf(fp,”%d”,28);

  rewind(fp);

  fscanf(fp,”%s”,str);puts(str);

  fclose(fp);

  }程序運行后的輸出結(jié)果是(C)

  A)abc B)28c C)abc28 D)因類型不一致而出錯

  【解析】以“a+”方式打開一個已存在的文件,原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可作添加和讀操作。fputs(“abc”,fp);把字符串”abc”輸出到fp指向的文件。

  14.知識點:rewind()函數(shù)

  l 調(diào)用形式:rewind(fp);

  l 功能:使位置指針重新返回文件的開頭。

  15.知識點:fseek()函數(shù)

  l 功能:改變文件的位置指針

  l 調(diào)用形式:fseek(fp,100L,0);將位置指針移到離文件頭100個字節(jié)處。

  l 文件首 SEEK_SET 0 文件當前位置 SEEK_CUR 1

  文件末尾 SEEK_END 2

  16.知識點:ftell()函數(shù)

  l ftell(fp);

  l 功能:得到流式文件中的當前位置。

  17.知識點:feof()函數(shù)

  l feof(fp);

  l 判斷文件是否結(jié)束,結(jié)束,返回值為1,否則為0。

  例1(2011-03-15)以下程序運行后的輸出結(jié)果是 【15】 。

  main()

  { FILE *fp; int x[6]={1,2,3,4,5,6},i;

  fp=fopen("test.dat","wb");

  fwrite(x,sizeof(int),3,fp);

  rewind(fp);

  fread(x,sizeof(int),3,fp);

  for(i=0;i<6;i++)printf("%d",x[i]);

  printf("\n");

  fclose(fp);

  }

  答案:123456

  【解析】fwrite(x,sizeof(int),3,fp);將數(shù)組內(nèi)的前三個元素即1,2,3輸出到文件中去,rewind(fp);文件回到開頭,fread(x,sizeof(int),3,fp);將文件的內(nèi)容讀出并存到x數(shù)組的前三個元素中,把1,2,3寫到數(shù)組的前三個元素中去,所有數(shù)組中的元素值均沒變。

看過“二級c語言公共知識點“的人還看了:

1.2016年二級c語言公共基礎(chǔ)知識試題及答案

2.計算機二級公共基礎(chǔ)知識試題及答案

3.二級c公共基礎(chǔ)知識試題及答案

4.全國計算機等級考試二級c公共基礎(chǔ)知識

5.c語言二級公共基礎(chǔ)知識

’不輸出。

  (2010-03-40)有以下程序

  #include <stdio.h>

  main()

  {FILE *fp;char str[10];

  fp=fopen(“myfile.dat”,”w”);

  fputs(“abc”,fp);fclose(fp);

  fp=fopen(“myfile,data”,”a+”);

  fprintf(fp,”%d”,28);

  rewind(fp);

  fscanf(fp,”%s”,str);puts(str);

  fclose(fp);

  }程序運行后的輸出結(jié)果是(C)

  A)abc B)28c C)abc28 D)因類型不一致而出錯

  【解析】以“a+”方式打開一個已存在的文件,原有文件內(nèi)容不被刪除,位置指針移到文件末尾,可作添加和讀操作。fputs(“abc”,fp);把字符串”abc”輸出到fp指向的文件。

  14.知識點:rewind()函數(shù)

  l 調(diào)用形式:rewind(fp);

  l 功能:使位置指針重新返回文件的開頭。

  15.知識點:fseek()函數(shù)

  l 功能:改變文件的位置指針

  l 調(diào)用形式:fseek(fp,100L,0);將位置指針移到離文件頭100個字節(jié)處。

  l 文件首 SEEK_SET 0 文件當前位置 SEEK_CUR 1

  文件末尾 SEEK_END 2

  16.知識點:ftell()函數(shù)

  l ftell(fp);

  l 功能:得到流式文件中的當前位置。

  17.知識點:feof()函數(shù)

  l feof(fp);

  l 判斷文件是否結(jié)束,結(jié)束,返回值為1,否則為0。

  例1(2011-03-15)以下程序運行后的輸出結(jié)果是 【15】 。

  main()

  { FILE *fp; int x[6]={1,2,3,4,5,6},i;

  fp=fopen("test.dat","wb");

  fwrite(x,sizeof(int),3,fp);

  rewind(fp);

  fread(x,sizeof(int),3,fp);

  for(i=0;i<6;i++)printf("%d",x[i]);

  printf("\n");

  fclose(fp);

  }

  答案:123456

  【解析】fwrite(x,sizeof(int),3,fp);將數(shù)組內(nèi)的前三個元素即1,2,3輸出到文件中去,rewind(fp);文件回到開頭,fread(x,sizeof(int),3,fp);將文件的內(nèi)容讀出并存到x數(shù)組的前三個元素中,把1,2,3寫到數(shù)組的前三個元素中去,所有數(shù)組中的元素值均沒變。
看過“二級c語言公共知識點“的人還看了:

1.2016年二級c語言公共基礎(chǔ)知識試題及答案

2.計算機二級公共基礎(chǔ)知識試題及答案

3.二級c公共基礎(chǔ)知識試題及答案

4.全國計算機等級考試二級c公共基礎(chǔ)知識

5.c語言二級公共基礎(chǔ)知識

1215586