admin 管理员组

文章数量: 1087649


2024年12月30日发(作者:continue语句可以跳出当前循环)

C语言程序设计课后思考与训练

1

单元

认识C语言程序

计算机技术系

二〇二一年一月

第一单元

1.讨论题

(1)讨论C程序的结构是由哪几个部分组成的。

(2)C语言中注释的作用。

(3)在编写C语言程序时,需要注意的编码规范有哪些?

2.选择题

(1) C 语言属于下列哪类计算机语言?

A. 汇编语言 B. 高级语言 C. 机器语言 D. 以上均不属于

(2)一个C程序是由( )。

A.一个主程序和若干子程序组成

B.一个或多个函数组成

C.若干过程组成

D.若干子程序组成

(3)一个C程序的执行是从( )。

A.main函数开始,直到main函数结束

B.第一个函数开始,直到最后一个函数结束

C.第一个语句开始,直到最后一个语句结束

D.main函数开始,直到最后一个函数结束

(4)C语言语句的结束符是( )。

A.回车符 B.分号 C.句号 D.逗号

(5)以下说法正确的是( )。

A.C程序的注释可以出现在程序的任何位置,它对程序的编译和运行不起任何作用

B.C程序的注释只能是一行

C.C程序的注释不能是中文文字信息

D.C程序的注释中存在的错误会被编译器检查出来

(6)以下说法正确的是( )。

A.C程序中的所有标识符都必须小写

2

单元

认识C语言程序

B.C程序中关键字必须小写,其他标识符不区分大小写

C.C程序中所有标识符都不区分大小写

D.C程序中关键字必须小写,其他标识符区分大小写

3.填空题

(1)C语言源程序文件的后缀是 ,编译后生成目标文件的扩展名是 ,经

过连接后生成可执行文件的扩展名是 。

(2)C程序多行注释是由 和 所界定的文字信息组成的。

(3)源程序的执行要经过 、 、 和 4个步骤。

4.编程题

(1)试编写一个C程序并上机调试,运行后能输出以下信息。

**************************************

This is my first program.

**************************************

(2)编写程序,用“*”输出字母C。

3

第二单元

1.讨论题

(1)C语言为什么规定对所有用到的变量都要“先定义,后使用”?

(2)定义变量时一定要赋初值吗?不赋初值的变量一定不能用吗?

(3)不同类型数据之间在进行运算时,结果类型应该如何确定?

(4)C语言中常量、变量命名规范是什么?

2.选择题

(1)以下正确的C语言标识符是( )。

A.%X

A.a*=5;

B.a+b

B.b/=2;

C.a123 D.test!

D.b%=a;

(2)已定义int a,b;则以下不正确的C语句是( )。

C.a+=1.75;

(3)若x、i、j和k都是整型变量,则执行下面的表达式后x的值为( )。

x=(i=4,j=16,k=32)

A.4

( )。

A.必须是字母

B.必须为下画线

C.必须为字母或下画线

A."c"

A.++x;

D.可以是字母、数字、下画线中的任一字符

C.'w' D."

B.16 C.32 D.52

(4)C语言中的标识符只能由字母、数字和下画线3种字符组成,且第一个字符

(5)下面正确的字符常量是( )。

B.'"

(6)设x、y均为float型变量,则以下赋值语句不合法的是( )。

B.y=(x%2)/10;

D.x=y=0;

C.' 19 '

C."a"

D.' 0 '

D.' 0 '

C.x*=y+8;

A.' '

A.e−2

(7)下列不正确的转义字符是( )。

B.' "

B.074

(8)下列不是C语言常量的是( )。

(9)若定义了int x; 则将x强制转化成双精度类型应该写成( )。

A.(double)x

C.double(x)

A./

B.x(double)

D.(x)double

C.% D.=

(10)在C语言中,要求参加运算的数必须是整数的运算符是( )。

B.*

4

单元

C语言程序设计基础

(11)为了计算s=10!(即10的阶乘),则s变量应定义为( )。

A.int B.unsigned C.long D.以上3种类型均可

3.填空题

(1)字符常量使用一对 界定单个字符,而字符串常量使用一对 来界定若

干个字符的序列。

(2) 在C语言中,不同运算符之间运算次序存在 的区别,同一运算符之间运

