C语言程序设计学习指导(第2版) 1-6

时间:2019-05-12 18:45:34下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C语言程序设计学习指导(第2版) 1-6》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C语言程序设计学习指导(第2版) 1-6》。

第一篇:C语言程序设计学习指导(第2版) 1-6

第一章 概述

一、选择

1.C 2.B 3.C 4.D 5.D 6.A 7.B 8.C 9.A 10.B 11.C 12.D 13.B 14.B

第二章 数据类型

一、选择

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

第三章 运算符和表达式

一、选择

1.A 2.D 3.D 4.D 5.D 6.A 7.C 8.C 9.B 10.B 11.C 12.C 13.A 14.A 15.A 16.A 17.B 18.C 19.C 20.D 21.A 22.A 23.C 24.C 25.A 26.B 27.D 28.A 29.B 30.C 31.D 32.D 33.D 34.B 35.A 36.A 37.B 38.C 39.D 40.B 41.B 42.C 43.B

第四章 输入和输出

一、选择

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

二、编程

1.double fun(double m){ float n;n=(5.0/9.0)*(m-32);return n;}

2.char fun(char c){c=c+32;return c;}

3.double fun(int m){ double y=0;y=sin(m)*10;return(y);} 4.float fun(float h){return(long)(h * 100 + 0.5)/ 100.0;}

第五章 选择结构

一、选择 1.D 2.B 3.A 4.C 5.C 6.B 7.B 8.A 9.C 10.C 11.D 12.A 13.D 14.A 15.A 16.B 17.D 18.C 19.A 20.A 21.A 22.B 23.A 24.D

二、编程

1.int fun(int n){ int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return 1;else return 0;} 2.double y(float x){double z;if(x>10)z=exp(x);else if(x>-3)z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);} 3.int fun(int x){ int k;k=x*x;if((k%10==x)||(k%100==x))return 1;else return 0;}

第六章 循环结构

一、选择

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

二、填空

