c、c++语言入门.pdf

上传人:无*** 文档编号:90899977 上传时间:2023-05-18 格式:PDF 页数:47 大小:4.84MB
返回 下载 相关 举报
c、c++语言入门.pdf_第1页
第1页 / 共47页
c、c++语言入门.pdf_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《c、c++语言入门.pdf》由会员分享,可在线阅读,更多相关《c、c++语言入门.pdf(47页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、。/。+语言入门黄锡波整理黄锡波寄语:C心+永远都是老大的,开发底层的东西,嵌入式的东西都需要掌握C/C+最古老最顽强的语言,有些同学想做开发,但不想做网站Android之类的,可以努力一下C/C+,懂 这 个,基本就业能通行无阻哦。大家想学这个,就算是毕业后也可找我,我在1992年在银行就开始做这个了,到 2002年全世界才突然转向Java的(开发安全网站卜第一课导入什 么 是C/C+语 言:C+语言是一种高级程序设计语言。C+语言是20世纪80年代初期由贝尔实验室设计的一种在C 语言基础上增加了对面向对象程序设计支持的语言,它是目前应用最为广泛的编程语言。;程序体验:q;#include;

2、using namespace std;;int main()printf(uhello!z,);system(pause1);:return 0;3:f L _:已知长方形的长、宽,求长方形的周长、面积#include:using namespace std;:int main():int a,b,L,S;:scanf(“d招d=,&a,&b);L=2*(a+b);S=a*b;printf(nL=%d,S=Sd”,L,S);scanf(Hnn);return 0;程序设计的要素:1、分析题目中的已知和求解的信息,以变量的形式定义下来。(例题中已知长和宽,求周长和面积。a,b,l,s分别为长、

3、宽、周长、面积)2、如何求解-算法。三、C+程序的组成#include 标准输入输出库文件using namespace std;/使 用 s t d 命名空间int main()int a,b,L,S;定义变量scanf(”d%d=,&a,&b);/输入L=2*(a+b);|/处理S=a*b;printf(”L=%d,S=%dn z Lz S);/输出scanf(n”);查看结果return 0;一个程序:头文件Int main()变量说明部分;执行部分;scanf(、n);return 0;)执行部分主要分为:输入、处理、输出四、C+程序设计的界面及主要命令De H 4.9.9.2国同I5

4、文怦 打 E搜索6】视图【V】工程 P运行 R调试 D】工JUT】CVS w a it 带助 Q (2 物 f 昌 g 。0L 包 1 W况由羽?*包5人 但皿食 回 跳 呈 性工程管理奇看类I利 花|dl(*未e名1I#in clu d e u sin g nanespace s td;in t m ain()in t a/b/L/S;scan(qdad/6a,3);L 2*(a+b);S=a*b;p r ln tf(L 7d,S i d”,L,S);s c a n t(Xn*);retu rn 0;g g 0译 裳 喻 奘 诂 血 归日方|/MM|叵馒素修彳|-11:3巳伙 IftA 文传

5、找 12行1、菜单-激活菜单命令F102、编辑区书写程序的地方,写完后按Ctrl+S 保存文件六、常用操作1、新建、源代码。2、编译并运行F9 3、编译-Ctrl+F9 4、运行-Ctrl+F10练习1、启动 Dev C+o2、输入以上例1 的程序3、文件保存,编译,运行,看结果书写程序时注意:1、保持缩进2、)要成对出现3 除了头文件,int main。外每句程序后面都要加;第二课简单程序的书写一、分析例题2.1例二:已知正方形的边长,求正方形的周长、面积#in clu d e 标准输入输出库文件u sin g nam espace s td;/使 用 s t d 命名空间in t m ai

6、n()(in t a,L,S;scanf(d,&a);L=4*a;S=a*a;printf(nL=%d,S=%d”,L,S);scanf(nH);return 0;I n t 数据类型中的整数类型。scanf输入语句=赋值语句printf输出语句二、变量声明部分格式:类 型 名 变 量 名1,变量名2,.,变量名n;例如:int a;(单个变量说明)float L,S;(多个相同变量同时定义,变量名之间用逗号隔开)变量名:由字母、数?、下划线组成的。以字符或者下划线开头。区分大小写。不能与保留字同名。常见的保留字:int,floaty char,string,bool,unsigned,if,

7、else t do,while,char,break(c 语言中保留字、标准库函数名都只用小写字母表示)三、基本数据类型:类型说明字节取值范围signed char字符型1-128-127unsigned char无符号字符型10-255signed short短整型2-3276832767unsigned short无符号短整型20-65536signed int整型4-2147483648-2147483647unsigned int无符号整型40-4294967295signed long长整型4-2147483648-2147483647unsigned long无符号长整型40-42

8、94967295signedlong long超长整型8一 2八 632人 63一 1Float单精度浮点型4-3.4x10人 383.4x10人 38表中的口表示其中的内容可以省略。如 signed char,简 略 为 cha工就可以。(约 6 个有效数字)double双精度浮点型8-1.7x10人 3081.7x10人 308(约 12个有效数字)注意:不同的数据类型,存储空间大小和能合适的运算不同1、整型适用的运算操作加减乘除余数+-*/%运算优先级:(*等 于/等 于 )(+等 于-)体验:运算符号与数据类型#include 标准输入输出库文件using namespace std;

9、/使用 s td 命名空间int main()Int az b;a=5/2;b=5%2;printf(%d%d,a,b)scanf(nnH);return 0;例题:已知a,b两个整数,求这两个数的和、差、乘积、商、余数分析:已知a,b,求:S1(和),S2(差),S3(乘积),S4(商),y(余数)方法:sl=a+b;s2=a-b;s3=a*b;s4=a/b;s5=a%b;#include using namespace std;int main()int a,b,si,s2,s3,s4,y;scanf(,%d%dn r&a,&b);sl=a+b;s2=a-b;s3=a*b;s4=a/b;y

10、=a%b;printf(%d+%d=%dn a,bz si);printf(n%d-%d=%dn,a,b,s2);printf(n%d*%d=%dnH,a,b,s3);printf(H%d/%d=%d.%dn”,a,b,s4,y);system(pause);return 0;说明:书写程序时,不一定要严格一行一个语句,可以一行多个语句。变量名的命名与实际存储内容相关联。便于自己编程中不会混淆变量。例题:2、整型变量常用的函数函数名功能函数的定义举例Abs求绝对值abs(任意的数值类型)abs(-2)结 果 为 2,abs(2)结果为2Sqrt求平方根sqrt(任意的数值类型)sqrt(4),

11、结果为 2;sqrt(1.5)结果为1.224745Int强制类型转换整型(int)变量名或者表达式一般用来把实数转换为整数(Int)2.5;结果为 23、实型合适的运算符号与函数加减乘除+*/Int a=5/2;/结果为 a=2Char ch=101;/int a=ch/3;结果为 a=33;float a=5/2;/结果为a=2.000;精度丢失在计算5/2时发生了。float a=5.0/2;-float a=5/2.0;/结果为a=2.5 除数与被除数至少需要一个为float a=5.0/2.0;J 实型,除运算才能实数除。试一试强制类型转换(float)变 量,(int)变量#inc

12、lude using namespace std;int main()int az b;float c;a=(int)7.6;b=5;c=a/b;printf(M%0.2fn,c);/结果为 c=1.00c=(float)a/b;printf(f,%0.2fnz c);/结果为 c=1.40c=(float)(a/b);printf(n%0.2f,c);/结果为 c=l.00system(pause11);return 0;实数的常用函数#include 函数名功能实例ceil向上舍入 double ceil(double x)Ceil(5.4)结果为 5floor向下舍入 double fl

13、oor(double x)Floor(5.6)结果为 6Fabs求浮点数的绝对值double fabs(double x)Fabs(-5.4)结果为 5.4Fmod求 x/y的余数Double fmod(double xz double y)Fmod(2,5.0)结果为2注意不可以为fmod(2,5)pow指定数的指定次募double pow(double xz double y)Pow(5,3.0)结果为 125练习:已知圆的半径,求圆的面积和周长I常量:定义:在程序执行过程中始终保持不变的数据量。g#define PI 3.1415926(注意C+语言中区分大小写)/实数常量#define

14、 N 100 整数常量define Name hell。/字符串常量;#define ch A,/字符常量数据存储:已知半径r,数据类型实型,求周长1,面 积 s。算法:l=2*PI*r s=PI*r*r;#include define PI 3.1415926using namespace std;int main()float r,l,s;r=5;l=2*PI*r;s=PI*r*r;printf(nl=%0,2f,s=%0.2f”,1,s);system(pause1,);return 0;)4、字 符 类 型,实际存储的是0一 2 5 5的整数定义:char chi,ch2,ch3;赋值

15、:chl=97;相当于 chl=,a,;ch2=,A,;相当于 ch2=65;ch3=,0,;相当于 ch3=48;输入:scanf(n%c%cn,&chl,&ch2);输入 abscanf(H%c%c”,&ch1,&ch2);输入 a b输出:printf(、%c,%c,%c,chi,ch2,ch3);输出 a,A,0Printf(、%5c,chi);定义场宽为 5。练 习:1、输入字母序号,输出相应的大小写字母。输 入 1,输出A,a 输 入 26,输 出 Z,z2、输入一个小写字母,将其转换为大写字母 3、输入字母,输出其在字母表中的序号。三、输出语句:printf函数语 句 格 式:p

16、 rin tf(格式控制字符串,地址列表)格 式 控 制 字 符 串:用于指定输出格式,由格式字符串和非格式字符串构成。格式字符串:以开头,后面有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。非格式字符串:原样输出。地址列表:各个输出项。要求格式字符串和各输出项在数量和类型上应该是一一对应的。/不同的类型控制:include using namespace std;int main()int a=65,b=97;printf(n*nn);printf(%ci%dn”,a,b);printf(d,%dn”,a,b);printf(H%o,%onn A aA b);printf(%x

17、z%xn,a,b);printf(H%c,%cn”,a,b);system(pause);return 0;)/原样输出,后换行/65 97%d-十进制/65,97/%o-八进制/%x-十六进制/A,a%c-字符格式类型格式符号意义d卜进制带符号整数(整数不输出符号)0以八进制带符号整数(不输出前缀0)X以十六进制带符号整数(不输出前缀Ox)u以十进制无符号整数f以小数形式输出单、双精度实数e以指数形式输出单、双精度实数c输出单个字符s输出字符串 格式控制字符串“:输出宽度H.精度dj /体验宽度和精度的控制include using namespace std;int main()int a

18、=123;float b=123.456;printf(-分害I 线-n”);printf(na=%d,%5dn”,a,a);printf(b=%f,%10.5f,%0.1fn”,b,b,b)system(pause);?return 0;/原样输出,后换行三、输入语句:scanf 函数(格式输入函数)语句格式:scanf(格式控制字符串,地址列表)#include using namespace std;int main()(int al,bl,a2,b2;scanf(d%d,&al,&bl);printf(nal=%dz bl=%dnnz al,bl);scanf(3d,%d,&a2,&b

19、2);printf(a2=%d,b2=%dn”,a2,b2);system(pause11);return 0;)注意:整数与实数一般用空从键盘上输入:1 2从键盘上读入:1格或回车来区分不同变量3,42的数据。3,如何输入格式中有,输出:al=lzbl=24输入数据一定要有,否则a2=3,b2=4输出:al=l,bl=2数据出错。a2=3,b2=4scanf 中常见的错误:错误正确scanf(%d,a);scanf(%d,&a);没有&scanf(%5.2伊,b);scanf(%,&b);不能有精度控制!体验输入不同类型的数据#include|using namespace std;j in