算次序存在 的规则。

(3)字符串"hello "的长度是 。

(4)下列程序的运行结果是 。

void main()

{

int x=5;

int y=10;

printf(

"

%dn

"

,x++);

printf(

"

%dn

"

, ++y);

}

4.编程题

(1) 请用C语言描述一个学生的年龄、身高、体重、性别,并输出到显示器上。

(2)编写程序:假定银行定期存款的年利率为2.25%,并已知存款期为n年,存款本

金为x元,试编程计算n年后可得到本利之和是多少。

5

第三单元

1.讨论题

(1)在使用输入输出函数时,若不写上编译预处理命令#linclude ,对程序执

行的结果有何影响?

(2)在C语言中,我们经常使用的语句有哪些?

(3)常用的输入输出格式控制符有哪些?

(4)格式化的输入函数和格式化的输出函数使用方法有哪些区别?

2.单选题

(1)阅读下列程序,当输入数据的形式为:25,13,10,正确的输出结果为( )。

#include

void main()

{

int x,y,z;

scanf("%d,%d,%d",&x,&y,&z);

printf("x+y+z=%dn",x+y+z);

}

A.x+y+z=48

C.x+z=35

include

void main()

{

int a=2,b=5;

B.x+y+z=35

D.不确定值

(2)以下程序的运行结果是( )。

printf("a=%%d,b=%%d",a,b);

}

A.a=%2,b=%5

C.a=%%d,b=%%d

B.a=2,b=5

D.a=%d,b=%d

B.实型变量值

(3)putchar函数可以向终端输出一个( )。

A.整型变量表达式值

C.字符串 D.字符或字符型变量值

(4)已知有定义 int a=−2;和输出语句printf("%8lx",a);,以下叙述正确的是( )。

A.整型变量的输出格式只有%d一种

B.%x是格式符的一种,它可以适用于任何一种类型的数据

C.%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的

6

单元

选择结构程序设计

D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度

(5)已知ch是字符型变量,下面不正确的赋值语句是( )。

A.ch='a+b'; B.ch='0'; C.ch='7'+'9'; D.ch=7+9;

3.分析程序并上机操作

(1)以下程序的输出结果是( )。

include

void main()

{

int n=2,m=2;

printf(“%d,%d”,++m,n--);

}

(2)以下程序的输出结果是( )。

#include

void main()

{

int a=325;

double x=3.1415926;

printf("a=%d x=%4.2fn",a,x);

}

(3)若x为int型变量,则执行下列语句后x的值是( )。

x=7;

x+=x-=x+x;

(4))程序运行时输入:12<回车>,执行后输出结果是( )。

#include

void main()

{ char ch1,ch2; int n1,n2;

ch1=getchar(); ch2=getchar();

n1=ch1-'0'; n2=n1*10+(ch2-'0');

printf("%dn",n2);

}

4.编程题

(1)求ax+b=0的解,a、b的值由键盘输入。

7

单元

选择结构程序设计

(2)正确分离出一个3位正整数的个位、十位、百位数字,并将结果分别显示在屏幕上。

第四单元

1.讨论题

(1)嵌套if语句和多重if语句有何区别?举例说明在实际编程过程中,这两种选择依

据能否用来解决相同的问题?

(2)多重if语句与switch语句能否相互替换?考虑其分别适用的场合。

2.选择题

(1)逻辑运算符两侧运算对象的数据类型( )。

A.只能是0或1 B.只能是0或非0正数

D.可以是任意类型的数据

B.( ch>='A')& (ch<='Z')

D.( ch>='A')AND(ch<='Z')

C.只能是整型或字符型数据

A.'A'<=ch<='Z'

(2)判断char型变量ch是否为大写字母的正确表达式是( )。

C.( ch>='A')&& (ch<='Z')

if(x>y)

z=x;x=y;y=z;

(3)已知int x=10,y=20,z=30;,以下语句执行后x、y、z的值是( )。

A.x=10,y=20,z=30

C.x=20,y=30,z=10