1.位置 1:r!=0 【或】 0!=r 【或】 r 位置 2:r=m%n 【或】 r=m-m/n*n 位置 3:n 位置 4:gcd,lcm 【或】 n,lcm 2.位置 1:k=0 位置 2:n%10 【或】 n-n/10*10 【或】 n-10*(n/10)位置 3:while(n>0)【或】 while(0=i 【或】 300>i 位置 3:i%7==0||i%17==0 【或】!(i%7)||!(i%17)【或】!(i%17)||!(i%7)【或】!(i%7&&i%17)【或】 i%17==0||i%7==0 位置 4:n%5==0 【或】!(n%5)【或】 n/5*5==n 5.位置 1:s=0 位置 2:i+=2 【或】 i=i+2 【或】 i=2+i 【或】 i++,i++ 位置 3:j<=i 【或】 i>=j 【或】 jj 【或】 j<1+i 【或】 1+i>j 位置 4:f=f*j 【或】 f=j*f

三、改错

1.位置 1:#include “math.h” 【或】 #include 位置 2:float s=0,t=1,p=1;【或】 float s=0,p=1,t=1;【或】 float p=1,s=0,t=1;【或】 float p=1,t=1,s=0;【或】 float t=1,p=1,s=0;【或】 float t=1,s=0,p=1;位置 3:while(fabs(t)>1e-4)【或】 while(0.00010.0001)位置 4:printf(“pi=%fn”,s*4);【或】 printf(“pi=%fn”,4*s);2.位置 1:printf(“%8.0f”,f1);【或】 printf(“%f”,f1);【或】 printf(“%8f”,f1);位置 2:for(i=1;i<20;i++)【或】 for(i=1;20>i;i++)【或】 for(i=2;i<=20;i++)【或】 for(i=2;20>=i;i++)【或】 for(i=1;i<=19;i++)【或】 for(i=1;19>=i;i++)位置 3:f1=f2;位置 4:f2=f3;3.位置 1:long k=1;位置 2: scanf(“%ld”,&n);位置 3: n/=10;【或】 n=n/10;4.位置 1:scanf(“%d”,&n);位置 2:for(i=1;i<=n;i++)【或】 for(i=1;n>=i;i++)【或】 for(i=1;ii;i++)位置 3:s+=1.0/t;【或】 s=s+1.0/(float)t;【或】 s=1.0/(float)t+s;【或】 s=s+1.0/t;【或】 s=1.0/t+s;【或】 s+=1.0/(float)t;【或】 s+=1.0/(double)t;【或】 s=s+1.0/(double)t;【或】 s=1.0/(double)t+s;5.位置 1:sum=1.0;【或】 sum=1;位置 2:s2=1.0;【或】 s2=1;位置 3:for(k=4;k<=n;k++)【或】 for(k=4;n>=k;k++)【或】 for(k=4;kk;k++)【或】 for(k=4;1+n>k;k++)6.位置 1:t=1;【或】 t=1.0;位置 2:t=t*j;【或】 t=j*t;【或】 t*=j;位置 3:s=s+t;【或】 s=t+s;【或】 s+=t;位置 4:printf(“jiecheng=%fn”,s);

四、编程

1.int fun(int n){ int d,s=0;while(n>0){d=n%10;s+=d*d*d;n/=10;} return s;} 2.int fun(int n){ int i,s=0;for(i=2;i 0){ s = s/100;t = s%10*sl + t;sl = sl * 10;} } 7.double fun(int n){ double m=1.0;int i;double p=1.0;for(i=1;i<=n;i++){p=p*i;m=m+1.0/p;} return(m);} 9.int fun(int n){int i,k;for(i=n+1;;i++){ for(k=2;km){ m=x1+x2;x1=x2;x2=m;} return m;}

第二篇:C语言程序设计学习探讨

C语言程序设计学习探讨

罗××

(湖南理工学院物电学院电子09-2BF班,学号14092500×××,序号003,湖南 岳阳 414000)

摘要:本文对c语言的难点、学习方法等方面作了简要的介绍,并谈到了一些个人的学习心得,仅供参考。

关键字:C语言;程序结构;指针;心得体会

A Study of the Learning of C Language Program Design

Luo × ×

(Hunan Institute of Science and Technology, school of Physics and Electronics, Yueyang,Hunan, China 414000)

Abstract: In this paper,C language's difficulties, learning methods are briefly introduced

and describes some of the personal learning experience, for reference only.Key words: C language;program structure;pointer;feelings and experience

C语言是在国内外广泛使用的一种计算机语言,它具有功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性高等特点,但由于c语言牵涉的概念比较复杂,规则繁多,使用灵活,容易出错,不少初学者感到困难。在此

本人谈谈自己的体会和见解。1我的C语言基础分析

通过上学期所开设的《c语言程序设计》课程的学习,我对c语言有了初步的认

识和理解,对数据的结构和存储方式、程序设计的语法算法以及程序的调试都具备了一定的理论基础。通过上机亲自编写和调试小程序,掌握编程的常见方法和步骤,我的实践能力也得到了不少的提高。但总的来说,我的基础还是比较薄弱的,我希望通过下一阶段的学习得到更大的提高。

2C语言的学习难点

就个人而言,我觉得c语言学习的难点在于逻辑算法和结构控制。我自己在编

程的时候常常是知道如何用数学方式表达出来,但要转化成程序设计语言就比较困难,其一是因为表达式的语法规则繁多运用不如自然语言的语法得心应手导致出现很多错误,其二是因为对逻辑思维的要求较高,要实现一个程序功能,其流程控制显得比较难,一个小小的步骤不能实现就会使整个程序编写寸步难行。所以多做编程练习显得尤其重要,这也是真正提高编程水平的最根本的方法。

3指针的学习心得体会

指针是c语言的一个特色,也是c语言学习中最难掌握的部分,一是因为它的抽象性,二是因为它的灵活性。通过指针的运用可以实现用其他语句所不能实现的功能,它也可以使程序变得简洁、紧凑、高效。指针既是地址,它牵涉到数据的存

储和访问方式,这往往是比较隐晦的,若还和数组及函数等结合更让人费解,比如

说如何理解“指向指针的指针”。指针变量的灵活运用也是个比较难掌握的的技能,我在使用它的时候通常都画出它在内存中的示意图,以便能清晰看到它的运算和引

用过程,这对加强初学者对指针的运作机制的理解是很有帮助的。

4对教师教学的建议

梅老师授课很细致认真,对知识点的细节问题尤其讲得很透彻,使我们对c语

言的理论知识的全面掌握很有帮助。但我们最缺少的是上机实践,以前在上机课上,我们遇到的困难和问题往往不能立即得到老师的指导,课后往往就不会再去仔细钻

研它们,这使得我们的问题累积得越来越多,所以希望老师能把理论和实践很好的结合起来,才能高效迅速提高我们的编程水平。

5总结本学期C语言学习的收获

本学期通过仔细听了梅老师的每一节课,首先在c语言理论学习上又更进了一

层楼,以前很模糊的概念、不太重视的细节问题和杂乱的知识体系现在都很清晰明

了了,其次对程序设计语言的结构和特点有了更好的理性认识,至少不会再犯一些

低级的语法错误。最重要的是学到了程序设计的思想以及思维方式,这对于我们的学习、工作、生活各个方面都是有帮助的,使得我们在处理其它事务时也能有个清

晰的逻辑思维和程序化的处理方法。

参考文献

[1] 谭浩强著.C程序设计(第三版).北京:清华大学出版社,2005

[2] 李丽娟,马淑萍主编.C语言程序设计(第二版).北京:中国铁道出版社,2009

作者简介:罗××(1991-),男,湖南衡阳人,湖南理工学院物电学院本科学生,主要研究方向

为电子技术。

第三篇:第1章 程序设计和C语言

第1章 程序设计和C语言

C语言版本很多,标准C、ANSI C、微软的C。这些C彼此之间会有小的区别。我们上课以微软的C为主。

编程环境:Visual C++ 6.0

1.1 什么是计算机程序

2.5 结构化程序设计方法

在60年代之间,编程很混乱,特别地,在许多的编程语言中有大量的Goto语句。

结构化程序设计强调程序设计风格、程序结构规范化,提倡清晰的结构。具体地说:

1)自顶向下;

2)逐步细化;

3)模块化设计;

4)结构化编码;

5)适当注释

更多的结构化程序设计思想在《软件工程》课程中介绍。但是,现在又有许多的新的思想,如面向对象程序设计思想等。

第四篇:C语言程序设计 ( 第3次 )

第3次作业

一、程序阅读题(本大题共50分,共 5 小题,每小题 10 分)1.#include #define F(x)x*x int main(){ double n;n=F(3.5+5)/F(3);printf(“n=%.2lfn”,n);return 0;}

