PowerPoint 演示文稿

Size: px
Start display at page:

Download "PowerPoint 演示文稿"

Transcription

1 STC 单片机 C 语言数组 主讲 : 何宾 hebin@mail.buct.edu.cn

2 一维数组的定义格式为 : 类型说明符数组名 [ 常量表达式 ]; 其中, 类型说明符是任意一种基本数据类型或者构造数据类型 数 组名是用户定义的数组标识符 [] 内的常量表达式表示数据元素的 个数, 也称为数组的长度 比如 : int a[10] -- 一维数组的定义 该数组用标识符 a 表示, 该数组共有 10 个元素, 数组中每个元素 的数据类型为 int 类型, 也就是说数组 a 包含 10 个整型数 该数组中 的每个元素 ( 整数 ) 通过索引号标识, 分别表示为 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] 和 a[9]

3 其中 :a[0] 表示数组 a 中的第一个数据 ;a[1] 表示数组 a 中的第二个数据 ;a[2] 表示该数组中的第三个数据元素, 以此类推 ;a[9] 表示该数组中的第十个数据 注 : 在该数组中, 不存在 a[10] 这个数据, 这是因为索引号从 0 开始直到 9 为止 float c[20]; 该数组用标识符 c 表示, 该数组共有 20 个元素, 数组中每个元素的数据类型为 float 类型, 也就是说数组 c 包含 20 个浮点数 该数组中的每个元素 ( 浮点数 ) 通过索引号标识, 分别表示为 c[0] c[1] c[2] c[18] 和 c[19] char ch[20] -- 一维数组的定义 该数组用标识符 ch 表示, 该数组共有 20 个元素, 数组中的每个元素的数据类型为 char 类型, 也就是说数组 ch 包含 20 个字符 ( 字符型

4 数据 ) 该数组中的每个元素 ( 字符 ) 通过索引号标识, 分别表 示为 ch[0] ch[1] ch[2] ch[18] 和 ch[19] 注 : 数组的类型实际上是指数组元素的取值类型 对于同一个数组, 其所有元素 的数据类型都是相同的 式 -- 一维数组的定义 数组名的书写规则应符合标识符的命名规则 数组名不能和程序中其它数组或者变量的名字相同 不能在方括号中用变量表示元素的个数, 但是可以使符号常量或者常量表达 允许在同一个类型说明中, 说明多个数组和多个变量 例如 : int a,b,c,d,e[10],f[20];

5 对于数组中的每个数据元素来说, 可以在声明数组的时候就给其赋 值, 也可以在声明完一维数组后再分别给数组中的每个元素赋值 注 : 在动态赋值的时候, 一条语句只能给数组中的一个元素赋值, 一条语句不能 同时给多个数组元素赋值 程序员可以通过类型前面的关键字 data idata xdata, 合理的使用不同 的存储空间, 满足不同的存储数据元素个数的要求 索引数组中每个元素的格式为 : 数组名 [ 下标 / 索引号 ], 其中下标 / 索引号可 以是常量也可以是变量, 比如 :a[5] a[i] 在 C 语言中, 只能逐个地使用下标变 量, 而不能一次引用整个数组 -- 一维数组初始化

6 -- 一维数组初始化 例 12-1 一维数组声明和初始化赋值的例子在该例子中, 声明了三个数组 a b c, 其中 : 数组 a 中, 有 10 个 int 数据元素, 其索引号从 0~9; 数组 b 中, 有 4 个 char 类型数据元素, 其索引号从 0~3; 数组 c 中, 有 40 个 char 数据元素, 其索引号从 0~39 数组 c 和 b 虽然都是 char 类型的, 但是赋值方式并不相同,b 数组是每个元素分别赋值 ; 而 c 数组是整体赋值

7 -- 一维数组初始化 代码清单 12-1 main.c 文件 #include "stdio.h" #include "reg51.h" int main() { int a[10]={0,1,2,3,4,5,6,7,8,9}; char b[4]={'a','b','c','d'}; char c[40]={"hebin hello"}; return 0; } 注 : 如果没有给数组的所有元素赋值, 则没有赋值的元素则使用默认值

8 读者可以进入到本书所提供资料的 stc_program_example\ 例子 12-1 目录下, 在 Keil μvision5 集成开发环境下打开该设计, 并进入调 试器模式, 单步运行程序 使得单步运行到 return 0 的代码 分析 步骤如下 : -- 一维数组初始化 在当前调试主界面主菜单下, 选择 Watch Windows->Watch 1

9 出现 Watch 1 界面 在该界面中, 单击 Enter expression, 然后 输入 a; 在下一行又出现 Enter expression, 然后输入 b; 按照类 似的方法输入 c -- 一维数组初始化

10 -- 一维数组初始化 分别单击 a b 和 c 前面的 + 号, 展开数组 可以看到各个数组的数据元素的值 此外, 在该图中可以看到下面的信息 : 1a 右侧给出 D:0x22 信息, 表示数组存放在单片机内部数据区起始地址为 0x22 的区域 ; 2b 右侧给出 D:0x39 信息, 表示数组存放在单片机内部数据区起始地址为 0x39 的区域 ; 3c 右侧给出 D:0x3D 信息, 表示数组存放在单片机内部数据区起始地址为 0x3D 的区域

11 -- 一维数组初始化

12 在 Memory 1 窗口内的 Address: 右侧文本框中输入 0x22 可以 看到从 D:0x22 开始的区域, 每两个字节存放一个数据元素, 即 : 00 00,00 01,00 02,00 03,00 04,00 05,00 06,00 07, 00 08,00 09 地址从 d:0x22 开始, 一直到 d:0x35 结束, 一共 20 个字节 -- 一维数组初始化

13 -- 一维数组初始化 在 Memory 1 窗口内的 Address: 右侧文本框中输入 0x39

14 -- 一维数组初始化 在 Memory 1 窗口内的 Address: 右侧文本框中输入 0x3d

15 -- 一维数组初始化 例 12-2 动态初始化一维数组元素的例子 代码清单 12-2 main.c 文件 #include "stdio.h" #include "reg51.h" void main() { int a[8]; xdata char str[40]; int i; SCON= 0x52; // 定义一个包含 8 个整型数的数组 a // 将字符数组 str 定义在单片机 xdata 区 // 定义一个整型变量 i // 初始化串口

16 -- 一维数组初始化 TMOD = 0x20; TCON = 0x69; TH1 = 0xF3; printf("please input data of a[8]\n"); // 打印提示输入 a[8] 数组数据元素 for(i=0;i<8;i++) // 循环语句 scanf("%d,",&a[i]); // 通过索引号和 scanf 语句, 得到每个数据 printf("\nplease input string of str[40]\n"); // 打印输入字符数组数据信息 gets(str,40); // 调用 gets 函数, 输入字符数组的值 printf("output each element of array a\n");// 提示 / 打印数组 a 中的每个元素 for(i=0;i<8;i++) //for 循环语句, 循环 8 次 printf("a[%d]=%d,",i,a[i]); // 打印数组 a 中的每个元素 printf("\noutput each element of array str\n"); // 提示打印数组 str 中的每个元素 puts(str); // 调用 puts 函数, 打印数组 str 的值 while(1);

17 -- 一维数组初始化 读者可以进入到本书所提供资料的 stc_program_example\ 例子 12-2 目录下, 在 Keil μvision5 集成开发环境下打开该设计, 并进入调试器模式, 按 F5 运行程序 在 UART #1 窗口界面中, 给出数据输入的格式和输出信息的格式 按照下面的格式输入信息 : 在提示信息 Please input data of a[8] 下面, 输入 8 个数据 按照设计代码要求, 这 8 个数据之间应该用, 隔开

18 当输入最后一个数据, 后, 自动出现提示信息 please input string of str[40], 按照设计要求, 输入字符 如果不想继续输 入字符, 则按回车键, 停止输入字符串信息 当输入完所要求的数据后, 在下面显示所输入的数据以及与数组 索引号的对应关系 下面对该代码的关键部分进行说明 : 在代码开始部分, 有下面一行代码 xdata char str[40]; 该行代码用于声明将字符型数组 str 放在单片机的 xdata 区, 这样可 以避免因为内部数据区空间有限, 而导致无法为 str 数组分配存储空 间的情况 -- 一维数组初始化

