南华大学C语言习题答案2012年版

更新时间:2024-04-26 00:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

习题答案

习 题 1(参考答案)

1.程序与算法的概念及二者的区别是什么?

程序:为了实现特定目标或解决特定问题而用计算机语言偏写的指令序列,它由算法和数据结构组成。 算法:(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地讲,就是计算机解题的步骤。

算法与程序的区别:计算机程序是算法的一个实例,同一个算法可以用不同的计算机语言来表达。

2.简述程序设计语言发展的过程

程序设计语言经过最初的机器代码到今天接近自然语言的表达,经过了四代的演变。一般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代,面对象的编程语言为第四代。

3.简述高级程序设计语言中面向过程与面向对象的概念。

“面向过程”是一种以过程为中心的编程思想。首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步地实现,使用的时候依次调用函数即可。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。

“面向对象”是一种以事物为中心的编程思想。面向对象的方法主要是将事物对象化,对象包括属性与行为。

面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。编程关注的是如何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。

4.C语言程序的特点是什么?

(1)C语言非常紧凑、简洁,使用方便、灵活,有32个关键字,有9种流程控制语句。 (2)C语言运算符丰富,共有45个标准运算符,具有很强的表达式功能,同一功能表达式往往可以采用多种形式来实现。

(3)数据类型丰富。C语言的数据类型有整型、实型、字符型、数组类型、结构类型、共用类型和指针类型,而且还可以用它们来组成更复杂的数据结构,加之C语言提供了功能强大的控制结构,因而使用C语言能非常方便地进行结构化和模块化程序设计,适合于大型程序的编写、调试。

(4)用C语言可直接访问物理地址,能进行二进制位运算等操作,即可直接同机器硬件打交道。它具有“高级语言”和“低级语言”的双重特征,既能用于系统软件程序设计,又能用于通用软件程序设计。

(5)C语言生成的目标代码质量高、程序执行速度快。一般只比用汇编语言生成的目标代码的效率低20%左右。

(6)可移植性好。

5.源程序执行过程中,有哪些步骤?

C语言源程序的执行要经过:编辑、编译、链接、运行等步骤。

6.简述MATLAB的主要应用领域有哪些?

MATLAB软件是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司开发的商业数学软件,主要包括MATLAB和Simulink两大部分。它和Mathematica、Maple并称为三大数学软件。MATLAB软件可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序,主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域,代表了当今国际科学计算软件的先进水平。

习 题 2(参考答案) 一、选择题 1 C 11 C 21 C 31 C 41 B 2 A 12 C 22 D 32 D 42 D 3 C 13 D 23 A 33 B 43 B 4 C 14 A 24 D 34 C 44 B 5 B 15 D 25 B 35 A 45 A 6 B 16 B 26 C 36 D 46 C 7 C 17 C 27 C 37 B 47 B 8 B 18 A 28 C 38 C 48 A 9 A 19 D 29 A 39 D 49 D 10 D 20 C 30 D 40 A 50 D 二、填空题 1. 255 2. 3. 4. 5. 6. a/(b*c) 20 1.0 x==0或(x==0)?1:0 x<-5 || x>5 7. 8. 9. 97或字符 ‘a’ 0 2.5 10. 3.5 11. 3 12. 9, 11, 9, 10 13. a+=a;24, a-=2;10, a*=2+3;60, a%=(n%=2);0, a/=a+a;0, a+=a-=a*=a;0 14. 8 15. 2

习 题 3 (参考答案)

1.编程实现:用字符输入/输出函数输入3个字符,将它们反向输出。 参考代码(尽量运用本章所学知识)

#include main( )

{ char c1,c2,c3;

c1=getchar(); c2=getchar(); c3=getchar(); putchar(c3); putchar(c2); putchar(c1); }

2.编程实现:用格式输入/输出函数输入3个字符,将它们反向输出并输出它们的ASCII值。

参考代码(尽量运用本章所学知识)

#include main( )

{ char c1,c2,c3;

scanf (\

printf(\,%c %d,%c %d \}

3.变量k为float 类型,调用函数:

scanf(\%d\

不能使变量k得到正确数值的原因是:

scanf(\%d\中的格式控制类型与变量k的定义类型不匹配,应将%d改为%f.

习题4答案

选择题

1. B 2. A 3. B 4. B 5. C 6. B 阅读程序,写结果

7. 12 8.13 9. *0**2* 10.

if(s>=90) m=4; else if(s>=80) m=3; else if(s>=70) m=2;

else if(s>=60)

m=1; else

m=0;

11.输入4个整数a,b,c,d,编写程序,将它们按从大到小顺序输出。 #include

main()

{ int a,b,c,d,t;

scanf(\if(a

printf(\}

12.据所输入的3条边长值,判断它们能否构成三角形,如能构成,再判断是等腰三角形、直角三角形还是一般三角形? 源程序:

#include #include \main()

{float a,b,c,s,area;

scanf(\

if((a+b>c)&&(a+c>b)&&(b+c>a)&&(fabs(a-b) {

if(a==b&&b==c)

printf(\等边三角形\ else if(a==b||b==c||a==c) printf(\等腰三角形\

else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) printf(\直角三角形\ else printf(\一般三角形\ }

else printf(\不能组成三角形\}

13.输入一个整数,如果能被3,4,5同时整除,则输出“YES”,否则输出“NO”。

#include main() { int t,flag;

scanf(\

if(t%3==0&&t%4==0&&t%5==0) printf(\ else

printf(\}

14.输入年号,判断是否为闰年。判别闰年的条件是:能被4整除但不能被100整除,或者能被400整除。

#include main()

{ int year;

printf(\ scanf(\

if(year%4==0&&year0!=0||year@0==0) printf(\ else

printf(\}

15.编写程序。根据以下函数关系,对输入的每个x值进行计算,并输出相应的y值。

x y x>10 3x+10 1

#include main()

{ double x,y; scanf(\ if(x>10) y=3*x+10; else if(x>1) y=x*x+2*x;

}

else y=x*x-3*x+10; printf(\

习题5答案

选择题

1. A 2. A 3. D 4. C 5. D 6. A 7. D 8. D 9. B 10. C 阅读程序,写结果

11.1 -2 12.2 0 13.*** 14.2,4,6,8,10, 15.46.000000 16.852 17.利用近似公式

???1?13?15?17?...求π的值,直到最后一项的绝对值小于10-6为止。

#include #include main()

{ double pi=0,i=1,j=1,k; do {

k=i/j; pi=pi+k; i=-i; j=j+2;

}while (fabs(k)>1.0e-6); printf(\}

18.求两个数的最大公约数和最小公倍数。最大公约数:用大数整除小数,得到余数1; 再用小数整除余数1,得到余数2;再用余数1整除余数2,??直到余数为0。最小公倍数:两数相乘再除以最大公约数。 #include #include main()

{ int m,n,r,x,y;

scanf(\ x=m;

y=n;

if (m

{ m=n;

n=r; }

printf(\the max common divisor is %d,the min common multiple is %d\}

19.从3个红球、5个白球、6个黑球中任意取出6个球,且其中必须有白球,编程输出所有可能的组合。

#include main() {

int i,j,k;

printf(\ for(i=0;i<=3;i++) for(j=1;j<=5;j++) { k=6-i-j;

if(k>=0) printf(\ } }

20.如果一个数等于其所有真因子(不包括该数本身)之和,则该数为完数。例如:6的真因子有1、2、3,且6=1+2+3,故6为完数。求[2,1000]内的: (1)最大的完数; (2)完数数目。

#include main()

{ int a,i,m,number=0,max=0; for(a=1;a<=1000;a++) { m=0; for(i=1;i<=a/2;i++) if(a%i==0) m=m+i; if(m==a) { number++, max=m;} }

printf(\}

习题6答案

一、选择题

1.C 2.A 3.A 4.D 5.A 6.A 7.C 8.B 9.B 10.C 11.B 12.B 13.A 14.D 15.C 16.C 17.C 18.C 19.A 20.D 21.B 22.B 23.C 24.A 25.C 26.D 27.C 28.D

二、写出下列程序的运行结果

1.7 2.12 3.9 4.8,17 5.5 6 6.8,8 7.3 6 9 12 8.10 9.7

5

10.64 54 11.300 12.6 13.2

三、编程题(以下各题均用函数实现)

1.超级素数:一个素数依次从低位去掉一位、两位??若所得的数依然是素数,如239就是超级素数。试求100~9999之内: (1)超级素数的个数; (2)所有超级素数之和; (3)最大的超级素数。 解:(1)spn=52 (2)sps=98742 (3)spm=7393 #include #include main()

{ int i,s=0,k=0,m,a[10000]={0}; for(i=9999;i>=100;i--) { m=i; while(m>0) if(fun(m))m=m/10;//printf(\ else break; if(m<=0) {a[k++]=i; s=s+i;} }

printf(\超级素数的个数为:],所有超级素数之和为:d,最大的超级素数为d\\n\ for(i=0;i

if(i%5==0)printf(\

printf(\ //显示出所有的超级素数 } }

int fun(int n) {

int k,i; k=sqrt(n);

for(i=2;i<=k;i++) if(n%i==0)break; if(i>=k+1)return 1; else return 0; }

2.其平方等于某两个整数平方和的正整数称为弦数,例如因52=32+42,故5是弦数,求(121,130)这间的弦数个数以及最大和最小的弦数。 解:n=4 max=130 min=122 #include main() {

int i,j,m,z=0,k=0,max=121,min=130,a[100]={0,0,0},b[10]; for(m=121;m<=130;m++) {for(i=1;i<=m;i++) for(j=1;j<=m;j++) if(m*m==i*i+j*j) { a[k++]=m; if(maxm)min=m; break; } }

for(i=0;i

printf(\弦数的个数为:%d,最大的弦数为:%d,最小的弦数为:%d\\n\for(i=0;i

printf(\ //显示出所有的弦数 }

3.有一个8层灯塔,每层所点灯数都等于该层上一层的两倍,一共有765盏灯,求塔底的灯数。 解:3

#include main( ) {

int i,j,n=1,sum; for(i=1;i<=765;i++) { sum=i; n=i; for(j=1;j<8;j++)

{ n=n*2;

sum=sum+n; } if(sum==765) break; }

printf(\}

4.编写程序,求?n!的结果。

110解:4037913

#include main( ) {

int i,t=1,s=0;

for(i=1;i<=10;i++) { t=t*i; s=s+t; }

printf(\}

5.已知y =

f(x,n)f(x?2.3,n)?f(x?3.2,n?3),其中,f(x, n) = 1 ? x2 / 2! + x4 / 4! ? ?

(?1)nx2n / (2n)!(n≥0),当x = 5.6,n = 7时,求y的值。 解:-22.245544

#include double fun(double x,int n) {

int i,t=1,m=1; double s=1.0,w=1.0; for(i=1;i<=2*n;i++) {

w=w*x; t=t*i;

if(i%2==0) { m=-m;s=s+m*w/t;} } return s; } main() {

double x=5.6;

int n=7;

printf(\}

6.编写程序,求三个数的最小公倍数。 #include int fun(int x,int y,int z) { int j,t,m,n; j=1; } main() { }

int x1,x2,x3,j;

printf(\ x2 x3: \scanf(\printf(\j=fun(x1,x2,x3);

printf(\t=j%x; m=j%y; n=j%z;

while(t!=0||m!=0||n!=0) { j=j+1; t=j%x; m=j%y; n=j%z; }

return j;

7.已知:S?221?3?423?5????2k?2k??1???2k2?1?,编写程序,求S的值。

例如,当k为10时,S的值应为:1.533852。 #include double fun(int k) { int n;

double s,w,p,q; n=1; s=1.0;

while(n<=k) { w=2.0*n; p=w-1.0; q=w+1.0;

} { }

s=s*w*w/p/q;

n++; }

return s;

main()

printf(\

习题7答案

一、选择题

1.C 2.A 3.C 4.D 5.D 6.C 7.A 8.A 9.A 10.B 11.A 12.D 13.D 14.C 15.C 16.D 17.D 18.D 19.B 20.A 21.B

22.D 23.B 24.C 25.D 26.D 27.D 28.D 29.C

二、写出下列程序的运行结果

1.abcdabcdabcdabcdbcdabcdabcdcdabcdd 2.4 3.1,2,3,8,7,6,5,4,9,10, 4.9,8

三、程序填空

1. (1) k (2) -1 2. (1) nose (2)[d] 3. (1) x[i++]或y[i++] (2)i++ 4. (1) ‘a’+h-10 (2)s[i]= ’\\0’ 5. (1)s[i]!=’\\0’ (2)s[j++]=s[i] 6. (1)s[j]!=’\\0’&& t[k]!=’\\0’ (2)t[k]==’\\0’

四、编程题(每个程序的数据结构均用数组)

1.编写程序:从键盘上输入一个字符,用折半查找法找出该字符在已排序的字符串a中的位置。若该字符不在a中则输出**。 #include

main() { char c,a[10]=\

int top,bot,mid; printf(\scanf(\

printf(\

for(top=0,bot=10;top<=bot;) {

mid=(top+bot)/2; if(c==a[mid]) {

printf(\break;

}

else if(c>a[mid]) top=mid+1; else bot=mid-1;

}

if(top>bot) printf(\

}

2.编写程序:输出某数列的前20项,该数列第1、2项分别为0和1,以后每个奇数编号的项是前两项之和,每个偶数编号的项是前两项之差的绝对值。生成的20个数存在一维数组x中,并按每行4项的形式输出。 #include #include main() { }

int x[21],i; x[1]=0,x[2]=1; i=3; do {

x[i]=x[i-2]+x[i-1];

x[i+1]=fabs((double)(x[i-1]-x[i])); i=i+2; }while(i<=20); for(i=1;i<=20;i++) { }

printf(\

if(i%4==0) printf(\

3.编写程序:将s所指字符串中除了下标为奇数、同时ASCII值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在t所指的数组中。

例如:若s所指字符串中的内容为:“ABCDEFG12345”,则最后t所指的数组中的内容应是:“135”。 #include #include

void fun(char *s,char t[])

{ } main() { }

char s[100],t[100];

printf(\scanf(\fun(s,t);

printf(\int i,j=0;

for(i=1;i

4.编写程序:一个自然数平方的末几位与该数相同时,称此数为自同构数。例如,因252=625,故25为自同构数。求出[1,700]之间的:① 最大的自同构数;② 自同构数数目。

(1)最大的自同构数:625 (2)自同构数数目:7个(1、5、6、25、76、376、625) #include main() {

int i,n,ns,flag,count,r,rs; static int a[50]; count=0;

for(i=1;i<700;i++) { }

printf(\

n=i;

ns=i*i;flag=1; while(n>0&&flag) { }

r=n;n=n/10; rs=ns;ns=ns/10; if(rs!=r) flag=0;

if(flag) { }

a[count]=i;count++; printf(\

}

5.已知:

f(0) = f(1) = 1

f(2) = 0

f(n) = f(n ? 1)?? 2*f(n ? 2) + f(n ? 3) (n>2) 编写程序:求f(0)~f(50)中的最大值。 f(0)到f(50)中的最大值:598325 #include main() {

int n;

double f[181],max=0; f[0]=f[1]=1;f[2]=0; for(n=3;n<=50;n++) { }

f[n]=f[n-1]-2*f[n-2]+f[n-3]; if(max

printf(\ }

6.编写程序:自然数1~1000按顺时针围成一圈,首先取出1,然后顺时针方向按步长L = 50取数(已取出的数不再参加计数),直至所有的数均取完为止,最后一个取出的数是多少?

最后一个取出的数是:630 #include main() {

int a[1001],i,s=0,n=1; for(i=1;i<=1000;i++) a[i]=i; a[1]=0;

for(i=1;i<=1000;i++) {

if(a[i]!=0) {

s+=1; if(s==50) { }

n++; if(n==1000) {

printf(\break;

}

a[i]=0;s=0;

}

if(i==1000) i=0; } }

7.编写程序:输出下列格式的杨辉三角形前5行。

1 1 1 1 2 1 1 3 3 1 1 4 6 4 1

#include main() { }

int a[10][10],i,j,t,k;

printf(\scanf(\for(i=0;i

for(j=0;j

printf(\ \}

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

if((i==j)||(j==0)) a[i][j]=1; else a[i][j]=a[i-1][j-1]+a[i-1][j]; printf(\}

printf(\

8.若两素数之差为2,则称该两素数为双胞胎数。编写程序,求出[2,300]之内:

(1)有多少对双胞胎数; (2)最大的一对双胞胎数。

(1)最大的一对双胞胎数:281、283 (2)有19对双胞胎 #include int sushu(int n) {

int flag=1,i;

for(i=2;i<=n/2;i++) if(n%i==0){flag=0;break;} return(flag);

}

main() { int i,b,max1=0,max2=0,count=0; for(i=2;i<300;i++) }

{

if(sushu(i)) { }

b=i+2; if(sushu(b)) { if(i>max1) }

{max1=i;max2=b;} count++;

}

printf(\

9.编写程序:将两个递增的数组a[10] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}和b[10] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}合并成一个数组c[20],并保持递增的顺序。 #include #define N 10 #define NN 20 main() {

int a[N]={2,4,6,8,10,12,14,16,18,20},b[N]={1,3,5,7,9,11,13,15,17,19}, c[NN]; int i,j,t,k; i=0;j=0;t=0; do {

if(a[i]

{c[t]=a[i];i++;t++;} else {c[t]=b[j];j++;t++;}

}while(i

{c[t]=a[k];t++;} if(j

for(k=j;k

printf(\

} }

10.请编写程序:建立一个N×N的矩阵(N<10)。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,??依次类推。例如,当N = 5,生成的矩阵为:

?11??12??12?12??11#include #define N 7

void fun(int (*a)[N]) { int i,j,k,m; if(N%2==0)m=N/2; else m=N/2+1; for(i=0;i

a[i][j]=a[N-i-1][j]=i+1; for(k=i+1;k

a[k][i]=a[k][N-i-1]=i+1;

}

}

main() { int x[N][N]={0},i,j; fun(x);

printf(\ for(i=0;i

{for(j=0;j

}

11223222111?1??1? 1??1??习题8答案

一、选择题。

1.D 2.C 3.A 4.D 5.A 6.D 7.C 8.B 9.D 10.C 11.D 12.A 二、写出下列程序的运行结果 1. s=30 t=-10 m=200

2.

2 2 2 2 1 3. 51 4.

abcdeedcba 5. 31 6. 1bc,a23 7.

50

三、填空题

1.在空格地方填上语句,以实现字符串复制的功能。

while(?p1!='\\0') {

*p2=*p1; p1++; p2++;

}

2.下面程序实现从键盘输入两个字符串a和b,再将a和b的对应位置字符中的较大者存放在数组c中,填空完成该程序。

while(*p&&*q) {

if(*p>*q 或 *p>=*q)c[k]=?p; else c[k]=?q; p++; q++; k++; }

3.完成下面的程序,以实现单词的输出功能。

q=&s[k]; 4.下列程序实现截取字符串s中从第m个位置开始的n个字符,返回所截字符串的首地址。

sub[k]= s1[m1-1+k]; return sub; 5.下列程序实现在N个元素的数组中查找最小的元素的功能。

return min; min=minunm(a,N); 6.下列程序的功能为求数组元素的平均值。

avg=avg/n ; avg=f( a ,10);

7.下列程序完成3个操作。

(1)输入10个字符串(每串不多于9个字符),依次放在a数组中,指针数组str中的每个元素依次指向每个字符串的开始。

(2)输入每个字符串。

(3)从这些字符串中选出最小的那个字符串并输出。

for(i=0;i<10;i++) { scanf(\%s\ str[i]= sp ; k=strlen(sp); sp+= k ; } k=0;

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

if(strcmp(str[i],str[k]) <0 )k=i; printf(“%s\\n”,str[k]) 或puts(str[k]) ; 8.以下程序利用指针法将两个数按从大到小的顺序显示。

int a,b, *p,*p1,*p2 ; p1=&a ;

printf(\%d,min=%d\\n\ ); 9.下列程序把十进制数n转换成八进制数输出。

if( n<0 ) j= n%8 ; printf(\%c\ *(s+i-1) );

10.下面程序把数组元素按相反的顺序进行存放。

for(i=x,j=x+n?1; i

11.用指针法求出数组中的最大元素与最小元素。

int max=array[0],min=array[0]; for( p=array ;p

12.把一个字符串按从小到大的顺序输出。 void sort(char *name[],int n)

if( strcmp(name[k],name[j])>0 ) k=j; printf(\%s\\n\ name[i] ; 13.

av= s/N ;

y[ j++ ]=x[i]; x[i]=?1;}

if( x[i]!= -1 ) y[j++]=x[i];

四、编程题

1.(1)定义一个函数separate(int ?data,int n),该函数将n的各个位上的数分离保存在data所指向的数组中。

(2)定义一个函数judge(int ?data,int len),判断data所指向的数组是否为回文。 (3)在main函数中调用上述函数,完成程序的功能。 参考代码:

#include \#include \#define N 10

}STU;

void input(STU *s,int n) {

int i,j;

printf(\ for(i=0;i

void output(STU *s,int n) {

int i,j;

printf(\ scanf(\ for(j=0;j<4;j++)

scanf(\

for(i=0;i

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

printf(\

printf(\ } }

void main( ) { }

STU s[N]; input(s,N); output(s,N);

2.现有如下一个结构体及变量,编程实现找到年龄最大的人,并输出。

static struct man { char name[20]; int age;

} person[4]={\

参考代码:

#include \#include \static struct man { char name[20]; int age;

} person[4]={\

void main( ) {

}

int i,max_age,index; max_age=person[0].age; index=0; for(i=1;i<4;i++)

if(person[i].age>max_age) { }

max_age=person[i].age; index=i;

printf(\ %s,age:%d\\n\

3.编写程序:有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,3门课成绩),计算出平均成绩。 参考代码:

#include \#include \#define N 5 typedef struct {

char num[6]; char name[8]; float score[3];

}STU;

void input(STU *s,int n) { int i,j;

printf(\ for(i=0;i

void main() {

STU s[N];

int i,j;float average[N]; input(s,N); for(i=0;i

average[i]=0; for(j=0;j<3;j++) average[i]/=3;

printf(\第%d个同学的平均成绩为:%f\\n\ scanf(\ for(j=0;j<3;j++)

scanf(\

average[i]+=s[i].score[j];

}

}

4.建立一个链表,每一个节点包括的成员为学生学号、平均成绩。用malloc开辟新节点。要求链表包括8个节点,从键盘输入节点的数据。建立链表的函数名是create。 参考代码:

#include \#include \#define N 8 typedef struct student {

char num[5]; float score; struct student *next;

}STU;

STU *create(int n) {

int i;

STU *head,*p,*q;

head=p=(STU *)malloc(sizeof(STU)); for(i=0;i

printf(\请输入第%d个学生的学号num及成绩score:\\n\ scanf(\ p->next=q; p=q; }

q=(STU *)malloc(sizeof(STU));

p->next=NULL; }

void main() {

STU *head,*p; head=create(N); p=head->next; printf(\tart->\ return head;

while(p) }

{ }

printf(\

printf(\学号:%s 成绩:%2.0f->\p=p->next ;

习题10答案

一、选择题。

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

习题11答案

一、选择题。

1.C 2.D 3.B 4.B 5.A 6.C 7.C 8.B 二、填空题。

1.

将数组str中的字符串”hello”存入文件PRN中。 2.

Badd

三、写出程序的运行结果。

1.

fopen “w” 2.

fp=fopen(fn, “w”) ch!=’#’ ch=getchar() 3. fin k, fout

fopen(argv[1], “wb”

9.C 10.C

本文来源:https://www.bwwdw.com/article/5v6p.html

Top