2.(写出下面程序执行的结果)#include int main(){ int x,b1,b2,b3;x=300;b3=x/100;b2=(x-b3)/100;b1=x%10;x=b1+b2+b3;printf(“%dn”,x);return 0;} 3.写出下面程序执行的结果)#include int main(){

char c,str[]=“SSSWILTCH22223WALL”;int k;for(k=2;(c=str[k])!='';k++){ switch(c){ case 'A': putchar('a');continue;case '2': break;case 2: while((c=str[k++])!='2'&&c!='');case 'T': putchar('*');case 'L': continue;default: putchar(c);continue;} putchar('#');} printf(“n”);return 0;}

4.(写出下面程序执行的结果)#include int main(){ char c1='a',c2='b',c3='c',c4='101',c5='x4a';printf(“a%c b%ctc%ctabcn”,c1,c2,c3);printf(“tb%c %cn”,c4,c5);

return 0;} 5.(写出下面程序执行的结果)#include int a,b,c,d;int main(){ void p(int a,int b);printf(“%d,%d,%d,%dn”,a,b,c,d);p(a,b);printf(“%d,%d,%d,%dn”,a,b,c,d);return 0;} void p(int a,int b){ static int c;a++,b++;c-=1,d+=1;if(a<3){ p(a,b);printf(“%d,%d,%d,%dn”,a,b,c,d);} }

二、程序设计题(本大题共40分,共 5 小题,每小题 8 分)

1.编程序实现功能:将一个10行5列数组a每一行中最大值取出存放到一个一维数组b中,输出数组a和数组b的值,要求所有数组操作通过两种以上的指针方式表示。

2.编写程序实现功能:分别统计键盘输入流上接收字符串中每种数字字符的个数,要求使用数组表示所有计数器集合,并且在数组的下标表达式中使用枚举型数据。

3.编程序实现功能:求出在1~1000之间的整数中能同时被3、5、7整除的数,输出满足条件的数以及它们的和。

4.编程序实现华氏温度到摄氏温度的转换,其转换公式是:,式中f表示华氏温度,c表示摄氏温度。5.编写一个递归函数计算Hermite多项式,Hn(x)定义为:

三、填空题(本大题共10分,共 5 小题,每小题 2 分)1.下面程序的功能是:求两个实数之和的平方根,请选择合适选项填空完成程序。

#include #include < > int main(){ double a,b;scanf(“%lf,%lf”,&a,&b);

printf(“%lfn”,sqrt(a+b));return 0;} A string.h B stdlib.h C math.h D mathematics.h 2.下面程序的功能是:挑选输入流中的数字字符按序组成整数(例如输入流为ab3c5g8,获取的整数为358), 请选择合适选项填空完成程序。#include int main(){ char c;int n=0;while((c=getchar())!='n')if()n=n*10+c-'0';printf(“n=%dn”,n);return 0;} A c>='0'&&c<='9' B c>'0'&&c<'9' C c>=0&&c<=9

D c>'0'||c<'9'

3.下面程序的功能是:求从键盘输入的3个整数之和。请选择合适选项填空完成程序。

#include int add(①);int main(){ int a,b,c,sum;printf(“?a,b,c: ”);scanf(“%d,%d,%d”,&a,&b,&c);sum=add(②);printf(“sum=%dn”,sum);return 0;} int add(int a,int b){ return a+b;} A add(a,b),c B a,b,c C int a;int b D int,int 4.下面程序的功能是:将从键盘上输入的一个字符串数据写入到指定的文件中,然后将其读出进行校验,正确输出OK,错误输出ERROR。请选择合适选项填空完成程序。

#include #include int main(){ FILE *fpt;char str[100],str1[100]=“",fn[20];printf(”Input the filename:“);gets(fn);

if((fpt= ①)==NULL){ printf(”Can't open file %sn“,fn);return-1;} gets(str);fwrite(str,sizeof(char),strlen(str),fpt);fseek(②);fread(str1,sizeof(char),strlen(str),fpt);if(strcmp(str,str1)==0)printf(”OKn“);else printf(”ERRORn“);puts(str1);fclose(fpt);return 0;} A fopen(fn,”w+“)B fpt,-1*strlen(str),SEEK_CUR C fpt,-1*strlen(str),SEEK_END D fopen(fn,”r+“))5.下面程序的功能是:取出变量a从右端开始的4~7位,存放到变量d中并输出。请选择合适选项填空完成程序。

#include int main(){ unsigned short a,b,c,d;a=0x29;b=a>>4;c= ①;d=b&c;printf(”%xn%xn“,a,d);return 0;} A(~0<<4)B ~(0<<4)C ~(~0>>4)D ~(~0<<4)

答案:

一、程序阅读题(50分,共 5 题,每小题 10 分)

1.参考答案: n=24.00

解题方案:

评分标准:

2.参考答案: 5 解题方案:

评分标准:

3.参考答案: SWI*CH#*Wa

解题方案:

评分标准:

4.参考答案:

aa bb cc abc A J

解题方案:

评分标准:

5.参考答案: 0,0,0,0 2,2,-3,3 1,1,-3,3 0,0,0,3

解题方案:

评分标准:

二、程序设计题(40分,共 5 题,每小题 8 分)

1.参考答案: #include #include #include int main(){ int a[10][5],b[10],i,j;srand(time(NULL));for(i=0;i<10;i++)for(j=0;j<5;j++)*(a[i]+j)=rand()%100;for(i=0;i<10;i++){ *(b+i)=a[i][0];for(j=0;j<5;j++)if(*(b+i)<*(*(a+i)+j))*(b+i)=*(*(a+i)+j);} printf(”tarray A:tarray B:n“);for(i=0;i<10;i++){

for(j=0;j<5;j++)printf(”%4d“,a[i][j]);printf(”t%4dn“,b[i]);} return 0;}