20、t main()pint a,b;float c,d;char chi,ch2;scanf(%d%d”,&a,&b);scanf(%f%fn,&c,&d);scanf(nn%c%cn,&chl,&ch2);p r i n t f(na=%d,b=d n ,a,b);p ri n tf(c=%0.2 fzd=%0 .2 f n ,c,d);p ri n tf(nc h l=%cz c h 2=%c n ,c h i,c h 2);sy ste m(p a use );re turn 0;)输入数据:1 23.4 5.6a b输出:a=ltb=2c=3.40,d=5.6 0c h l=a,c h

21、2=b四、赋 值 语 句 语句格式:变量=表达式1、相同类型的赋值I n t a,b,c;a=l;b=2;c=3 ;a=b+c;可以写成 a=(b=2)+(c=3);a=l;b=l;c=l;口 以写成 a=b=c=l;f l o a t xz y;x=l.1;y=x;2、不同类型的赋值右边的表达式的值赋值给左边的变量时,如果两边的类型不一致时,自动进行类型转换,将右边的类型转换成左边的类型。实型赋值给整型,舍去小数部分。整数赋值给实型,数值不变。字符型赋值给整型,其 A sc i i 码的值放入整型的低八位,高八位赋值为0.整型赋值给字符型,只把低八位赋值给字符型。3、复合赋值表达式双目运算符