19 在代码中, 可以看到在输入数据的时候, 在数组标识符前面加 & 符号前缀, 用于表示取出当前存储器数据元素的地址, 其 中每个存储器数据元素通过数组名和索引号进行标识 对于字符型数组的数据输入, 可选择下面方法 : 1 使用 for 循环和 scanf 语句 for(i=0;i<40;i++) } { scanf("%c",&str[i]); if(str[i]=='\n') break; -- 一维数组初始化 这种方法, 就是分别输入字符串中的每个字符 如果不继续输入字符, 则按回车键, 跳出该循环

20 2 只使用 scanf 语句 scanf("%s,",str); 这种方法, 就是直接输入字符串 但是, 当使用这种方法时, 不 允许在字符之间存在空格, 这是因为空格在此表示输入字符的结束 3 调用 gets 函数 gets(str,40); 和第二种方法类似, 注意在调用 gets 函数的时候, 需要说明输 入字符的最大个数 采用这种方法输入字符串时, 允许在字符之间 存在空格 -- 一维数组初始化

21 -- 一维数组初始化 下面查看一下 Watch 1 窗口内容和 Memory 1 窗口内容, 其步骤主要包括 : 在 Watch 1 窗口中, 分别输入数组名字 a 和 str 可以看到数组保存的数据信息

22 1 数组 a 的起始地址为 D:0x22, 即在 STC 单片机片内基本 RAM 区 域 2 数组 str 的起始地址为 x:0x000000, 即在 STC 单片机片内扩展 RAM 区域 -- 一维数组初始化

23 -- 一维数组初始化 在 Memory 1 窗口中, 输入 x:0x 查看存储器的内容 退出调试器模式, 并关闭该设计

24 -- 一维数组的操作 例 12-3 在一维数组中插入数据的例子 在该设计中, 将在一个包含 10 个元素的数组 a 中的第 i 个元素之前插入一个元素 x 由于数组空间的限制, 每插入一个元素则移除数组中最后的元素的值 代码清单 12-3 main.c 文件 #include "stdio.h" #include "reg51.h" int main()

25 -- 一维数组的操作 { int a[10]={12,13,14,15,16,17,18,19,20,21}; // 定义并初始化包含 10 个元素的数组 a int node,x; int j; SCON= 0x52; TMOD = 0x20; TCON = 0x69; TH1 = 0xF3; while(1) { // 定义整型变量 node 和 x // 定义整型变量 j // 无限循环 // 初始化串口

26 printf("\nplease input node and number\n"); // 提示输入插入的节点和该节点的值 scanf("%d,%d",&node,&x); { if(node<0 node>9) printf("input error\n"); return 0; } else -- 一维数组的操作 // 退出程序 // 输入插入节点号和该节点的值 // 如果插入节点号越界 // 打印错误信息 // 否则, 如果插入节点没有越界

27 } { for(j=8;j>=node;j--) a[j+1]=a[j]; a[node]=x; //for 循环, 循环从第 8 个元素到插入节点 // 将插入节点 node 后的元素右移 // 将 x 的值写入到插入节点 node printf("value of array after insert a node\n"); // 提示打印插入元素后的数组 } } for(j=0;j<10;j++) printf("a[%d]=%d,",j,a[j]); -- 一维数组的操作 //for 语句循环 10 次 // 打印数组中所有元素的值

28 读者可以进入到本书所提供资料的 stc_program_example\ 例子 12-3 目录下, 在 Keil μvision5 集成开发环境下打开该设计, 并进入调 试器模式, 运行程序 在 UART #1 窗口界面中, 给出数据输入的格 式和输出信息的格式 -- 一维数组的操作

29 例 12-4 匹配输入字符的例子 -- 一维数组的操作 在该设计中, 输入圆括弧 () 方括弧 [] 和花括弧 {}, 编写程序判断输入的括号是否前后配对, 如果不配对则提示错误信息, 否则提示匹配成功信息 在该设计中, 使用一维数组模拟一个堆栈, 将遇到输入字符 ( [ 或者 { 时, 入栈, 而当遇到输入字符 ) ] 或者 } 时, 检查当前栈顶的元素是否是对应的 ( [ 或者 {, 如果是则出栈, 否则提示错误信息 在前面已经介绍过堆栈是一个先进后出的结构, 有堆栈指针始终指向栈顶 在 8051 单片机中, 堆栈就是一个存储器结构, 因此可以用一维数据来模拟这个实现过程

30 -- 一维数组的操作 代码清单 12-4 main.c 文件 #include "stdio.h" #include "reg51.h" int main() { xdata char a[200]; // 在单片机片内扩展 RAM 内定义字符数组 a, 保存输入符号 xdata char st[200]; // 在单片机片内扩展 RAM 内定义字符数组 b, 作为堆栈 int top=0,i=0; // 定义整型变量 top 和 i, 并将它们初始化为 0 SCON= 0x52; // 初始化串口

31 TMOD = 0x20; TCON = 0x69; TH1 = 0xF3; gets(a,150); while(a[i]!='\0') { // 输入符号对 // 如果没有到达输入符号串的末尾, 则循环 if(a[i]=='(' a[i]=='[' a[i]=='{') // 判断输入的字符是否是 { [ 或者 ( { top++; st[top]=a[i]; } -- 一维数组的操作 // 如果是, 则栈顶指针递增 // 将当前的字符入栈

32 if(a[i]==')') // 如果当前字符为 ) if(st[top]=='(') top--; if(a[i]==']') // 如果当前字符为 ] if(st[top]=='[') top--; if(a[i]=='}') // 如果当前字符为 } if(st[top]=='{') top--; } i++; // 如果栈顶字符为 (, 则匹配, 出栈 // 如果栈顶字符为 [, 则匹配, 出栈 // 如果栈顶字符为 {, 则匹配, 出栈 // 指向数组 a 中的下一个符号 if(top!=0) // 当比较完数组 a 中符号后, 如果 top 不为 0 printf("input don't match\n"); // 打印不匹配信息 else // 当比较完数组 a 中符号后, 如果 top 为 0 printf("input match \n"); return 0; } -- 一维数组的操作 // 打印匹配信息

33 读者可以进入到本书所提供资料的 stc_program_example\ 例子 12-4 目录下, 在 Keil μvision5 集成开发环境下打开该设计, 并进入调 试器模式, 运行程序 在 UART #1 窗口界面中, 输入符号串, 然后 给出匹配的结果 -- 一维数组的操作

34 例 12-5 猴子选大王问题的例子 n 只猴子要选大王, 选举办法如下 : 所有猴子按 1 2 n 编号围 坐一圈, 从第一号开始按 1 2 m 报数, 凡是报到 m 号的退出 到圈外, 如此循环报数, 直到圈内剩下一只猴子时, 这只猴子就是 大王 n 和 m 由串口中断输入, 打印出剩下的猴子号 使用一个包含 n 个元素的数组 a, 开始的时候 a[i] 保存猴子的编号, 计数器 count 的值为 0 从 a[i] 开始循环, 每报一次, 计数器的值增 加 1, 凡是报到 m 时, 便打印出 a[i] 的值, 即退出圈外的猴子编号, 同时将 a[i] 的值改为 0, 也就是以后不参与报数, 计数器的值重新置 0 -- 一维数组的操作

35 -- 一维数组的操作 该程序一直执行到 n 只猴子全部退出圈外为止, 最后退出的猴子就是大王 代码清单 12-5 main.c 文件 #include "stdio.h" #include "reg51.h" typedef xdata int maxix[100]; // 在 8051 片内扩展 RAM 中定义数组 int main() { maxix a; // 定义一个数组变量 a int count=0,d=0,i,m,n; // 定义整型变量 count d i m 和 n SCON= 0x52; // 初始化串口

36 -- 一维数组的操作 TMOD = 0x20; TCON = 0x69; TH1 = 0xF3; printf("input n and m\n"); // 提示输入 n 和 m 的值 scanf("%d,%d",&n,&m); // 输入变量 n 和 m 的值 if(n<=m) return 0; // 如果 n 小于等于 m 则退出程序 for(i=0;i<n;i++) //for 循环语句 a[i]=i+1; // 初始化猴子的编号 while(d<n) // 当退出圈外的猴子个数小于猴子的总数

37 -- 一维数组的操作 for(i=0;i<n;i++) if(a[i]!=0) { count++; // 报一次数 if(count==m) // 第 i 个猴子退出 { printf("%d ",a[i]); a[i]=0; count=0; d++; //d 用于记录退出圈外的猴子个数 } } while(1); }

38 多维数组定义的格式为 : 类型说明符数组名 [ 常量表达式 1][ 常量表达式 2]...[ 常量表达式 n] 其中 : 常量表达式 1 用于表示一维下标的长度, 常量表达式 2 用于二维下标的长度, 常量表达式 n 用于表示 n 维下标的长度 比如 : 注 : 多维数组的各维下标 / 索引号从 0 开始, 这点与一维数组相同 int b[3][4] 表示一个整型二维数组, 即 : 该数组一共包含 3 4=12 个整型数据元素 每个元 素用二维下标表示为 b[0][0], b[0][1], b[0][2], b[0][3] b[1][0], b[1][1], b[1][2], b[1][3] b[2][0], b[2][1], b[2][2], b[2][3] 多维数组的定义和操作 -- 多维数组的定义

39 二维数组在概念上是二维的, 即它的下标在两个方向上变化, 下标变量在数组中 的位置也处于一个平面之中, 而不象一维数组只是一个向量 但是, 在 STC 单片 机物理存储空间却是连续编址的, 也就是说存储器单元是按一维线性排列的, 这 点将通过后面的例子详细说说明 如何在一维存储器中存放二维数组? 在 C 语言 中, 二维数组是按行排列的 即, 先存放 b[0] 行, 再存放 b[1] 行, 最后存放 b[2] 行 每行中有四个元素也是依次存放 由于数组 b 说明为 int 类型, 该类型占两个 字节的内存空间, 所以每个元素均占有两个字节 char b[5][5][5] 多维数组的定义和操作 -- 多维数组的定义 表示一个字符型的三维数组, 即 : 该数组一共有 5 5 5=125 个数据元素

40 对于多维数组初始化来说, 与一维数组类似, 可以在声明多维数组 的时候给多维数组赋值, 也可以在声明完多维数组后再给多维数组 中的每一个元素分别赋值 多维数组的定义和操作 -- 多维数组初始化 注 : 可以只对部分元素赋初值, 未赋初值的元素自动取 0 值 如果对全部元素赋初值, 则第一维的长度可以不用给出 多维数组可以看成是一维数组的嵌套

41 多维数组的定义和操作 -- 多维数组初始化 例 12-6 多维数组声明和赋值语句的例子在该例子中, 声明了两个数组 a b, 其中 : 数组 a[3][3] 为二维数组, 有 9 个 int 数据元素, 按下面索引号顺序 : [0][0] [0][1] [0][2] [1][0] [1][1] [1][2] [2][0] [2][1] [2][2] 保存数据 ; 数组 b[2][2][2] 中, 有 8 个 char 类型数据元素, 按下面索引号顺序 : [0][0][0] [0][0][1] [0][1][0] [0][1][1] [1][0][0] [1][0][1] [1][1][0] [1][1][1] 保存数据 ;

42 多维数组的定义和操作 -- 多维数组初始化 代码清单 12-6 main.c 文件 int main() { int a[3][3]={1,2,3,4,5,6,7,8,9}; char b[2][2][2]={11,12,13,14,15,16,17,18}; return 0; }

43 多维数组的定义和操作 -- 多维数组初始化

44 多维数组的定义和操作 -- 多维数组初始化 读者可以进入到本书所提供资料的 stc_program_example\ 例子 12-6 目录下, 在 Keil μvision5 集成开发环境下打开该设计, 并进入调试器模式, 单步运行程序 使得单步运行到 return 0 的代码 分析步骤如下 : 在当前调试主界面主菜单下, 选择 Watch Windows->Watch 1 出现 Watch 1 界面 在该界面中, 单击 Enter expression, 然后输入 a; 在下一行又出现 Enter expression, 然后输入 b

45 在 Meomry 1 界面内 Address: 右侧的文本框中, 输入 d:0x08 可以看到二维数组 a 的数据实际上是按照一维的形式保存在单片 机的片内数据区地址为 0x08 的起始地址, 并且是连续存放 所以, 本质上, 在物理存储器空间并不存在 多维的概念, 只是为了 更清楚地划分数据而已 多维数组的定义和操作 -- 多维数组初始化

46 多维数组的定义和操作 -- 多维数组初始化 在 Meomry 1 界面内 Address: 右侧的文本框中, 输入 d:0x1a 可以看到三维数组 b 的数据实际上是按照一维的形式保存在单片 机的片内数据区地址为 0x1a 的起始地址, 并且是连续存放

47 多维数组的定义和操作 -- 多维数组初始化 例 12-7 动态输入数组元素的例子 代码清单 12-7 main.c 文件 #include "stdio.h" #include "reg51.h" void main() { int b[3][3]; int i,j; SCON= 0x52; TMOD = 0x20; TCON = 0x69; TH1 = 0xF3; // 声明整型二维 3 3 数组变量 b // 声明整型变量 i 和 j // 初始化串口

48 多维数组的定义和操作 -- 多维数组初始化 printf("please input data of b[3][3]\n"); // 提示输入数组 b 的数据元素 for(i=0;i<3;i++) // 外循环 for 语句控制行 { for(j=0;j<3;j++) // 内循环 for 语句控制列 scanf("%d,",&b[i][j]); // 通过索引号 i 和 j, 输入所对应的元素值 } putchar('\n'); // 打印换行符号

49 { } for(i=0;i<3;i++) for(j=0;j<3;j++) // 外循环 for 语句控制行 // 内循环 for 语句控制列 printf("b[%d][%d]=%d,",i,j,b[i][j]); // 通过索引号 i 和 j, 打印数组 b 的每个元素 putchar('\n'); while(1); } 多维数组的定义和操作 -- 多维数组初始化 // 打印完每一行数后换行

50 多维数组的定义和操作 -- 多维数组初始化 读者可以进入到本书所提供资料的 stc_program_example\ 例子 12-7 目录下, 在 Keil μvision5 集成开发环境下打开该设计, 并进入调 试器模式, 按 F5 运行程序 在 UART #1 窗口界面中, 给出数据输入 的格式和输出信息的格式 按照下面的格式输入信息 :

51 自动出现提示信息 please input data of b[3][3], 按照设计代码 要求, 输入二维数组数据, 这些数据之间用, 隔开 为了美观, 在输入数据的时候, 每输入三个数据 ( 一行 ), 按回车键, 再输 入下一行数据 当输入完数组 b 的所有数据后, 则打印出数组中每个元素的值 注 : 在代码中, 可以看到在输入数据的时候, 在数组标识符前面加 & 符号前 缀, 用于表示取出当前存储器数据元素的地址, 其中每个存储器数据元素通过数 组名和索引号进行标识 多维数组的定义和操作 -- 多维数组初始化

52 多维数组的定义和操作 -- 多维数组初始化 在 Watch 1 窗口中, 输入数组名字 b 可以看到数组保存的数据 信息 从图中可以看到数组 b 的起始地址为 D:0x22, 即数组 b 的 第一行起始地址为 D:0x22; 数组 b 的第二行起始地址为 D: 0x28; 数组 b 的第三行起始地址为 D:0x2E

53 多维数组的定义和操作 -- 多维数组初始化 在 Memory 1 窗口中, 输入 d:0x22 查看存储器的内容 退出调试器模式, 并关闭该设计

54 多维数组的定义和操作 -- 多维数组的操作 本节将通过例子说明多维数组的操作方法 例 12-8 矩阵乘法的例子 根据矩阵理论的知识, 假设矩阵 A 表示为 (aij)m p, 矩阵 B 表示为 (bij)p n, 则矩阵 C= A B, 则矩阵 C 表示为 (cij)m n 其中 : p c ij = σ k=0 a ik b kj 在该设计中, 矩阵 A 和矩阵 B 的数据由串口终端输入, 在串口终 端上显示矩阵 C 的结果

55 多维数组的定义和操作 -- 多维数组的操作 代码清单 12-8 main.c 文件 #include "stdio.h" #include "reg51.h" #define row_a 4 #define col_a 3 #define row_b 3 #define col_b 2 void main() { int a[row_a][col_a]; // 宏定义矩阵 A 的行个数 // 宏定义矩阵 A 的列个数 // 宏定义矩阵 B 的行个数 // 宏定义矩阵 B 的列个数

56 多维数组的定义和操作 -- 多维数组的操作 int b[row_b][col_b]; int c[row_a][col_b]; int i,j,k; int m,n,o,p; SCON= 0x52; TMOD = 0x20; TCON = 0x69; TH1 = 0xF3; m=row_a; n=col_a; // 初始化串口相关 // 初始化串口相关 // 初始化串口相关 // 初始化串口相关

57 多维数组的定义和操作 -- 多维数组的操作 o=row_b; p=col_b; printf("please input data of a[%d][%d]\n",m,n); // 打印提示输入数组 a 信息 for(i=0;i<row_a;i++) // 二重循环语句 { for(j=0;j<col_a;j++) scanf("%d,",&a[i][j]); // 输入数组 a 的数据信息 } putchar('\n');

58 printf("please input data of b[%d][%d]\n",o,p); { } for(i=0;i<row_b;i++) for(j=0;j<col_b;j++) scanf("%d,",&b[i][j]); putchar('\n'); for (i=0;i<row_a;i++) { for (j=0;j<col_b;j++) { 多维数组的定义和操作 -- 多维数组的操作 // 二重循环语句 // 输入数组 b 的数据信息 // 三重循环 // 打印提示输入数组 b 信息

59 多维数组的定义和操作 -- 多维数组的操作 c[i][j]=0; // 数组 c 的每个元素初值为 0 for (k=0;k<col_a;k++) { c[i][j]+=a[i][k]*b[k][j]; // 矩阵相应元素的乘和累加运算 } } } printf("\n array c[%d][%d] is following\n",m,p); // 输出数组 c 的信息

60 多维数组的定义和操作 -- 多维数组的操作 for(i=0;i<row_a;i++) { for(j=0;j<col_b;j++) printf("%5d,",c[i][j]); putchar('\n'); } while(1); } // 输出数组 c 中每个数据的元素

61 多维数组的定义和操作 -- 多维数组的操作 读者可以进入到本书所提供资料的 stc_program_example\ 例子 12-8 目录下, 在 Keil μvision5 集成开发环境下打开该设计, 并进入调试器模式, 按 F5 运行程序 在 UART #1 窗口界面中, 给出数据输入的格式和输出信息的格式 按照下面的格式输入信息 : 在提示信息 Please input data of a[4][3] 下面, 输入 12 个数据 按照设计代码要求, 输入 12 个数据, 这 12 个数据之间应该用, 隔开 为了美观, 在输入数据的时候, 每输入 3 个数据 ( 一行 ), 按回车键, 再输入下一行数据

62 多维数组的定义和操作 -- 多维数组的操作 当输入的最后一个数据和, 后, 自动出现提示信息 please input data of b[3][2], 按照设计代码要求, 输入 6 个数据, 这 6 个数据之间用, 隔开 为了美观, 在输入数据的时候, 每输入 2 个数据 ( 一行 ), 按回车键, 再输入下一行数据 当输入第三行的最后一个数据, 后, 自动出现打印出数组 c 的 维度信息以及数组 c 中每个数据元素的值

63 多维数组的定义和操作 -- 多维数组的操作 例 12-9 寻找马鞍点的例子 如果数组 a 中存在这样一个元素 a[i][j] 满足下面的条件 :a[i][j] 是第 i 行中值最小的元素, 且又是第 j 列中值最大的元素, 则称之为该数组的一个马鞍点 该设计计算 m n 数组的所有马鞍点 根据上面的要求, 先求出每行的最小元素, 放在 min[m] 中, 再求出每列的最大值元素, 放入 max[n] 之中, 如果某元素既在 min[i] 中, 又在 max[j] 中, 则该元素 A[i][j] 便是马鞍点, 找出所有这样的元素, 即找到了所有马鞍点

64 多维数组的定义和操作 -- 多维数组的操作 代码清单 12-9 main.c 文件 #include "stdio.h" #include "reg51.h" void main() { int a[3][4]; int i,j; int min[3],max[4]; bit have=0; SCON= 0x52; TMOD = 0x20; // 声明整型二维数组 a // 声明整型变量 i 和 j // 声明整型二维数组 min 和 max // 声明 bit 型变量 have // 初始化串口

65 TCON = 0x69; TH1 = 0xF3; puts("please input data of array a"); // 提示下面输入数组 a 的数据元素 for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d,",&a[i][j]); for(i=0;i<3;i++) { min[i]=a[i][0]; for(j=1;j<4;j++) if(a[i][j]<min[i]) 多维数组的定义和操作 -- 多维数组的操作 // 外层 for 循环语句控制行 // 内层 for 循环语句控制列 // 输入数组 a 每个元素的值 // 计算出每行的最小值, 保存到 min[n] // 将每行的第一个元素作为最小值 // 该值和该行的其它三个元素比较 // 如果其它三个元素有更小的数

66 多维数组的定义和操作 -- 多维数组的操作 min[i]=a[i][j]; } for(j=0;j<4;j++) { max[j]=a[0][j]; for(i=1;i<3;i++) if(a[i][j]>max[j]) max[j]=a[i][j]; } // 则将其作为最小值 // 计算出每列的最大值, 保存到 max[n] // 将每列的第一个元素作为最大值 // 该值和该列的其它两个元素比较 // 如果其它两个元素有更大的数 // 则将其作为最大值

67 for(i=0;i<3;i++) { for(j=0;j<4;j++) if(min[i]==max[j]) // 判断是否为马鞍点 // 如果满足 min[i] 和 max[j] 相等 printf("(%d,%d):%d\n",i,j,a[i][j]); // 则打印马鞍点的位置和值 have=1; } if(!have) // 如果没有找到马鞍点 printf("no Saddle point\n"); // 则打印没有找到的信息 } while(1); 多维数组的定义和操作 -- 多维数组的操作

68 多维数组的定义和操作 -- 多维数组的操作 读者可以进入到本书所提供资料的 stc_program_example\ 例子 12-8 目录下, 在 Keil μvision5 集成开发环境下打开该设计, 并进入调 试器模式, 按 F5 运行程序 在 UART #1 窗口界面中, 给出数据输入 的格式和输出信息的格式 按照下面的格式输入信息 :

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 STC 单片机复杂数据结构 主讲 : 何宾 Email:hebin@mail.buct.edu.cn 2016.03 结构类型定义的格式为 : struct 结构名 } 其中 : 结构元素列表 结构 -- 结构类型的定义 结构元素列表为不同数据类型的列表 结构 -- 结构类型的定义 例 16-1 结构体的声明例子 struct student char name[30]; char gender;

More information

没有幻灯片标题

没有幻灯片标题 指针作为函数参数 : 原因 : 1 需要修改一个或多个值,( 用 return 语句不能解决问题 ) 2 执行效率的角度 使用方法 : 在函数原型以及函数首部中需要声明能够接受指针值的形参, 具体的写法为 : 数据类型 * 形参名 如果有多个指针型形参, 则用逗号分隔, 例如 : void swap(int *p1, int *p2) 它说明了形参 p1 p2 是指向整型变量的指针 在函数调用时,

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN: 978-7-302-13599-9, 红色封面答案制作时间 :2011 年 2 月 -5 月一 选择题 1. 以下数组定义中, 错误的是 :C)int a[3]=1,2,3,4; 2. 以下数组定义中, 正确的是 :B) int a[][2]=1,2,3,4; 3. 设有定义 int a[8][10];,

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章流程控制和数组 3.1 实验目的 (1) 熟练掌握控制台应用程序的代码编写和调试, 以及运行方法 (2) 掌握选择结构的一般语法格式和应用 (3) 掌握 switch 语句的用法 (4) 掌握选择结构的嵌套的用法, 能灵活使用选择结构解决实际问题 (5) 掌握 while 循环语句的一般语法格式 (6) 掌握 for 循环语句的一般语法格式 (7) 掌握循环嵌套的语法格式 (8) 掌握一维数组的定义

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

第五讲 数组 一维数组 二维数组 数组作为函数参数

第五讲 数组 一维数组 二维数组 数组作为函数参数 第五讲 数组 一维数组 二维数组 数组作为函数参数 一维数组 2 数组 数组 : 具有一定顺序关系的若干相同类型变量的集合体 一维数组的声明 类型标识符变量名 [n] 声明一个长度为 n 的数组 ( 向量 ) 类型标识符 : 数组元素的数据类型 ; n: 数组的长度, 即元素的个数 ; 例 : int x[5] // 声明一个长度为 5 的一维数组 一维数组的引用 变量名 [k] // 注 : 下标

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1

C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1 C++ 程序设计 OJ9 - 参考答案 MASTER 2019 年 6 月 7 日 1 1 CARDGAME 1 CardGame 题目描述 桌上有一叠牌, 从第一张牌 ( 即位于顶面的牌 ) 开始从上往下依次编号为 1~n 当至少还剩两张牌时进行以下操作 : 把第一张牌扔掉, 然后把新的第一张放到整叠牌的最后 请模拟这个过程, 依次输出每次扔掉的牌以及最后剩下的牌的编号 输入 输入正整数 n(n

More information

网C试题(08上).doc

网C试题(08上).doc 学习中心 姓名 学号 西安电子科技大学网络与继续教育学院 高级语言程序设计 (C) 全真试题 ( 闭卷 90 分钟 ) 题号一二三总分 题分 60 20 20 得分 一 单项选择题 ( 每小题 3 分, 共 60 分 ) 1.C 语言程序的基本单位是 A) 程序行 B) 语句 C) 函数 D) 字符 2. 下列四组选项中, 均是不合法的用户标识符的选项是 A)A B)getc C)include D)while

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