解题方案:

评分标准:

2.参考答案: #include #include #define MAX 1000 enum dig{zero,one,two,three,four,five,six,seven,eight,nine};int main(){ int getline(char *s,int lim);char str[MAX],*p;int counter[10]={0},i;enum dig nu=zero;gets(str);p=str;while(*p)

{ if(*p>='0'&&*p<='9')counter[nu+*p-'0']++;p++;} for(i=0;i<10;i++)printf(”%4d“,counter[i]);printf(”n“);return 0;}

解题方案:

评分标准:

3.参考答案: #include int main(){ int n,sum=0;for(n=1;n<=1000;n++)if(n%3==0&&n%5==0&&n%7==0){ printf(”%5d“,n);sum+=n;}

printf(”nsum=%dn“,sum);return 0;}

解题方案:

评分标准:

4.参考答案:

#include int main(){ double c,f;printf(”请输入华氏温度数:“);scanf(”%lf“,&f);c=5.0/9*(f-32);printf(”摄氏温度是:%lfn“,c);return 0;}

解题方案:

评分标准:

5.参考答案: #include int main(){ double H(int n,double x);int n;double x;printf(”Input x and n:“);

scanf(”%lf,%d“,&x,&n);printf(”H(%d,%lf)=%lfn",n,x,H(n,x));return 0;} double H(int n,double x){ if(n==0)return 1;else if(n==1)return 2*x;else return 2*x*H(n-1,x)-2*(n-1)*H(n-2,x);}

解题方案:

评分标准:

三、填空题(10分,共 5 题,每小题 2 分)

1.参考答案: C 解题方案:

评分标准:

2.参考答案: A 解题方案:

评分标准:

3.参考答案: ① D ② A

解题方案:

评分标准:

4.参考答案: ① A ② B

解题方案:

评分标准:

5.参考答案: D 解题方案:

评分标准:

第五篇:C语言程序设计学习指导第二版 答案

第一章

一、1.C 2.B 3.C 4.C 5.D 6.A 7.B 8.C 9.A 10.D 11.B 12.C 13.A 14.D 15.B 16.B

第二章

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

第三章

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

第四章

一、1.B 2.C 3.D 4.D 5.D 6.C 7.B 8.D 9.C 10.D 11.B 12.A 13.C 14.C 15.B 16.AB 17.D

二、1.double fun(int m){ double y=0;y=sin(m)*10;return(y);} 2.float fun(float h){return(long)(h * 100 + 0.5)/ 100.0;}

3.double fun(double m){ float n;n=(5.0/9.0)*(m-32);return n;}

4.char fun(char c){c=c+32;return c;}

(14 6f)12.B 第五章

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

二、1.int fun(int n){ int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw)return 1;else return 0;} 2.float fun(float x){float y;if(x<0 && x!=-3.0)y=x*x+x+6;else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0)y=x*x-5*x+6;else y=x*x-x-1;return y;} 3.double y(float x){double z;if(x>10)z=exp(x);else if(x>-3)z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);} 4.int fun(int x){ int k;k=x*x;if((k%10==x)||(k%100==x))return 1;else return 0;}

第六章

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

