第一讲 四则运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C 语言程序设计
第一讲四则运算
程序举例:
<1>长方形的长与宽分别为 25,12求周长?
main()
{printf(“%d\n”,(25+12)*2);
}
<2>求23*5的积是多少?
main()
{ printf(“%d”,23*5);
}
<3>求(1/2+1/3+1/4)*(1/5+1/6)的值。
main()
{float a,b,c;
a=1/2.0+1/3.0+1/4.0;
b=1/5.0+1/6.0;
c=a*b;
printf(“c=%f \n”,c);
}
<4>巳知圆的半径是7.6求圆的周长?
main() /*主函数.程序从这里开始*/
{float a,r; /*定义单精度实型变量*/
r=7.6; s=2*3.14*r; /*進行运算*/
printf(“%f \n”,s); / *打印周长*/
}
<5>打印字符串:This is a book.
main()
{printf(“This is a book.”);
}
<6>打印小队旗.
main()
{printf(“A\n”);
pri ntf(“I*\n”);
printf(“I***\n”);
printf(“I*****\n”);
printf(“I\n”);
printf(“I\n”);
printf(“I\n”);
}
注: ①任何程序都以main()开头.
②:任何程序都有函数体.用{}括起来.
程序语法解释
<1> 什么是程序?
程序是为做一件亊预先写岀的符合逻辑的详细计划或工作过程。
<2> 什么是函数?
是可以完成某一工作的程序模块.有接受任务与数据,并执行任务,返回结果的功能<3> 什么是函数体?
在一对括号”{ }”里面的内容称为函数体.
<4> 什么是C语言的语句?
语句是实现函数功能的最小功能单元.
函数体内,毎行由分号结束的都是语句.
<5> 函数体一般由三部分组成:
{
①定义变量部分.
②数据处理部分.
③输岀结果部分.
}
<6> 在程序3中:
哪是定义变量的语句?
哪些是数据处理的语句?
哪一行是输岀结果的语句?
<7>定义变量类型与输岀格式必须相匹配:
①int →%d ②long→%ld ③float→%f
④double→%lf⑤char→%c ⑥char→%s
<8> 算术运算符与赋値运算符的介绍:
①”( )” 括号运算符.
②”+ +” ; ”――”自增加1,自减减1
③“*”;”/”;”%”乘除运算符 .
④“+”;”-“加减运算符 .
⑤“=”赋值运算符.
运算符优先级别:①→②→⑶→④→⑤.
而赋值运算符⑥优先级别最低.
<9> 什么是变量?
程序中可以攺变的量叫变量..在C语言中
变量必须先定义后使用. 定义方法如下:
①int a , b; /*定义a, b为整型变量.*/
②float c ,d; /*定义为单精度实型变量.*/
③long e, f; /*定义e ,f为长整型变量*/.
④double;g,h; /*定义为双精度实型量*/
注:变量名要用小写字母表示(待详讲).
<10>为什么要先定义变量类型
.......再使用?
因它关系到为变量分配内单元数及取数范围.如定义不正确,会影响数据运算的正确性.
<11> 各种类型变量佔内存的宇节数:
①char占1个字节.②int占2个字节.
③long占4个字节④float占4个字节
⑤double占8个字节.
<12> 各种类型变量的取数范围:
①char: - 128←→127
②int: -32768←→32767
③long:-2147483648←→2147483647
④float:3.4e-38←→3.4e+38
⑤double:1.7e-308←→1.7+308
程序实例:已知a=5000,b=200求a*b的积
main()
{ int a,b,c;
a=5000;b=200;
c=a*b;
printf(“c=%d\n”,c);
}
运行结果是错误的.
上面的程序作如下修攺:
main()
{long a,b,c;
a=5000;b=200;
c=a*b;
prinnf(“c=%ld\n”,c);
}
运行结果是正确的.
观察襾个程序,为什么结果一个错一个正确?
一:赋值语句(各种赋值形式)
赋值语句由赋值表达式加一个分号构成.
例如:a=2+3*6;是一个赋值语句.
其中“=”不是等号而是赋值运算符.作用
是將2+3*6的得数20送给変量a.
二:输岀语句 (程序3为例)
printf(“c=%f\n”,c);是输岀语句,作用是向屏幕输岀结果.printf是保留字.
在括号中有双引号和旡双引号两部分,用
逗号隔开.其中: “c=”是原样输岀.”\n”是光标換行.
输岀时,%f是变量c中的数值的位置
.....,“f”要求用实数形式输岀.并自动带6位小数.
怎样输入程序并运行程序
⑴点击相对应图标(TC)进入C语言集成环境.
⑵在编辑窗口输入源程序(在上面大窗口).
⑶按”F9”査检程序是否有语法错误.
⑷按”Ctrl+F9”运行程序.
⑸按”Alt+F5”察看运行结果.
注:
⑴要想输入第二个源程序,必须删除第一个程序后,再
进行第二个源程序的输入.
⑵如未见光标可按F6.按F6光标可以在上下窗口中来
回移动.如发现有光带复盖菜单请按“Esc”键,即可去掉复盖的光带.
存盘的方法
⑴第一次存盘时,按F2会出现NONAME.C,删除
此名再键入新程序名如:a1.c 回车即可.
⑵程序修攺后,如再次存盘时,直接按f2则自动存盘.
⑶如果想调岀已存盘的程序,可按F3.找到程序名回车即可.
编程与上机练习题
<1>求(64+5×4)+(85―5×13)的值.
<2>求(1/2+1/3+1/4)+45*(23/111)的值.
<3>已知某学生的平时成绩为95分,考试成绩
为87.75分,求总评分.并保留一位小数.
(总评分=平时分×40%+考分×60%)
<4>求90,76,89三数和与平均数.
<5>求127除以36的啇及余数.
<6>打印平行四边形(大小自定).
三: 键盘输入语句
编程实例:
巳知苹果2.5元一斤,香蕉2元一斤,请为售货员编一个自动收款程序.
main()
{float a,b,p,x,s; /*定义为实型変量*/
a=2.5;b=2; /*两物品单价*/
scanf(“%f%f”,&p,&x); /*输入斤数*/
s=a*p+b*x; /*求应付款*/
printf(“s=%.2f\n”,s); /*输出*/
}
本例的语法解释:
⑴scanf(“%f%f”,&p,&x);是键盘输入语句.
它在程运行过程中,输入两个数据到变量p和x所对应内存单元中.
<2>在键盘输入语句中,変量前面要加地址符.用逗号
隔开两个変量….
<3>printf(“s=%.2f”,s);语句中的”%.2f”是要求用保
留両位小数的实数形式输岀.
⑷键盘输入语句输入数据的方法:
(以买苹果4斤,香蕉2.5斤为例:)
运行:
输入: 4 2.5 ↙
s=15.00
若键盘输入语句改为:
scanf(“%f, %f”, &p, &x);
再次运行:
输入: 4,2.5↙
s=15.00
注:特别注意键盘输入时的不同方法.
注:如果不买其中一项,则此项输入0.
四:条件分支语句
编程实例:
输入成绩,如>=60分,则打印”pass”,
如<60分,则打印”fail”.
<方法一>
main()
{float a;
scanf(“%f”,&a);
if(a<60)printf(“a=% .1f→fail\n”,a);
if(a>59)printf(“a=% .1f→pass\n”,a);
}
运行: 再次运行:
45 ↙ 80 ↙
a= 45.0→ fail a=80.0→ pass
方法二:
main()
{float a;
scanf(“%f”,&a);
if(a<60.0)printf(“a=%.1f→fail”,a);
else printf(“a=% .1f→pass”,a);
}
运行: 再次运行:
50 ↙ 80
a=50.0→fail a=80.0→pass
本例的语法解释:
<1>分支语句有两种格式:
.否则不执行后面的语句,语句可以是一条语句,也可以是多条语句.如果是多条语句时,必须用花括号括起来,构成一个复合语句.
行语句.
如果(表达式)为假时,执行语句2, 执行完后顺序执行下一条语句. 同理:语句1和语句2可以是一行语句,也可是复合语句
......
五条件运算符:( ?:)
编程实例:
键盘输入任意大小两亇整数,打印大数.
main()
{int a,b; scanf(“%d%d”,&a,&b);
printf(“max=%d\n”,a>b ? a:b);
}
运行: 再次运行:
24 15 ↙9 26 ↙
max=24 max=26
本例的语法解释:
⑴在printf(“max=%d\n”,a>b ? a:b);中,
a>b ? a : b 是条件运算符的实际应用.
其意是如果a>b为真时打印a ,为假时则打b.
⑵当if~else结构中是表达式语句时,就可用条件运算符” ? : ”来编程.
上机注意亊项:
⑴在上机编程旡特别要求时,都用小写字母
⑵输入源程序时,要在”英文狀态”下输入.
⑶在使用键盘输入语句时,要在变量前加地址符”&”.
多个变量之间用逗号隔开。
⑷每条语句的后面一定要有分号”; ”.
⑸编写源程序时,一定要检查花括号、圆括号、引号、
是否成对使用.
⑹定义变量必须放在函数体开头的地方.
⑺编程时注意字母o, l 与数字0, 1的区别.
六:介绍关系与逻辑运算符
⑴:关系运算符有6个:
“>”(大于);”<”( 小于);”>=”( (大于等于);
“<=”(小于等于) ;”==”( 等于) ;”!=”(不等于).
⑵逻辑运算符有3个:
“&&”(逻辑与); ||( 逻辑或); ”!”(逻辑非).
⑶:用关系运算符连接起来的叫关系表达式
例: (3+1)<12,(2+5)!=(7+8),’f’>’d’ …。
④用逻辑运算符连接起来的叫逻辑表达式.
例5>3 && 6>8,5>3||8<6,!(6>2)…。
④: 关系与逻辑表达式用在if与for等语句中。
⑤: 关系与逻辑表达式值只有两个:0和1真为1,假为0。
程序举例:
键盘输入一个整数,如果既能3整除,又能被7整除就打印该数.否则打印No.
main()
{int a;
scanf("%d",&a);
if(a%3==0 && a%7==0)
printf("%d",a);
else printf(“No”);
}
注:”a%3”是求余数.”a%3==0”是关系表达式而”a%3==0 && a%7==0”是逻辑表达式.它的逻辑值为真就打印输入的整数.否则打印No .
编程与上机练习题
<1>:求(3.5+12.6 )* 45.7/3.7-6.23的值.
方法一:直接用打印语句
main( )
{printf(“%f\n”,(3.5+12.6)*45.7/3.7-6.23);
}
运行结果为:p=192. 626755
方法二:设置変量
main( )
{float a,b,c,d, e,p;
a=3.5; b=12.6;
c=45.7;d=3.7;
e=6.23;
p=(a+b)* c / d-e;
printf(“p=%f\n”, p);
}
运行结果为: p=192. 626755
修改打印语句为:
①printf(“p=% 7.2f\n”, p);
②printf(“p=%7.0 f\n”, p);
③printf(“p=% 10.4f\n”, p);
④printf(“p=%7 f\ n”, p);
.修改成①时的运行结果为:
p= ︼192.63
修改成②时的运行结果为:
p= ︼︼︼︼192
修改成③时的运行结果为:
p= ︼︼192. 6268
修改成④时的运行结果为:
p=192 .626755
本练习程序的语法解释:
⑴关于打印实数的宽度
.....说明:
在printf(”% 7.2f \n“,p);语句中, “%7.2f”表示
显示实数的总宽度(包括小数点).为7位。
其中: .2要求显示小数2位.所以运行结果为:
p= ︼192.. 62
⑵关于整型数的宽度
......实例:
如:printf(”a=%5d\n”,12);
显示为: a= ︼︼︼12
又如:printf(“%05d\”,12);
显示为: a=00012
注: “︼”为空格.仔细观察实型数与整型数宽度表示方法有什么区别
<2>编程计算: 1/20+1/30+1/40
程序中有两个错误,请修改:
main()
{int a=1,b=20,c=30,d=40.,e;
e=a/ b + a/c + a/ d;
printf(“e=%d\n”,e);
}
<3>编程计算:( 102 +112+122)/360
main()
{int a,b,c,d;
float e;
a=10;b=11;c=12;d=360;
e=a*a+b*b+c*c)/e;
printf(“e=%f”,e);
}
<4>编程计算: 2100的值是多少?
main()
{long a=2,b=100,c;
c=pow(a,b);
printf(“c=%ld”,c);
}
注:求值2100的值,用幂指函数pow(2,100);
<5>看程序写出运行结果(上机验証):
main()
{int a,b,c,d;
a=1234;b=5678;
c=a+b;d=a*b;
prin tf(“c=%d, d=%d\n”,c,d);
}
<6>从键盘上输入一个整数,如果是偶数则打印”This is an even.”否则打印”This is an odd”.(有多个错误,修攺上机).
main()
{INT a;
printf(“plese input a:”);
scanf(“%D”,a);
if(a%2==0);
printf(“ This is an even .”);
else;
printf(“ This is an odd.”);
}
注: a%2是求a除以2的余数.a%2==0是关系表达式.。