22、 的 使 用+=,-=,*=,/=,%=,&=,=,1=复 合 赋 值 表 达 式:变量+双目运算符+表 达 式 等 价 于 变量=变量+运算符+表达式a+=5 等价于 a=a+5x*=y+7 等价于 x=x*(y+7)r%=p 等 价 于 r=r%p复 合 赋 值 表 达 式 能 提 高 编 译 的 效 率 并 产 生 质 量 较 高 的 目 标 代 码。例:输 入 a,b的 值,将 其 值 交 换 后,输出int main()int main()int a,bz t;scanf(r&a,&b);t=a;a=b;b=t;printf(a=%d,b=%dn”,a,b)system(pause)

23、;return 0;int a,b;scanf(d%d”,&a,&b);a=a+b;b=a-b;a=a-b;printf(a=%d,b=3dn,a,b);system(npausen);return 0;g F ,说 明:程 序1中,temp为 中 间 暂 存 变 量;理 解 程 序2为 什 么 可 以 实 现a,b值的交换?练 习:1、输入整数X,求 x 的前一个整数、后一个整数;求 x 的绝对值,求 x 的平方。2、输入两个整数a,b;将数据交换后,输出交换数据后的a,b3、整数拆分:已知一个百位整数,编程求各个数位上的数字之和。4,已知梯形的上底、下底、高,求梯形的面积5、输入一个实数,