C/C++ - 字符串与字符串函数

C/C++ - 字符串与字符串函数 C/C++ Table of contents 1. 2. 3. 4. 1 char C 2 char greeting [50] = " How " " are " " you?"; char greeting [50] = " How are you?"; 3 printf ("\" Ready, go!\" exclaimed John."); " Ready, go!" exclaimed

More information

C

C C 2017 3 14 1. 2. 3. 4. 2/95 C 1. 3/95 C I 1 // talkback.c: 2 #include 3 #include 4 #define DENSITY 62.4 5 int main(void) 6 { 7 float weight, volume; 8 int size; 9 unsigned long letters;

More information

download.kaoyan.com_2006ÄêÌì½ò¹¤Òµ´óѧ¸ß¼¶ÓïÑÔ³ÌÐòÉè¼Æ£¨409£©¿¼ÑÐÊÔÌâ

download.kaoyan.com_2006ÄêÌì½ò¹¤Òµ´óѧ¸ß¼¶ÓïÑÔ³ÌÐòÉè¼Æ£¨409£©¿¼ÑÐÊÔÌâ 考生注意 : 本试卷共七大题, 满分 150 分 考试时间为 3 小时 ; 所有答案均写在答题纸上 ( 注明题号 ), 在此答题一律无效无效 一 选择题 ( 本题共 20 小题, 每小题 2 分, 满分 40 分 ) 1 char ch 1 2 A 0

