数组与字符串PPT课件

合集下载

c语言数组与字符串PPT课件

c语言数组与字符串PPT课件

j +00+11)52
7 7
9 9
3 5
4 4
6 6
8 8
2 3
if (num[i] >num[ j0])1 2 3 9 7 5 6 8 4
{ tem=num[i];
0123497685 0123459786
num[i]=num[ j];
0123456987 0123456798
num[ j]=tem; 0 1 2 3 4 5 6 7 8 9
• Char st[20]; scanf(“%s”,st); • 注意,st是数组名而非变量名,故不
可用&st • 数组名代表了数组的首地址,整个
数组存放在以首地址开始的一块连 续内存单元中
第20页/共34页
字符串处理函数:
• 头文件是 <string.h>
• puts(str或字串)
在屏幕上显示一个字符串(以‘\0’结束); 将结束标记转为 ‘ \n’; 可含转义字符.
main( ) { int num[10], i;
for (i=0; i<10; i++) num[i]=i+1;
for(i=0; i<10; i++) num[i] *= 10;
for (i=0; i<10; i++) printf("num[%d] = %d \n", i, num[i] );
}
第6页/共34页
main( ) { int num[10], i;
for (i=0; i<10; i++) scanf("%d", &num[i]);

C语言程序设计数组与字符串PPT课件

C语言程序设计数组与字符串PPT课件

max=a;
for (i=1;i<10;i++)
if (max<b) max=b; if (max<a[i]) max=a[i];
if (max<c) max=c; printf("%d\n",max);
printf("%d\n",max);
13
数组与函数——传递数组
使用参数传递数组到函数 数组名与元素个数分别传递 数组的常规函数
3
[案例需求2]
编写学生信息管理程序,实现:
命令行交互方式,提示符为“ST2>” 帮助功能,命令符H,显示关于命令的使用说明 退出功能,命令符Q,退出程序 增加功能,命令符A,参数为学号、成绩 删除功能,命令符D,参数为学号 查找功能,命令符F,参数为学号 列表功能,命令符L,按学号升序列表 统计功能,命令符T,平均最大最小等 名次功能,命令符S,按成绩从大到小并排名 4
void sca(int a[],int n); void prt(int a[],int n); long sum(int a[],int n); int max(int a[],int n); int min(int a[],int n);
编程示例:输入10个整数,输出这10个整 数以及累加和、最大值和最小值
int n;
int a[5];
n=5;
a[0]=5;
n++;
a[4]++;
s+=n;
s+=a[1+2];
printf("%d",n); printf("%d",a[i]);
scanf("%d",&n); scanf("%d",&a[j]);

数据结构PPT课件第3章_数组和字符串(ppt文档)

数据结构PPT课件第3章_数组和字符串(ppt文档)
= Loc(a[0][0]) + (i×n+j) ×C
9
[例] float a[3][4] Loc(a[1][2]) = Loc(a[0][0]) +(i×n+j) ×C = Loc(a[0][0]) +(1×4+2) ×4 = Loc(a[0][0]) +24
10
三维数组
多维数组元素在内存中的排序顺序为:第一维 的下标变化最慢,最右边的维下标变化最快。
a[1][0][0]→a[1][0][1]→a[1][0][2]→a[1][0][3] a[1][1][0]→a[1][1][1]→a[1][1][2]→a[1][1][3] a[1][2][0]→a[1][2][1]→a[1][2][2]→a[1][2][3]
11
三维数组a[m][n][p]中元素a[i][j][k]地址计 算公式为: Loc(a[i][j][k]) =Loc(a[0][0][0])+(i×n×p+j×p+k)×C
第三章 数组和字符串
3.1 数组 3.2 矩阵 3.3 字符串
1
3.1 数组
3.1.1 数组的存储和寻址 3.1.2 自定义数组类
3.1.3 动态数组
2
一维数组是若干个元素的有限序列。
元素本身就是一个数据结构。
一维数组的元素必须具有相同的类
型,每个数组元素都占据相同大小 的存储空间。
3
一维数组采用顺序存储结构。 每个元素都通过一个下标来指定,故一
23
template <class T> // 修改数组的大小 void Array<T>∷ReSize(int newSize) {

07 数组和字符串共100页PPT

07 数组和字符串共100页PPT

7.1.3 一维数组的初始化
在说明数组的同时对数组的元素赋值, 这就是数组的初始化。一维数组初始化的一 般形式为:
数据类型 数组名[容量]={ 常量表达式1, 常量表达式2,…… };
在对数组的所有元素初始化时,可以不 给出数组的容量。在这种情况下,系统会自 动按给出初始值(表达式)的个数建立相应 容量的数组。这种初始化的一般格式为:
for(i=0;i<10;i++) { printf("%f ",a[i]); printf("\n"); }
} 程序的输Biblioteka 为:1.100000 0.000000
3.100000 0.000000 5.200000 0.000000 0.000000 0.000000 0.000000 0.000000
下标值是从零开始的。作为变量的数组 元素,它的下标,既可以是常量表达式,也 可 以 是 含 变 量 的 表 达 式 , 例 如 , abc[i], abs[i+j]等。
7.1.2 数组元素的引用
数组元素的引用是通过数组下标变量的 实现的。下标变量的形式为:
数组名[下标] 例7.1.1 设有整型数组a,其长度为5。 编写程序,令5个数组元素的值依次为10,
数据类型 数组名[ ]= { 常量表达式1,常 量表达式2,…… };
例7.1.2 对实型数组a的10个元素中的前5 个元素进行初始化,然后,输出数组每个元 素的值。 程序如下:
#include "stdio.h"
main()
{
float a[10]={1.1, 0, 3.1, 0, 5.2};
int i;
程序给出下面的输出结果:

数据类型数组和字符串ppt课件

数据类型数组和字符串ppt课件

Precision
28-29 significant digits
bool
bool类型只有两个取值(true和false)
using System; public class MyClass {
static void Main() {
bool flag = true; Console.WriteLine(flag); char c = '0'; bool Alphabetic = (c > 64 && c < 123); Console.WriteLine(Alphabetic); } }
int num;
num=Convert.ToInt32(Console.ReadLine());
或:
num = int.Parse(Console.ReadLine());
字符串类型(string)
C#中内置的数据类型string不是一个值类 型,而是一个引用类型,它被用来表示字 符序列。
string将字符串当作一个整体来处理,不能 修改串中的字符元素,可看作一个字符串 常量。如“This is a string.\n”。
bool
int x = 123;
if (x)
// Invalid in C#
{
printf("The value of x is nonzero.");
}
int x = 123;
if (x!=0)
// The C# way
{
Console.Write("The value of x is nonzero.");
Value Types(值类型)
变量直接存储“值”,并置于栈内存中。

C语言 第六章 数组与字符串.ppt

C语言 第六章 数组与字符串.ppt
下一页
第5章 设备管理
3.用起泡法对n个整数进行排序,不是一定要 进行n-1趟排序后,才可以得到排序结果。如 果在中间某一趟排序过程中,没有发现任何两 个元素违反“轻气泡不能在重气泡之下”原则, 即所有元素均已排列有序,则排序结束。如上 例中,7个关键字,只经过了4趟排序。 (源程序:L06~09.c )
返回本节
第5章 设备管理
例6.2
# include <stdio.h>
main()
{
int i, j;
int a[3][4]={{1,2,3,4},{5,6,7,8},
{9,10,11,12}};
for (i=0; i<3; i++)
{ for (j=0; i<4; i++)
printf(“%4d”,a[i][j]);
因此上面定义的2×3的整型数组a中所有元素在 内 存 中 的 排 列 顺 序 是 : a[0][0],a[0][1], a[0][2],a[1][0],a[1][1],a[1][2]。
下一页
第5章 设备管理
因此,我们可以把二维数组看作是一种特 殊的一维数组,它的每一个元素都是一个一维 数组。
例如,可以把上面定义的数组a看作是一个 一维数组,它有2个元素:a[0]、a[1],每一个 元素又是一个包含3个元素的一维数组。
边。
这样不断进行下去,直到找到满足条件的元素或者 该数组中没有这样的元素为止。
(源程序:L06~07.c )
返回本节
第5章 设备管理
例6.8 用直接选择排序法对5个整数 进行升序排序。
直接选择排序的基本思想是:每一次从待排 序的整数中选出关键字最小的整数,顺序放在 已排好序的那些整数的末尾(即与待排序的整 数中的第一个整数交换位置),直到全部整数 排序完毕。(举例)(源程序:L06~08.c )

数组字符串精讲PPT课件

数组字符串精讲PPT课件
Hello world. This is c language.
• 输出样例:
Hello world. This is c language.
第26页/共36页
字符串
• 分析:
• 如何判断读入结束? while (cin>>temp)的功能是 循环读入数据,在读不到的 时候停止循环。
• 字符串如何连接? 用“+”连接两个字符串。 注意:两个字符串常量是不能 用“+”连接的。例:string s=“abc”+“def”;
第32页/共36页
字符串
第33页/共36页
字符串
• 例3.19 提取整数。有1行由小写字母和数字组成的字符串, 请求出其中所有数的和。
• 输入格式:一个字符串,长度小于100000。
• 输出格式:输出一个整数。数据保证答案不超过2^62。
• 输入样例: ab123cde45enf
long long
第10页/共36页
一维数组
• 例3.7 从键盘读入10个数,然后从小到大输出。
第11页/共36页
一维数组
• 例3.8 从键盘读入10个数,然后从大到小输出。
第12页/共36页
一维数组
• 例3.9 成绩排序。给出班里某门课程的成绩单,请你按成绩从高到低 对成绩单排序输出,如果有相同分数则名字字典序小的在前。
• 例3.11 写出下面程序的在运使行用结双引果号。初始化时,字符个
数必须比所定义的数组元素个数 少1,因为数组的最后一个位置
用来存放字符“\0”。
第18页/共36页
字符数组
• 例3.12 在应用计算机编辑文档的时候,我们经常遇到替换任务。例 如把文档中的“电脑”都替换成“计算机”。现在请你模拟一下这个 操作。

数组与字符串PPT课件

数组与字符串PPT课件
-32-
-15-
二维数组的定义和引用
定义二维数组,描述国际象棋棋盘,棋盘8行8列, 每个方格要么为黑色,要么为白色。
int board[8][8];
访问二维数组中的数据元素,需要使用2个下标
board[0][3]
行和列下标都从0开始,与1维数组相同。 C++中规定,先指定行下标,再指定列下标。
-16-
二维数组的使用
cin>>name只能读取空格前的第一段字符串。
-28-
读取字符串示例
#include <iostream> int main() {
char name[50]; std::cout<<"What is your name: "; std::cin.getline(name, 49); std::cout<<"Your name is: "<<name<<"\n"; return 0; }
二维数组的初始化
情况四:顺序初始化,缺省的初始化为0 int a[3][3]={1,2,4,5,6};
1 a[0][0]
2 a[0][1] a[0]
4 a[0][2]
5 a[1][0]
6 a[1][1] a[1]
0 a[1][2]
0
a[2][0]
0 a[2][1] a[2]
0 a[2][2]
二维数组示例
-7-
篱笆桩错误
访问数组元素时,最大下标应该为数组元素个数减 1,越过此边界,会导致程序的异常行为。
int score[10]; score[10] = 94;
-8-
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档