当前位置:文档之家› C语言从入门到精通(吐血分享)

C语言从入门到精通(吐血分享)

2.选择结构<1>if语句格式:if(表达式)语句1>if是关键字2>表达式:常量、变量、六个表达式3>语句:一条:以;作为结束1> 多条(复合):以{为开始以}为结束int a=2,b=5;if(a>=b){ a=a*2;a=a+b;}4>4> 执行过程:表达式真执行语句表达式假不执行语句<2>if-else语句1>格式:if(x<10)语句1else语句21>if、else是关键字2>表达式:常量、变量、六个表达式3>语句1、语句2:一条:以;作为结束>1 多条(复合):以{为开始以}为结束4>执行过程:表达式真=》执行语句1表达式假=》执行语句25>if与else成对出现6>if与else的条件互为补集int a=20,b=15;a>b a=a+b反之 b=a*b a=b-aif(a>b)a=a+b; |x| x x>0else 0 x==0{ -x x<0b=a*b;a=b-a;}<3>if语句嵌套第一种:if(表达式1){if(表达式2) 语句1 } else 语句2第二种:if(表达式1)if(表达式2) 语句1 else 语句2 1>if与else配对:就近配对<4>else语句嵌套if(x>10) 语句1elseif(x>6) 语句2elseif(x>0) 语句3做题方法:<1>确定if与else配对<2>分别确定if与else的语句体3.循环结构<1>while语句while(表达式)循环体1>while是关键字2>表达式:常量、变量、六个表达式3>循环体:一条:以;作为结束>1 多条(复合):以{为开始 }为结束4>执行过程:只要表达式为真,执行循环体,直到表达式为假为止.5>结束循环:表达式补集<2>do-while语句do循环体while(表达式);1>do、while都是关键字2>表达式:常量、变量、六个表达式任何一个3>循环体:一条:以;作为结束>1 多条(复合):以{为开始 }为结束4>执行过程首先执行循环体,然后判断表达式,如果表达式为真,执行循环体,直到表达式为假为止.5>while语句与do-while语句的区别<1>相同点:循环语句<2>不同点:格式不同执行过程不同:while语句:先执行表达式,如果表达式为真,执行循环体,执行多次后,直到表达式为假,执行终止do-while语句:先执行循环体,然后判断表达式,如果表达式为真,在执行循环体,直到表达式为假,终止循环。

int i=200;while(i<200) i=200i++;int i=200;doi++; i=201while(i<200);6>结束循环:表达式的补集<3>for语句格式:for(表达式1;表达式2;表达式3)循环体1>for关键字2>表达式1、表达式2、表达式3:常量、变量、六个表达式、空3>循环体:一条:以;作为结束>1 多条(复合):以{为开始 }为结束4>for语句的通常书写格式:for(变量赋初始值;条件;变量增加或减少)循环体5>执行过程:6>结束循环:表达式2的补集注:if-else:<1>if与else进行配对(就近)<2>分别判断if和else的语句体(; {})<3>执行循环:<1>判断循环的循环体(; {})<2>如果循环有选择语句,一定注意选择语句的if与else 配套和语句体确定<3>执行循环体<4>循环嵌套x+y=20(x\y都是正整数>0)x=0 y=0 1 2 3 4 20x=1 y=0 1 2 3 4 5 20x=2 y=0 1 2 3 4 5 20x=3 y=0 1 2 3 4 5 20x=20 y=0 1 2 3 4 5 20for(x=0;x<=20;x++)for(y=0;y<=20;y++)if(x+y==20)printf("x=%d,y=%d",x,y);int i,j,s=0;for(i=0;i<3;i++)for(j=0;j<2;j++)s+=i+j;i=0<3 j=0<2 s=0j=1<2 s=1j=2<2i=1<3 j=0<2 s=2j=1<2 s=4j=2<2i=2<3 j=0<2 s=6j=1<2 s=9j=2<2i=3<3(五)算法<1>奇数、偶数、整除(x)奇数:x%2!=0偶数:x%2==0整除:x%i==0 不整除: x%i!=0注:多个数同时整除,只要被最小公倍数整除<3>累积 n! int ji=1 i=1 ~ 81*2*3*4*5 *6 *7 *8 *9*10 *502 6 24120 720 4900 32000 360000iji=ji*1ji=ji*2ji=ji*3 ji=ji*iji=ji*4ji=ji*50#include "stdio.h"main(){int i;double ji=1.0;for(i=1;i<=50;i++)ji*=i;printf("%0.0f\n",ji);}<4>一正一负1-2+3-4+5-6+7-8+9-101>数:等差数列 d=1 i2>符号:*-1 fh*=-1+ - + - + - + --1 -1 -1 -1 -1 -1 -13>累和1+(-2)+3+(-4)+5+(-6)+7+(-8) #include "stdio.h"main(){int i,fh=1,s=0;for(i=1;i<=10;i++){ s+=i*fh;fh*=-1;}printf("s=%d",s); }<5>平均值1+3+5+7+9+11+13+151>和值2>平均值=和值/个数#include "stdio.h"main(){int i,n=0,s=0;double ave;for(i=1;i<99;i+=2){s+=i;n++;}ave=(double)s/n;printf("%f\n",ave); }<6>斐波那契数列1 123 5 8 13 21f0f1f21+1=2 f2=f0+f1;1+2=3 f0=f1;2+3=5 f1=f2;3+5=85+8=138+13=21求斐波那契数列中,大于1000最小斐波那契数>1000 <=1000 <=1000 >1000#include "stdio.h"main(){int f0=1,f1=1,f2;f2=f0+f1;while(f2<=10){f0=f1;f1=f2;f2=f0+f1;}printf("f2=%d\n",f2);}<7>迭代法上机练习题1.输入一个整数,判断该数为奇数还是偶数,如果是奇数,输出“奇数”,如果是偶数,输出“偶数”。

2.输入一个整数,判断该数能否满足条件:能否被7或11整除,并且不能同时被7或11整除。

如果满足该条件输出“yes”,否则输出“no”.循环结构习题:2.求出1到100之间的所有数的加减之和,并输出该和值。

#include<stdio.h>main(){int i,s;i=1;s=0;while(i<=100){s=s+i;i=i+1;}printf(“s=%d\n”,s);}3.输出一个整数t,求出fibonacci数列中大于t的最小的一个数,并输出。

fibonacci数列定义为 f(0)=0,f(1)=1, f(n)=f(n-1)+f(n-2)4.利用迭代方法求出方程:cos(x)-x=0的一个实根,公式:x1=cos(x0);迭代步骤如下:1)取x1初值为0.0;2)x0=x1, 把x1的值赋给x0;3)x1=cos(x0),求出一个新的x1;4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。

输出结果为0.739085。

相关主题