More information

2015年计算机二级(C语言)模拟试题及答案(三)

2015年计算机二级(C语言)模拟试题及答案(三) 2016 年计算机二级 (C 语言 ) 模拟试题及答案 (3) 1.( A ) 是构成 C 语言程序的基本单位 A 函数 B 过程 C 子程序 D 子例程 2.C 语言程序从 ( C ) 开始执行 A 程序中第一条可执行语句 B 程序中第一个函数 C 程序中的 main 函数 D 包含文件中的第一个函数 3 以下说法中正确的是( C ) A C 语言程序总是从第一个定义的函数开始执行 B 在 C 语言程序中,

More information

nooog

nooog C : : : , C C,,, C, C,, C ( ), ( ) C,,, ;,, ; C,,, ;, ;, ;, ;,,,, ;,,, ; : 1 9, 2 3, 4, 5, 6 10 11, 7 8, 12 13,,,,, 2008 1 1 (1 ) 1.1 (1 ) 1.1.1 ( ) 1.1.2 ( ) 1.1.3 ( ) 1.1.4 ( ) 1.1.5 ( ) 1.2 ( ) 1.2.1

More information

期中考试试题讲解

期中考试试题讲解 一 选择题 ( 一 ) 1. 结构化程序设计所规定的三种基本结构是 C A 主程序 子程序 函数 B 树形 网形 环形 C 顺序 选择 循环 D 输入 处理 输出 2. 下列关于 C 语言的叙述错误的是 A A 对大小写不敏感 B 不同类型的变量可以在一个表达式中 C main 函数可以写在程序文件的任何位置 D 同一个运算符号在不同的场合可以有不同的含义 3. 以下合法的实型常数是 C A.E4

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

