【精品】c c++语言程序设计(西电版第3章 程序设计基础精品ppt课件.ppt
《【精品】c c++语言程序设计(西电版第3章 程序设计基础精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】c c++语言程序设计(西电版第3章 程序设计基础精品ppt课件.ppt(132页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C C+语言程序设计(西电版)第3章 程序设计基础第第3章章 程序程序设计基基础3.1程序程序结构和构和语句句3.2数据的数据的输入和入和输出出3.3顺序序结构的程序构的程序设计3.4选择结构的程序构的程序设计3.5循循环结构的程序构的程序设计3.6程序程序设计的的风格格3.7小小结3.1 程序程序结构和构和语句句顺序序结构构N-S结结构构图图流流程程图图ABAB选择结构构YNABP成立成立?P T F A B3.1.1 三种程序三种程序结构构33.1 程序程序结构和构和语句句循循环结构构NYP成立成立?A当当P成立时成立时 A直到型循直到型循直到型循直到型循环环 A直到P成立时NYAP成立成
2、立?当型循当型循当型循当型循环环N-S结结构构图图流流程程图图3.1.1 三种程序三种程序结构构43.1.2 C语句概述句概述程序包括数据描述和数据操作。程序包括数据描述和数据操作。数据描述主要定数据描述主要定义数据数据结构(用数据构(用数据类型型表示)和数据初表示)和数据初值。数据操作的任数据操作的任务是是对已提供的数据已提供的数据进行加行加工。工。C程序程序对数据的数据的处理和加工是通理和加工是通过语句的句的执行来行来实现的。的。5简单语句句 l l表达式后面加一个分号,构成表达式表达式后面加一个分号,构成表达式语句句x=3;y=y+5;x=a-b&c|d;printf(x=%d,y=%d
3、n,x,y);sort(a,10);赋值语句赋值语句函数调用语句函数调用语句分号是分号是语句必不可少的一部分句必不可少的一部分l简单语句句是程序中使用最是程序中使用最频繁的繁的语句,来句,来自于一个表达式或者函数自于一个表达式或者函数调用,用,结尾用分尾用分号就构成一个号就构成一个语句。句。8简单语句句 表达式表达式语句中最常用的是句中最常用的是赋值语句,有以下句,有以下三种常用形式:三种常用形式:简单赋值:变量量=表达式;表达式;例如:例如:x=2*y+1;s=sqrt(5);多重多重赋值:变量量1=变量量2=变量量n=表表达式;达式;例如:例如:a=b=c=2;i=j=k=m+1;复合复合
4、赋值:变量双目操作符量双目操作符=表达式;表达式;例例如:如:sum+=i;等价于等价于sum=sum+i;9特殊特殊语句句空空语句、复合句、复合语句都属于特殊句都属于特殊语句。句。(1)如果)如果语句只有一个分号,就是空句只有一个分号,就是空语句。句。程序程序执行空行空语句句时不不产生任何生任何动作。它可作。它可以作以作为循循环语句中的空循句中的空循环体;或代替模体;或代替模块化程序化程序设计中中还尚未尚未实现的以及的以及暂不加入的不加入的部分。程序中有部分。程序中有时需要加上一个空需要加上一个空语句来表句来表示存在一条示存在一条语句,但是随意加上分号有句,但是随意加上分号有时会会造成造成逻
5、辑上的上的错误,因此,用,因此,用户应该慎用或慎用或去掉程序中不必要的空去掉程序中不必要的空语句。句。10复合复合语句句 l l用一用一对花括号花括号“”括起来的若干条括起来的若干条语句句 l l花括号中可以是花括号中可以是说明明语句、表达式句、表达式语句、控句、控制制语句,也可以是复合句,也可以是复合语句句l l例如:例如:if(ab)max=a;min=b;for(n=1;n=100)printf(“dn”,p);break;11复合复合语句(句(续)复合复合语句中如果有句中如果有说明性明性语句,句,应该写在可写在可执行行语句的前面。句的前面。例如:例如:main()inta,b;a=b=
6、100;floatc=10.23;printf(%fn,c);printf(%d%dn,a,b);要特要特别注意:注意:花括号的配花括号的配对花括号的位置花括号的位置C语言学言学习的的难点点之一之一12控制控制语句句1 1选择分支控制分支控制语句句 if()elseswitch()2 2循循环控制控制语句句 for()while()dowhile()3 3其他控制其他控制语句句 break、continue、gotoreturn133.1.3程序程序设计的步的步骤(1 1)分析)分析)分析)分析问题问题。分析清楚。分析清楚。分析清楚。分析清楚输输入、入、入、入、输输出和出和出和出和处处理要求。
7、即理要求。即理要求。即理要求。即确定要确定要确定要确定要产产生的数据(称生的数据(称生的数据(称生的数据(称为输为输出);确定要出);确定要出);确定要出);确定要进进行行行行输输入的入的入的入的数据(称数据(称数据(称数据(称为输为输入);要解决的入);要解决的入);要解决的入);要解决的问题问题等。等。等。等。(2 2)确定算法。)确定算法。)确定算法。)确定算法。研究确定一种算法,从有限步的研究确定一种算法,从有限步的研究确定一种算法,从有限步的研究确定一种算法,从有限步的输输入入入入中中中中获获取取取取输输出。也就是出。也就是出。也就是出。也就是拟拟定定定定处处理的方法和步理的方法和步
8、理的方法和步理的方法和步骤骤,包括用,包括用,包括用,包括用什么公式或什么公式或什么公式或什么公式或进进行怎行怎行怎行怎样样的运算。的运算。的运算。的运算。(3 3)编编写源程序。写源程序。写源程序。写源程序。把解把解把解把解题题的算法表示成的算法表示成的算法表示成的算法表示成C C程序。程序。程序。程序。(4 4)调试调试运行。运行。运行。运行。把把把把C C程序程序程序程序输输入入入入计计算机,算机,算机,算机,编辑编辑成成成成C C源程源程源程源程序文件;然后序文件;然后序文件;然后序文件;然后进进行行行行编译编译、链链接和运行,修改接和运行,修改接和运行,修改接和运行,修改错误错误,直
9、,直,直,直到到到到输输出正确出正确出正确出正确结结果。果。果。果。143.2 数据的数据的输入与入与输出出数据的数据的输入入输出是程序出是程序设计中使用最普遍中使用最普遍的基本操作。程序运行所需的数据通常要从外的基本操作。程序运行所需的数据通常要从外部部设备(如(如键盘、文件、文件、扫描描仪等)等)输入,程入,程序的运行序的运行结果通常也要果通常也要输出到外部出到外部设备(如打(如打印机、印机、显示器、示器、绘图仪、文件等)。、文件等)。因此,因此,输入、入、输出是用出是用户与程序之与程序之间交互交互的主要手段。的主要手段。153.2 数据的数据的输入与入与输出出C语言本身言本身虽然没有直接
10、提供用于然没有直接提供用于输入和入和输出的出的语句,但提供了句,但提供了输入和入和输出出标准准库函函数(数(简称称标准函数或准函数或库函数)。函数)。由于由于标准准输入入输出函数的原型放在出函数的原型放在头文文件件stdio.h中,因此在中,因此在编写程序写程序时,要用,要用编译预处理命令理命令“#include”将将头文件文件stdio.h包括到用包括到用户源文件中。源文件中。#include或或#includestdio.h16格式格式输出函数出函数 函数函数调用的一般形式:用的一般形式:printf(格式控制字符串格式控制字符串,输出出项表表);功能:功能:将各将各输出出项的的值按指定的
11、格式按指定的格式显示在示在标准准输出出设备(如屏幕)上。(如屏幕)上。例如有程序段例如有程序段:inta=123,b=100;printf(%d%d%dn,a,b,a+b);printf(c=%d+%d=%dn,a,b,a+b);17格式控制格式控制字符串字符串l l用双引号括起的字符串,用于指定用双引号括起的字符串,用于指定输出数出数据的据的类型、格式、个数型、格式、个数l l包括:包括:普通字符普通字符和和格式格式说明符明符照原照原样输出出printf(c=%d+%d=%dn,a,b,a+b);格式格式说明符:指定明符:指定输出出3 3个十个十进制整型数,制整型数,分分别为变量量 a、b、
12、ab的的值18输出格式出格式说明符明符l l在和格式符之在和格式符之在和格式符之在和格式符之间间可以使用可以使用可以使用可以使用格式修格式修格式修格式修饰饰符符符符整型整型数据数据%d以有符号十以有符号十进制形式制形式输出整型数出整型数%o以无符号八以无符号八进制形式制形式输出整型数出整型数%x以无符号十六以无符号十六进制形式制形式输出整型数出整型数%u以无符号十以无符号十进制形式制形式输出整型数出整型数实型型数据数据%f以小数形式以小数形式输出出实型数型数%e以指数形式以指数形式输出出实型数型数%g按数按数值宽度最小的形式度最小的形式输出出实型数型数字符型字符型数据数据%c输出一个字符出一个
13、字符%s输出字符串出字符串其他其他%输出字符出字符%本身本身19格式修格式修饰符符 例如:例如:例如:例如:%ldld输输出十出十出十出十进进制制制制长长整型数整型数整型数整型数%m.nfm.nf右右右右对齐对齐,mm位域位域位域位域宽宽,n n位小数或位小数或位小数或位小数或n n个字符个字符个字符个字符%-%-%-%-m.nfm.nf左左左左对齐对齐l输出出长整型数(只可与整型数(只可与d、o、x、u结合用)合用)m指定数据指定数据输出的出的宽度(即域度(即域宽).n对实型数据,指定型数据,指定输出出 n位小数;位小数;对字符串,指定左端截取字符串,指定左端截取n个字符个字符输出出+使使输
14、出的数出的数值数据无数据无论正正负都都带符号符号输出出-使数据在使数据在输出域内按左出域内按左对齐方式方式输出出整数位数整数位数+小数位数小数位数+小数点小数点 自自自自动对动对n n位后小数四舍五入位后小数四舍五入位后小数四舍五入位后小数四舍五入 20例例3.2不同不同类型数据的型数据的输出。出。#include#includevoidmain()voidmain()inta=-2;inta=-2;floatb=123.456;floatb=123.456;charc=a;charc=a;printf(a=%d,%3d,%-3dn,a,a,a);printf(a=%d,%3d,%-3dn,a
15、,a,a);printf(a=%o,%x,%u,%3o,%3x,%3un,a,a,a,a,a,a);printf(a=%o,%x,%u,%3o,%3x,%3un,a,a,a,a,a,a);printf(b=%f,%10.2f,%.2f,%5.2f,%-10.2fn,b,b,b,b,b);printf(b=%f,%10.2f,%.2f,%5.2f,%-10.2fn,b,b,b,b,b);printf(b=%e,%10.2e,%.2e,%5.2e,%-printf(b=%e,%10.2e,%.2e,%5.2e,%-10.2en,b,b,b,b,b);10.2en,b,b,b,b,b);printf
16、(“c=%3c,%-3c,%dn”,c,c,c);printf(“c=%3c,%-3c,%dn”,c,c,c);printf(%3s,%7.2s,%.3s,%-printf(%3s,%7.2s,%.3s,%-5.3sn,CHINA,CHINA,CHINA,CHINA);5.3sn,CHINA,CHINA,CHINA,CHINA);程序程序输出:出:a=-2,-2,-2a=37777777776,fffffffe,4294967294,37777777776,fffffffe,4294967294b=123.456001,123.46,123.46,123.46,123.46b=1.234560
17、e+002,1.23e+002,1.23e+002,1.23e+002,1.23e+002c=a,c=a,97CHINA,CI,CHI,CHI21注意:注意:l lprintf函数格式控制中的格式函数格式控制中的格式说说明符与明符与输输出参数的个数和出参数的个数和类类型必型必须须一一一一对应对应。l l格式格式说说明必明必须须以以“%”开开头头,“%”和后面的和后面的描述符之描述符之间间不能有空格。除不能有空格。除%X、%E、%G外外类类型描述符必型描述符必须须是小写字母。是小写字母。l l格式控制字符串中,可包含格式控制字符串中,可包含转义转义字符。字符。l l不同的系不同的系统统在在实现实
18、现格式格式输输出出时时,输输出出结结果果可能会有一些小的差可能会有一些小的差别别。22格式格式输入函数入函数 l l函数函数调用的一般形式:用的一般形式:scanf(scanf(格式控制字符串,格式控制字符串,格式控制字符串,格式控制字符串,输输入入入入项项表表表表););功能:功能:按格式控制指定的格式,从按格式控制指定的格式,从标准准输入入设备(即即键盘)交互交互输入数据,并依次存放入数据,并依次存放到到对应地址参数指定的地址参数指定的变量中量中(即将即将输入入值赋给变量量)。例如:例如:scanf(%d%f,&a,&f);scanf(%o,%f,&b,&x);scanf(a=%d,b=%
19、d,&a,&b);23格式控制字符串格式控制字符串 l l用双引号括起的字符串,用于指定用双引号括起的字符串,用于指定输入数入数据的据的类型、格式、个数以及型、格式、个数以及输入的形式入的形式 l l包括:包括:普通字符普通字符和和格式格式说明符明符照原照原样输入入scanf(a=%d,b=%d,&a,&b);格式格式说明符:指定明符:指定输入入2 2个十个十进制整型数制整型数赋给变量量 a和和 b24输入格式入格式说明符明符l l在和格式符之在和格式符之在和格式符之在和格式符之间间可以使用可以使用可以使用可以使用附加附加附加附加说说明符明符明符明符整型整型数据数据%d输入十入十进制整型数制整
20、型数%u输入无符号的十入无符号的十进制整型数制整型数%o输入八入八进制整型数制整型数%x输入十六入十六进制整型数制整型数实型型数据数据%f输入小数形式的入小数形式的单精度精度实型数型数%e输入指数形式的入指数形式的单精度精度实型数型数字符型字符型数据数据%c输入入单个字符个字符%s输入一个字符串入一个字符串25附加格式附加格式说明符明符 例如:例如:%ld、%lo输入十入十进制、八制、八进制制长整型数整型数%lf、%le输入双精度入双精度实型数型数%mf输入入m位数(域位数(域宽)%*%*d忽略忽略输入的一个整型数入的一个整型数l与与d、o、x、u结合合输入入长整型数整型数与与 f结合合输入入
21、double型数型数m指定数据指定数据输入的入的宽度(即域度(即域宽)*忽略忽略读入的数据入的数据(即不将(即不将读入数据入数据赋给相相应变量)量)对float和和double型指型指整数位数整数位数+小数点小数点+小数位数小数位数26例如:例如:l lscanf(%d%d%d,&a,&b,&c);输入入3 3个整型十个整型十进制数,以空白符制数,以空白符(空格、(空格、tab键或回或回车键)分隔)分隔 l lscanf(%d,%o,%f,&a,&b,&x);输入入3 3个数,以个数,以“,”分隔分隔l lscanf(a=%d,b=%d,&a,&b);输入的形式是:入的形式是:a=32,b=2
22、8(普通字符要照原普通字符要照原样输入)入)27程序程序举例:例:main()main()inta,b,c;longm;inta,b,c;longm;floatx;doubley;floatx;doubley;charch,string20;charch,string20;printf(inputa,b,c,m:);printf(inputa,b,c,m:);scanf(%d%o%x%ld,&a,&b,&c,&m);scanf(%d%o%x%ld,&a,&b,&c,&m);printf(a=%d,b=%d,c=%d,m=%ldn,a,b,c,m);printf(a=%d,b=%d,c=%d,m
23、=%ldn,a,b,c,m);printf(inputx,y:);printf(inputx,y:);scanf(%f%lf,&x,&y);getchar();scanf(%f%lf,&x,&y);getchar();printf(x=%f,y=%fn,x,y);printf(x=%f,y=%fn,x,y);printf(inputch,string:);printf(inputch,string:);scanf(%c%s,&ch,string);scanf(%c%s,&ch,string);printf(ch=%c,string=%snn,ch,string);printf(ch=%c,st
24、ring=%snn,ch,string);28使用使用scanf函数函数应注意:注意:l l要求在程序运行中要求在程序运行中要求在程序运行中要求在程序运行中输输入数据,入数据,入数据,入数据,输输入的数据个数和入的数据个数和入的数据个数和入的数据个数和类类型必型必型必型必须须与格式与格式与格式与格式说说明符一一明符一一明符一一明符一一对应对应。l l地址参数形式:地址参数形式:地址参数形式:地址参数形式:&变变量名量名量名量名(除数(除数(除数(除数组组或指或指或指或指针变针变量)量)量)量)l l格式控制中格式控制中格式控制中格式控制中有普通字符有普通字符有普通字符有普通字符时时,必,必,必
25、,必须须照原照原照原照原样输样输入入入入。l l格式控制中格式控制中格式控制中格式控制中无普通字符无普通字符无普通字符无普通字符时时,输输入的数入的数入的数入的数值值型数据和型数据和型数据和型数据和字符串用空白符分隔字符串用空白符分隔字符串用空白符分隔字符串用空白符分隔,字符型数据不必分隔。,字符型数据不必分隔。,字符型数据不必分隔。,字符型数据不必分隔。l ldoubledouble型数据型数据型数据型数据输输入入入入时时,必,必,必,必须须用用用用%lf lf或或或或%lele格式格式格式格式l l实实型数型数型数型数输输入入入入时时域域域域宽宽不能用不能用不能用不能用m.nm.n形式的附
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 【精品】c c+语言程序设计西电版第3章 程序设计基础精品ppt课件 c+ 语言程序设计 西电版第 程序设计 基础 ppt 课件
限制150内