c语言课堂笔记.docx

上传人:b****8 文档编号:11074546 上传时间:2023-02-24 格式:DOCX 页数:76 大小:46.67KB
下载 相关 举报
c语言课堂笔记.docx_第1页
第1页 / 共76页
c语言课堂笔记.docx_第2页
第2页 / 共76页
c语言课堂笔记.docx_第3页
第3页 / 共76页
c语言课堂笔记.docx_第4页
第4页 / 共76页
c语言课堂笔记.docx_第5页
第5页 / 共76页
点击查看更多>>
下载资源
资源描述

c语言课堂笔记.docx

《c语言课堂笔记.docx》由会员分享,可在线阅读,更多相关《c语言课堂笔记.docx(76页珍藏版)》请在冰豆网上搜索。

c语言课堂笔记.docx

c语言课堂笔记

课堂笔记

时间:

第一周(10.03.01——10.03.07)

整理人:

周洁李超王振杰李昀桐原爽史博洋

摘要:

main;printf;scanf;while;变量

知识点:

1.main:

主函数p4

为程序的入口函数

2.printf:

输出函数p75

例如:

printf("%d,%d\n",i,sum)

括号内前半部分为格式说明(%d为占位符),后半部分为输出表列

3.scanf:

输入函数p82

例如:

scanf("%d%d%d",&i,&sum,&n)

括号内前半部分为格式控制,后半部分为地址表列

4.while:

循环语句p114

例如:

while(i<=100)

{sum=sum+i;i=i+1;}

5.变量:

变量代表内存中具有特定属性的一个存储单位,它用来存放数据也就是变量的值,在程序运行期间这些值是可以改变的。

(1)int:

整型变量p40

定义为整型变量,int型变量分配16个bit

(2)double:

双精度浮点型变量p16

double型变量分配64个bit-lvchunli10-3-5上午1:

15

(3)float:

单精度浮点型变量p16

float型变量分配32个bit

(4)char:

字符变量p49

char型变量分配8个bit

例题:

例1:

1+2+3+4+5+……+1000=?

intmain(intargc,charargv[])

{

inti=1,sum=0;

while(i<=1000)

{sum=sum+i;

i=i+1;

}

printf("%d",sum);

}

------------------------------------

例2:

铅球ρ=11340kg/m3,d8.9cm,求质量

intmain(intargc,charargv[])

{

doubled=8.9,ρ=11340,r,v,h;

d=8.9;

r=d/100.0/2.0;

v=4.0/3.03.1415926rrr;

h=vρ;

printf("%f",h);

}

------------------------------------

例3:

1+1/2+1/3+1/4+1/5=?

intmain(intargc,charargv[])

{

inti=1;doublesum=0;

while(i<=5)

{sum=sum+1.0/i;

i=i+1;

}

printf("%f",sum);

}

-------------------------------------

例4:

12345……=?

intmain(intargc,charargv[])