24、求平方根,平方,绝对值。第三课 选择结构语句(if switch)一、布尔类型定义:bool f 1,f2;赋值:fl=true;等 价 于 f 1=1;f2=false;等价于 f2=0;输出:printf(%d,%d,fl,f2);二、关系运算符输 出 为 1,0作用操作符大于小于=小于等于 关系运算符 逻辑运算符常用的表达式意义10结果为true或 者 11!=0结果为true或 者 11=0结果为false或 者 01+25结果为false或者0a0变量a 是否大于0a=0变量a 是否等于0a!=0变 量 a 是否不等于0a=b变量a 与 b 是否相等a!=b变量a 与 b 是否不相等

25、a=0&ac&b+ca&a+cb 三角形的任意两边之和大于第三边等价于(a+bc)&(b+ca)&(a+cb)五、工F语句 作用:根据条件来选择执行的语句。【格式】:形 式 1:if(条件)语句;形式2:if(条件)语 句 1;else 语句2;【注意】1、条件,是一个表达式,()不能省略。2、注意加;的位置3、书写if语句的关键在于给出条件表达式,主要使用关系表达式或者逻辑表达式来表示某一条件。【例题】例 3.1:输入不相等的两个整数a,b,输出较大的数。分析:根据判断两个数的大小关系,给出条件表达式a b,条件成立输出a,条件不成立输出b;程序二中引进一个新的变量m ax来存储最大值。#i

26、n clu d e u sin g nam espace s td;in t main()in t a,b;cinab;i f (ab)coutnmax=Haendl;e ls e coutbendl;sy stem(np au sen);re tu rn 0;#in clu d e u sin g nam espace s td;in t m ain()in t b,m ax;cinab;i f (ab)max=a;e ls e max=b;coutnmax=Hmaxencil;system (np atisen);re tu rn 0;例 3.2:输入一个整数a,判断是否在开区间(0,8)

27、内,是,输出Yes,否则输出No.分析:a 是否在开区间(0,8)内,也就是0a8;如果是闭区间0,8,那就是0=a=8表达式书写:错误写法:0a0&a8知识点:当判断由多个条件构成时,条件之间根据逻辑运算符!,II来连接。include using namespace std;int main()int a;cina;if(a0&a8)cout,Yesendl;else coutHNoHendl;system(pause);return 0;例 3.3:输入年份,判断是否为闰年。闰年的规则:年份能够被4 整除,但不能被100整除,或能被400整除。#include using namespa

28、ce std;int main()int year;cinyear;if(year%4=0&year%100!=0|year%400=0)cout year 是闰年endl;else cout 不是闰年system(Hpausen);return 0;例 3.4:输 入 一 个整数x,判断该数的奇偶性,如果是奇数,输出 奇数,否则输出 偶数#include using namespace std;int main()int x;cinx;if(x%2!=0)coutx 是奇数 endl;else cout x 是偶数 endl;system(pause);return 0;)请你用另外一种方法