if(a

if(c

else if(a

if(b

else x=3;

else x=6;

else x=7;

B.x=20,y=30,z=30

D.x=20,y=30,z=20

(4)当a=1,b=3,c=5,d=4时,执行完下面的程序段后,x的值是( )。

A.1 B.2 C.3 D.6

3.分析程序并上机操作

(1)下列程序的运行结果是什么?

main()

8

单元

选择结构程序设计

{

int x,y,z;

x=y=z=1;

--x&&--y||--z;

printf("x=%dty=%dtz=%dn",x,y,z);

x=y=z=-1;

++x||++y||++z;

printf("x=%dty=%dtz=%dn",x,y,z);

x=y=z=0;

x--&&++y&&++z;

printf("x=%dty=%dtz=%dn",x,y,z);

}

(2)下列程序的运行结果是什么?

main()

{

int a=1,b=0;

switch(a)

{

case 1:

switch(b)

{

case 0:printf("**0**");break;

case 1: printf("**1**");break;

}

case 2: printf("**2**");break;

}

}

4.填空题

(1)以下程序运行后的了输出结果是______。

#include

void main()

{ int a=1,b=2,c=3;

if(c=a) printf("%dn",c);

else printf("%dn",b);

}

(2)设y 是int型变量,请写出判断y为奇数的关系表达式______。

9

单元

选择结构程序设计

(3)若从键盘输入58,则以下程序输出的结果是______。

#include

void main()

{ int a;

scanf("%d",&a);

if(a>50) printf("%d",a);

if(a>40) printf("%d",a);

if(a>30) printf("%d",a);

}

(4)以下程序的输出结果是______。

#include

void main()

{ int a=5,b=4,c=3,d;

d=(a>b>c);

printf("%dn",d);

}

(5)以下程序运行后的输出结果是______。

#include

void main()

{int p=30;

printf("%dn",(p/3>0 ? p/10:p%3));

}

5.编程题

(1)编写程序,判断通过键盘输入的字符属于哪一类字符(大写字母、小写字母、数

字或其其它字符)。

(2)假设国家对个人收入所得税起征点为5000元,超过部分要征收个人所得税,未超

过3000的部分征收3%,超过3000到12000的部分征收10%,超过12000到25000的部

分征收20%。编写程序输入个人当月税前收入,计算个人所得税及个人实际收入。

(3)从键盘输入3个数据,然后按照从小到大的顺序输出。

(4)某厂对产品进行分级,产品性能在90分以上,则该产品定为A级产品;性能在

80~89分,则定为B级产品;如果性能得分为60~79分之间,则定为C级;产品性能在60

分以下,则该产品定为D级产品。试编写一程序实现对该厂产品进行分级评定。

10

第五单元 循环

1. 讨论题

三种循环语句适用什么循环的情况,比如:固定次数的循环和不固定次数的循环

等。

2.选择题

(1)以下程序段是( )。

x=-1;

do

{

x=x*x;

}

while(!x);

A.死循环

A.3

B.循环执行二次

B.0

C.循环执行一次

C.5

D.有语法错误

D.不定

D.3次

(2)执行语句for(i=1;i++<4;);后变量i的值是( )。

(3)循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行次数为( )。

A.无限次

a=1;b=10;

do

{

b-=a;

a++;

}while (b--<0);

B.不确定次数 C.4次

(4)假定a和b为int类型变量,则执行以下语句后b的值为( )。

A.9 B.−2 C.−1 D.8

(5)C语言中while和do-while循环的主要区别是( )。

A.do-while的循环体至少无条件执行一次

B.while的循环控制条件比do-while的循环控制条件严格

C.do-while允许从外部转到循环体内

D.do-while的循环体不能为复合语句

(6)以下描述正确的是( )。

11

单元

循环结构程序设计

A.continue语句的作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句和continue语句的作用相同

D.从多层循环嵌套中退出时,只能用goto语句

3.分析程序并上机操作

(1)以下循环体的执行次数。

#include

void main()

{

int i,j;

for (i=0,j=1; i<=j+1;i+=2,j--)

printf("%d n",i);

}

(2)以下程序的输出结果。

#include

void main()

{

int s,i;

for(s=0,i=1;i<3; i++,s+=i);

printf("%dn",s);

}

(3)以下程序的输出结果。

#include

void main()

{

int y=10;

while(y--);

printf("y=%dn",y);

}

4.填空题

(1)以下程序的功能是计算:1+12+123+1234+12345。请填空。

#include

void main()

{

int t= 0,s=0,i;

12

单元

循环结构程序设计

for (i=1;i<=5;i++)

{

t=i+______;

s=s+t;

}

printf(“s=%dn”,s);

}

(2)以下程序的功能是计算自然数1-10的偶数和。请填空。

#include

void main()

{

int i,s=0;

for(i=1;i<10;i+=2)

;

printf("%dn",s);

}

5.编程题

(1)判断字符类型,直到输入‘#’结束。

(2)循环输入年份月份,输出该月份的天数,直到年份输入0结束。

(3)请将计算器程序改为循环程序。

(4)尝试将第4章的选择结构程序改为循环。

(5)输出以下图案:

*

* *

* * *

* * * *

13

第六单元 数组

1.选择题

(1)在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。

A.整型常量

B.整型表达式

C.整型常量或整型表达式

char str[]= "abn012";

printf("%d",strlen(str));

D.任意类型的表达式

(2)以下程序段执行后,输出结果是( )。

A.1 B.9

C.7 D.10

(3)判断字符串s1是否大于字符串s2,应当使用( )。

A.if(s1>s2) B.if(strcmp(s1,s2))

D.以上都不正确 C.if(strcmp(s1,s2)>0)

#include

void main()

{

int a[6],i;

for(i=1;i<6;i++)

{

a[i]=9* (i-2+4* (i>3))%5;

printf("%2d",a[i]);

}

}

(4)下面程序的运行结果是( )。

A.−4 0 4 0 3

C.−4 0 4 0 4

A.int A[][]

C.int *A[10]

#include

void main()

{

int i,a[10];

B.−4 0 4 4 3

D.−4 0 4 4 0

B.int A['a']

D.int A[]

(5)下面的说明语句正确的是( )。

(6)以下程序的输出结果是( )。

for(i=9;i>=0;i--)

14

单元

数组

a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A、258 B、741 C、852 D、369

(7)以下不能正确定义二维数组的选项是( )。

A. int a[2][2]={{1},{2}}; B.int a[][2]={1,2,3,4};

C. int a[2][2]={{1},2,3}; D.int a[2][]={{1,2},{3,4}};

(8)以下程序的输出结果是( )。

#include

void main()

{

int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for (i=1;i<3;i++)

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

s+=a[i][j];

printf("%dn",s);

}

A. 18 B. 19 C. 20 D. 21

(9)以下程序的输出结果是( )。

#include

void main()

{

int i,x[3][3]={1,2,3,4,5,6,7,8,9};

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

printf("%d,",x[i][2-i]);

}

A、1,5,9 B、1,4,7 C、3,5,7 D、3.6.9

(10)合法的数组定义是( )。

A. int a[]="string"; B.int a[5]={0,1,2,3,4,5};

C.char s="string"; D. char a[]={0,1,2,3,4,5};

2.填空题

(1)下面程序的功能是输出数组 s 中最大元素的下标,请填空。

#include

void main( )

{

15

单元

数组

int k, p; int s[ ]={1,-9,7,2,-10,3};

for(p=0,k=p; p<6; p++)

if(s[p]>s[k]) ;

printf("%dn" ,k);

}

(2)以下程序以每行 5个数据的形式输出 a 数组,请填空。

#include

void main( )

{

int a[50],i;

printf("输入10个整数:");

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

scanf( "%d", );

for(i=1; i<=10; i++)

{

if( )

printf( "%3dn" , );

printf( "%3d",a[i-1]);

}

}

(3)下面程序实现以下输出数组(右上半三角),请填空。

1 2 3 4

6 7 8

11 12

16

#include

void main()

{

int num[4][4]={{1,2,3,4},{5,6,7,8}, {9,10,11,12},{13,14,15,16}},i,j;

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

{

for(j=1;j<=i;j++)

printf("%4c",' ');

for(j=___ _;j<4;j++)

printf("%4d",num[i][j]);

16

单元

数组

printf("n");

}

}

3.编程题

(1)用冒泡法对10个数进行排序(由小到大)。

(2)编程实现两个字符串的连接(不用strcat函数)。

(3)统计字符串中输入数字字符的个数。

第七单元 函数

1.讨论题:

(1)在程序中为什么要使用函数?

(2)有参函数是如何声明的?调用时应注意什么?

(3)无返回函数和有返回值函数在声明和调用时分别注意什么?

(4)在项目开发中,为什么要强调团队合作?作为一份子,如何做好自己的工作?

2.选择题

(1)C语言中的函数返回值的类型是由( )决定。

A.return语句中的表达式

B.调用函数的主调函数

C.调用函数时临时

D.定义函数时所指定的函数类型

(2)下面的描述中不正确的是( )。

A.调用函数时,实参可以是表达式

B.调用函数时,实参和形参可以共用内存单元

C.调用函数时,将形参分配内存单元

D.调用函数时,实参与形参的类型必须一致

(3)在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是( )。

A.地址传递

B.值传递

C.由实参传递给形参,并由形参传回给实参

D.由用户指定传递方式

17

单元

数组

(4)下面的函数调用语句中含有( )个实参。

int a,b,c;

int sum(int x1,int x2);

……

total=sum((a,b),c);

A.2 B.3 C.4 D.5

(5)在C语言中( )。

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套

C.函数的定义不可以嵌套,但是函数的调用可以嵌套

D.函数的定义和调用均可以嵌套

A.只能在主函数中出现

B.在每个函数中都必须出现

C.可以在一个函数中出现多次

D.只能在除主函数之外的函数中出现

(6)关于C语言中的 return语句,下面的描述正确的是( )。

3.填空题

(1)C语言中定义函数时如果未指定函数类型,则默认的函数类型是 。

(2)C语言中没有返回值的函数类型应指定为 。

(3)下面函数返回值的类型是 。

float fun(float a,double b)

{return a*b;}

(4)发生函数调用时,实参和形参间的数据传递有两种方式,即 和 。

(5)在一个函数内部调用另一个函数的调用方式称为 ,在一个函数内部直接或

间接调用该函数本身的调用方式称为函数的 。

(6)如果被调函数在主调函数后定义,一般应该在主调函数中或主调函数前对被调函

数进行 。

(7)C语言中的变量按其作用域分为 和 ,按其生存期分为

和 。

(8)已知如下函数定义,其函数声明的两种写法为 , 。

double fun(long m,double n)

{return (m+n);}

(9)C语言中变量的存储类别包括 , , 和 。

18

单元

数组

(10)下面程序的执行结果是 。

#include

int d=1;

void fun(int p)

{

int d=5;

d+=p++;

printf("%d",d);

}

void main()

{

int a=3;

fun(a);

d+=a++;

printf("%d",d);

}

4.编程题

(1)编写程序,用函数实现小型计算器的加、减、乘、除功能。

(2)编写有参函数,求两个整数中的最大值。

19

单元

数组

第八单元

1.讨论题

指针变量、指针变量作为函数参数、数组的指针和指针数组的概念与应用。

2.选择题

(1)若char s[10], *p=s;,则下列语句错误的是( )。

A.p=s+5 B.s=[p+s] C.s[2]=p[4] D.*p=s[0]

(2)已知定义char **s;,下列语句正确的是( )。

A.s="computer"

C.**s="computer"

B.*s="computer"

D.*s='A'

(3)C语言主函数最多允许有( )个参数。

A.1 B.2 C.3 D.4

(4)说明语句int(*p)()的含义是( )。

A.p是一个指针型函数,返回值为指针

B.p是指针变量,它指向一个整型数据的指针

C.p是一个指向函数的指针,该函数的返回值为整型

D.以上答案都不对

(5)下列语句中,能表示p是一个指向整型变量的指针变量的是( )。

A.int **p B.int *p C.int (*p)() D.int*p[]

(6)下列叙述中,错误的是( )。

A.一个变量的地址称为该变量的指针

20

单元

数组

B.一个指针变量只能指向同一数据类型的变量

C.指针变量中只能存放地址

D.指针变量可以由整型数赋值

(7)若有以下定义语句:int var,arr[10],*p;,则以下语句中非法的是( )。

A.p=&var B.p=arr C.p=10 D.p=&arr[5]

(8)两个指针变量不可以进行的操作是( )。

A.相加 B.相减 C.指向同一个地址 D.比较

3.填空题

(1)以下程序的功能是:从终端输入一行字符,以“$”作为结束,把该字符串存放在

字符数组s中,然后输出,请在空白处填上适当的语句使程序完整。

#include

#define MAXSIZE 100

main( )

{

char str[MAXSIZE], *p;

int n;

printf("请输入:n");

for(n=0;n< MAXSIZE-1;n++)

{

str[n]=getchar();

if(str[n]=='$')

break;

}

str[n]= ;

p=str;

printf("输出为:n");

while(*p)

putchar( );

printf("n");

}

(2)以下程序的执行结果是 。

21

单元

数组

#include

void f(int a,int b,int *p1,int *p2)

{

*p1=a*b;

*p2=a%b;

}

void main()

{

int x,y, *p, *q;

x=10;y=4;

p=&x;

q=&y;

f(x,y,p,q);

printf("%d,%dn",*p, *q);

}

4.编程题

(1)利用指针的方法,输入学生的成绩判断等级。

(2)利用指针的方法,完成四则运算计算器。

(3)利用指针的方法,求数组中的最大数和最小数。

(4)利用指针的方法,完成10个数的排序。

第九单元:

1.讨论题

(1)简述结构体、共用体、枚举类型、动态链表的概念与特点。

(2)如何在动态链表中插入、删除结点?

(3)对于一个综合性的大型程序设计,按照软件工程理论如何进行分工合作?

2.选择题

(1)若有以下说明:

struct student

{

22

单元

数组

char name[20];

int age;

char sex;

}b={"ma hua",20, 'm'},*p=&b;

则下面对字符串ma hua的引用方式不可以的是( )。

A.(*p).name B. C.p->name D.

(2)对于下列说明,不能使变量p->b的值增1的表达式是( )。

struct str

{

int a;

int *b;

}*p;

A.*p->b++ B.*++p->b C.(* (p++)->b)++ D.*++((p++)->b

(3)以下程序企图把从终端输入的字符输出到名为文件中,直到从终端读入字

符#号时结束输入和输出操作,但是程序有错误。

#include"stdio.h"

main( )

{

FILE*fout;

char ch;

fout=fopen('', 'w');

ch=fgetc(stdin);

while(ch!= '#')

{

fputc(ch,fout);

ch=fgetc(stdin);

}

fclose(fout);

}

出错的原因是( )。

A.函数fopen调用形式错误

B.输入文件没有关闭

23

单元

数组

C.函数fgetc调用形式错误

D.文件指针stdin没有定义

(4)若fp已经正确定义并指向某个文件,当未遇到文件结束标志时函数feof(fp)的值是

( )。

A.0 B.1 C.−1 D.一个非0的值

(5)有如下程序:

#include

main()

{

FILE *fp1;

fp1=fopen('', 'w');

fprintf(fp1, "abc");

fclose(fp1);

}

若文本文件中原有内容为:good,则运行以上程序后文件中的内容为( )。

A.goodabc B.abcd C.abc D.abcgood

(6)在fopen函数中使用的文件方式是“w+”,该方式的含义是( )。

A.打开一个二进制文件读写 B.打开一个文本文件读写

D.建立一个新的二进制文件读写 C.建立一个新的文本文件读写

(7)在C语言中,用于关闭文件的函数是( )。

A.fopen B.fseek C.ftell D.fclose

3.填空题

(1)以下程序用来统计文件中字符个数。请填空完成程序。

#include

main()

{

FILE *fp;

24

单元

数组

Long num=0L;

if(fp=fopen('', 'r')==NULL)

{

printf("open errorn");

exit(0);

}

while( )

{

fetc(fp);num++

}

printf("num=%ldn",num-1);

fclose(fp);

}

(2)若fp已经正确定义为一个文件指针,为二进制文件,请填空,以便为“读”

而打开此文件:fp=fopen( );

(3)已知文本文件,其中的内容为:Hello,everyone!。以下程序中,文件

已经正确为“读”而打开,由文件指针fr指向该文件,则程序的输出结果是 。

#include

main()

{

FILE *fr;

char str[40];

fgets(str,5,fr);

fprintf("%sn",str);

fclose(fr);

}

25


本文标签: 函数 程序 输出 变量