c语言计算机二级考试选择题如图?

Python011

c语言计算机二级考试选择题如图?,第1张

全国计算机二级考试试题题库(附答案)

下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题

卡相应位置上涂黑,答在试卷上不得分。

(1) 应用软件是指

A) 所有能够使用的软件 B) 能被各应用单位共同使用的某种软件

C) 所有微机上都应使用的基本软件 D) 专门为某一应用目的而编制的软件

(2) 下列述叙中错误的是

A) 计算机要经常使用不要长期闲置不用

B) 为了延长计算机的寿命,应避免频繁开关计算机

C) 在计算机附近应避免磁场干扰

D) 计算机用几小时后,应关机一会儿再用

(3) 下列字符中,ASCII码值最小的是

A) A B) a C) Z D) x

(4) 用晶体管作为电子器件制成的计算机属于

A) 第一代 B) 第二代 C) 第三代 D) 第四代

(5) 下列各不同进制的四个无符号数中,最小的数是

A) ()2 B) (37)8 C) (75)10 D) (2A)16

(6) 二进制数转换成十六进制数是

A) B) C) D)

(7) 下列各无符号十进制数中,能用八位二进制表示的是

A) 296 B) 333 C) 256 D) 199

(8) 计算机的软件系统可分类为

A) 程序与数据 B) 系统软件与应用软件

D) 操作系统与语言处理程序 D) 程序、数据与文档

(9) 486机中的CPU同时能处理的二进制位数为

A) 8 B) 16 C) 32 D) 64

(10) 在使用计算机的过程中,需要重新启动DOS,则要

A) 按Ctrl+Break键 B) 按^C键 C) 按Ctrl+Alt+Del键 D) 按^H键

(11) 现要从软盘启动DOS(软盘中已存有DOS系统),设有如下一些操作:①打开计算机

电源②将该软盘插入A驱动器③关好A驱动器门。则冷启动的操作顺序应为

A) ①→②→③ B) ③→②→① C) ②→①→③ D) ②→③→①

(12) 设当前盘中某一文件路径为\A\C\B\,当前目录为\A。下列命令中错误的是

A) CD.. B) RD \A\C\B

C) TYPE \A\C\B\ D) TYPE C\B\

(13) 设当前盘中的根目录下有一子目录AB,在子目录AB下有一文件。现要查看文件

的内容,应使用命令

A) TYPE \AB B) TYPE \AB\

C) TYPE \ D) DIR \AB\

(14) 自动批处理文件必须放在

A) C盘根目录中 B) A盘根目录中

C) 启动盘的任一个目录中 D) 启动盘的根目录中

(15) 设当前盘当前目录为C:\USER\XY\P,且当前盘当前目录为空,则下列命令中能正

确执行的是

A) RD C:\USER\XY\P B) RD USER\XY\P

C) MD \USER\XY\P\USER D) MD \USER\XY\P\X\Y

(16) 下列DOS命令中,合法的是

A) DISKCOMP B) TYPE >>

C) COMP A: B: D) COMP A: A:

(17) 设当前盘为C盘,所用的所有软盘已格式化,且容量相同,则下列DOS命令中错

误的是

A) DISKCOPY A: A: B) COPY A:*.* C) COPY *.* D) COPY A:*.* C:

(18) 下列DOS命令中错误的是

A) TYPE >PRN B) TYPE PRN

C) COPY *.TXT PRN D) COPY CON PRN

(19) 下列四组DOS命令中,互相等价的一组是

A) COPY A:*.* B:与DISKCOPY A: B:

B) COPY +与TYPE >>

C) COPY + 与COPY +

D) TYPE *.FOR>CON与COPY *.FOR CON

(20) 设C盘目录结构如下:

且C盘根目录下文件的内容为

CD FORTRAN

CD \TC

如果在A驱动器中插入一张根目录中只有扩展名为.C的若干文件(即A盘中无DOS系统

文件)的软盘片,则由C盘启动DOS系统后,第一次键入下列命令中,正确的是

A) COPY A:\*.C B) COPY A:\*.C TC

C) COPY A:\*.C FORTRAN D) CD USER

(21) C语言提供的合法的数据类型关键字是

A) Double B) short C) integer D) Char

(22) 在C语言中,合法的长整型常数是