29、来完成该程序。例 3.5:输入两个整数max、min,将较大的数存在max,较小的数放在min里。分析:如果maxmin,就交换数据。知识点:If语句中,如果或者,执行的内容无法用一个语句实现,需要用多个语句完成时,这时候必须使用复合语句。复合语句格式:语 句 1;语 句 2;#include using namespace std;int main()int min,max,t;cinminmax;if(minmax)t=min;min=max;max=t;coutHmax=nmaxn Amin=Hminendl;system(pause”);return 0;)例 3.6:输入三个整数x、

30、v、z,求其中最大值(最小值)。分析:给出框图知识点:if语句可以多层嵌套。#include using namespace std;int main()int x,y,z;cinxyz;if(xy)if(xz)coutxz)coutyendl;else coutzendl;)system(pause”);return 0;知识点:随机数#include include using namespace std;int main()srand(unsigned)time(NULL);用当前时间作为随机种子printf(dn”,rand()%10);/产生 0.9 的随机数system(pause

31、);return 0;if语句的嵌套1、if语句格式对齐2、合理的缩进)练习:1)火车托运行李,要根据重量按不同的标准收费。例如不超过50kg,按每公斤0.35元收费。若超过50kg按每公斤0.35元收费,其余超过部分按每公斤0.50元收费。现输入托运行李重量,要求计算并输出托运费。2)输入一个整数判断该数是否为完全平方数3)输入某学生成绩,如果该学生的成绩在区间 80,90)内,输出成绩的等级、B”。4)输入一个三位数,判断这个数中是否包含一个数字0,如果有输出、yes”5)输入 个数,判断该数是正数、负数还是零,为正数输出 正数,为负数输出 负数”,为零输出 零”6)输入三个整数,求最小值

32、。7)输入三个整数,将该三个数从大到小输出。8)猜数游戏。由计算机随机产生 0,2 之间的整数,从输入键盘输入另个整数,判断是否相同。9)从键盘输入三个正整数a,b,c分别表示一个三角形的三条边,编程确定是否能构成三角形,若能,则输出三角形的类型(任意三角形,等腰三角形,等边三角形,直角三角形,等腰直角三角形,无法构成三角形)六、分情况switch【作 用】:多分支选择语句,根据表达式的值分情况。【格 式】:Switch(表达式)case 值 1:语句组 1;break;case 值 2:语句组 2;break;case 值 n:语句组 n;break;default:语句组 n+1;brea

33、k;)【注意工1.注意符号,(),;:的使用3.表达式的值必须为有序类型-整型、字符型4.语句组n,可以不加 5.default子句可以省略。case和 default顺序可改变。6.书写程序时,注意缩进和对齐。例 3.7:输入两个实数a、b 和一个运算符。pr(+、一 *,),输出其运算结果。#include using namespace std;int main()char ch;float a,b;scanf(,%f%c%f,&a,&ch,&b);switch(ch)case 1:coutachb 1=1 a+bendl;break;case 1-1:coutachb1=1a-bend

34、l;break;case 1*1:coutachb1=1a*bendl;break;case 1/1:coutachb1 1a/bendl;break;default:输入错误system(pause);return 0;一靠l 例 3.8:从键盘上读入年和月,输出该月有多少天。:#include using namespace std;int main()int year,month;cinyearmonth;switch(month)case 1:cout31endl;break;case 3:cout31endl;break;case 5:cout3lendl;break;case 7:

35、cout3lendl;break;case 8:cout31endl;break;case 10:cout31endl;break;case 12:cout31endl;break;case 4:cout30endl;break;case 6:cout30endl;break;case 9:cout30endl;break;case 11:cout30endl;break;case 2:if(year%400=0|year%4=0&year%1001=0)cout2 9endl;else cout28endl;break;default:coutvv”输入错误”For语 句【作 用】所谓循环,

36、就是不断地重复某一段程序段。【格 式】for(init;condition;increment)for(初始化;循环条件;增值)循环体递增型递减型for(i=l;i=l;i-)循环体【自增、自 减 运 算 符】int i=5;i+;参与运算后,i 的值自增1i-;参与运算后,i 的值自减1+i;i 的值自增1 后,参与运算 i;i 的值自减1 后,参与运算“盾那体验】_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _例 4.1 请输出5 个号。#include define n 5using namespace std;int main()int

