C 学习心得范文.doc_第1页
C 学习心得范文.doc_第2页
C 学习心得范文.doc_第3页
C 学习心得范文.doc_第4页
C 学习心得范文.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

C 学习心得范文 C+学习心得九度A题先做1,2,3星的题老杨命令禁止的,但老师们私底下还是会预面试学生的我们实验室每天都有学生预面试,我能骗你们吗C+学习心得 1、编译是ctrl+F9,执行是ctrl+F10是不是执行后,一个黑框一闪而过后就没了?这个可以这样做,在程序返回前加一句getchar();就像下面这个程序这样,这样就没有问题了此程序仅供参考。 如果没有输出,那么说明你的程序可能存在问题。 #includeint main()int i,sum=0;for(i=1;i=100;i+)sum+=i;printf(1+2+3+100=%d,sum);getchar();return0;2注;当输出完一些数字或字符后想换行在输出时可以应用此表达putchar(n);而对于puts函数,它对于所操作的对象则当做是字符串来看待,puts(n);则可实现换行的操作;3#includeVoid main()char*string=”l lovechina”;这里string是一个指向字符串的指针,并且该语句只是把”l lovechina”的第一个字符的地址赋给指针变量string。 char*week7=Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday;对于该语句数组中的每个分量都是字符指针,并且其中存放数组中每一个分量中第一个字符的地址。 4getchar():函数的值就是从输入设备得到的字符5天勤代码2-2中对输出空格和换行的处理值的借鉴int main()int n;while(scanf(%d,&n)!=EOF)int iSpace=0;for(int i=1;i字符串2,则函数返回值为一个正数整数;若字符串1 9函数的返回值return z;return(xy?x:y);其中第一个return函数返回的是一个变量z,而第二种表述方式中return函数返回的是一个表达式的值。 其过程为先计算表达式的结果,再将结果返回给被调用函数。 10、注意printf(“%d%d”,a,b);printf中前边为输出格式,后边为输出变量名,也可以是表达式x+y;或函数返回值 11、#include标准代码格式int main()int num10;int i,max;for(i=0;i10;i+)scanf(%d,&numi);max=num0;for(i=0;imax)max=numi;printf(max=%dn,max);getchar();有时候因为输入10个数字后有一个回车,因此第一个getchar()可能是把回车取了,因此需要再来一个getchar();才可以getchar();return0; 12、printf(%d%dn,ci,di);/printf输出时不用&,谨记 13、int main()int digits20;int num;while(scanf(%d,&num)!=EOF&num)int numofd=Separated(num,digits);int ans1=0;。 注意在devc中while(scanf(%d,&num)!=EOF&num)该循环确实可以起到重复进行多组运算的目的。 除此之外,在天勤代码3-2中还起到了停止运算的功能(当num=0时再输入会结束),真挺妙 14、?0?代表ASII码为的字符,它与0字符并不相同,0的ASII为4815while(stri)/这里因为为char型数组,因此其值应为ascii码值,而0的ascii码值为0,而0的ascii码值为48,因此不会冲突if(stri=0&stri=9)/利用ascii码来判断是否为逗号,如果不是逗号则加入到计算得整数中;ans=ans*10+stri-0;i+; 16、定义一维数组时有多种方式,如char arr=?a;char20错误的。 再未给数组赋值时必须给出数组大小。 ?等.但char arr是而对于二维数组,可以如此char55?a,?b,?c,?d,?e? 17、指针数组一个数组,若其元素均为指针类型数据,称为指针数组,也就是说指针数组中的每一个数据元素都相当于一个指针变量。 一维指针数组定义形式pf int*p4; 18、字符串比较函数strcmp(str1,str2);当str1=str2,return0;When str1 19、错误提示C:UserslcqDocumentsDev.c+程序自编代码tqshu3-4.cpp expected,or;beforeint。 这种错误往往是在int之前或者是int的上面的一行 20、strcmp(str,=)注意由于strcmp函数在比较时的输入参数应该是字符串,因此strcmp(str,=)?的写法是错的。 但对于单个字符或标识符,用单引号是可以的 21、#includeint main()int a,i,sum;int b5;while(scanf(%d,&a)!=EOF)/从本题中sum=0在while中的位置确实是表明了,while最外循环在重复输入多组数据的作用sum=0;for(i=0;i5;i+)scanf(%d,&bi);if(bi 22、#include#include/素数判断bool isPrime(int n)if(n=1)return false;/计算到平方根即可这里讨论了n=1的情况,使程序更具有健壮性int len=(int)sqrt(double)n);for(int i=2;i 23、强制类型转换的格式(double)a;将a转换成double型(int)(x+y)将x+y转换成int型 24、int main()int num;int pwanshu;while(scanf(%d,&num)!=EOF)for(int j=2;jmax)max=lengthnum;这里在求最大最小值时一定要给max赋最小的有符号数0x80000000;以及给min赋最大的有符号数0x7FFFFFFF;这样才能尽可能保证第一个数比min小,而比max大。 即达到赋值min=max=length0的目的 47、在编写函数时一般将其首字母大写,应该是为了防止其与变量命名重合,影响结果 48、使用scanf(“%s”);读取的是一个以空白符(如空格、制表符以及换行)分割的字符串,如果一行字符串中包含空白字符,而又想读取整个一行,则使用gets();而这个函数的返回值是一个字符指针。 实际就是实际就是读取字符串后存放在内存区的首地址。 如果读取失败,返回值将会是null。 故可以利用这个特性来读取行数的输入。 49、strlen(str)函数只是不计算str最后的?0,?但是一定会包括str中的空格; 50、#includevoid sort1(int arr,int n)int change=1;int tmp;for(int i=1;i=n-1&change;i+)change=0;for(int j=1;jarrj+1)tmp=arrj;arrj=arrj+1;arrj+1=tmp;change=1;上边是一个无返回值的排序函数,在调用该函数时正确形式为sort1(arr,n);这里只能传入数组的指针。 如果输入为sort1(arr100,n);则会引起歧义,因为arr100代表的是数组中第100号元素。 51、for(int i=0;i 因此在编译器中,只需输入4321用空格隔开即可; 52、以0为下标的冒泡排序写法void sort1(int arr,int n)int change=1;int tmp;for(int i=0;iarrj+1)tmp=arrj;arrj=arrj+1;arrj+1=tmp;change=1; 53、while(scanf(%d,&n)!=0)int pop=0;/这里栈顶pop每次指向最后数据的后一个数fflush(stdin);/这段代码的作用是清除缓冲区;for(int i=0;i 54、方法1;void operate(int arr,char*instruction,int&pop)这里用的是引用型,表示在子函数中若改变pop的值,main()函数中pop的值也会相应的改变;if(instruction0=P)/压栈操作int c=instruction2-0;arrpop=c;(pop)+;if(instruction0=O)/弹出操作arr-(pop)=0;operate(arr,instructionj,pop);此为C+的表述,方法2;void operate(int arr,char*instruction,int*pop)这里C语言中的表示方法,在子函数中若改变pop的值,main()函数中pop的值也会相应的改变;if(instruction0=P)/压栈操作int c=instruction2-0;arr(*pop)=c;(*pop)+;if(instruction0=O)/弹出操作arr-(*pop)=0;operate(arr,instructionj,&pop);此为C的表述, 55、常用定义结点类型的方法;typedef struct nodeint num;struct node*left;structnode*right;node,*nodelist;/这里nodelist表示指向node类型的指针;类似于以前定义的int a;/int*b; 56、printf();/puts();printf函数和puts函数的区别puts函数输出字符串后会默认输出一个”n”。 而printf函数则没有; 57、#includevoid change(int&a,int&b)int tmp;tmp=a;a=b;b=tmp;/9个数顺时针翻转90一次;void fanz_9(int&a,int&b,int arr6)/这里实参为一个二维数组,调用参数时时为fanz_9(m,n,arr);/表示传入的参数为一个指针; 58、if()/if搭配else if语句的一般形式;.else if(). 59、while(scanf(%s,stri),stri!=.)

温馨提示

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

评论

0/150

提交评论