{

inti=1,sum=1,n;

printf("\nPleaseinputanumbern:

");

scanf("%d",&n);

while(i<=n)

{sum=sumi;

i=i+1;

}

printf("%d",sum);

}

(当输入数字过大时无法输出)

-----------------------------------

例5:

1+1/2-1/3+1/4-1/5……=?

intmain(intargc,charargv[])

{

inti=2,f=1,n;doublesum=1;

scanf("%d",&n);

while(i<=n)

{sum=sum+1.0/if;

i=i+1;

f=-1f;

}

printf("%f",sum);

}

提醒与注意:

1.“;”表示一句话的结束,注意别丢失,并且要注意区分“;”与“,”的不同意义。

2.\n表示换行。

3.“()”、“{}”等要成对出现,不能丢失。

4.int表示整数变量,double表示小数变量。

5.printf("%d",sum)与printf("%f",sum)中“%d”与“%f”为占位符也可写成“sum=%d”与“sum=%f”,d为整数占位符,f为小数占位符。

6.变量为先定义后使用,可以以“_”或字母开头。

没定变量时可用“_”,字母,数字

7.while后不可用“;”。

8.用“F4”可以查看错误。

9.编程时要注意循环体中要有一个条件使循环条件不成立。

编者:

周洁李超王振杰李昀桐原爽史博洋

周洁李超王振杰李昀桐原爽史博洋做了很优秀的工作,从她们的笔记中,让我了解到课堂中的我都讲了什么,同学们都记住了什么,如果我自己整理的话会落下很多东西-lvchunli10-3-5上午1:

16

 

课堂笔记

时间:

第二周(10.03.9)(周二)

整理人:

张国荣、姜昊、孙珺朋、张晓琪、邓坤。

摘要:

分支结构,if,else语句;取余语句;逻辑运算符。

知识点:

分支结构

1、if语句:

是用来判断所给定的条件是否满足,根据判定的结果(真或假)决定执行给出

的一种操作。

P95

例如:

If(x>y)printf(“%d”,x)

2、if语句表示:

(1)有if时可以没有else;有else时必须有if;

P99

(2)if与else配对使用时,else总是与它上面最近的未配对的if配对;

(3)if语句中执行赋值语句时,0表示判断为假,非0表示判断为真;

(4)if语句中的常量与变量:

最好是把常量放置在前,变量放置在后面,

以便减少失误。

例如:

if(0==x){y=0;}

(5)if后面最好加上花括号,增加程序的可读性。

3、算术运算符:

取余:

符号是“%”。

例如:

if(y%4!

=0){printf("not");}

4、逻辑运算符:

逻辑或,符号是||(相当于其它语言中的or);

P92

逻辑与,符号是&&(相当于其它语言中的and);

逻辑非,符号是!

(相当于其它语言中的not)。

例如:

if(year%4==0||(year%100!

=0&&year%4==0))

例题:

例1:

分支结构

计算分段函数:

#include"stdafx.h"

main()

{

doublex;inty;

scanf("%lf",&x);

if(x<0)

{y=1;}

else

{y=-1;}

printf("y=%lf",y);

}

--------------------------------------------------------------------------------

例2:

计算分段函数:

#include"stdafx.h"

main()

{

doublex;inty;

scanf("%lf",&x);

if(x<0)

{y=1;}

elseif(0==x)

{y=0;}

else

{y=-1;}

printf("y=%lf",y);

}

---------------------------------------------------------------------------------------例3:

判断某年是否为闰年。

#include"stdafx.h"

#include"stdio.h"

intmain(intargc,charargv[])

{

intyear,leap;

scanf("%d",&year);

if(year%4!

=0)

{printf("%disontleapyear",year);}

elseif(year%400==0)

{printf("%disleapyear",year);}

elseif(year%100==0)

{printf("%disontleapyear",year);}

else

{printf("%disleapyear",year);};

}

---------------------------------------------------------------------------------------

例题3的优化编写一:

#include"stdafx.h"

#include"stdio.h"

intmain(intargc,charargv[])

{

intyear,leap;

scanf("%d",&year);

if(year%4!

=0)

{leap=0;}

elseif(year%400==0)

{leap=1;}

elseif(year%100==0)

{leap=0;}

else

{leap=0;};

if(1==leap)

{printf("%disleapyear",year);}

else{printf("%disnotleapyear",year);};

}

---------------------------------------------------------------------------------------例题3的优化编写二;

#include"stdafx.h"

#include"stdio.h"

intmain(intargc,charargv[])

{intyear,leap;

if(year%400==0||(year%100!

=0&&year%4==0))

{printf("%disleapyear",year);}

else

{printf("%disnotleapyear",year);};

}

提醒与注意:

1、double为双精度浮点型变量,占位符最好为%lf;

2、if后面的分支体加上用花括号,养成好的习惯;

3、if语句中最好是常量在前,变量在后;

4、if语句中等号为==,而不是=,不等号为!

=;

5、学会运用逻辑或和逻辑与编写程序,简化程序。

6、if语句多分支结构中注意else是与哪个if配对。

课堂笔记

时间:

第二周周四(10.03.11)

整理人:

张国荣、姜昊、孙珺朋、张晓琪、邓坤。

摘要:

多层循环结构;逻辑运算符的复习运用;for语句。

知识点:

1、多层循环结构:

是指循环体内又包含另外一个完整的循环结构,内循环

中又可以嵌套循环。

P121

例如:

x=1;

while(x<=3)

{y=1;

while(y<=3)

{z=1;

while(z<=3)

{printf("\nx=%d,y=%d,z=%d",x,y,z);

z=z+1;

}

y=y+1;

}

x=x+1;

}

2、逻辑运算符的运用:

逻辑或与逻辑与的复习。

3、for语句:

不仅可以用于循环次数以确定的情况,而且可以用于循环次数不确定而只

给出循环结束条件的情况,它可以完全可以代替while语句。

P118

(1)关键字是for;

(2)for语句后面的括号是成对出现的;

(3)for语句中有三部分组成:

循环变量赋初值;循环条件;循环变量增值。

(4)for语句中的三部分是由分号隔开的。

3、x++等价于x=x+1;

例题:

例1:

新娘和新郞配对问题

三对情侣参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。

有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:

A说他将和X结婚;X说她的未婚夫是C;C说他将和Z结婚。

这人听后知道他们在开玩笑,全是假话。

请找出谁将和谁结婚。

include"stdafx.h"

intmain(intargc,charargv[])

{intx,y,z;

x=1;

while(x<=3)

{y=1;

while(y<=3)

{z=1;

while(z<=3)

{if((x!

=z)&&(x!

=y)&&(y!

=z)&&(z!

=3)&&(x!

=1)&&(x!

=3))

{printf("\nx=%d,y=%d,z=%d\n",x,y,z);}

z=z+1;}

y=y+1;}

x=x+1;}

-------------------------------------------------------------------------------------------------------

例1程序的优化编写

#include"stdafx.h"

intmain(intargc,charargv[])

{intx,y,z;

for(x=1;x<=3;x=x+1)

for(y=1;y<=3;y=y+1)

for(z=1;z<=3;z=z+1)

if((x!

=z)&&(x!

=y)&&(y!

=z)&&(z!

=3)&&(x!

=1)&&(x!

=3))

{printf("\nx=%d,y=%d,z=%d\n",x,y,z);}

}

------------------------------------------------------------------------------------------------------------

例2:

韩信点兵问题

韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每5人一列余3人;每7人一列余4人;每8人一列余2人;每9人一列余8人;每11人一列余2人。

#include"stdafx.h"

intmain(intargc,charargv[])

{intnum=1;

while(num<=100000)

{if(num%5==3&&num%7==4&&num%8==2&&num%9==8&&num%11==2)

printf("\nnumis%d",num);

num=num+1;

}

}

---------------------------------------------------------------------------------------------

例3:

xx除以1923(即391)的余数为13,求x。

#include"stdafx.h"

intmain(intargc,charargv[])

{intx=1;

while(x<=1000)

{if(x%391==13)

{printf("x=%d",x);}

x=x+1;}

}

这个例子说明:

你要了解所用工具的限制。

int定义的的变量的最大值是有限的。

当超过这个限制,程序的结果是有问题的。

解决实际问题时要好好,分析这种限制

-----------------------------------------------------------------------------------

例3程序的优化编写

#include"stdafx.h"

intmain(intargc,charargv[])

{

intx;

for(x=1;x<1000;x=x+1)

{if(xx%391==13)

printf("x=%d",x);}

}

提醒与注意:

1、循环结构中,最内层的循环体是外层循环体之积;

2循环结构主要是运用穷举法思想,语句中的条件是起挑选作用的;

穷举法是一种思想,计算机程序设计时常用。

循环结构是常用于穷举的实现。

3、变量是先定义后使用,先赋值再使用;

4、循环结构程序中必须有语句改变条件中变量;

5、int定义的程序中所允许处理的最大数为2的32次方(即4294967296);

6、for语句中x++等价于x=x+1;

7、for语句中括号是成对使用的,语句是由三部分组成,记得用分号隔开哦!

-------------------------------------------------------------------------------

课堂笔记

时间:

第三周(3.16(周二)3.18(周四))

整理人:

陈雪梅杨维欣钟雪莲张宁远刘明丹

摘要:

1、double与float类型变量的精度和范围和小数常量的表表如:

“1e-15“

2、数学函数sqrt,fabs的使用。

3、for循环的三部分可以分别省略,while

(1){}for(;;){}都是死循环

4、break语句

5、注释的写法。

6、调试程序的方法。

7、例题计算sin(x)

思考题1:

验证哥德巴赫猜想:

任一充分大的偶数,可以用两个素数之和表示

思考题2:

编写一定的程序,使其能表示电子宠物的各种状态。

知识点:

3.16(周二)

1.Double占64bit,大致可表示小数点后十五六位;

Float占32bit,大致可表示小数点后七八位。

2.在scanf中,““中的变量之间若不加符号,则在输入变量时,可用”空格“,”tab“,”Enter“来间隔每个变量,若”“中输入了其他符号,则在输入变量时,就一定要输入相同的符号才能执行该程序。

3.printf中占位符可以是一个变量占位,也可以是一个表达式。

4.fabs位求绝对值的函数。

5.要表达科学计数法,则用“1e-15“结构表示,后面的-15表指数。

6.一个程序正在运行时,不可以删除或修改它。

7.for循环中,()里的内容由三部分构成,各部分间由“;“隔开。

8.sqrt()位求根函数,要使用时应在最前面加“#include’math.h’“.

9.当while循环中“()“里为正数时,该命题永远为真,成为死循环;在其后加”break()“便可结束while的死循环。

10.有关式子的简易写法:

x=x+3可写成x+=3;x=x(6+5)可写成x=(6+5)。

 

例题:

解一元二次方程

#Include“stdafx.h”

#Include”math.h”

intmain(intargc,charargv[])

{

Doublea,b,c,delta;

Printf(“%lf%lf%lf”,&a,&b,&c);

If(0==a)

{

If(0==b)

{

Printf(“nottrue.”);

}

Else

{

Printf(“root=%lf”,-c/b);

}

}

Else

{delta=bb-4ac;

If(delta>=0)

{

printf(“root1=%lf”,-b+sqrt(delta)/(2.0a));

Printf(“root2=%lf”,-b-sqrt(delta)/(2.0a));

}

Else

{

printf(“root1=(%lf+%lfi)”,-b/(2a),sqrt(-delta)/(2a));

Printf(“root2=(%lf+%lfi)”,-b/(2a),-(sqrt(-delta))/(2a));

}

}

}

3.18(周四)

1.for(j=1;j<=i;j++),其中i,j可作控制次数的量,而不用出现在之后的运算中。

2.循环套循环,循环次数由内外循环共同决定,循环次数越多,运算速度越慢。

3.用“//”,其后可加注释。

4.“break”语句的功能是结束该循环,其前面可加条件:

if(a>10){break;}。

5.调试程序的步骤:

组建——开始调试——stepinto;箭头所指的为将执行而未执行的语句,F10比F11力度要轻,可用于调试程序或看看程序的执行顺序。

例题1:

求y=x+x~3-x~5+x~7……

{

Doubley,x,b,n,i,j,a,f

b=x;

for(i=3;i<=n;i=i+2)

{a=1;

For(j=1;j<=I;j++)

{

a=ax;

}

b=b+af;

f=f(-1);

}

Prinft(“b=%lf”,b);

}

例题2:

Y=1!

+3!

-5!

+7!

……

{

intb,a,I,j,f=1;

scanf(“%d”,&n)

for(i=3;i<=n;i=i+2)

{

a=1;

for(j=1;j<=I;j++)

{

a=aj;

}

b=b+af;

f=f(-1);

}

Printf(“y=%d”,b);

}

例题3:

Y=x-x~3/3!

+x~5/5!

-x~7/7!

……

{

Doublef=-1,c,x;

Inta,n,i,j;

Scanf(“%lf%d”,&x,&n);

b=x;

for(i=3;i<=n;i=i+2)

{

a=aj;

}

c=1;

for(j=1;j<=i;j++)

{c=cx;

b=b+c/af;

f=f(-1);

}

Prontf(“y=%lf”,b);

}

By园林092班陈雪梅杨维欣钟雪莲张宁远刘明丹

2009.03.18

0907040121的attendance

----------------------------

1.计算机算出来的结果不见得都是正确的,当你使用一个工具的时候要了解它的局限性。

2.循环体内一定要有控制循环的语句。

3.我们要懂得凭经验去判断计算机的计算结果是不是正确。

——就像每个行业都想招有经验的人,这是一样的道理。

4.世界是物质的,程序是变量的。

5.括号是成对出现的,所以写程序要养成缩进的习惯。

6.解决问题的方法,记住十六个字:

自顶向下,逐步细化,模块设计,结构编码。

--------------------------------------

1.for循环语句:

for(x=1;x<=1000;x++),需要注意的是:

A.括号内的每部分都必须用分号隔开;

B.第一部分不属于循环体,第二部分是控制语句,第三部分属于循环体的一部分。

2.while

(1){x++;}括号内为1,则表明命题为真,这个循环是个死循环。

3.x++即x=x+1x+=3即x=x+3;x=6+5即x=x(6+5);其他的依此类

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1