37、 i;/常用工,J,K 作为循环变量的标识符for(i=l;i=n;i+)coutH*n;/i-控制循环次数coutendl;system(pause);return 0;分解循环i=l判断=n,成立,打印*后,执 行 i+i=2判断=n,成立,打印*后,执 行 i+i=3判断=n,.成立,打印*后,执 行 i+i=4判断=n,成立,打印*后,执 行 i+i=5判断=n,成立,打印*后,执 行 i+i=6判断=n,.不成立,退出循环啰 4/it 刎 J L 二 i q:#define n 10int main()int i;for(i=l;i=n;i+)couti 1,;/i 一用循环来控制打

38、印的次数和内容coutendl;system(npauseH);return 0;)#include define n 10using namespace std;int main()int i;for(i=n;i=l;i一)c outi 1 f;/i-用循环来控制打印的次数和内容coutendl;system(pause);return 0;_ 例.4.4 请_2#include using namespace std;int main()char ch;for(ch=1A1;ch=1 Z 1;ch+)coutch f;/ch 控制循环次数和内容coutendl;system(pause);

39、return 0;!循环控制变量必须是顺序类型的变量。可以是整型,字符型,不允许是实型。练习:请输出Z,一 A,例 4.5 输入 n,计算 S=l+2+3+.+n分析:S=SH 1S=S+2-3 变量S的作用:累加器s=sT n以上语句可化为:s=s+i在写循环时注意分析执行语句中相同的部分和不同的部分。#include define n 100000using namespace std;int main()int s,i;s=0;for(i=l;i=n;i+)s+=i;couts 输入 n,计算 s=2+4+6+8+2*n例 4.6输入n 个整数,输出其中的最大值分析:读入一个整数:cin

40、x;读入 n 个整数:for(i=l;i=n;i+)cinx;I-表示次数include#define n 5using namespace std;int main()int x,max,i;cinmax;for(i=2;ix;if(xmax)max=x;Max:哨兵的作用,用来存储当前的最大值)coutmaxendl;system(pause);return 0;例 4.7 输 出 10个整数,统计其中正数、负数和零的个数。分析:用三个变量来累计个数,Sl-正数的个数,S2 负数的个数,S3 零的个数include#define n 5using namespace std;int mai

41、n()int x,i,si,s2,s3;sl=s2=s3=0;for(i=l;ix;if(x0)sl+;else if(x=0)s2+;else s3+;)coutsl1*s2*1s3endl;system(pause);return 0;)S 1,S 2,S 3-计数器注意:计数器要赋初值S 1=0练习:1、输 入 10个学生的成绩,统计其中及格和不及格的人数。计算平均分。2、输 入 10个整数,输出其中的最大值3、求所有满足条件的四位数abed:这四位数是11的 倍 数 a,b,c,d均是小于10的互不相同的自然数b+c=a be是完全平方数。4、一个两位数x,将它的个位数字与十位数字对调

42、后得到一 个新数y,此 忖 y 恰好比x 大36,请编程求出所有这样的两位数。5、输出所有水仙花数。(水仙花数:若三位数abc,a八 3+b-3+c-3=abc,则称该数为水仙花数)6、输 出 1000以内的守行数(若某数的平方,其低位与该数本身相同,则称该数为守行数。例 如 25,25-2=625,6A2=36,平方值的低位与原数相同,25、6 为守行数)。第五课数组的使用知 识 点:声明数组:数据类型 数组名 第一维元素总数 第二维元素总数 第一维元素总数例子:in t s 10;f l oa t s c or e 3 5 ;一、一维数组:数组代表的并不是一个变量,而是一批变量。1、声明

43、i nt s 5;fl oa t a 10;c h a r c h 20;i nt S 5 =2,1,3,1,2);/可以再定义变量时,直接给初始值。C h a r c h 4 =(,E,J W,JN );i nt s 5 等价于 i nt s 0 ,s 1 ,s 2 ,s 3 ,s 4 说明:s:数组名,5为数组元素个数。数组的每个单元:s 0,s l ,s 2,s 3 ,s 4 注意下标,数组元素,下标类型,数组类型的区别:数组元素:s 0,s 4 ,a 0,a 9 ,c h 0,c h 19 ,s i ,a j ,c h i 对应的下标:04 c l 9 0 19 i j i数组的下标是