A) 0L B) 4962710 C) D)

(23) 表达式:10!=9的值是

A) true B) 非零值 C) 0 D) 1

(24) 合法的C语言中,合法的长整型常数是

A) '\t' B) "A" C) 65 D) A

(25) 若有说明和语句:

int a=5

a++

此处表达式a++的值是

A) 7 B) 6 C) 5 D) 4

(26) 在下列选项中,不正确的赋值语句是

A) ++tB) n1=(n2=(n3=0))C) k=i==jD) a=b+c=1

(27) 若有说明:int i,j=7, *p=&i,则与i=j等价的语句是

A) I= *PB) *P=*&JC) i=&jD) i=* *p

(28) 不能把字符串:Hello!赋给数组b的语句是

A) char b[10]={'H','e','l','l','o','!'}

B) char b[10]b="Hello!"

C) char b[10]strcpy(b,"Hello!")

D) char b[10]="Hello!"

(29) 若有以下说明:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}

char c='a',d,g

则数值为4的表达式是

A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]

(30) 若有以下说明:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a

则数值为6的表达式是

A) *p+6 B) *(p+6) C) *p+=5 D) p+5

(31) 若有以下说明:

int w[3][4]o={{0,1},{2,4},{5,8}}

int(*p)[4]=w

则数值为4的表达式是

A) *w[1]+1 B) p++,*(p+1) C) w[2][2] D) p[1][1]

(32) 若程序中有下面的说明和定义

struct abc

{int xchar y}

struct abc s1,s2

则会发生的情况是

A) 编译进错 B) 程序将顺利编译`连接`执行