二、1.位置 1:r!=0 【或】 0!=r 【或】 r 位置 2:r=m%n 【或】 r=m-m/n*n 位置 3:n 位置 4:gcd,lcm 【或】 n,lcm 2.位置 1:k=0 位置 2:n%10 【或】 n-n/10*10 【或】 n-10*(n/10)位置 3:while(n>0)【或】 while(0=i 【或】 300>i 位置 3:i%7==0||i%17==0 【或】!(i%7)||!(i%17)【或】!(i%17)||!(i%7)【或】!(i%7&&i%17)【或】 i%17==0||i%7==0 位置 4:n%5==0 【或】!(n%5)【或】 n/5*5==n 5.位置 1:s=0 位置 2:i+=2 【或】 i=i+2 【或】 i=2+i 【或】 i++,i++ 位置 3:j<=i 【或】 i>=j 【或】 jj 【或】 j<1+i 【或】 1+i>j 位置 4:f=f*j 【或】 f=j*f

三、1.位置 1:#include “math.h” 【或】 #include 位置 2:float s=0,t=1,p=1;【或】 float s=0,p=1,t=1;【或】 float p=1,s=0,t=1;【或】 float p=1,t=1,s=0;【或】 float t=1,p=1,s=0;【或】 float t=1,s=0,p=1;位置 3:while(fabs(t)>1e-4)【或】 while(0.00010.0001)位置 4:printf(“pi=%fn”,s*4);【或】 printf(“pi=%fn”,4*s);2.位置 1:printf(“%8.0f”,f1);【或】 printf(“%f”,f1);【或】 printf(“%8f”,f1);位置 2:for(i=1;i<20;i++)【或】 for(i=1;20>i;i++)【或】 for(i=2;i<=20;i++)【或】 for(i=2;20>=i;i++)【或】 for(i=1;i<=19;i++)【或】 for(i=1;19>=i;i++)位置 3:f1=f2;位置 4:f2=f3;3.位置 1:long k=1;位置 2: scanf(“%ld”,&n);位置 3: n/=10;【或】 n=n/10;4.位置 1:scanf(“%d”,&n);位置 2:for(i=1;i<=n;i++)【或】 for(i=1;n>=i;i++)【或】 for(i=1;ii;i++)位置 3:s+=1.0/t;【或】 s=s+1.0/(float)t;【或】 s=1.0/(float)t+s;【或】 s=s+1.0/t;【或】 s=1.0/t+s;【或】 s+=1.0/(float)t;【或】 s+=1.0/(double)t;【或】 s=s+1.0/(double)t;【或】 s=1.0/(double)t+s;5.位置 1:sum=1.0;【或】 sum=1;位置 2:s2=1.0;【或】 s2=1;位置 3:for(k=4;k<=n;k++)【或】 for(k=4;n>=k;k++)【或】 for(k=4;kk;k++)【或】 for(k=4;1+n>k;k++)6.位置 1:t=1;【或】 t=1.0;位置 2:t=t*j;【或】 t=j*t;【或】 t*=j;位置 3:s=s+t;【或】 s=t+s;【或】 s+=t;位置 4:printf(“jiecheng=%fn”,s);

四、1.int fun(int n){ int d,s=0;while(n>0){d=n%10;s+=d*d*d;n/=10;} return s;} 2.int fun(int n){ int i,s=0;for(i=2;i 0){ s = s/100;t = s%10*sl + t;sl = sl * 10;} } 8.double fun(int n){ double m=1.0;int i;double p=1.0;for(i=1;i<=n;i++){p=p*i;m=m+1.0/p;} return(m);} 9.int fun(int n){int i,k;for(i=n+1;;i++){ for(k=2;km){ m=x1+x2;x1=x2;x2=m;} return m;}

第七章

一、1.A 2.D 3.C 4.B 5.B 6.D 7.B 8.C 9.B 10.B 11.D 12.B 13.B 14.A 15.C 16.A 17.C 18.A 19.B 20.C 21.D 22.A 23.A 24.D 25.A 26.D 27.A 28.D 29.B 30.C 31.A 32.D 33.D 34.C 35.A 36.B 37.C 38.A 39.A 40.B 41.D 42.B 43.A 44.C 45.A

二、1.位置 1: break;位置2:i-1;位置3:c;2.位置1:sqrt(n)【或】n/2【或】n-1 位置2:n%i==0 位置3:k/10 位置4:prime_pal(j)3.位置1:n<10【或】10>n 位置2:sqrt(high)【或】high/2 位置3:high%j == 0【或】!(high%j)位置4:return sum【或】return(sum)4.位置 1:k=0 位置 2:j=m%10 【或】 j=m-m/10*10 【或】 j=m-10*(m/10)位置 3:return(1)位置 4:fun(i)

三、1.位置1:scanf(“%d”,&n);位置2:double fun(int n)位置3:for(i=1;i<=n;i++)【或】for(i=1;n>=i;i++)【或】for(i=1;ii;i++)位置4:s+=1.0/t;【或】s= s + 1.0 /(float)t;【或】s= s + 1.0 /t;【或】s+=1.0/(float)t【或】s+=1.0/(double)t;【或】s= s + 1.0 /(double)t;2.位置1:for(k=2;kk;k++)【或】for(k=2;k<=i-1;k++)【或】for(k=2;kk;k++)【或】for(k=2;k<=sqrt(i);k++)【或】for(k=2;sqrt(i)>=k;k++)位置2:if(i%k == 0)break;【或】if(!(i%k))break;位置3:if(i<=k)【或】if(k>=i)【或】if(k == i)【或】if(k>=i/2)【或】if(k=i/2)【或】if(k>sqrt(i))位置4:return i;【或】return(i);3.位置1:printf(“%8.0f”,f1);【或】printf(“%f”,f1);【或】printf(“%8f”,f1);位置2:for(i=1;i<20;i++)【或】for(i=1;20>i;i++)【或】for(i=2;i<=20;i++)【或】for(i=2;20>=i;i++)【或】for(i=1;i<=19;i++)【或】for(i=1;19>=i;i++)位置3:f1=f2;位置4:f2=f3;4.位置 1:void fun(int *a,int *b)【或】 fun(int *a,int *b)位置 2:t=*a;位置 3:*a=*b;位置 4:*b=t;5.位置 1:for(i=1;i<=10;i++)【或】 for(i=1;10>=i;i++)【或】 for(i=1;i<11;i++)【或】 for(i=1;11>i;i++)位置 2:s=s+fac(i);【或】 s=fac(i)+s;【或】 s+=fac(i);位置 3:float y=1.0;【或】 float y=1;位置 4:return y;【或】 return(y);6.位置 1:int fun(int m)【或】 fun(int m)位置 2:for(i=2;ii;i++)【或】 for(i=2;i<=m-1;i++)【或】 for(i=2;m-1>=i;i++)位置 3:if(m%i==0)k=0;【或】 if(0==m%i)k=0;位置 4:return k;7.位置 1:for(i=2;i<=m;i++)【或】 for(i=2;m>=i;i++)【或】 for(i=2;ii;i++)【或】 for(i=2;1+m>i;i++)位置 2:y-=1.0/(i*i);【或】 y=y-1.0/(i*i);【或】 y-=1.0/(float)(i*i);【或】 y=y-1.0/(float)(i*i);【或】 y=y-1.0/i/i;【或】 y=y-1.0/(float)i/(float)i;【或】 y=y-1/(double)(i*i);【或】 y-=1/(double)(i*i);位置 3:return y;【或】 return(y);8.位置 1:while((2<=k)&&(mc<10))【或】 while((mc<10)&&(2<=k))【或】 while((k>=2)&&(mc<10))【或】 while((2<=k)&&(10>mc))【或】 while((k>=2)&&(10>mc))【或】 while((mc<10)&&(k>=2))【或】 while((10>mc)&&(2<=k))【或】 while((10>mc)&&(k>=2))位置 2:if(!(k%17!=0||k%13!=0))【或】 if(!(k%13!=0||k%17!=0))【或】 if(k%13==0||k%17==0)【或】 if(k%17==0||k%13==0)位置 3:k--;【或】 k=k-1;【或】 k-=1;位置 4:return m;【或】 return(m);

四、1.int fun(int n){ int i,k;for(i=n+1;;i++){ for(k=2;k0.000001){x0=x1;x1=cos(x0);} return((float)x0);}

第八章

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

二、1.位置1:t=a[5];【或】t=a[5] 位置2:a[i]=a[i-1];【或】a[i]=a[i-1] 2.位置1:i+1【或】1+i 位置2:a[j]a[j]【或】a[min_loc]>=a[j] 位置3:i!=min_loc【或】min_loc!=i 3.位置1:max=a[0] 位置2:max=a[j] 4.位置1:&a[i]【或】a+i 位置2:a[i]==x【或】x==a[i] 位置3:!=【或】< 5.位置1:jmax=N-1【或】jmax=9 位置2:a[j]>a[j+1]【或】a[j+1]x[0] 7.位置1:high=mid-1: 位置2:low=mid+1: 位置3:a,m 8.位置 1:a[i][i]=1 位置 2:i 位置 3:a[i-1][j]+a[i-1][j-1] 【或】 a[i-1][j-1]+a[i-1][j] 位置 4:j<=i 【或】 i>=j 【或】 jj 【或】 j-1j-1 9.位置 1:i==j||i+j==6 【或】 j==i||i+j==6 【或】 i==j||j+i==6 【或】 j==i||j+i==6 【或】 i==j||6==i+j 【或】 j==i||6==i+j 【或】 i==j||6==j+i 【或】 j==i||6==j+i 位置 2:a[i][j]=2 位置 3:i6 【或】 j>i&&i+j>6 【或】 i6 【或】 j>i&&j+i>6 【或】 ii&&6i&&6

三、1.位置1:#include 位置2:printf(“%3d”,*(num+i));位置3:while(low<=high)位置4:{ printf(“%d”,mid+1);2.位置1:int a[2][3]={1,34,23,56,345,7};【或】int a[][3]={1,34,23,56,345,7};位置2:max=a[0][0];位置3:for(j=0;j<3;j++)位置4:printf(“max=a[%d][%d]=%dn”,s,t,max)3.位置1:scanf(“%d”,&number);位置2:for(i=N-2;i>=0;i--)【或】for(i=N-2;0<=i;i--)位置3:a[i+1]=a[i];位置4:break;4.位置1:void sort(int x[],int n)【或】void sort(int x[10],int n)位置2:if(x[j]>x[j+1])位置3:sort(a,n);位置4:for(i=0;i

四、1.void fun(int n,int a[]){ int i=3;while(n!=0){ a[i--]=n%10;n=n/10;} } 2.int fun(int a[M][M]){ int s=0;int i,j;for(i=0;iamax)amax=a[i];return amax;} 9.void fun(int array[3][3]){ int i,j;int b[3][3];for(i=0;i<3;i++)for(j=0;j<3;j++)b[j][i]=array[i][j];

for(i=0;i<3;i++)for(j=0;j<3;j++)array[i][j]=b[i][j];} 10.void fun(int a[][N], int n){int i,j;for(i=0;i

a[i][j]*=n;} 11.void fun(int arr[],int n){int i,t;for(i=0;i

w[j-1]=w[j];} w[n-1]=ch;}} 15.double fun(int w[][N]){ int i,j,count=0;double average,sum=0.0;for(i=0;i

第九章

一、1.B 2.A 3.C 4.D 5.A 6.B 7.B 8.D 9.D 10.C 11.A 12.C 13.C 14.D 15.A 16.B 17.C 18.D 19.B 20.A 21.C 22.D 23.D 24.D 25.D(题目修改为能进行交换)26.A 27.A 28.B 29.B 30.B 31.B 32.B 33.C 34.A 35.C 36.B 37.A

二、1.位置 1:fun(char *p)【或】 fun(char p[])【或】 void fun(char p[])【或】 void fun(char *p)位置 2:while(*p!='')【或】 while(*p)位置 3:k=1;位置 4:p++;【或】 p=1+p;【或】 ++p;【或】 p=p+1;【或】 p+=1;2.位置 1:int fun(int *a,int *b,int n)位置 2:*b=c-a;位置 3:scanf(“%d”,&a[i]);【或】 scanf(“%d”, a + i);位置 4:max=fun(a,&p,N);3.位置 1:scanf(“%d”,p★++);【或】 scanf(“%d”,arr[i]);【或】 scanf(“%d”,p+i);【或】 scanf(“%d”,arr+i);位置 2:if(*p>*max)【或】 if(*max<*p)位置 3:if(max==arr)【或】 if(arr==max)位置 4:for(i=0;ii;i++)【或】 for(p=arr;p=i;i++)【或】 for(p=arr;p<=arr+n-1;)【或】 for(p=arr;arr+n-1>=p;)

三、1.int fun(int *s, int t, int *k){ int max_integer=0;int i=0;max_integer = s[0];for(i=0;i

if(max_integer

max_integer=s[i];

*k=i;

}

} return *k;} 2.float fun(float *a,int n){ int i;float average;double sum=0;for(i=0;ipp[k]){x=pp[i];pp[i]=pp[j];pp[j]=x;} } 4.void fun(char(*s)[N], char *b)

{ int x,y;for(x=0;x<100;x++)*(b+x)=0;for(x=0;x

b[x*M+y]=*(s[y]+x);}

第十章

一、1.B 2.B 3.C 4.C 5.A 6.B 7.C 8.D 9.B 10.C 11.C 12.A 13.C 14.C 15.D 16.B 17.D 18.C 19.B 20.B 21.B 22.B 23.C 24.C 25.D 26.B 27.C 28.C 29.D 30.D 31.A 32.D 33.D 34.A 35.C 36.C 37.C

二、1.位置1:!(*p==''&& *q=='')【或】*p!=''|| *q!=''【或】!(*p==0&& *q==0)【或】*p!=0|| *q!=0【或】*p|| *q【或】!(*p&& *q')位置2:*p< *q【或】*p<= *q【或】*q>*p【或】*q>=*p 位置3:k++【或】++k【或】k=k+1 2.位置 1:p1=str1+m 【或】 p1=m+str1 位置 2:*p2++=*p1++ 【或】 *(p2++)=*(p1++)【或】 *p2=*p1,p2++,p1++ 【或】*p2=*p1++,p2++ 【或】 *p2++=*p1,p1++ 位置 3:*p2='' 【或】 *p2=0 【或】 *p2=NULL 位置 4:strcopy(str1,str2,m)3.位置 1:j=strlen(s1)【或】 for(j=0;s1[j]!='10';j++);【或】 for(j=0;s1[j];j++);位置 2:s2[i]!= 【或】 *(s2+i)!= 【或】 *(i+s2)!= 位置 3:'' 【或】 NULL 【或】 0 位置 4:JOIN(str1,str2)4.位置 1:str1 位置 2:ii【或】 i<=n-1【或】n-1>=i 位置 3:str2[i]=str1[i]【或】*(str2+i)=*(str1+i)【或】*(str2+i)=str1[i]【或】str2[i]=*(str1+i)位置 4:str2[n]=''【或】str2[i]=''【或】str2[n]=0【或】str2[i]=0【或】 *(str2+n)='' 【或】*(str2+i)=''【或】*(str+n)=0【或】*(str2+i)=0 5.位置 1:str 位置 2:str[i]!=''【或】str[i]!=NULL【或】str[i]!=0【或】str[i] 位置 3:str[k]=str[i]【或】 *(str+k)=*(str+i)【或】str[k]=*(str+i)【或】*(str+k)=str[i] 位置 4:str[k]=''【或】*(str+k)=''【或】 str[k]=NULL 【或】 str[k]=0 【或】 *(str+k)=0 【或】 *(str+k)=NULL

三、1.位置1:void fun(char s[],char t[])【或】void fun(char *s,char *t)位置2:d = strlen(s);位置3:for(i = 0;ii;i++)【或】for(i = 0;i<=d-1;i++)【或】for(i = 0;d-1>=i;i++)位置4:t[ 2 * d ] = '';【或】t[ i + d ] = '';【或】t[ i + d ] =NULL;【或】t[ 2 * d ] = NULL;【或】t[ 2 * d ] = 0;【或】t[ i + d ] = 0;2.位置1:#include “stdio.h” 位置2:char s[6]={''};【或】char s[6]=“”;【或】char s[6]={0};位置3:s[i]=n%10+48;【或】s[i]=n%10+'0';位置4:changdg(n);3.位置 1:char fun(char *c)位置 2:return *c;【或】 return(*c);【或】 return(*c);位置 3:char s[81],*p=s;位置 4:putchar(*p);【或】 printf(“%c”,*p);

四、1.int i;for(i=0;str[i]!='';i++)if(str[i]>='a' && str[i]<='z')str[i]=str[i]-32;2.void copy(char str1[],char str2[]){ int i;for(i=0;str1[i]!='';i++)str2[i]=str1[i];str2[i]='';} 3.void len_cat(char c1[],char c2[]){int i,j;for(i=0;c1[i]!='';i++);for(j=0;c2[j]!='';j++)c1[i+j]=c2[j];c1[i+j]='';} 4.void fun(char *s,int num){ int i,j;char t;for(i=0;i='A'&&c[i]<='Z')||(c[i]>='a'&&c[i]<='z'))a=a+1;else if(c[i]>='0'&&c[i]<='9')

num=num+1;else if(c[i]==' ')

b=b+1;

else

other=other+1;} 8.int fun(char *str,char *substr){int i,n=0;for(i=0;i<=strlen(str)-2;i++)if((str[i]==substr[0])&&(str[i+1]==substr[1]))n++;return n;} 9.void fun(char s[]){int i,len;len=strlen(s);for(i=len-1;i>0;i--){ s[2*i]=s[i];s[2*i-1]=' ';} len=strlen(s);s[len]='';} 10.long fun(char *p){long n=0;int flag=0;while(*p!=''){ if(*p=='-')flag=1;else if(*p=='+')flag=0;else n=n*10+(*p-'0');p++;} if(flag==1)n=-n;return n;} 11.void fun(char *s,char t[]){ int i,slenth,n=0;slenth=strlen(s);for(i=1;i

for(j=0;*(a[i]+j);j++)

{

*(b+d)=*(a[i]+j);

d++;

} } 14.int fun(char *s){int i=1,j=0;while(*s){ if((i==1)&&(*s!=32)){j++;i=0;} if(*s==32)i=1;s++;} return j;} 15.int fun(char *ptr){int i,j;for(i=0,j=0;*(ptr+i)!='';i++)if(*(ptr+i)<='z'&& *(ptr+i)>='a'||*(ptr+i)<='Z' && *(ptr+i)>='A'){*(ptr+j)=*(ptr+i);j++;} *(ptr+j)='';return(j);} 16.void fun(char(*a)[81],int num,char **max){int i;*max=a[0];for(i=1;i<=num;i++)if(strlen(a[i])>strlen(*max))*max=a[i];}

第十一章

一、1.C 2.D 3.C 4.B 5.B 6.A 7.C 8.B 9.C 10.B 11.A 12.C 13.A 14.C 15.A 16.B 17.A 18.C 19.A 20.D 21.C 22.C 23.C 24.D 25.D 26.B 27.C 28.B 29.D 30.C 31.A 32.D 33.C 34.A(基于sizeof(int)=2)35.C 36.A

二、1.位置1:i<50【或】i<=49 位置2:stu[i].name 2.位置1:typedef 位置2:i 位置3:pu[k].grade

pu[k].grade 3.位置1:NULL 位置2:i++ 位置3:p2->next 位置4:p1 4.位置1:q->next 位置2:head->next 5.位置1: m->data!=x 位置2:m==NULL 位置3:free(m)6.位置1:q->next 位置2:new

三、1.int fun(STREC *a,STREC *b){ int i,j=0,max,k,f=0;max=(*a).s;for(i=1;imax)max=a[i].s;/*从所有的学生数据中找出最高的分值*/ for(i=0;inext;max=c->s;while(c->next!=0){c=c->next;if(maxs)max=c->s;} return max;} 6.double fun(STREC *h){ STREC *p;double aver=0;p=h->next;while(p!=0){aver=aver+p->s;p=p->next;} aver=aver/N;return aver;} 第十二章

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

二、1.位置 1:n=strlen(str)【或】 for(n=0;str[n]!='';n++)【或】 for(n=0;str[n];n++)【或】 for(n=0;str[n]!=0;n++)位置 2:ii 【或】 i<-1+n 【或】 ii 【或】-1+n>i 【或】 i<=n-1 【或】 n-1>=i 【或】-1+n>=i 位置 3:str[j]>str[j+1]【或】str[j]>str[1+j]【或】 str[j+1]

下载C语言程序设计学习指导(第2版) 1-6word格式文档
下载C语言程序设计学习指导(第2版) 1-6.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C语言程序设计实验指导及报告

    太原理工大学现代科技学院 C语言程序设计课程 实验报告 专业班级学号姓名指导教师C语言程序设计 实验指导及报告 实验说明: 1、共4次实验,每次实验完成1个内容。 2、实验报告......

    高级语言程序设计A第2次作业

    1. 以下说法中错误的是。 (B) a/=b+c;这个式子和a=a/b+c;等价 2. 16、若有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的元素的表达式是 (B) *(p+5) 3. 下面哪条语句是错......

    浅谈如何学习C语言程序设计5篇

    2009年8月 中 国 管理信息化 Aug..2009 China Informationization V01.12,No.16 第12卷第16期 Management 浅谈如何学习C++语言程序设计 孟艳涛1,邵长海2 (1.长春广播电视大......

    C语言程序设计学习心得体会(范文大全)

    C语言程序设计学习心得体会 通过一学期对C语言的学习,我感觉学习C语言是有一定难度却又是非常有趣的科目。也是很有帮助的,特别是对将要面对的计算机二级考试。 这段时间的学......

    《C语言程序设计》期末复习指导(xiexiebang推荐)

    《C语言程序设计》期末复习指导 一、考核说明 《C语言程序设计》课程是一门基础必修课程。本课程是学习数据结构、操作系统、计算机网络、数据库、软件工程等课程的先修课,在......

    C语言程序设计

    1. Problem A: Hello world! Description Xiao_ming有两个哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放学回家,父母分别跟他们打招呼。 Input 无 Output 请输出: Hello Da_min, He......

    C 语言程序设计

    《C 语言程序设计》主要在计算机软件、计算机网络、计算机应用、通信技术、智能电子、电子信息工程、多媒体以及核工程与核技术等专业中开设,是电子信息类、机械类等工科专业......

    《语言程序设计》学习心得自主学习报告

    自主学习报告书 题 目:学习汇编语言程序设计报告 学习课程: 《汇编语言程序设计》 姓 名: 专 业: 学 号: 福建工程学院国脉信息学院教务处 制 二○一二年六月 学习汇编语言程序......