44、有序类型i nt,数据单元下标从0开始数组类型是指每个单元的类型。s i i nt类 型,a i fl oa t,c h i -一字符类型2、引用数据:下标为整型:s 3(使用该单元数据)&s 3(该单元地址,用于输入数据时)下标为变量:s i(使用该单元数据)&s i(该单元地址,用于输入数据时)下标为表达式 s i+1 ,s 2*i&s i+l ,&s 2*i 3、输入数据:通过下标访问每个单元,下标从0开始。实现:i nt i;下标类型为整型F or (i=0;i 5;i+)s c a nf(“/d”,&s i )从键盘上输入:5 2 1 10 14,结果如下表:4、输出数据通过下标访问

45、每个单元,下标从0 开始。下标01234数组单元s 0s l s 2s 3 s 4 数据5211014实现:i nt j;下标类型为整型F or (j=0;j 9;j+)pr i nt f(a%fw;5、常见的数组使用i nt i,a 10;1、对数组元素a 0 到 a 9 的值分别为0 到 9;for (i=0;i 10;i+)s i =i;2、数组清0,最常用的数据初始化的方法for (i=0;i 10;i+)s i =0;3、产 生 10个 0=s i 100随机数,s r a nd(20101010);找个整数做为随机种子for (i=0;i 10;i+)s i =r a nd()%1

46、00;例 L 从键盘输入n 个数,将这n 个数逆序输出,并求这n 个数的和,输出这个和。i#include define N 5using namespace std;int main()int s,i,a N;for(i=0;iai;for(i=N-l;i=0;i-)couta i 1 1;coutendl;s=0;for(i=0;iN;i+)s+=ai;printf(dn”,s);system(pause11);return 0;I )例 2、输入n 个字母,字母为 0,.9,;求各字母出现的次数(n=25 5)。分析:1、实现输入n 个字母?for (i=0;i c h;2、统计字母出现

47、的次数?有 1 0 个字母,需 要 1 0 个计数器。i nt c 10;c i -统计数字i的个数初始化:for(i=0;i10;i+)c i=0;算法分析:读入字母ch,相应的整数为k,ck+include#define N 5/N-输入的字母的个数。using namespace std;int main()(int i,c10;char ch;for(i=0;i10;i+)c i=0;/计数器清 0;for(i=0;iN;i+)scanf(H%cH,&ch);c ch-48+;/每输入一个字符,相应的计数器+1;for(i=0;i10;i+)if(c i!=0)coutin i 6nd

48、l;/输出system(pause);return 0;练习、输入n 个字母,字母为;求 n 个字母中包含了几个不同的字母。二、二维数组二维数组元素有两个卜标:第一个下标表示该元素在第几行,第二个下标表示在第几列。1、声 明:int s 4 3;Int d42=1,0,0,1,0,-1),-1,0);0 列1 列2 列0 行S00S00S001 行Sl0S1 1sl 22 行S20S2 1S2 23 行S30S3 1S32数据横坐标(行)纵坐标(列)Si jij2、引用数据:下标使用该单元数据该单元地址整型s00&s0 0变量si j&sij3、输入数据:通过下标访问每个单元,坐标都是从0 开

49、始。实现:int i,j;/下标类型为整型for(i=0;i4;i+)for(j=0;is i j;4、输出数据通过下标访问每个单元,下标从0 开始。实现:int i,j;/下标类型为整型for(i=0;i4;i+)for(j=0;i3;j+)c o u t s i j coutendl;)5、二维数组的使用练 习 1、竞赛小组共有1 0 位同学,每位同学共参与了三项比赛,请统计每位同学的平均分。分析:需要一个2 0 行 3 列的二维表来存放这些成绩in t s 1 0 3;s i j :表示第i 位学生,课 程 j 的 成 绩 为 j练习2:输入一个3 行 3 列整型数组,求数组中数据的最大

50、值和最小值。练 习 3:输入一个3 行 3 列的矩阵,判断该矩阵是否对称,如果没有对称就进行矩阵的转置。对称矩阵不时称矩阵1 1 72 1 44 5 2练 习 4:输入一个5 行 5 列的字符数组,输入#和&所在的坐标。输入:#*输出:#(1,1)*&(5,5)*&练 习 4:求一个行数n,列数m 的二维数组的鞍点。所谓鞍点:数据,在 第 i 行是最大的,在 第 j 列是最小的,则是鞍点。输出鞍点所在的位置,如果没有鞍点,输 出 N。!”第六课:条件控制循环while、Do-while循环一、w h ile 语句【作用】条件为True时,重复某一段程序段。【格式】w h ile(条件)语句;W

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com