2015年计算机二级(C语言)模拟试题及答案(四)

2015年计算机二级(C语言)模拟试题及答案(四) 2015 年计算机二级 (C 语言 ) 模拟试题及答案 (4) 一 填空题 1 C 语言中基本的数据类型有 : 2 C 语言中普通整型变量的类型说明符为, 在内存中占 字节, 有符号普通整型的数据范围是 3 整数-35 在机内的补码表示为 4 执行下列语句 int a=8;a+=a-=a*a; 后,a 的值是 5 有如下语句:charA[ ]={ I am a student }; 该字符串的长度是,A[3]=

More information

Microsoft PowerPoint - C语言课件-9-结构体.pptx

Microsoft PowerPoint - C语言课件-9-结构体.pptx 第九章结构体 郎大鹏 第九章结构体 9.1 结构体类型的声明方法 9.2 结构体类型变量的定义与使用 9.3 结构体数组 9.4 编程举例 9.5 习题 9.1 结构体类型的声明方法 结构体声明的语法形式如下 : struct 结构体标识符 成员变量列表 ; }; 例如, 为了描述班级 ( 假设仅仅包括班级编号 专业 人数等信息 ), 可以声明如下的结构体类型 struct Class char Code[10];

More information

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 STC 单片机 C 语言函数 主讲 : 何宾 Email:hebin@mail.buct.edu.cn 2016.03 在标准 C 语言中, 定义函数的格式如下 : 函数返回类型函数名字 ( 数据类型形参 1, 数据类型形参 2,..., 数 据类型形参 N) { } 局部变量定义 ; 表达式语句 ; 函数定义和声明 -- 标准 C 函数定义和声明 函数定义和声明 -- 标准 C 函数定义和声明 其中

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

epub 33-8

