二级C语言复习市公开课一等奖省赛课微课金奖课件.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 复习 公开 一等奖 省赛课微课 金奖 课件
- 资源描述:
-
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,C,程序设计复习,(一)要点,(二)概念 50%,-,疑难举例,(三)编程 50%,-,部分编程题解,衷心祝愿各位取得好成绩!,学好C程序设计关键,在于用好,“两脑两手”,:,两脑-大脑和电脑,两手-左手和右手,除了多编程多上机外,别无选择!,C程序设计复习,阅读讲义(含例题),复习习题(55道),(一)要点,C语言基础,1 C 语言基础,基本数据类型(int,float,double,char),变量(命名规则,类型,值,占用内存大小,地址),变量(作用域,存储类,生存期,可见性),表达式,表达式的种类 表达式的计算规则 逗号表达式,赋值语句,C程序的基本结构-顺序结构,选择结构,循环结构,运算符的优先级和结合性,一维数组和二维数组,2 函数-C程序的基本积木块,如何编写(定义)函数?,如何使用(调用)函数?,函数的类型和返回值,函数的形式参数和实在参数,函数的参数传递(单向传值),哪些类型的变量可以作函数的参数?,如何编写递归函数?,3 指针-C语言的一大特色,指针与指针变量的概念,运算符&和*,指针和指针变量允许的运算,一维数组的数组名与指向数组元素的指针的关系,已知int j=10,*p=则*p与j等价,已知int s=10,20,30,40,50,*p=s;则*(p+i)与si等价,p+i与&si同值。,二维数组的数组名与指向一维数组的指针的关系,指向一维数组的指针与指针数组的区别,已知,int a34=1,3,5,7,9,11,13,15,17,19,21,23,(*p)4=a;,则*(p+i),*(a+i),pi,ai同值;,*(*(p+i)+j),*(*(a+i)+j),*(pi+j),pij,aij同值。,指向函数的指针变量,4 结构体-有广泛的应用背景,结构体类型与结构体变量的定义,结构体类型与结构体变量的区别,如何引用结构体变量(即存取数据)?,如何计算结构体变量的大小?,单向链表的建立,插入,删除与排序,5 文件-有广泛的应用背景,文本文件与二进制文件,文本文件的打开与关闭(fopen,fclose),文本文件的读与写操作(fgetc,fputc,fgets,fputs,fscanf,fprintf),二进制文件的读与写操作(fread,fwrite),其它的文件操作(fseek),C程序设计复习,(二)基本知识疑难举例,做完习题集中的选择题部分对掌握C语言的基本知识大有助益。若能加做其中的填空题更有好处。,标识符大小区分,Sum=i=j=5;sum=(j-,i+,i+);printf(“%d”,Sum);,关键字不能作为标识符(用户标识符),指出不合法的标识符:,A)nameB)_oldC)charD)turbo_c,赋值号不能与等号相混淆,下述循环的循环次数是 ,int k=2;,while(k=0)printf(%d,k),k-;printf(n);,A)无限次,B)0 次,C)1 次D)2 次,数学中的不等式不能与C语言中关系表达式相混淆,00.51 00.5&0.51,运算符/有时表示整除有时表示实数除,设x=2.5,y=4.7,a=7,算术表达,(1)x+a%3*(int)(x+y)%2/4的值为 ,A)2.5,B)7,C)4.7D)2.75,(2)x+a%3*(int)(x+y)%2/4.0的值为 ,A)2.5B)7,C)4.7,D)2.75,混合表达式是根据算符优先规则和结合性进行,,但右自加+,右自减不会因加了括号而提前执行,以下程序段的输出结果是 ,#include,#define MIN(x,y)(x)0;y-),if(y%3=0),printf(%d,-y);continue;,A)741,B)852,C)963D)875421,(2)void main()(break语句的作用),int s=0,k;,for(k=7;k 4;k-),switch(k),case 1:case 4:case 7:s+;break;,case 2:case 3:case 6:break;,case 0:case 5:s+=2;break;,printf(s=%d,s);/*,s=3,*/,(3)执行语句for(i=0;i+10;);后变量 i 的值是 (表达式中自加),A)9B)10,C)11,D)不变,若有以下定义语句,则sizeof(x)和sizeof(y)的值是 ,struct int hour;int minute;int second x,*y;,y=,A)6,2,B)6,6,C)3,2D)3,3,函数的定义与调用,内部静态变量,运行以下程序,输出的结果是 ,#include,main(),int a=1,b=2;,printf(%d,func(a,b);,printf(%d,func(a,b);,func(int x,int y),static int a=0,b=1;,a=b*2;,b=a+x+y;,return(b);,A)5,5B)4,7,C)5,13,D)5,7,变量的作用域,下面程序的输出是 ,#inckude,int a5,k;,main(),fun1();fun3();,fun2();fun3();,fun1(),for(k=0;k5;k+)ak=0;,fun2(),int a5;,for(k=0;k5;k+)ak=k;,fun3(),for(k=0;k5;k+),printf(%d,*(a+k);,A)0000000000,B)0000001234,C)0000012345D)0123400000,用下列语句定义a,b,c,然后执行b=a,c=b+b,则b,c的值为 (宽度不同的整数之间相互赋值),long a=0 xffffff;,int b;,char c;,A)0 xffffff 和 ox61B)-1 和 98,C)-1 和 97,D)指向同一地址,执行下面程序片段后的输出结果是 ,float f1=111.111;,printf(%f f1=%8.3fn,f1);,A)%f f1=111.111,B)%f f1=111.111,C)f1=111.111 D)f1=111.111,设x,y为int型变量,z为float型变量,有以下语句:,scanf(%2d%*2d%2d%f,printf(%d,%d,%f,x,y,z);,现在从键盘输入12345678,则输出结果为 ,A)12,56,78.000000,B)12,34,5678.000000,C)12,56,78.0 D)输出格式有误,不能通过编译,设有以下程序片段,执行后的输出结果是 ,int x=100,y=200;,printf(%d,(x,y);,A)100,B)200,C)100,200D)编译出错,下列程序输出结果是 (阅读程序的方法),#include,main(),int n2,i,j,k;,for(i=0;i2;i+)ni=0;,k=2;,for(i=0;ik;i+),for(j=0;jk;j+)nj=ni+1;,printf(%dn,nk);,上面程序的,)不确定的值,),i,0,0,1,1,j,0,1,0,1,n0,1,3,n1,2,3,下列程序运行结果为 。,#define P 3,#define S(a)P*a*a,main(),int ar;,ar=S(3+5);,printf(n%d,ar);,A)192,B)29,C)27D)25,设有以下程序:,#include,main(),int a9=1,2,3,4,5,6,7,8,9,*p;,p=a;,printf(%d,p);,printf(%x,p+5);,执行此程序,如果第一个printf语句输出的值是200,则第二个printf语句的输出是 ,A)210 B)205,C)D2,D)195,若有以下说明和语句,则对a数组元素的正确引用的选项是 ,int a45,(*p)5;,p=a;,A)p+1B)*(p+3),C)*(p+1)+3,D)*(*p+2),执行下面语句后,表达式*(p0+1)+*(q+2)的值为 。,int a=5,4,3,2,1,*p4=a+3,a+2,a+1,a,*q=p;,/*p0=a+3;p1=a+2;p2=a+1;p3=a;*/,/*p01+q20=1+4=5 */,A)8B)7,C)6,D)5,若有以下程序片段:,int a12=0,*p3,*pp,i;,for(i=0;inext=new;,new-next=head;,B)new-next=head;,head=new;,C)new-next=head;,head=new;new-next=NULL;,D)head-next=NULL;,head-next=new;new-next=head;,若有运算符,sizeof,&=,按优先级的正确排序是 ,A)sizeof,&=,B)sizeof,&=,C),sizeof,&=,D)=0;n-),printf(“%2d”,an);,printf(“ncount=%d”,count);,/*6.1*/讲解,main(),int a,b,temp,product;,printf(“Input two positive integers:”);,scanf(“%d%d”,if(a0|b9|a0|n0)abort();/*,提示该函数,*/,for(s=0,t=0,i=0;in;i+),t=t*10+a;,s+=t;,printf(ns=%ld,s);,/*ex0604*/讲解,main(),float fac,sum;,int j;,for(sum=0,j=1,fac=1;j=20;j+),fac*=j;,sum+=fac;,printf(“sum=%fn”,sum);,/*ex0606*/讲解,main(),int i,j,k,m;,for(m=100;m=999,m+),i=m%10;/*个位*/,j=m/10%10;/*十位*/,k=m/100;/*百位*/,if(m=i*i*i+j*j*j+k*k*k)printf(%-4d”,m);,printf(“n”);,/*ex0608*/前项分子+分母为后项分子;前项分子为后项分母,main(),int m;,float a=2.0,b=1.0,sum=0.0;/*a为分子b为分母*/,for(m=1;m=20;m+),sum+=a/b;,a=a+b;/*,前项分子+分母为后项分子,*/,b=a-b;/*,前项分子为后项分母,*/,printf(“sum=%fn”,sum);,main(),/*ex0614*/,讲解,int i,k;,for(k=1;k5;k+),for(i=0;i4-k;i+)printf();,for(i=0;i2*k-1;i+)printf(*);,printf(n);,for(;k8;k+),for(i=0;ik-4;i+)printf();,for(i=0;i15-2*k;i+)printf(*);,printf(n);,#include stdio.h”#define N 10,main(),/*习题7-2*/讲解,int i,j,k,t,aN;,printf(nn input is );,for(i=0;iN;i+),scanf(“%d”,/*输入数据*/,for(i=0;iN-1;i+),k=i;/*k记住最大者之下标*/,for(j=i+1;jaj)k=j;/*修改k*/,if(k!=i)t=ak;ak=ai;ai=t;,for(i=0;i=i;j-)/*将应放位置i及其后的数据依次后,移*/,aj+1=aj;,ai=x;/*将 x 插入到相应位置*/,for(i=0;iN+1;i+)printf(%6d,ai);,#include stdio.h,#define N 10,main(),/*习题7-5*/,int aN;,int i,j,t;,for(i=0;iN;i+),scanf(%d,for(i=0,j=N-1;,ij,;i+,j-),t=ai;ai=aj;aj=t;,printf(noutput arrayn);,for(i=0;iN;i+),printf(%6d,ai);,#define N 10,main(),/*,习题7.6 方法一,*/,int aNN,i,j;,for(i=0;iN;i+),ai0=aii=1;/*第0列和对角线上元素置1*/,for(i=2;iN;i+)/*从第二行开始*/,for(j=1;ji;j+)/*前行j-1与j列之和为本行j列的值*/,aij=ai-1j+ai-1j-1;,for(i=0;iN;i+),for(j=0;ji+1;j+),printf(%6d,aij);,printf(n);,main(),/*习题7.8找鞍点,用宏定义指定M,N的值*/,int i,j,k,aMN,a,maxj;,输入数组a的数据。,for(i=0;iM;i+),for(j=1,maxj=0;jaimaxj)maxj=j;/*,循环结束后,aimaxj是i行上最大者*/,for(k=0;kakmaxj)break;/*,不是maxj列上的最小者,*/,if(k=M)break;/*aimaxj是鞍点*/,if(i=M)无鞍点,否则aimaxj是鞍点,/*打印图案 7.11 */,#include stdio.h,#define N 5,main(),int i,j;,printf(nn);,for(i=0;iN;i+),for(j=0;ji+20;j+),putchar();,for(j=0;jN;j+),putchar(*);,printf(n);,#include stdio.h”,#include,#define N 20,main(),/*习题7-13*,/,char str1N,str2N;int i,j;,printf(ninput string1:);,gets(str1);,printf(ninput string2:);,gets(str2);,for(i=0;str1i!=0;i+);,j=0;,while(str1i+=str2j+)!=0);,printf(n new string1 is:t%st,str1);,#include,#sefine MAX 100,main(),/*习题7.14*/,char s1MAX,s2MAX;,int i=0;,printf(“Input the first string:”);,gets(s1);,printf(“Input the second string:”);,gets(s2);,while(si!=0,printf(“%dn”,s1i-s2i);,#include stdio.h“,#include,#define N 20,main(),/*习题7-15*/,char str1N,str2N;,int i=0;,printf(ninput string2:);,gets(str2);,while(str1i=str2i)!=0),i+;,printf(nstring1 is:t%s,str1);,#include stdio.h,/*-*/,int maxM(int m,int n),int r;,while(n!=0),r=m%n;,m=n;,n=r;,return(m);,/*-*/,int minM(int m,int n),return(m*n/maxM(m,n);,void main(),int a,b;,printf(nt Enter two integers:);,scanf(%d%d,printf(nMfactor:%d,maxM(a,b);,printf(nMmultiple%d,minM(a,b);,讲解,习题8-1,#include stdio.h”#include math.h“/*,讲解,习题8-3,*/,int isPrimeNum(int n),int i,k;,k=sqrt(n);,for(i=2;i=k;i+),if(n%i=0)return 0;,return 1;,/*-*/,void main(),int m;,printf(ntInput an integer:);,scanf(%d,if(isPrimeNum(m),printf(nt%d is a prime number n,m);,else,printf(nt%d is not a prime number n,m);,#include stdio.h”/*,讲解,习题8-5,*/,#include string.h,void reverse(char s),int i=0,j=strlen(s)-1;,char c;,while(i=A,/*-*/,int is_digit(char c),/*if c is a digit,return true,else return false*/,return(c=0,/*-*/,int is_blank(char c),/*if c is a space,return true,else return false*/,return(c=|c=t|c=n)?1:0);,/*-*/,void count(char s),int is_pha(char),is_digit(char c),is_blank(char);,int i;,alpha=digit=blank=others=0;,for(i=0;si!=0;i+),if(is_pha(si)alpha+;,else if(is_digit(si)digit+;,else if(is_blank(si)blank+;,else others+;,void main(),char s100;,gets(s);,count(s);,printf(nt alpha:%d,digit:%d,alpha,digit);,printf(nt balnks:%d,others:%d,blank,others);,#include stdio.h#include string.h#include ctype.h,void getMaxLenWord(char s,char t)/*,习题8-10,*/,int i=0,j;char sub30;/*临时变量*/,strcpy(t,);/*strset(t,0);*/,while(si!=0),while(si=)i+;/*skip the blanks*/,j=0;,while,(,isalpha(si),)/*save current word to sub*/,subj+=si+;,subj=0;,if(strlen(sub)strlen(t)strcpy(t,sub);,void main(),char str200,t30;,gets(str);getMaxLenWord(str,t);,printf(ntMax length word:%s n,t);,#include stdio.h“,/*习题8-16*/*高位部*16+本位值*/,long int covert(char s),int i;long int n=0;,for(i=0;si!=0;i+),if(si=A&si=a&si=0&si=9),n=n*16+(si-0);,else break;,return n;,void main(),char t6;,scanf(%s,t);/*a number based on 16*/,printf(nt The value of ten is:%ld,covert(t);,#include stdio.h“/*讲解,习题8-17,*/,void print(int n),int i;,if(i=n/10)!=0),print(i);,putchar(t);,putchar(n%10+0);,/*-*/,void main(),int n;,printf(nt Enter a integer:);,scanf(%d,print(n);,习题9.1,#define exchange(x,y)t=x,x=y,y=t,main(),int a,b,t;,scanf(“%d%d”,exchange(a,b);,printf(“a=%d,b=%dn”,a,b);,/*P199 9.2 习题*/,#define Mod(a,b)(a)%(b),main(),int x,y,t;,printf(Input two integers:);,scanf(%d%d,if(xy),t=x;x=y;y=t;,printf(n%d MOD%d=%dn,x,y,Mod(x,y);,2,5,10,7,9,8,1,6,4,3,p,begin,/*,10.3,*/,/*要求用 3 个函数,一个输入,一个处理,一个输出*/,#define N 10,/*-*/,void input(int*p),int*begin;,printf(n Enter 10 numbers:);,for(begin=p;pbegin+N;p+),scanf(%d,p);,/*-*/,/*将最大的一个与最后一个互换,将最小的一个与第一个数互换*/,void process(int*p)/*,此算法有错,如下图的数据,则结果错,*/,int*max,*min,*begin,t;,max=min=p;/*开始时,将最大和最小指针指向第一数*/,for(begin=p;p*max)max=p;,if(*p*min)min=p;,/*交换操作:最大数*/,t=*(begin+N-1);*(begin+N-1)=*max;*max=t;,/*交换操作:最小数*/,t=*begin;*begin=*min;*min=t;,10,5,2,7,9,8,3,6,4,1,max,min,void process(int*p),/*修改后*/,int*max,*min,*begin,t;,begin=p;,max=min=p;/*开始时,将最大和最小指针指向第一数*/,for(;p*max)max=p;,/*交换操作:最大数*/,t=*(begin+N-1);*(begin+N-1)=*max;*max=t;,for(p=begin;pbegin+N;p+),if(*p*min)min=p;,/*交换操作:最小数*/,t=*begin;*begin=*min;*min=t;,/*-*/,void output(int*p),int*begin;,printf(n The result are:);,for(begin=p;pbegin+N;p+),printf(%4d,*p);,/*-*/,main(),int aN;,input(a);,process(a);,output(a);,1,5,2,7,9,8,3,6,4,10,/*,10.4,*/,#define N 10,/*-*/,void exchange(int*a,int m),int i,t,j;,for(i=0;i=0;j-),*(a+j+1)=*(a+j);,/*从倒数第二个数开始各数右移一位*/,*a=t;,/*将t存入第一个位置*/,/*-,10.4的主函数-,-*/,main(),int i,m,aN;,printf(n Enter%d numbers:,N);,for(i=0;iN;i+),scanf(%d,printf(nt Enter m:);,scanf(%d,exchange(a,m);,printf(nt Results:);,for(i=0;iN;i+),printf(%4d,ai);,/*-*/,#define MAX 50,/*,10.5的解法,*/,int ex1005(int*p,int n),int i,k=0,m=n;/*k记报数,m记在位人数*/,for(i=0;i1),if(*(p+i)=1),k+;/*报数*/,if(k=3)*(p+i)=0;k=0;m-;,i=(i+1)%n;,/*未完,接下页*/,for(i=0;in;i+),if(*(p+i)=1),return i;,main(),int aMAX,n;,clrscr();,printf(“Input the numbers of people:”);,scanf(“%d”,printf(last=%dn,ex1005(a,n);,/*,10.7,*/,#define N 10,/*-*/,void copystring(char*s,int m,char*t),char*p;,for(p=s+m;p=A,else if(*p=a,else if(*p=0,else if(*p=|*p=t)(*pb)+;,else(*po)+;,p+;,/*习题10.8的主函数*/,main(),char s100;,int upper,lower,blank,digiter,other;,printf(“Input a string:”);,gets(s);,count(s,printf(“nupper=%dtlower=%d”,upper,lower);,printf(“nblank=%dtdigiter=%d”,blank,digiter);,printf(“nother=%d”,other);,/*,10.14,*/,#define N 10,/*-*/,void reverse(int*a,int n),int*p,t;,p=a+n-1;,while(ap)t=*a;*a=*p;*p=t;a+;p-;,/*-*/,main(),int i,aN;,printf(nt Enter%d numbers:,N);,for(i=0;iN;i+)scanf(%d,a+i);,reverse(a,N);,printf(nt Results:);,for(i=0;iN;i+)printf(%4d,*(a+i);,/*10.17*/,int strcomp(char*s1,char*s2),for(;*s1=*s2 s1+,s2+),;,return*s1-*s2;,/*,10.20,希望大家仔细阅读 */,#define N 5,/*-选择排序-*/,void sort(char*str,int n),char*t1,*t2,*p1,*p2;,for(p1=str;p1str+n-1;p1+),t1=p1;/*暂定p1指向的字符串最小*/,for(p2=p1+1;p20),t1=p2;/*让t1始终指向小者*/,t2=*p1;/*p1中的地址与t1中的地址交换*/,*p1=*t1;,*t1=t2;,/*-*/,main(),char*sN=Pascal,C,Basic,Fortran,Java;,int i;,sort(s,N);,printf(nt Results:);,for(i=0;iN;i+),printf(%st,si);,/*-*/,“Pascal”,“C”,“Basic”,“Fortran”,“Java”,S0,S1,S2,S3,S4,“Pascal”,“C”,“Basic”,“Fortran”,“Java”,S0,S1,S2,S3,S4,习题11.3,struct student,int num;,char name20;,int score3;,stu5;,main(),int i,j;,for(i=0;i5;i+),printf(“nInput num,scanf(“%d%s”,printf(“nInput scores:”);,for(j=0;j3;j+),scanf(“%d”,print(stu,5);,print(struct student*pst,int n),int k;,for(k=0;knum,pst-name);,printf(“%d,%d,%d”,pst-score0,pst-score1,pst-score2);,pst+;,11.5,#define N 10 /*有N个学生数*/,#define M 3 /*各修M门课程*/,typedef struct/*学生结构*/,int no;char name20;int scoreM;int ave;,STUD;,/*-*/,void input(STUD*s)/*从键盘上输入N个学生的信息*/,int i,j,temp;/*计算各学生的平均成绩*/,for(i=0;iN;i+,s+),printf(tEnter No Name score0 score1 score2n);,scanf(%d%s,for(temp=0,j=0;jscorej;,s-ave=temp/,M,;,/*-*/,void printAver(STUD*s)/*输出N个学生的总平均成绩*/,int i,sum=0;,for(i=0;iave;,printf(tTotal average is:%dn,sum/N);,/*-*/,void printMax(STUD*s)/*输出N个学生中平均分最高的学生信息*/,int i;,STUD*p=s;,for(i=0;iaveave),p=s;,printf(tThe top student%d%s ,p-no,p-name);,for(i=0;iscorei);,printf(%dn,p-ave);,/*-*/,main(),STUD stuN;,system(cls);,input(stu);/*输入N个学生的信息*/,printAver(stu);/*输出N个学生的总平均成绩*/,printMax(stu);/*输出N个学生中平均分最高的学生信息*/,11.8,#include stdio.h,#define LEN sizeof(struct student),typedef struct student,int no;,int score;,struct student*next;,STUD;,/*输出head指针所指的链表(带头结点)*/,void print(STUD*head),STUD*p;,p=head-next;,if(p!=NULL),printf(ntThe list is:n);,while(p!=NULL),printf(tNum=%d Score=%dn,p-no,p-score);,p=p-next;,STUD*create(),STUD*head,*last,*new;,head=last=(STUD*)malloc(LEN);/*申请一个头节点*/,last-next=NULL;,while(new=(STUD*)malloc(LEN)!=NULL)/*申请一个数据节点*/,printf(“nEnter No,scanf(%d%d,if(new-no!=0),new-next=NULL;,last-next=new;,last=new;,else free(new);break;/*建立链表结束*/,return head;/*返回链表的表头*/,void insert(STUD*head,STUD*pt),/*将pt节点按学号从小到大插入到head为头指针的链表*/,STUD*p;,p=head;,while(p-next!=NULL&p-next-nono),p=p-next;,pt-next=p-next;,p-next=pt;,STUD*merge(STUD*pA,STUD*pB),/*将PA,PB两个链表合并*/,STUD*pH,*pT;,pH=pA;pA=pA-next;pH-next=NULL;,while(pA!=NULL)/*将pA链表按要求插入pH链表*/,pT=pA;pA=pA-next;,insert(pH,pT);,pB=pB-next;,while(pB!=NULL)/*将pB链表按要求插入pH链表*/,pT=pB;pB=pB-next;,insert(pH,pT);,return pH;,main(),STUD*pa,*pb,*pc;,system(cls);,printf(tCreate link An);pa=create();,printf(ntCreate link Bnn);pb=create();,pc=merge(pa,pb);,print(pc);,11.12 将单链表倒置,将带表头结点的单链表倒置,(先看下页的算法思想),STUD*reverse(STUD*head),STUD*movenode,*remains;,remains=head-next;/*remains指向剩余部分*/,head-next=NULL;/*此时head指向的链表只有一个表头结点*/,while(remains!=NULL)/*若链表未处理完*/,movenode=remains;/*movenode指向卸下的结点*/,remains=remains-next;/*remains指向剩余部分*/,movenode-next=head-next;,/*movenode的下一个结点应是原第一个结点*/,head-next=movenode;/*movenode作为新的第一个结点*/,return head;,1,2,3,head,1,2,3,head,remains,1,2,3,head,remains,2,1,3,head,remains,movenode,movenode,将不带表头结点的单链表倒置,(先看下页的算法思想),STUD*reverse(STUD*head),STUD*movenode,*remains;,remains=head;/*remains指向剩余部分*/,head=NULL;/*此时head指向的链表为空*/,while(remains!=NULL)/*若链表未处理完*/,movenode=remains;/*movenode指向卸下的结点*/,remains=remains-next;/*remains指向剩余部分*/,movenode-next=head;,/*movenode的下一个结点应是原第一个结点*/,head=movenode;/*movenode作为新的第一个结点*/,return head;,1,2,3,head,1,2,3,head=NULL,remains,1,2,3,head,remains,2,1,3,head,remains,movenode,movenode,13.5 A,B为两个文本文件,各存放一行字母,试将A,B中的字母按字典顺序合并后输出到新文件C中。,#include stdio.h,main(),FILE*fpA,*fpB,*fpC;,char s200;,int i,j,k,t;,if(fpA=fopen(“A.txt”,rt)=NULL)abort();,if(fpB=fopen(“B.txt”,rt)=NULL)abort();,if(fpC=fopen(“C.txt”,wt)=NULL)abort();,i=0;/*将文件A和B中的字符装入内存*/,while(si=fgetc(fpA)!=EOF)i+;,while(si=fgetc(fpB)!=EOF)i+;,si=0;,for(i=0;si!=0;i+)/*对字符串中的,字符,排序*/,k=i;,for(j=i+1;sj!=0;j+),if(sksj)k=j;,t=si;si=sk;sk=t;,printf(“%sn”,s);,fprintf(fpC,%s,s);,fcloseall();,获得“获得知识的能力”比获得知识更重要。,学习方法之一:,举一反三,触类旁通,思考题:,A,B为两个文本文件,各存放,若干整数,,试将A,B中展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




二级C语言复习市公开课一等奖省赛课微课金奖课件.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/12616424.html