语言考点与题库3.c考试难点_第1页
语言考点与题库3.c考试难点_第2页
语言考点与题库3.c考试难点_第3页
语言考点与题库3.c考试难点_第4页
语言考点与题库3.c考试难点_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

这篇文章主要是介绍一些在复习C语言的过程中笔者个人认为比较重点的地方,较好的掌握这些重点会使对C的运用更加得心应 链表等。一些最基本的概念在此就不多作解释了,仅希望能有只言片语给同是C语言初学者的学习和上机过程提供一点点的帮 了解了基本的变量类型后,我们要进一步了解它 类别和变量作用域问题静态变量(离开函数,变量值仍保留静态变量(只能在本文件中用非静态变量(允许其他文件使用静态变静态局部变量(函数静态全局变量(本文件非静态全局/外部变量(其他文件动态变externextern不用<>),能起到一定的效用。static型的在读程序写结果的试题中是个考点。多数时候整个程序会出现多个定义的变量在不main),全局变量和局部变量重名时局部变量起作用,当然还要注意静态与自动变量的区别。mainmain1 考试专业品牌预祝银考考生旗开得胜longfun(intlongfun(int{longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}{} voidbubble(inta[],int{inti,j,k;{}}voidsort(inta[],int{inti,j,k,t;{if(a[k]<a[j])2 考试专业品牌预祝银考考生旗开得胜{{}}}折半查找函数(原数组有序voidsearch(inta[],intn,int{intleft=0,right=n-1,mid,flag=0;{{flag=1;}elseif(x<a[mid])right=mid-else}}相关常用的算法还有判断回文,求阶乘,Fibanacci数列,任意进制转换, char字符串其实就是一个数组(指针),在scanf的输入列中是不需要 charcharcharcharcharchar*a;char*a;chara[5]={"abcd"};而不能在赋值语句中整体赋值。3 考试专业品牌预祝银考考生旗开得胜strcpy(char*,charstrcat(char*,charstrcmp(char*,char0不是比较长度,是比较字符ASCII码的大小,可用于按字strlen(char返回字符串的长度,不包括'\0'.atoi(charitoa(int,charsprintf(char*,格式化输入指针可以说是C值(即指针变量中存放的值)是指针(即地址)*“*”代表的是这是一个指swap(intc,intswap(intc,int{intt;}{inta=2,b=3;}这是不能实现abswap(#3333FF*p1,intswap(#3333FF*p1,int{intt;}{intint 考试专业品牌预祝银考考生旗开得胜}swapp1,p2a,b1取指针变量所指内容后sintatoi(char{intintatoi(char{intif(*s=='+'||*s=='-')/*判断是否有符号*/sign=(*s++=='+')?1:-1;/*用到三目运算符*/while(*s!='\0')/*对每一个字符进行操作*/{m=m*10+(*s-s++;/*指向下一个字符}return} 地址,也就是一个指针变量。而a+1就不是简单的在数值上加上1了,它代表的不是a[0][1],而是第1行的首地址,voidInput(ST*);voidOutput(ST*);voidBubble(ST*);voidFind(ST*);voidFailure(STvoidInput(ST*);voidOutput(ST*);voidBubble(ST*);voidFind(ST*);voidFailure(ST*);/*函 :这五个函数都是以一个指向ST型(事先定义过)结构的指针变量作为参数,无返回值。void(*process[5])(ST/*process55 考试专业品牌预祝银考考生旗开得胜(*process[choice])(a);/*调用相应的函数实现不同功能(*process[choice])(a);/*调用相应的函数实现不同功能 fopen("fclose(FILEfgetc(FILE从文件中一个字fputc(ch,FILEchfgets(FILE从文件中一fputs(FILEfprintf(FILE*,"格式字符串",输出表列fscanf(FILE*,"格式字符串",输入表列fwrite(地址,sizeof(),n,FILE把地址中nsizeoffread(地址,sizeof(),n,FILE把文件中nsizeofrewind(FILEfseek(FILE移动文件指针。第二个参数是位移量,0,12feof(FILErwa结构,便于管理)中去,再对结构进行操作即可。例如,文件aa.data中 的是30个学生的成绩等信息,要遍历这些信息,#defineN30typedefstructstudent/*定 学生成绩信息的数组{char*name; intmaths;intphy;inttotal;6 考试专业品牌预祝银考考生旗开得胜{STa[N];/* FILE*fp;void(*process[3])(ST*)={Output,Bubble,Find};/*实现相关功能的三个函数*/intchoice,i=0;{fread(&a[i],sizeof(ST),1,fp);/*把文件中 (*process[choice])(a);/*前面提到的指向函数的指针,选择操作*/}}void{ ythedataform\n1.Bubbleitaccordingtothetotal}voidOutput(ST*a)/*将文件 的信息逐个输出{int MathsPhysicsTotal\n");{ }}voidBubble(ST*a)/*对数组进行排序,并输出结果{inti,pass;STm;7 考试专业品牌预祝银考考生旗开得胜for(pass=0;pass<N-for(pass=0;pass<N-for(i=0;i<N-{m=a[i];/*结构互换*/}}voidFind(ST{inti,t=1;charprintf("\nEnterthenameyouwant:");if(!strcmp(m,a[i].name))/*{printf("\nTheresult匹配情况输出查找结果}printf("\nThenameisnotinthe}链表是Cstructstruct{intstructnodenext ,不会像数组一样必须在定义时确定大小,造成不必要的浪费。用malloc和 单元。其中,malloc的参数多用sizeof运算符计算得到。typedefstructtypedefstruct{charstructnode}NODE;/*结点8 考试专业品牌预祝银考考生旗开得胜NODENODE{charNODE{p=(NODE*)malloc(sizeof(NODE));/*强制类型转换为指针*/if(h==NULL)elseq-}q->next=NULL;/*链表结束*/returnh;}NODENODE{charch='a';NODE*p,*h=NULL;{p=(NODE*)malloc(sizeof(NODE));p->next=h;/*head*/}return}voidoutput(NODEvoidoutput(NODE{}9 考试专业品牌预祝银考考生旗开得胜}}插入结点(已有升序的链表NODE*insert(NODE*h,intNODE*insert(NODE*h,int{NODEwhile(current!=NULL&&(current->data<x))/*查找插入的位置{}new=(NODE*)malloc(sizeof(NODE));new-if(current==h)/*判断是否是要插在表头*/elsefront->next=new;returnh;}NODE*delete(NODE*h,intNODE*delete(NODE*h,int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论