epub 33-8 8 1) 2) 3) A S C I I 4 C I / O I / 8.1 8.1.1 1. ANSI C F I L E s t d i o. h typedef struct i n t _ f d ; i n t _ c l e f t ; i n t _ m o d e ; c h a r *_ n e x t ; char *_buff; /* /* /* /* /* 1 5 4 C FILE

More information

实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循

实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循 实验目的 (1) 熟练掌握顺序 分支 循环三种结构 (2) 会使用流程控制结构编写程序 第三章程序的流程控制 实验要求 (1) 掌握 if-else swith-case 的使用 (2) 掌握 while do-while for 的使用 (3) 掌握分支嵌套和循环嵌套 (4) 分析理解如何避免死循环 实验范例 系统常用类 : 字符串类 (String) a) 从字符串 s 中截取一个字符串方法 s.substring()

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

技能竞赛C试题

技能竞赛C试题 C 语言程序设计单元测验四 ( 数组 ) 一 单项选择题 ( 每题 1 分, 共 60 分 ) 1 若有以下说明语句 : int a[12]={1,2,3,4,5,6,7,8,9,10,11,12; char c= a,d,g; 则数值为 4 的表达式是 :( ) A a[g-c] B a[4] C a[ d - c ] D a[ d -c] 2 假设 int 型变量占两个字节的存储单元, 若有定义

More information

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/ 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:// 不能以数字开头 D._3_ B:// 不能用点和空格 提问 抢答 E.$anothervar C: // 不能用点和空格

More information

JLX

JLX PRODUCT:LCD MODULE. Model No.: JLX177-006 Product Type: 1.77 inch QVGA TFT Modoule. 产品规格书 晶联讯研发研发部 : Written By Checked By Approved By 客户名称 : 结构电子核准 地址 : 深圳市宝安区西乡宝安大道东华工业区 A3 栋 6 楼电话 :0755-29784961 Http://www.jlxlcd.cn

More information

新・解きながら学ぶC言語

新・解きながら学ぶC言語 330!... 67!=... 42 "... 215 " "... 6, 77, 222 #define... 114, 194 #include... 145 %... 21 %... 21 %%... 21 %f... 26 %ld... 162 %lf... 26 %lu... 162 %o... 180 %p... 248 %s... 223, 224 %u... 162 %x... 180

More information

C/C++语言 - 运算符、表达式和语句

C/C++语言 - 运算符、表达式和语句 C/C++ Table of contents 1. 2. 3. 4. C C++ 5. 6. 7. 1 i // shoe1.c: # include # define ADJUST 7. 64 # define SCALE 0. 325 int main ( void ) { double shoe, foot ; shoe = 9. 0; foot = SCALE * shoe

More information

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 TEMPLATE 1 Template 描述 使用模板函数求最大值 使用如下 main 函数对程序进行测试 int main() { double a, b; cin >> a >> b; cout c >> d; cout

More information

C++ 程序设计 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 PERSON 1 Person 题目描述 编写程序, 定义一个基类 Person, 包含 name 和 age 两个数据成员 ; 再由它派生出学生类 Student 和教师类 Teacher, 其中学生类添加学号 no 数据, 教师类添加职称 title 数据 ; 要求每个类均有构造函数 析构函数和显示数据的函数

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

新版 明解C言語入門編

新版 明解C言語入門編 328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66

More information

untitled

untitled CHAPTER 02 2 CHAPTER 2-1 2-4 2-2 2-5 2-3 2-6 2-1 2-1-1 2-2 02 int A[3] = {10, 20, 30; A[0] 10 A[1] 20 A[2] 30 int *pa[3], A[3]; C 3 pa pa[0]pa[1]pa[2] 3 A A[0]A[1]A[2] 3 A A[0] A + i A[i] A + i &A[i]*(A

More information

C C

C C C C 2017 3 8 1. 2. 3. 4. char 5. 2/101 C 1. 3/101 C C = 5 (F 32). 9 F C 4/101 C 1 // fal2cel.c: Convert Fah temperature to Cel temperature 2 #include 3 int main(void) 4 { 5 float fah, cel; 6 printf("please

More information

untitled

untitled Introduction to Programming ( 數 ) Lecture 3 Spring 2005 March 4, 2005 Lecture 2 Outline 數 料 If if 狀 if 2 (Standard Output, stdout): 料. ((Standard Input, stdin): 料. 類 數 數 數 說 printf 見 數 puts 串 數 putchar

More information

新・明解C言語入門編『索引』

新・明解C言語入門編『索引』 !... 75!=... 48 "... 234 " "... 9, 84, 240 #define... 118, 213 #include... 148 %... 23 %... 23, 24 %%... 23 %d... 4 %f... 29 %ld... 177 %lf... 31 %lu... 177 %o... 196 %p... 262 %s... 242, 244 %u... 177

More information

プログラムの設計と実現II

プログラムの設計と実現II UNIX C ls mkdir man http://www.tj.chiba-u.jp/lecture/prog2/ Ctrl+x, Ctrl+s ( )..[4]% gcc Wall o hoge hoge.c..[5]%./hoge 1 : 1 2 : 2 3 : 3 4 : 0 6..[6]% (! )..[4]% gcc Wall o hoge hoge.c..[5]%!g gcc Wall

More information

2015年计算机二级(C语言)模拟试题及答案(四)

2015年计算机二级(C语言)模拟试题及答案(四) 2016 年 计 算 机 二 级 (C 语 言 ) 模 拟 试 题 及 答 案 (4) 一 填 空 题 1 C 语 言 中 基 本 的 数 据 类 型 有 : 2 C 语 言 中 普 通 整 型 变 量 的 类 型 说 明 符 为, 在 内 存 中 占 字 节, 有 符 号 普 通 整 型 的 数 据 范 围 是 3 整 数 -35 在 机 内 的 补 码 表 示 为 4 执 行 下 列 语 句 int

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information

教 师 资 格 考 试 之 面 试 备 考 指 导 中 公 教 育 教 师 考 试 研 究 院

教 师 资 格 考 试 之 面 试 备 考 指 导 中 公 教 育 教 师 考 试 研 究 院 课 程 咨 询 电 话 :0531-86554188 教 师 资 格 考 试 之 面 试 备 考 指 导 中 公 教 育 教 师 考 试 研 究 院 面 试 基 础 知 识 -- 面 试 的 概 念 -- 面 试 的 本 质 -- 面 试 的 形 式 -- 考 试 的 现 状 -- 考 核 的 依 据 过 渡 页 请 思 考 面 试 是 什 么? 面 试 的 概 念 面 试 是 指 特 定 的

More information

Microsoft PowerPoint - C_Structure.ppt

Microsoft PowerPoint - C_Structure.ppt 結構與其他資料型態 Janet Huang 5-1 結構的宣告 struct 結構名稱 struct 結構名稱變數 1, 變數 2,, 變數 m; struct 結構名稱 變數 1, 變數 2,, 變數 m; student; student; 5-2 1 結構變數初值的設定 struct 結構名稱 struct 結構名稱變數 = 初值 1, 初值 2,, 初值 n student="janet","1350901",100,95

More information

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf ("%d", & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf ("%d %d

2013 C 1 # include <stdio.h> 2 int main ( void ) 3 { 4 int cases, a, b, i; 5 scanf (%d, & cases ); 6 for (i = 0;i < cases ;i ++) 7 { 8 scanf (%d %d 2013 18 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp, Compilation Error cin scanf Time Limit Exceeded 1: A 5 B 5 C 5 D 5 E 5 F 5 1 2013 C 1 # include 2 int main ( void ) 3 { 4 int cases, a, b,

More information

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378>

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378> 第 1 部分 Visual Studio 6.0 开发环境介绍 本书以 Visual C++ 6.0 作为 C 源程序的实践开发环境, 本章将首先介绍 Visual C++ 6.0 环境的基本操作, 包括 Visual C++ 6.0 的安装和启动,C 源程序的编辑 运行与调试 1.1 安装与启动 Visual C++ 6.0 MSDN Visual C++ 6.0 1.1 Microsoft Visual

More information

ebook39-5

ebook39-5 5 3 last-in-first-out, LIFO 3-1 L i n e a r L i s t 3-8 C h a i n 3 3. 8. 3 C + + 5.1 [ ] s t a c k t o p b o t t o m 5-1a 5-1a E D 5-1b 5-1b E E 5-1a 5-1b 5-1c E t o p D t o p D C C B B B t o p A b o

More information

林子雨《C语言程序设计》讲义PPT

林子雨《C语言程序设计》讲义PPT C 语言程序设计 厦门大学计算机科学系 2013/3/26 林子雨 ziyulin@xmu.edu.cn 2013/3/26 厦门大学非计算机专业本科生公共课 (2012-2013 第 2 学期 ) C 语言程序设计 林子雨厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 个人主页 :http://www.cs.xmu.edu.cn/linziyu 课程提要 第一章绪论 第二章

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 177 [P179] (1) - [P181] [P182] (2) - for [P183] (3) - switch [P184] [P187] [P189] [P194] 178 [ ]; : : int var; : int var[3]; var 2293620 var[0] var[1] 2293620

More information

C/C++语言 - 分支结构

C/C++语言 - 分支结构 C/C++ Table of contents 1. if 2. if else 3. 4. 5. 6. continue break 7. switch 1 if if i // colddays.c: # include int main ( void ) { const int FREEZING = 0; float temperature ; int cold_ days

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p

NOWOER.OM m/n m/=n m/n m%=n m%n m%=n m%n m/=n 4. enum string x1, x2, x3=10, x4, x5, x; 函数外部问 x 等于什么? 随机值 5. unsigned char *p1; unsigned long *p NOWOER.OM /++ 程师能 评估. 单项选择题 1. 下 描述正确的是 int *p1 = new int[10]; int *p2 = new int[10](); p1 和 p2 申请的空间 的值都是随机值 p1 和 p2 申请的空间 的值都已经初始化 p1 申请的空间 的值是随机值,p2 申请的空间 的值已经初始化 p1 申请的空间 的值已经初始化,p2 申请的空间 的值是随机值 2.

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 第 2 章 Java 语言基础 通过本章的实践, 要掌握 Java 中的标识符 关键字 常量, 熟练掌握算术 关 系 逻辑 条件 赋值 位运算符的使用, 掌握简单顺序结构的程序设计 2.1 典型习题解答 2.1 Java 中怎样进行注释? 解答 Java 语言中的注释有 3 种形式 : (1) 单行 : // (2) 多行 : /* */ (3) 文档注释 : /** */ 第三种形式是第二种形式的变形,

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