C) 能顺利通过编译`连接`但不能执行 D) 能顺利通过编译`但连接出错

(33) 能正确表示a≥10或a≤0的关系表达式是

A)a>=10 or a<=0 B)a>=10│a<=0

C)a>=10││a<=0 D)a>=10 ││a<=0

(34) 下面程序的输出是

main()

{ int x=3,y=6,a=0

while(x++!=(y+=o1))

{ a+o=1

if(y

#include

main()

{ char ss[10]="12345"

strcat(ss,"6789")

gets(ss)printf("%s\n",ss)

}

A) ABC B) ABC9 C) 123456ABC D) ABC456789

(35) 下面程序的输出是

main()

{ char *a=""

int v1=0,v2=0,v3=0,v4=0,k

for(k=0s[k]k++)

switch(s[k])

{ default:v4++

case '1': v1++

case '3': v3++

case '2': v2++}

printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4)}

A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1

C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8

(36) 下面程序的输出是

main()

{int k=11printf("k=%d,k=%o,k=%x\n",k,k,k)}

A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=b

(37) 若有以下程序段,w和k都是整型变量:

w=k

LB: if(w==0) go to LE

w--

printf("*")

goto LB

LE: ┆

则不能与上面程序段等价的循环语句是

A)for(w=kw!=0w--) printf("*")B)for(w=kw--w)printf("*")

C)w=kD)w=k

while(w--!=0)printf("*")w++do{ w--printf("*")}while(w!=0)

(38) 若有说明,double *p,a则能通过scanf语句正确给输入项读入数据的程序段是

A)*p=&ascanf("%lf",p)B)p=(double *)malloc(8)scanf("%f",p)

C) p=&ascanf("%lf",a)D)p=&ascanf("%le",p)

(39) 当执行下面程序且输入:ABC时,输出的结果是

#include

#include

main()

{ char ss[10]="12345"

gets(ss)printf("%s\n",ss)}

A) ABC B) ABC9 C) 123456ABC D) ABC456789

(40) 若有以下的说明和语句:

main()

{int t[3][2], *pt[3],k

fpr(k=ok<3k++)pt[k]=t[k]

}

则以一选项中能正确表示t数组元素地址的表达式是

A) &t[3][2] B) *pt[0] C) *(pt+1) D) &pt[2]

(41) 下面程序输出数组中的最大值,由s指针指向该元素.

main()

{ int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s

flr(p=a, s=ap-a<10p++)

if(---?---)s=p

printf("The max:%d",*s):

}

则在if语句中的判断表达式应该是

A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s

(42) 下面程序的输出是

#include

main()

{ char*a="abcdefgh"

fun(a)puts(a)}

fun (char * s)

{ int x=0,ychar c

for(y=strlen(s)-1x

A)abcdefgh B)hgfdecba C)dcbahgfe D)hgfedcba

(43) 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)))在此函数调用语句

中实参的个数是

A)3 B)4 C)5 D)6

(44) 下面程序的输出是

main()

{ int t=1fun(fun(t))}

fun(int h)

{ static int a[3]={1,2,3}

int k

for(k=0k<3k++) a[k]+=a[k]-h

for(k=1k<3k++) printf("%d",a[k])

printf("\n")return(a[h])}

A)1,2,3, B)1,3,5, C) 1,3,5, D) 1,3,5,

1,5,9, 1,3,5, 0,4,8, -1,3,7,

(45) C语言中,函数的隐含存储类别是

A)auto B)static C)extern D)无存储类别

(46) 下面程序的输出是

int w=3

main()

{ int w=10printf("%d\n",fun(5)*w)}

c语言总复习资料

一 c语言的基本组成单位——函数。1.main()2库函数;3.自定义函数。Abc()

二 函数的组成:1.函数的首部,函数的第一行语句(包括函数的返回值类型、函数名、函数参数类型及函数参数名)。()不可省略,例如:void main() 2.函数体,包括函数的声明部分(声明在该程序中所要用到的函数)、定义部分(定义函数可能要用到的变量)、执行部分(用于实现函数的功能)。

三 函数必不可少的分号。

四 输入输出所使用的函数:scanf、getchar、gets、printf、putchar、puts等。

五 注释:不能嵌套。习题94页18题。

六 大小写区分:printf与Printf之不一样。

七 C语言上机过程:编辑(.c)——>编译(.obj)——>连接(.exe)——>运行得结果。

八 C程序执行是从main()函数开始,到main函数结束处结束。

九 进制转换:着重掌握十、八、十六进制及相互转换,原补码(位运算中要用到)。

十 用户自定义标识符:1.字母、数字、下划线。2第一个字母不能为数字。3.不能与c语言所定义的关键字相同,但可以与预定义标识符同。

十一 常量:

1整形常量 十进制、八进制(以0开头)、十六进制(以0x开头)后两种无负数。

2实型常量 2.78(小数点两边至少有一边要有数字)5.48e-3(e前必有数字,e后必为整数)

3字符型常量 a.一般字符’a’ b.转义字符:一般转义字符、八\十六进制转义字符。’\n’,’\\’,’\t’,’\”’,’\64’,’\82’,’\x42’,’\xff’,’a12’.

4字符串常量 “a” vs ’a’

十二 变量 1.必须要先定义后使用;2变量三要素 变量类型 变量名 变量值

例1:下面不是c语言整形常量的是 A. 02 B. 0 C.038D.0xAL

例2:合法的实型常量是A. 5E2.0 B.E-3 C.2E0 D 1.3E

例3:若有语句char a;并要将字符a赋值给变量a,则下列正确的赋值表达式是

A.a=”a” B.a=’a’C.a=”97”D.a=’97’

例4:以下合法的定义是:

A. float _a=1.1e-1 B. double b=1+5e2.5 C.long do=0xfdaL D.float 2_and=1-e-3

十三.求余原则:1.两边都要为整数;

2.先取绝对值求余,余数与被除数符号相同。特别要注意’%’与’/’ 的区别。 -10/3 10/-3

十四. 赋值运算符及表达式:运算顺序自右致左,左边必须要是一个变量(能够存放东西)。

a=b=c=10(定义处不能这样)x+y=10x+1=10

十五. 逗号表达式:a=(b=5,b+10)b=(a=4*9,a*2),a-3要考虑优先级。

十六. 类型转换 char a=’a’int b=32float c=32.5double s,d=32s=a+b+c+d

十七.强制类型转换 float b=3.5int aa=(int)b

例5:设有int x=11;则表达式(x++*1/3)的值是 A 3 B 4

例6:设有int a=1,b=1,c=1a=a+++b+++c最终a、b、c的值是:a=4b=2c=1

例7:有以下定义和语句组:float x=1;int y=2;y+=++x*++x则最终y的值为:11

例8:int x=2;printf(“%d”,((x=4*5,x*5),x+25))45

例9:若变量已正确定义并赋值,以下符合c语言语法的表达式是

A.a:=b+1 B.a=b=c+2 C. int 18.5%3D.a=a+7=c+b

十八 输入输出格式ch=getchar()putchar(ch) scanf(“%d%f%c”,&a,&b,&c)printf(“%d,%d”,a,b)

例10:有以下程序,输出的结果是

main(){int achar c=10float f=100.0double x

a=f/=c*=(x=6.5)printf(“%d %d %3.1f %3.1f\n”,a,c,f,x)}1 65 1.5 6.5 (习题集2.13)

十九.逻辑运算及其短路现象(对于逻辑与和逻辑或而言)

二十.关系运算符及表达式a>b>c 优先级要清楚(即关>逻辑)

二十一.条件运算符及表达式a>b?a:c>d:c:d等价与a>b?a:(c>d?c:d) 设a=1,b=2,c=3,d=4 4

例11:以下程序的输出是 A. d=0 c=50 B.d=0 c=2 C.d=1 c=50D.d=1 c=2

main(){int a=3,b=4,c=2,d d=a<!b&&(c=50)>b printf(“d=%d c=%d”,d,s)}

二十二.if语句 例12:以下程序输出结果是

int i=1,j=1,k=2 if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k)2,2,2

if-else语句注意:if后只能管一个语句

main(){int a=2,b=-1,c=2if(a<b) if(b<0) c=0

else c++printf(“%d\n”,c)}

二十三.switch 语句 以下程序的输出是: main(){int x=1,a=0,b=0

switch(x) {case 0:b++case 1:a++case 2:a++b++} printf(“a=%d,b=%d\n”,a,b)} a=2,b=1

二十四.while vs do-while

main()

{int i=0,n=0

while(n!=0){i++++i} printf(“%d”,i)

}

main()

{int i=0,n=0

do {i++++i} while(n!=0) printf(“%d”,i)

}

二十五 break vs continue

注意:break语句只能出现在循环体和switch语句中而continue只出现在循体环中。

main()

{int sum,isum=0 for(i=10i>0i--) {if(i>5) continuesum=sum+i} printf("%d\n",sum)}

例13:以下程序的输出是: main(){int a,ya=5y=0a=7 y=7

do{ a+=2y+=aprintf(“a=%d y=%d\n”,a,y)if(y>10) break }while(a==7)}a=9 y=16

例14:以下程序的输出是: main(){int k=4,n=0 for(n<k){n++if(n%3!=0) continuek--;}

printf(“%d,%d\n”,k,n)} 3,3

二十六.一维数组的定义、赋初值、引用。注意:int a[10]={0}中括号例常量表达式 ,下标从0开始 例15:若有定义float y[5]={1,2,3}则下列描述正确的是:( )

A. y并不代表数组元素 B.定义此数组时不指定数组的宽度,定义效果一样

C.数组含有三个元素 D.a[3]的值是3

例16:以下程序的输出是:main(){int z,y[3]={2,3,4}z=y[y[0]]printf(“%d”,z)} 4

例17:以下程序的输出是:main(){int p[7]={11,13,14,15,16,17,18},i=0,k=0

while(i<7&&p[i]%2) {k=k+p[i]i++}printf(“%d\n”,k)} 24

例18:以下程序的输出是:

main(){int n[5]={0,0,0},i,k=2for(i=0i<ki++) n[i]=n[i]+1printf(“%d\n”,n[k])} 0

二十七.二维数组的定义、赋初值、引用

例19:main(){int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0for(i=1i<3i++)

for(j=0j<=ij++) s+=a[i][j]printf(“%d\n”,s)} 18

例20:以下不能正确定义二维数组的是:

A int a[2][2]={{1},{2}}B int a[][2]={1,2,3}C int a[2][2]={{1},2,3}D int a[2][]={{1,2},{3,4}}

例21:若a是一个m行n列的数组,则a[i][j]是数组的第( )个元素

A i*m+jB i*m+j+1 C i*n+j D i*n+j+1

二十八 字符数组的定义、赋初值、引用

1.char arr[10]={‘h’,’e’,’l’,’l’,’o’} 2.char arr[]={‘h’,’e’,’l’,’l’,’o’,’\0’}

3.char arr[10]={“hello”} 4.char arr[10]=”hello”

二十九 字符串输入输出 若char str[10]=”hello”,arr[10]=”me”

scanf(“%s”,str) printf(“%s”,str) gets(str) puts(str)

strcpy(arr,str) strcmp(str,arr) strlen(str) strcat(str,arr)

例22:以下程序的输出是:

main(){char st[20]=”hel\0lo\t”printf(“%d%d\n”,strlen(st),sizeof(st))} 3,20

例23:以下程序的输出是:char s[]=”\\141\141abc\t”printf(“%d\n”,strlen(s))9

三十 指针与字符串 char *aa=”hello”char a[10]a=”hello”

例24:以下选项中正确的语句组是:( ) A.char s[8]s={“Beijing”}

B.char *ss={“Beijing”} C.char s[8]s=”Beijing”D.char *ss=”Beijing”

三十一 有参函数的声明、定义、与调用。

float add(float x,float y)/*函数的声明*/

mai()

{int a=3.5,b=4.0,d

d=add(a,b)/*函数的调用*/

}

float add(float x,float y)/*函数的定义*/

{return x+y}

三十二 函数的嵌套调用与递归调用

double fun1(double a) {return a*=a}

double fun2(double x,double y)

{ double a=0,b=0

a=fun1(x)b=fun1(y)

return (int)(a+b)}

main()

{double ww=fun2(1.1,2.0)

printf("%f\n",w)} /*嵌套调用*/

long fib(int n)

{if(n>2) return (fib(n-1)+fib(n-2))

else return 2}

main(){printf(“%d\n”,fib(3))}/*递归调用*/

三十三 函数中的值传递与地址传递(不管是传递什么,实质都是传值,只不过一个是传递地址值而已)

func(int a){a=100}func(int a[]) {a[0]=100}

main(){int a=10func(a)printf(“%d”,a)} main(){int a[1]a[0]=10func(a)printf(“%d”,a[0])}

三十四 局部变量与全局变量:局部变量的存储类型分为自动型(auto)、寄存器型(register)、静态类型(static),其中auto型和register型的变量的存储空间是动态的,程序一结束,其值就消失。而static类型的变量,程序结束后其值仍然存在。全局变量是静态的变量。

int a=5

fun(int b) {static int a=10a+=b++printf(“%d”,a)}

main(){int c=20fun(c)a+=c++printf(“%d\n”,a)} 3025 如果在main中再加一个fun(c)呢?305025

三十五 宏命令与文件包含

#define N 10

#define S(x) x*x/*只要把这三个define语句放到一个文件hong.h里面*/

#define f(x) (x*x)/*再在主函数前加一个#include “hong.h”,程序运行结果一样*/

main(){int i1,i2 i1=1000/S(N) i2=1000/f(N) printf(“%d %d”,i1,i2)}1000 10

三十六 指针变量的定义、初始化、运算

main()

{int n=5,*p=&nprintf(“the address is :%d\n”,p)

printf(“the data is:%d\n”,*p)

printf(“&*p is:%d\n”,&*p)

printf(“*&nis:%d\n”,*&n)}

例24:设有定义int n=0,*p=&n则正确的赋值语句是:A. p=1B.*p=&nA选项不行,因p中应存放一个地址值对于B选项,因p已经指向了n这个存储单元,实际上相当于n=5 。

三十七 指针与一维数组

int a[10],*p/*a与p是不同的,a是数组名是常量,不能执行a++a+=1的操作,p则可以*/

p=&a[0]p=a/*这两个语句等价,都是让p指针指向这个数组*/

执行上述语句后:p[i]等价于a[i]*(p+i)等价于*(a+i)

三十八 指针与二维数组:下面给出了引用二维数组第i行第j列元素的不同方式

1. a[i][j]

2. 因a[i]表示第i行的首地址,a[i]+j表示第i行第j列的地址,所以*(a[i]+j)表示第i行第j列的值。

3. 又因a[i]可以写成*(a+i),所以2中的表达式又可以写成*(*(a+i)+j)。

4. 把1中的a[i]变成*(a+i),后面的不变,故又可写成(*(a+i))[j]。

三十九 通过行指针引用二维数组

int a[4][4],(*p)[4]p=a

四十 通过指针数组引用二维数组元素

int *p[4],a[4][4] for(i=0i<4i++) p[i]=a[i]

以上两个知识点,像以上这样赋值后,要引用第i行第j列元素时,只需要把a改成p即可。

四十一 函数指针与指针函数

int f(int x) {……} main() {int (*p)()int a,b=2p=fa=(*p)(b) a=f(b)a=p(b)……}

函数指针:返回值是指针(地址)的函数。 int *func(int a,int b)

例25:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i其中0<=i<=9,下列对数组引用不正确的是:

A. a[p-a] B. *(&a[i]) C. p[i] D.a[10]

例 26:若定义int a[3][2]能正确表示t数组元素的地址的表达式是 A. &a[3][2] B.a[3] C. a[1]D.*a[2]

例28:以下程序输出结果是:A. 69825 B.63825 C.6385 D.693825

main(){char ch[2][5]={“6937”,”8254”},*p[2]int i,j,s=0for(i=0i<2i++) p[i]=ch[i]

for(i=0i<2i++) for(j=0p[i][j]>’\0’j+=2) s=10*s+p[i][j]-‘0’printf(“%d\n”,s)}

四十二 结构体的定义、赋初值

struct student {int numchar name[10]} *p,stu[2]={{123,”zhang”},{124,”li”}}p=stu

typedef struct student {} STU在这个语句后就可以用STU来定义结构体变量了。

例:STU a,*p;等价于 struct student a,*p

四十三 结构体变量的引用

printf(“%d”,stu[1].num)printf(“%d”,stu[1].name )printf(“%d”,p[1]->num)

printf(“%d”,p[1]->name) printf(“%d”,stu)则不对

四十四 malloc、calloc、free函数及链表的操作 链表操作见书p120int *p,*pintfloat *qp=(int*)malloc(sizeof(int))q=(float*)malloc(sizeof(float))pint=(int*)calloc(10,sizeof(int))free(p)习题集12章16题。

例29:下列赋值语句正确的是 struct worker {int numchar *name}*p,a

A. worker.num=1 B.p.num=1 C.*p.num=1 D.a.num=1

例30:在16位pc环境下,下列程序运行的结果是:(此题大家有印象即可,不必深究)

struct worker {int numchar *name}a main(){printf(“%d”,sizeof(a))} 4(若32位则是8)

例31:设有如下定义:struct ss{char name[10]:int age:char sex:}stu[3],*p=std下面各输入语句错误的是:( )

A. scanf(“%d”,&(*p).age) B.scanf(“%s”,&std.name) C.scanf(“%c”,&std[0].sex) D.scanf(“%c”,&(p->sex))

因为std是表示是地址,而地址表示不应该是这样的,应该是&(std->name)

四十五 位运算 ~、<<、>>、|、&、^、例5.4

四十六 文件的打开及对文件的操作 FILE *fpchar str[10]=”hello”int a,b

1. if((fp=fopen(“in.dat”,”rb”))==NULL) printf(“Unable to open the file!”)/*重点注意打开文件的方式,特别注意以”w”,”r+”,”w+”,”a”方式打开,对文件的影响。*/

2. fclose(fp)/*关闭文件*/ feof(fp)/*测试文件是否结束,如到了则返回1,否则返回0*/

3. fseek(fp,12,SEEK_SET) /*将文件指针移动到文件起始位置后面的第12个字节处*/

4. fseek(fp,12,SEEK_END)/* 将文件指针移动到文件倒数第12个字节处*/

5. fseek(fp,0,SEEK_SET) /*将文件指针移动到文件起始位置同rewind(fp)函数*/

6. fseek(fp,12,SEEK_END)/* 将文件指针移动到文件末尾*/

7. ftell(fp) ch=fgetc(fp) putc(ch,fp) fgets(str,n,fp) fputs(str,fp)

8. fscanf(fp,”%d%d”,&a,&b)/*从fp所指向的文件中取出的两数分别存放在a和b中*/

9. fprintf(fp,”%d%d”,a,b)/*把a和b中所存放的数据输出(存放)到fp所指向的文件中*/

10. fread(str,size,count,fp)/*从fp所指向的文件中取出size*count个字节存放到str数组中*/

11. fwrite(str,size,count,fp)/*把str数组中的size*count个字节存放到fp所指向的文件中*/

你有相关的书吗?这是我当年考试用过的一些资料呀!希望对你有帮助!!