C基础课堂笔记汇总.doc_第1页
C基础课堂笔记汇总.doc_第2页
C基础课堂笔记汇总.doc_第3页
C基础课堂笔记汇总.doc_第4页
C基础课堂笔记汇总.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

第二天知识汇总第一步:运算符及运算符的优先级1 sizeof:可以获得数据类型占用内存空间的大小。以字节为单位显示。 一边形式:sizeof(type name) sizeof(int)=4sizeof(short)=2sizeof(char)=1sizeof(double)=8sizeof(float)=4输入一个char型的字符(如a),则将该字符对应的ASCII码的数值所占字节数表示出来。输入一个小数,则默认该小数位double类型 2 运算符优先级:运算符描述结合性()圆括号自左向右!, +, -, sizeof逻辑非,递增, 递减,求数据类型的大小自右向左*, /, %乘法,除法,取余自左向右+, -加法,减法自左向右, , =小于,小于等于,大于,大于等于自左向右= =, !=等于,不等于自左向右&逻辑与自左向右|逻辑或自左向右=,+=, *=, /=, %= ,-=赋值运算符,复合赋值运算符自右向左 优先级顺序(由高到低):括号运算符、单目运算符、算术运算符、关系运算符、逻辑运算符(不包括!)、条件运算符、赋值运算符、逗号运算符。Eg:代码练习 :年份判断及回文数取出不同位数上数字的方法有两种,一种是先取模后取余,另一种是先取余后取模。第二步:条件结构的相关知识。1 多重条件结构包括:多重if,嵌套if,switch结构。2 多重if的形式if(表达式1)语句1;else if(表达式2)语句2;else语句n;3 多重if的注意事项: 多重if之间无先后顺序关系,但应该根据实际情况对同级条件进行排序,涉及到代码的优化。else总是与最近的缺少对应else的if配对要注意对语句进行的使用(适用于任何if语句中)4 嵌套if结构if(表达式1)if(表达式2)if(表达式3)语句;else语句;5switch语句switch(表达式)case 常量1;语句;break;case 常量2;语句;break;default;6 switch语句注意事项: switch条件表达式是参照常数值(此处常数值可以是字符(需加单引号),int,char型数值,常量表达式。但不可以是变量,小数)进行检查(int,char可以,float,double不可以)在case后的各常量表达式的值不能相同,否则会出现错误;在case后,允许有多个语句,可以不用括起来;每个case语句后都必须有一个break语句,否则switch语句遇到第一个匹配条件时会一直执行,直到遇到第一个break才退出;各case和default子句的先后顺序可以变动,而不会影响程序执行结果;default子句可以省略;7 解题思想思想:区域转换为点switch(ch100?a+:b+; 判断语句num100为真时执行a+,反之执行b+第三步:循环结构1循环的应用条件:需要多次重复执行一个或多个任务的问题。2 循环中担心出现的问题:循环中最担心死循环;要找好循环的条件与控制;循环中使用的变量要经过初始化;循环包括:循环初值,循环变量增值,循环条件,循环终值,循环体3 四种不同的循环结构: 1)用goto语句和if语句构成循环; 2)用while语句; 3)用do-while语句; 4)用for语句4 while循环:循环语法:while (表达式) 语句;工作原理:计算表达式的值,当值为真(非0)时,执行循环体语句,一旦条件为假,就停止执行循环体。如果条件在开始时就为假,那么不执行循环体语句直接退出循环。 5 do-while语句一般语法:do 语句; while (表达式);工作原理:它先执行循环体中的语句,然后再判断条件是否为真,如果为真则继续循环;如果为假,则终止循环。 注意: while()后面必须有;do-while中的语句至少执行一次。6 嵌套while与嵌套do-while的代码练习。7 while与do-while的比较: while循环是先判断后执行,所以,如果条件为假,则循环体一次也不会被执行。 do-while 循环是先执行后判断,所以,即使开始条件为假,循环体也至少会被执行一次。8 for循环for 循环中有三个表达式for 语句中的各个表达式都可以省略分号分隔符不能省略9 for循环省略表达式 省略表达式1:相当于省去了为循环变量赋初值,此时应在for语句之前给循环变量赋初值 省略表达式2: 即不判断循环条件,也就是认为表达式2始终为真,这时应在循环体内设法结束循环,否则将成为死循环;逗号表达式永远显示最后侧表达式的结果(在作为判断条件时尤其注意)省略表达式3:即省去修改循环变量的值,但此时应在循环体内设法结束循环 10 逗号表达式:for语句中的三个表达式都可以是逗号表达式逗号表达式就是通过“,”运算符隔开的多个表达式组成的表达式逗号表达式从左往右计算。逗号运算符在 C 语言运算符中的优先级最低11 while、dowhile、for循环中的死循环:while(1);等同于while(1) 括号内是任意非0的数都可以为1 do while(1); for(;);等同于for(;)12 ch=getchar() :表示从外面接受一个字符。代码汇总:#if 0/输出不同类型字节数int value=100;printf(%d,sizeof(int);printf(%dn,sizeof(value);printf(%d,sizeof(short);printf(%d,sizeof(char);printf(%d,sizeof(double);printf(%dn,sizeof(float);printf(%d,sizeof(a);printf(%d,sizeof(100);printf(%dn,sizeof(1.2);#endif#if 0/判断闰年int year;printf(请输入年份:n);scanf(%d,&year);if(!(year%4) & (year%100) | !(year%400)printf(%d年是闰年n,year);elseprintf(%d年不是闰年n,year);#endif#if 0/判断5位回文int num,wan,qian,shi,ge;Loop:printf(请输入一个五位数:n);scanf(%d,&num);wan=num/10000;qian=num%10000/1000;shi=num%100/10;ge=num%10;if(wan=ge & qian=shi)printf(%d是回文数n,num);elseprintf(%d不是回文数n,num);goto Loop;#endif#if 0/评定学生成绩int score;printf(请输入一个成绩:n);scanf(%d,&score);if(score=80 & score=60 & score=90)printf(优n);else printf(差n);#endif#if 0/判断元音字母char ch;printf(请输入一个小写字母:);ch=getchar();switch(ch)casea:printf(%c是元音字母n,ch);break;casee: printf(%c是元音字母n,ch);break;casei: printf(%c是元音字母n,ch);break;caseo: printf(%c是元音字母n,ch);break;caseu:printf(%c是元音字母n,ch);break;default:printf(%c不是元音字母n,ch);#endif#if 0/字符类型判断char ch;int point;printf(请输入一个字符:n);scanf(%c,&ch);if(ch=0&ch=a&ch=A&ch=Z)point=3;elsepoint=4;switch(point)case 0:printf(该字符是一个控制字符n);break;case 1:printf(该字符是一个数字n);printf(该字符为:%cn,ch); break;case 2:printf(该字符是一个小写字母n);printf(该字符为:%cn,ch);printf(该字符转换为大写字母为:%cn,ch-(a-A); break;case 3:printf(该字符是一个大写字母n);printf(该字符为:%cn,ch);printf(该字符转换为小写字母为:%cn,ch+(a-A); break;case 4:printf(该字符是一个其它字符n);printf(该字符为:%cn,ch); break;default:printf(输入的字符有误!n);#endif#if 0/四则运算int num1,num2,point;char ch;Loop:printf(请输入运算式:n);scanf(%d%c%d,&num1,&ch,&num2);if(ch=+)point=1;else if(ch=-)point=2;else if(ch=*)point=3;else if(ch=/)point=4;elseprintf(输入的运算符有误,请重新输入!n);goto Loop;switch(point)case 1:printf(%d+%d=%dn,num1,num2,num1+num2);break;case 2:printf(%d-%d=%dn,num1,num2,num1-num2);break;case 3:printf(%d*%d=%dn,num1,num2,num1*num2);break;case 4:printf(%d/%d=%dn,num1,num2,num1/num2);break;default:printf(运算出错!n);elseprintf(errorn);#endif#if 0/求1100所有偶数的和int index=1,sum=0;while(index=100)sum+=index;index+;printf(1100的所有整数和为:%dn,sum);#endif#if 0/求1100所有偶数的和int index=2,sum=0;dosum+=index;index+=2;while(index=100);printf(1100所有的偶数和为:%dn,sum);#endif#if 0/打印空心三角(十行十列)方法一:int i=1,j=1;while(i=10)while(j=i)printf(*);j+;printf(n);i+;j=1;方法二:int i=1,j;while(i=10)j=1;if(i!=1)printf(*);while(j=i-2&i!=10&i!=1)printf( );j+;while(j=i-2&i=10)printf(*);j+;printf(*);printf(n);i+;#endif#if 0int i=1,j=1;while(i10)while(j=i)if(j=1|j=i)printf(*);elseprintf( );j+;printf(n);i+;j=1;while(j=10)printf(*);j+;printf(n);#endif#if 0int count=0;char ch;printf(请输入一行字符:n);while(1)ch=getchar();if(ch= )break;else if(ch=n)break;elsecount+;printf(一共输入了%d个有效字符n,count);#endif#if 0int i=1,sum=0;while(i1500)break;printf(结果为:%dn,sum);#endif#if 0int i=1,sum=0;for(i=1;i1500)break;printf(sum=%dn,sum);printf(i=%dn,i);#endif#if 1int num,i;for(num=100;num=200;num+)for(i=2;i(num/2)printf(%d是素数n,num);#endifreturn 0;代码知识扩展:打印菱形#includemain() int i,j,k; for(i=1;i=5;i+) for(j=1;j=5-i;j+) printf( ); for(k=1;k=2*i-1;k+) printf(*); printf(n); for(i=1;i=4;i+) for(j=1;j=i;j+) printf( ); for(k=1;k=9-2*i;k+) printf(*); printf(n); 1. 打印空心菱形#includemain() int i,j,k; for(i=1;i=5;i+) for(j=1;j=5-i;j+) printf( ); printf(*); for(k=1;k=2) printf(*); printf(n); for(i=1;i=4;i+) for(j=1;j=i;j+) printf( ); printf(*); for(k=1;k=7-2*i;k+) printf( ); if(i=3) printf(*); printf(n);2. 打印杨辉三角 void main() int nstars=1,stars; while(nstars = 10) stars=1;while (stars = nstars) printf

温馨提示

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

评论

0/150

提交评论