《C语言程序设计简单的C程序设计实用教案》由会员分享,可在线阅读,更多相关《C语言程序设计简单的C程序设计实用教案(26页珍藏版)》请在金锄头文库上搜索。
1、3.1C语句(yj)概述一个大型(dxng)C程序的结构第1页/共25页第一页,共26页。C语句分为(fnwi)以下五类:1控制语句控制语句用于控制程序的流程(lichng),以实现程序的各种结构方式。分三类:条件判断语句:if语句、switch语句。循环执行语句:for语句、dowhile语句、while语句。转向语句:break语句、goto语句、continue语句、return语句。第2页/共25页第二页,共26页。2函数调用语句(yj)函数调用语句(yj)由函数名和实际参数加上分号“;”组成。其一般形式为:函数名(实际参数表);例如:printf(CProgram);/*调用库函数,
2、输出字符串*/3.表达式语句(yj)形式:表达式;执行表达式语句(yj)的含义:计算表达式例如:x=a+b;y+z;i+;第3页/共25页第三页,共26页。4空语句只有一个分号的语句,它什么也不做。;5复合语句把多个语句用花括号“”括起来组成的语句称复合语句。在程序中应把复合语句看成是单条(dntio)语句,而不是多条语句。例如,下面就是一条复合语句。x=y+z;a=b+c;printf(%d%d,x,a);第4页/共25页第四页,共26页。3.2赋值语句(yj)赋值语句一般形式为:变量=表达式;功能:将赋值运算符右侧“表达式”的值赋给左侧的变量。例如,以下(yxi)均为赋值表达式:x=3(x
3、的值为3)y=z=-1(等价于y=(z=-1),y和z的值都为-1)a=(b=10)/(a=2)(b的值为10,a的值为5)y=(7+6)%5/3(y的值为1)若在赋值表达式后面加上“;”,则构成赋值语句.第5页/共25页第五页,共26页。说明(shumng):1.赋值符“=”右边的表达式可以又是一个赋值表达式例如:a=b=c=5;相当于c=5;b=c;a=b;2.注意变量说明中给变量赋初值和赋值语句(yj)的区别。inta=3,b=4,c=5;相当于inta,b,c;a=3;b=4;c=5;3.在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:inta=b=c=5;第6页/共25
4、页第六页,共26页。4.注意赋值表达式和赋值语句的区别。赋值表达式是一种表达式,可以(ky)出现在任何允许表达式出现的地方,而赋值语句则不能。5.合法的:a=(x=y+5)+6;6.非法的:a=(x=y+5;)+6;7.语句中的“=”称为赋值号,它不同于数学中的等号例如:A=A+1在数学中是不成立的,在C语言中:5x5+16第7页/共25页第七页,共26页。6、赋值符号“=”左边一定只能是变量名,不能是常量(chngling)、符号常量(chngling)、表达式。右边的表达式可以是变量、常量(chngling)、函数调用等表达式。例如:z=x+y;/*将变量x和变量y的值的和赋值给变量z*/
5、下面的赋值语句都是错的:5=x;/*左边是常量(chngling)*/sin(x)=20;/*左边是函数调用,即是表达式*/第8页/共25页第八页,共26页。7.数据类型问题(wnt)l赋值符号“=”两边的数据类型一般要求(yoqi)应一致。l如果两边的类型不同,则以左边变量或对象属性的数据类型为基准l例如,有定义intx;floaty;x=3.5415926;/*取其整数赋值给x,x的值为3*/ly=123;/*将整数123转换实数123.0,赋值给y,执行后,y的值是123.0*/第9页/共25页第九页,共26页。3.3数据格式输入(shr)/输出3.3.1数据输入/输出的概念数据输入/输
6、出是相对计算机内存在语言中所有的数据输入输出都是由库函数(hnsh)完成的。因此都是函数(hnsh)语句。使用库函数(hnsh)时,要使用预编译命令:#include“stdio.h”或#include注:printf()和scanf()函数(hnsh)不需要头包含文件。第10页/共25页第十页,共26页。3.3.2数据格式输出(shch)printf()函数printf()功能:按控制字符串规定的格式,向输出设备输出各输出项基本(jbn)格式为:printf(“控制字符串”,输出项列表)printf(“s=%dn”, s);控制字符串由格式(g shi)说明和普通字符两部分组成。输出项可以是
7、常量、变量、表达式,其类型与个数必须与控制字符串中格式字符的类型、个数一致、各项之间用逗号分隔。第11页/共25页第十一页,共26页。1.格式(gshi)字符串格式说明一般格式为:%格式字符%d%c%s%f最小宽度与精度修饰符当指定(zhdng)宽度小于数据的实际宽度时:对整数,按该数的实际宽度输出。对浮点数,相应小数位的数四舍五入。长度修饰符(l/h)标志字符:-+#(空格)第12页/共25页第十二页,共26页。2普通(ptng)字符普通字符包括可打印字符和转义字符。可打印字符是一些说明字符,这些字符按原样显示在屏幕上转义字符是不可打印的字符,它们其实是一些控制字符,控制产生特殊的输出效果。
8、常用的有“t”,“n”,其中t为水平制表符,作用是跳到下一个水平制表位,“n”为回车换行符,遇到“n”,显示自动(zdng)换到新的一行。第13页/共25页第十三页,共26页。3.3.3数据格式输入(shr)scanf()函数scanf()的功能:从键盘上输入(shr)数据,该输入(shr)数据按指定的输入(shr)格式被赋给相应的输入(shr)项。一般格式为:scanf(控制字符串,输入(shr)项地址列表);scanf(“%d%d”,&a,&b);控制字符(z f)串规定数据的输入格式,由格式说明和普通字符(z f)两部分组成。输入项地址列表由变量地址组成,各变量地址之间用逗号“,”分隔。
9、各变量要加地址操作符,表示如下: &变量名第14页/共25页第十四页,共26页。1.格式(gshi)字符串格式(gshi)说明一般格式(gshi)为:%格式(gshi)字符%d%c%s%f宽度(m)scanf(“%3d”,&a);/*输入123456,按宽度输入一个整数123赋给变量a*/长度修饰符(l/h)可与d、o、x一起使用(*)scanf(“%d%*d%d”,&x,&y,&z);/*若输入为“”结果为x=1,y=3,z未赋值,被跳过。*/第15页/共25页第十五页,共26页。2.普通(ptng)字符普通字符包括空格、转义字符和可打印字符。空格scanf(“%d%c”,&a,&ch);输
10、入(shr)32q期望a=32,ch=q,但实际上,分隔符空格被读入并赋给ch。可打印字符scanf(%d,%d,%c“,&a,&b,&ch);当输入(shr)为:1,2,q即:a=1,b=2,ch=q第16页/共25页第十六页,共26页。使用scanf函数还必须(bx)注意以下几点:scanf函数中没有精度控制。如:scanf(“%5.2f”,&a);是非法的。若格式控制串中没有非格式字符作输入(shr)数据之间的间隔则可用空格或回车作间隔。scanf(%d%d,&a,&b);则输入(shr)应为56,中间可以用空格如果格式控制串中有非格式字符则输入(shr)时也要输入(shr)该非格式字符
11、。scanf(a=%d,b=%d,c=%d,&a,&b,&c);则输入(shr)应为a=5,b=6,c=7第17页/共25页第十七页,共26页。3.4字符数据非格式输入/输出(shch)函数需要#include1字符输入函数getchar()格式:getchar();作用:从键盘输入一个字符。从功能角度来看,scanf()函数可以(ky)完全代替getchar()函数。若charc1;则c1=getchar();可使用等价语句:scanf(%c,&c1);第18页/共25页第十八页,共26页。说明:getchar()函数一次只能返回一个字符,即调用一次只能输入(shr)一个字符。程序第一次执行
12、getchar()函数时,系统暂停等待用户输入(shr),直到按回车键确认。如果用户输入(shr)了多个字符,则该函数只取第一个字符,多余的字符(包括换行符n)存放在键盘缓冲区中,等待下一个getchar()函数。第19页/共25页第十九页,共26页。2.getch()和getche()函数(hnsh)作用:从键盘上读入1个字符与getchar()函数的区别:是输入(shr)不需要回车键结束,即输入(shr)一个字符就自动结束输入(shr)。调用格式为:getch();getche();两者的区别是:getch()函数不将读入的字符回显在显示屏幕上getche()函数将读入的字符回显到显示屏幕
13、上第20页/共25页第二十页,共26页。#includevoidmain()floatx;printf(EnterTheNumberx:);scanf(%f,&x);printf(YouEnterNumberx=%fn,x);printf(Pressanykeytocontinue.);getch();/*等待(dngdi)输入任一键*/printf(“Byebye.);getch();第21页/共25页第二十一页,共26页。3字符(zf)输出函数putchar()格式(gshi):putchar(ch);功能:是向显示器终端输出一个字符。其中,ch可以是一个字符变量或常量,也可以是一个转义字
14、符。说明:putchar()函数只能用于单个字符的输出,且一次只能输出一个字符。从功能角度printf()函数可以完全代替putchar()函数,其等价形式:printf(%c,ch)。第22页/共25页第二十二页,共26页。3.5应用程序举例(jl)从键盘输入一个大写字母,要求(yoqi)改用小写字母输出#includestdio.hvoidmain()charc1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);第23页/共25页第二十三页,共26页。3.5应用程序举例(jl)输入时间(shjin)(小时
15、,分和秒)然后使用输出其计多少秒。voidmain()inthh,mm,ss;longtss;printf(Enterhh:mm:ss=);scanf(%d:%d:%d,&hh,&mm,&ss);tss=hh*3600.0+mm*60+ss;printf(TheTotalsecond=%ld,tss);第24页/共25页第二十四页,共26页。感谢您的欣赏(xnshng)!第25页/共25页第二十五页,共26页。内容(nirng)总结3.1 C语句概述。在变量说明中,不允许连续给多个变量赋初值。3.3.2 数据格式输出printf()函数。printf()功能:按控制字符串规定的格式,向输出设备输出各输出项。printf(“s=%dn”, s)。最小宽度与精度修饰符当指定宽度小于数据的实际宽度时:。3.3.3 数据格式输入(shr)scanf()函数。输入(shr)项地址列表由变量地址组成,各变量地址之间用逗号“,”分隔。感谢您的欣赏第二十六页,共26页。