untitled

untitled 1 DBF (READDBF.C)... 1 2 (filetest.c)...2 3 (mousetes.c)...3 4 (painttes.c)...5 5 (dirtest.c)...9 6 (list.c)...9 1 dbf (readdbf.c) /* dbf */ #include int rf,k,reclen,addr,*p1; long brec,erec,i,j,recnum,*p2;

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN: 978-7-302-13599-9, 红色封面答案制作时间 :2011 年 2 月 -5 月一 选择题 1. 设有程序段 int k=10;while(k=0)k=k-1;, 则下面叙述正确的是 D 循环体语句一次也不执行 2. 设有程序段 int x=0,s=0;while(!x!=0)s+=++x;printf(

More information

C++ 程序设计 OJ4 - 参考答案 MASTER 2019 年 5 月 30 日 1

C++ 程序设计 OJ4 - 参考答案 MASTER 2019 年 5 月 30 日 1 C++ 程序设计 OJ4 - 参考答案 MASTER 2019 年 月 30 日 1 1 STRINGSORT 1 StringSort 题目描述 编写程序, 利用 string 类完成一个字符串中字符的排序 ( 降序 ) 并输出 输入描述 输入仅一行, 是一个仅由大小写字母和数字组成的字符串 输出描述 输出排序后的字符串 样例输入 abcde 样例输出 edcba 提示 使用 std::sort

More information

林子雨《C语言程序设计》讲义PPT

林子雨《C语言程序设计》讲义PPT C 语言程序设计 厦门大学计算机科学系 2012-03-18 林子雨 ziyulin@xmu.edu.cn 2012-03-18 厦门大学非计算机专业本科生公共课 (2011-2012 第 2 学期 ) C 语言程序设计 林子雨厦门大学计算机科学系 E-mail: ziyulin@xmu.edu.cn 个人主页 :http://www.cs.xmu.edu.cn/linziyu 课程提要 第一章绪论

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 STC 单片机比较器原理及实现 主讲 : 何宾 Email:hebin@mail.buct.edu.cn 2016.03 STC 单片机比较器结构 STC15W 系列单片机内置了模拟比较器 对于 STC15W201S STC15W404S, 以及 STC15W1K16S 系列单片机的比较器内部结 构 STC 单片机比较器结构 从图中可以看出, 比较器正端输入 CMP+ 的输入电压来自单片机的 P5.5

More information

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf (%d, & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9 201 201 21 ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 1 B 1 C 5 D RPG 10 E 10 F 1 G II 1 1 201 201 C 1 # include 2 int main ( void

More information

C/C++ 语言 - 循环

C/C++ 语言 - 循环 C/C++ Table of contents 7. 1. 2. while 3. 4. 5. for 6. 8. (do while) 9. 10. (nested loop) 11. 12. 13. 1 // summing.c: # include int main ( void ) { long num ; long sum = 0L; int status ; printf

More information

Microsoft PowerPoint - 07 派生数据类型

Microsoft PowerPoint - 07 派生数据类型 能源与动力工程学院 目录 派生类型 陈 斌 固有数据类型 数值型 (numerical) 整型 INTEGER 实型 REAL 复数型 COMPLEX 非数值型 字符型 CHARACTER 逻辑型 ( 布尔型 )LOGICAL 自定义数据类型 ( 派生类型, derived type) 派生类型是指用户利用 Fortran 系统内部类型, 如整型 实型 复数型 逻辑型 字符型等的组合自行创建出一个新的数据类型,

More information

Microsoft PowerPoint - 01_Introduction.ppt

Microsoft PowerPoint - 01_Introduction.ppt Hello, World C 程序设计语言 第 1 章章观其大略 孙志岗 sun@hit.edu.cn http://sunner.cn prf("hello,, world\n"); 超级无敌考考你 : 如何把 hello 和 world 分别打印在两行? 2004-12-19 A Tutorial Introduction 2 hello.c 打印华氏温度与摄氏温度对照表 计算公式 : C=(5/9)(

More information

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf("%d", &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf("%

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf(%d, &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf(% 2013 ( 28 ) ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 10 B 1 C 1 D 5 E 5 F 1 G II 5 H 30 1 2013 C 1 #include 2 int main(void) 3

More information

第三篇 C 语言基础编程能力实训案例 编程练习题答案 1-1 程序例 #include<stdio.h> main( ) { printf("c Language Program\n"); } 结果 1. 变量及数据运算 1-2 程序例 #include<stdio.h> main( ) { pri

第三篇 C 语言基础编程能力实训案例 编程练习题答案 1-1 程序例 #include<stdio.h> main( ) { printf(c Language Program\n); } 结果 1. 变量及数据运算 1-2 程序例 #include<stdio.h> main( ) { pri 第三篇 C 语言基础编程能力实训案例 编程练习题答案 1-1 程序例 printf("c Language Program\n"); 1. 变量及数据运算 1-2 程序例 printf("mini-floppy disk\n"); printf("floppy disk\n"); printf("hard disk\n"); 1-3 程序例 /*printf test*/ printf("c Language\n");

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 CIRCLE 1 Circle 描述 编写一个圆类 Circle, 实现半径的输入 面积的计算和输出 输入 圆的半径 (double 类型 ) 输出 圆的面积 ( 保留小数点后两位 ) 样例输入 3 样例输出 28.27 提示 圆周率的取值需要比较精确, 以保证计算结果的精度 #include

More information

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc

Microsoft Word - 《C语言开发入门》课程教学大纲-2.doc C 语言开发入门 课程教学大纲 ( 课程英文名称 ) 课程编号 :201409210011 学分 :5 学分学时 :60 学时 ( 其中 : 讲课学时 :37 学时上机学时 :23 学时 ) 先修课程 : 计算机导论后续课程 :C++ 程序设计适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一 课程的性质与目标 C 语言开发入门 是计算机各专业必修的基础课程, 是数据结构 C++ Java

More information

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF> 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 考 试 2009 年 上 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

More information

C++ 程序设计 OJ4 - 参考答案 MASTER 2017 年 5 月 21 日 1

C++ 程序设计 OJ4 - 参考答案 MASTER 2017 年 5 月 21 日 1 C++ 程序设计 OJ4 - 参考答案 MASTER 2017 年 5 月 21 日 1 1 SWAP 1 Swap 题目描述 用函数模板的方式实现对不同数据类型的数组中的数据进行输入 从小到大排序和输出 使用如下主函数测试你的模板设计一个函数模板 Swap, 实现任意数据类型的两个数据的交换, 分别用 int 型 double 型和 char 型的数据进行测试 main 函数如下 : int main()

More information

北京大学

北京大学 1 string 类 郭炜刘家瑛 北京大学程序设计实习 string 类 string 类是一个模板类, 它的定义如下 : typedef basic_string string; 使用 string 类要包含头文件 string 对象的初始化 : string s1("hello"); // 一个参数的构造函数 string s2(8, x ); // 两个参数的构造函数

More information

SP_ SP_03 JAVA...6 SP_10 SQL...8 SP_ SP_ SP_ SP_ SP_ SP_ SP_ SP_04.NET...33 SP_02 C...37 SP_05

SP_ SP_03 JAVA...6 SP_10 SQL...8 SP_ SP_ SP_ SP_ SP_ SP_ SP_ SP_04.NET...33 SP_02 C...37 SP_05 1 SP_01...3 SP_03 JAVA...6 SP_10 SQL...8 SP_51...12 SP_32...15 SP_53...18 SP_20...21 SP_22...24 SP_21...27 SP_23...30 SP_04.NET...33 SP_02 C...37 SP_05 FLASH...39 SP_06...42 2 SP_01 1. 8. Excel 2. 9. PowerPoint

More information

C/C++ - 结构体、共用体、枚举体

C/C++ - 结构体、共用体、枚举体 C/C++ Table of contents 1. 2. 3. 4. 5. 6. 7. 8. 1 C C (struct) C 2 C C (struct) C 2 i // book.c: # include < stdio.h> # define MAX_ TITLE 41 # define MAX_ AUTHOR 31 struct book { char title [ MAX_ TITLE

More information

C/C++ - 数组与指针

C/C++ - 数组与指针 C/C++ Table of contents 1. 2. 3. 4. 5. 6. 7. 8. 1 float candy [ 365]; char code [12]; int states [50]; 2 int array [6] = {1, 2, 4, 6, 8, 10}; 3 // day_mon1.c: # include # define MONTHS 12 int

More information

试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期 " 开放本科 " 期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默

试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期  开放本科  期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默 试卷代号 :1253 座位号 E 口 国家开放大学 ( 中央广播电视大学 )2014 年秋季学期 " 开放本科 " 期末考试 C 语言程序设计 A 试题 2015 年 1 月 E 四! 五 总分! 一 单选题 ( 每小题 2 分, 共 20 分 ) 1. 由 C 语言源程序文件编译而成的目标文件的默认扩展名为 ( ) A. cpp B. c C. exe D. obj 2. 设 x 和 y 均为逻辑值,

More information

untitled

untitled 1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete

More information

_汪_文前新ok[3.1].doc

_汪_文前新ok[3.1].doc 普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向

More information

untitled

untitled 串 串 例 : char ch= a ; char str[]= Hello ; 串 列 ch=getchar(); scanf( %c,&ch); 串 gets(str) scanf( %s,str); 8-1 數 ASCII 例 : char ch= A ; printf( %d,ch); // 65 A ascii =0x41 printf( %c,ch); // A 例 : char ch;

More information

试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期 " 开放本科 " 期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. l

试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期  开放本科  期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. l 试卷代号 ~1075 座位号 E 口 国家开放大学 ( 中央广播电视大学 )20]5 年秋季学期 " 开放本科 " 期末考试 C 十十语言程序设计 试题 同二二十斗 2016 年 1 月 巴叫一 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. long 2. 在每个 c++ 程序中都必须包含有这样一个函数, 该函数的函数名为 ( ) A. main

More information

DPJJX1.DOC

DPJJX1.DOC 8051 111 2K 1 2 3 ' ' 1 CPU RAM ROM / A/D D/A PC CPU 40 68 10 20 8 51 PIII 8051 2 MCS51 8051 8031 89C51 8051 8031 89C51? MCS51 INTEL INTEL 8031 8051 8751 8032 8052 8752 8051 8051 8051 MCS51 8031 8031

More information

格式化字符串 Weifeng Sun School of Software, DLUT

格式化字符串 Weifeng Sun School of Software, DLUT 格式化字符串 Weifeng Sun School of Software, DLUT 格式化字符串漏洞 格式化字符串, 也是一种比较常见的漏洞类型 会触发该漏洞的函数很有限 主要就是 printf 还有 sprintf,fprintf 等等 c 库中 print 家族的函数 >int printf(const char* format,...) 2 / 42 3 / 42 A B 字符串指针 char

More information

试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期 " 开放本科 " 期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new

试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期  开放本科  期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new 试卷代号 :1075 座位号 rn 国家开放大学 ( 中央广播电视大学 )2015 年秋季学期 " 开放本科 " 期末考试 c+ 十语言程序设计试题 2016 年 1 月 t 问一 Urr-f 斗 士 1 1. 下面的保留字 ( ) 不能作为函数的返回类型 A. void B. int C. new D. long 2. 在每个 C 十 + 程序中都必须包含有这样一个函数, 该函数的函数名为 ) A.main

More information

untitled

untitled 1 1.1 1.2 1.3 1.4 1.5 ++ 1.6 ++ 2 BNF 3 4 5 6 7 8 1.2 9 1.2 IF ELSE 10 1.2 11 1.2 12 1.3 Ada, Modula-2 Simula Smalltalk-80 C++, Objected Pascal(Delphi), Java, C#, VB.NET C++: C OOPL Java: C++ OOPL C# C++

More information

C 语言程序设计 苏小红等, 高等教育出版社,2015 年 C 语言程序设计学习指导 苏小红等, 高等教育出版社,2015 年 九 教学后记 本节课采用案例驱动法进行教学过程的设计, 通过提出问题, 解决问题, 引出新知识点, 经典案例贯穿整堂课 从讲课过程中学生的反馈情况来看, 该方式容易引起学生

C 语言程序设计 苏小红等, 高等教育出版社,2015 年 C 语言程序设计学习指导 苏小红等, 高等教育出版社,2015 年 九 教学后记 本节课采用案例驱动法进行教学过程的设计, 通过提出问题, 解决问题, 引出新知识点, 经典案例贯穿整堂课 从讲课过程中学生的反馈情况来看, 该方式容易引起学生 第 6 章数组教案 (1) 一 授课题目 ( 教学章 节或主题 ) 6.1 一维数组 6.2.1 最值算法 二 教学时间安排 2 学时节 三 教学目的 要求 知识目标 : 学习一维数组的引用和最值算法的原理能力目标 : 掌握一维数组和最值算法的应用情感目标 : 通过运用数组编程实践获得成就感, 提升 C 语言编程的兴趣 四 教学重点或难点 教学重点 : 一维数组定义 初始化和应用, 最值算法教学难点

More information

untitled

untitled www.mcudriver.cn 1.1 / 1) WinAVR20070525 2) Source Insight 3) ISP 4) PonyProg ISP 5) USB 6) 1.2. MCU ATMEGA16 1.3. AVR8 1.4 LED0~LED7 1 1.5 #include // Program 1.1 LED.C #define uchar unsigned

More information

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023) ( CIP) /. :, 2005. 2 ( ) ISBN 7-5624-3339-9.......... TP311. 1 CIP ( 2005) 011794 : : : : * : : 174 ( A ) :400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / /www. cqup. com. cn : fxk@cqup.

More information

Microsoft PowerPoint - 03.Fortran程序设计基础1

Microsoft PowerPoint - 03.Fortran程序设计基础1 简单 Fortran 90 程序的构造形式 : 第二讲 Fortran 程序设计基础 (2) [PROGRAM 程序名 ] [ 声明语句 ] [ 执行语句 ] END [PROGRAM [ 程序名 ]] 程序的书写 (P5) PROGRAM MONEY!calculate balance after interest compounded! 根据利息计算余额 REAL BALANCE, INTEREST,

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information