C/C++ System Program Documentation

Size: px
Start display at page:

Download "C/C++ System Program Documentation"

Transcription

1 C/C++ System Program Documentation 发布 HappyAnony 2018 年 06 月 22 日

2

3 Contents 1 目录 概述简介 语法基础 常用类库 数据结构 算法基础 开发工具 参考资料 i

4 ii

5 CHAPTER 1 目录 1.1 概述简介 系统编程哲学 简单代码实现复杂功能 目录 C 语言篇 C 的发展历史 C 的优缺点 C++ 语言篇 C++ 的发展历史 C++ 的优缺点 1.2 语法基础 目录 c 语言篇 C 语言基础语法学习目标 32 个关键字 9 种控制流 34 种运算符 1

6 目录 程序结构 我们在学习每一种编程语言时, 都会先学习写一个 hello world 的 demo 程序, 下面我们将从这个小 demo 程序来窥探一下我们 C 程序的程序结构 #include <stdio.h> int main() { /* 我的第一个 C 程序 */ int ret = 0; printf("hello, World! \n"); return ret; 以上是一个可以输出 hello world 的简单 C 代码, 该代码的组成部分为 : 预处理指令 :#include <stdio.h> 告诉 C 编译器在实际编译之前需要将 stdio.h 文件内容复制包含到当前文件 函数 :int main() 是 C 程序的执行入口 ; 每个 C 程序有且只能有一个 main 函数 语句 & 表达式 :return 0 会终止 main() 函数并返回 0; 在 C 中, 每个语句必须以分号结束 它表明一个逻辑实体的结束 常量 & 变量 :ret 是一个 int 型变量 hello world!\n 是一个字符串常量 注释 :/*...*/ 将会被编译器忽略, 这里放置程序的注释内容 从另外一个角度来看 demo 程序, 该程序是由各种令牌组成 : 关键字 标识符 常量 运算符 C 标识符是用来标识常量名 变量名 函数名或任何其他用户自定义的名称 一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始, 后跟 0 个或多个字母 下划线和数字 (0-9) 需要注意的是 ; C 标识符内不允许出现标点字符, $ 和 % C 是区分大小写的编程语言 ;Manpower 和 manpower 是两个不同的标识符 C 关键字就是 C 中的保留字, 它们被赋予特殊意义 这些保留字不能作为常量名, 变量名或其它标识符名称 上述 demo 中的 include int return 都是 C 关键字 C 中一共有 32 个关键字, 详解可见 C 关键字 C 常量可以是数值常量 0; 也可以是字符串常量 hello world C 运算符有很多, 它是构成表达式 语句 代码块的重要组成部分 详解可见 C 运算符 最后特别容易忽视的就是 C 中的空格, 我们在编程中, 为了规范, 不同字段之间都会以空格隔开, 便于编译器识别解释各字段的含义 int ret = 0; 数据类型 数据类型的本质 : 固定内存大小的别名数据类型的作用 : 决定了定义变量的内存存储大小数据类型的误区 : 2 Chapter 1. 目录

7 它不能决定定义变量的内存存储形式 它不能决定定义变量的内存存储模式 现代整个计算机科学都是建立在二进制基础上, 所有数据都是以 0 和 1 组合形式进行存储和传输的 这里的 0 或 1 就是 1bit 0x00 存储大小 在通信领域, 网络带宽传输速度的基本单位是比特 (bits) 然而在计算即领域, 磁盘存储数据的基本单位是字节 (Bytes==1 字节等于 8 比特 ); 不同数据类型变量的存储大小是不一样的, 例如 :char 类型变量 64 位系统下的存储大小是 1 字节, short 类型变量 64 位系统下的存储大小是 2 字节 具体相关介绍可见数据类型详解目录表 需要注意的是 : c 语言没有规定数据类型 ( 例如 int 类型 ) 的具体大小, 数据类型的具体大小和系统有关 ; 同一系统下, 同一种数据类型的大小是相同的 数据类型只是一个声明, 并没有占用内存空间, 只有当使用数据类型定义一个变量时, 变量才占用空间, 其所占用空间大小由数据类型决定, 数据类型声明的内存大小和变量所占的内存大小都可以使用 sizeof 关键字来获取 0x01 存储形式 在计算机中, 我们都是以补码的形式存储并运算数据 采用补码存储的最大作用就是减法也可以通过加法器实现 所有正数都是以补码的形式存放 ==== 正数的补码与其原码 反码都相同, 都是正数的二进制, 最高位为 0 所有负数都是以补码的形式存放 ==== 最高位为 1 保存不变, 其它位都和原码相反, 转换成反码 ; 然后在反码的基础上加 1, 转换成补码 0x02 存储模式 既然所有正数和负数都是以补码的形式进行存储, 那么此时存储方式有两种 : 小端模式 : 数据的高字节保存在内存的高地址中, 而数据的低字节保存在内存的低地址中, 这种存储模式将地址的高低和数据位权有效地结合起来, 高地址部分权值高, 低地址部分权值低 [Unix 服务器 CPU ] 大端模式 : 数据的高字节保存在内存的低地址中, 而数据的低字节保存在内存的高地址中, 这样的存储模式有点儿类似于把数据当作字符串顺序处理 : 地址由小向大增加, 而数据从高位往低位放 [x86/arm] 对 0x 的两种存储模式如下 : 需要注意的是 : 大端模式和小端模式只与 CPU 架构相关 ; 同一 CPU 架构下存储模式是相同的 0x03 目录 数值型 数值型可分为两大类 : 整型 浮点型 1.2. 语法基础 3

8 0x00 整型 类型关键字 类型说明 存储大小 (linux) 值范围 示例 short 有符号短整型 sizeof(short)=2[x86 和 x86_64] ~32767 short a = 20; unsigned short 无符号短整型 sizeof(unsigned short)=2[x86 和 x86_64] 0~65535 unsigned short a = 20; int 有符号整型 sizeof(int)=2[x86]/4[x86_64] ~32767 或 - int a = 20[10 进 ~ 制 ]/020[8 进制 ]/0x20[16 进制 ]; unsigned int 无符号整型 sizeof(unsigned int)=2[x86]/4[x86_64] 0~65535 或 0~ unsigned int a = 20; long 有符号长整型 sizeof(long)=4[x86]/8[x86_64] - long a = 20; ~ 或 ~ unsigned long 无符号长整型 sizeof(unsigned long)=4[x86]/8[x86_64] 0~ 或 0~ unsigned long a = 20; long long 有符号长长整型 sizeof(long - long long a = 20; long)=8[x86 和 x86_64] ~ unsigned long long 无符号长长整型 sizeof(unsigned long long)=8[x86 和 x86_64] 0~ unsigned long long a = 20; 整型数 对应类型 100 int 100u unsigned int 100l long 100ul unsigned long 100ll long long 100ull unsigned long long 整型数据存在两种类型的溢出 4 Chapter 1. 目录

9 符号位溢出 : 超过有符号数的最大值 最高位溢出 : 超过无符号数的最大值 注意 : 在所有数值类型中 ( 包括浮点型 ), 计算机 CPU 处理 int 类型数据的效率是最高的,int 只是占用较大内存而已 0x01 浮点型 类型关键字 类型说明 存储大小 (linux) 值范围 精度 float 单精度浮点数 sizeof(float)=4[x86_64] 1.2E-38~3.4E+38 6 位小数 double 双精度浮点数 sizeof(double)=8[x86_64] 2.3E- 308~1.7E 位小数 long double 长双精度浮点数 sizeof(long double)=16[x86_64] 3.4E- 18 位小数 4932~1.1E+4932 在头文件 float.h 定义了浮点型相关的宏 ; 通过这些宏可以输出浮点类型占用的存储空间以及它的范围值 #include <stdio.h> #include <float.h> int main() { printf("storage size for float : %d \n", sizeof(float)); printf("minimum float positive value: %E\n", FLT_MIN ); printf("maximum float positive value: %E\n", FLT_MAX ); printf("precision value: %d\n", FLT_DIG ); return 0; 字符型 类型关键字类型说明存储大小 (linux) 值范围示例 char 有符号字符型 sizeof(short)=1[x86 和 -128~127 x86_64] char a = a /0x61 unsigned 无符号字符型 sizeof(unsigned 0~255 unsigned char a = 0xff char short)=1[x86 和 x86_64] 在 C 中我们可以将 char 和 unsigned char 理解成 1 Bytes 的整型数 === 对照 ASCII 码表 注意 char a = 'a' char a = 0x61 int a = 97 三者是等价的 'a': 单引号表示字符 "a": 双引号表示字符串 数组型 C 语言支持数组数据结构, 它的本质是 : 一段连续的存储相同类型变量的内存空间 所有的数组都是由连续的内存位置组成 最低的地址对应第一个元素, 最高的地址对应最后一个元素 一个数组中的所有元素的数据类型都是相同的, 都是整型 浮点型 字符型 数组可以分为 : 1.2. 语法基础 5

10 一维数组 接下来我们将从以下几个方面来学习一维数组 数组定义 数组初始化 数组访问 数组应用 0x00 数组定义 一维数组声明定义的格式是 :type ArrayName [ArraySize]; type: 数组元素的数据类型 ArrayName: 数组的数组名 ArraySize: 数组元素的数量 例如 :int a[10]; 定义了一个名为 a 的数组, 该数组有 10 个成员每个成员都是 int 类型 该定义开辟了 sizeof(int)*10=40 字节的连续内存空间, 依次连续存放 a[0]~a[9]10 个元素 数组名 a 是一个常量 [ 不能当做变量被赋值 ], 它代表数组首元素的地址 此时该数组并没有被初始化, 每个元素的值是随机的 定义数组时,ArraySize 可以是变量, 其定义方法可以是 // 方法一 :c99 之后的编译器才支持 int i = 10; int a[i]; // 方法二 : 标准 c 写法 #define NUM 10 int a[num]; 注意 :char a[10]; a 表示数组首元素的地址, 即 a[0] 元素的地址,a+1 表示 a[1] 的地址 &a 表示整个数组的首地址,&a+1 表示跳过了整个数组 0x01 数组初始化 当定义一个数组时只是分配了相应的内存空间, 内存空间存储的依然是之前的随机值, 此时需要通过初始化存放我们想要存储的数据 ; 数组初始化的方式有 : int a[4] = {1,2,3,4;:a[0]~a[3] 的值分别初始化为 1,2,3,4; 每个元素都占用 4 字节空间 int a[4] = {1,3;:a[0] 初始化为 1,a[1] 初始化为 3,a[2]~a[3] 初始为 0; 每个元素都占用 4 字节空间 int a[] = {1,2,3;: 数组 a 只有 3 个元素, 分别初始化为 1,2,3; 每个元素都占用 4 字节空间 int a[4] = {0;:a[0]~a[3] 都初始化为 0; 每个元素都占用 4 字节空间 char a[4] = {0:a[0]~a[3] 都初始好为 0; 每个元素都占用 1 字节空间 char a[6] = "hello":a[0]~a[5] 分别初始化为 h / e / l / l / o / 0 ; 每个元素占用 1 个字节 注意 : 数组元素的个数一定要大于字符串常量的长度, 因为字符串是以 0 结尾, hello 实际是以 h / e / l / l / o / 0 存放的 6 Chapter 1. 目录

11 char a[10] = "hello":a[0]~a[5] 分别初始化为 h / e / l / l / o / 0, 剩余元素都初始为 0; 每个元素都占用 1 个字节空间 0x02 数组访问 数组是通过索引下标的方式来访问元素的, 以下 demo 代码就是访问数组每个元素然后打印输出 #include <stdio.h> int main(){ int i; int a[] = {1,2,3,4,5; for(i=0; i < sizeof(a)/sizeof(a[0]); i++) { printf("%d\n",a[i]); return 0; 上述 demo 代码中 : sizeof(a) 表示数组 a 在内存中占用大小 sizeof(a[0]) 表示数组 a 的首元素在内存中占用大小 [ 即每个元素在内存中占用大小 ] sizeof(a)/sizeof(a[0]) 表示数组元素的个数 0x03 数组应用 冒泡排序 算法思路 第一次遍历整个数组 n 个元素, 通过相邻值比较将最大值放到最右边 第二次遍历剩下的 n-1 个元素, 通过相邻值比较将最大值放到最右边 依次循环遍历, 直到遍历最后 1 个元素 代码实现如下 : #include <stdio.h> int main(){ int i, j; int a[] = {34,5,124,624,3,65,; int count = sizeof(a)/sizeof(a[0]); for(i = 0;i < count;i++){ for(j = 1;j < count-i;j++){ if(a[j] > a[j-1]){ int tmp = a[j-1]; a[j-1] =a[j]; a[j] = tmp; for(i=0; i < count; i++) { printf("%d\n",a[i]); return 0; 1.2. 语法基础 7

12 二维数组 接下来我们同样从以下几个方面来学习一维数组 数组定义 数组初始化 数组访问 数组应用 0x00 数组定义 二维数组声明定义的格式是 :type ArrayName [LineNum][RowNum]; type: 数组元素的数据类型 ArrayName: 数组的数组名 LineNum: 一维数组的个数, 可以形象的理解为行数 RowNum: 一维数组元素的个数, 可以形象的理解为列数 例如 :int a[2][10]; 定义了一个名为 a 的二维数组, 该数组有 2 个一维数组 a[0] 和 a[1], 每个一维数组有 10 个成员每个成员都是 int 类型, 这些成员是连续存放的, 逻辑上可以理解为 2 行 10 列 a[0]/a[1] 分别是两个一维数组的数组名, 也是两个数组首元素的地址 该定义开辟了 sizeof(int)*10*2=80 字节的连续内存空间, 依次连续存放 a[0][0]~a[0][9] 和 a[1][0]~a[1][9]20 个元素 二维数组名 a 一维数组名 a[0] 和 a[1] 是一个常量, 不能当做变量被赋值 此时该数组并没有被初始化, 每个元素的值是随机的 注意 :int a[2][10]; a[0] 代表第一行数组的首元素地址, 即 a[0][0] 的地址,a[0]+1 表示 a[0][1] 的地址 a[1] 代表第二行数组的首元素地址, 即 a[1][0] 的地址,a[1]+1 表示 a[1][1] 的地址 a 代表第一行数组的首地址, 即 a[0] 的地址,a+1 表示 a[1] 的地址 &a 代表整个二维数组的地址,&a+1 表示跳过了整个二维数组 a+i 表示第 i 行数组的首地址, 相当于一维数组名使用 & 取地址 *(a+i) 表示第 i 行数组首元素的地址, 相当于一维数组名 *(a+i)+j 表示第 i 行第 j 列元素的地址, 等价于 &a[i][j] *(*(a+i)+j) 表示第 i 行第 j 列元素的值, 等价于 a[i][i] 0x01 数组初始化 当定义一个数组时只是分配了相应的内存空间, 内存空间存储的依然是之前的随机值, 此时需要通过初始化存放我们想要存储的数据 ; 数组初始化的方式有 : int a[3][4] = {{1,2,3,4,{5,6,7,8,{9,10,11,12;: 初始化了 3 个一维数组 a[0]~a[2] int a[3][4] = {{1,2,3,4,{5,6,7,8;: 初始化了 3 个一维数组 a[0]~a[2],a[2] 所有元素都是 0 int a[3][4] = { 0 ;: 初始化了 3 个一维数组 a[0]~a[2], 所有一维数组的所有元素都是 0 int a[][4] = {{1,2,3,4,{5,6,7,8,{9,10,11,12,{0;: 初始化了 4 个一维数组 a[0]~a[3] 8 Chapter 1. 目录

13 char a[][10] = {"my","name","is","anony";: 初始化了 4 个一维数组 a[0]~a[3], 使用 int a[][] 会直接报语法错误 0x02 数组访问 二维数组同样是通过索引下标的方式来访问元素的, 以下 demo 代码就是访问二维数组每个元素然后打印输出 #include <stdio.h> int main(){ int i, j; int a[3][4] = {{1,2,3,4,{5,6,7,8,{9,10,11,12; int line_index = sizeof(a)/sizeof(a[0]); int row_index = sizeof(a[0])/sizeof(a[0][0]); for(i=0; i < line_index; i++) { for(j=0; j < row_index; j++) { printf("%d\n",a[i][j]); return 0; 上述 demo 代码中 : sizeof(a) 表示二维数组 a 在内存中占用大小 sizeof(a[0]) 表示一维数组 a[0] 在内存中占用大小 [ 即每个一维数组在内存中占用大小 ] sizeof(a[0][0]) 表示一维数组 a[0] 首元素在内存中占用大小 [ 即每个元素在内存中占用大小 ] sizeof(a)/sizeof(a[0]) 表示一维数组的个数 sizeof(a[0])/sizeof(a[0][0]) 表示一维数组数组元素的个数 0x03 数组应用 冒泡排序 算法思路 先将二维数组放到一个一维数组中 然后对一维数组进行冒泡排序 第一次遍历整个数组 n 个元素, 通过相邻值比较将最大值放到最右边 第二次遍历剩下的 n-1 个元素, 通过相邻值比较将最大值放到最右边 依次循环遍历, 直到遍历最后 1 个元素 最后将一维数组重新放回二维数组中 使用技巧 可以使用二级指针指向二维数组 可以使用一级数组指针指向二维数组 不能使用二级指针做形参来接收二维数组 因为步长不一样 可以使用一级数组指针做形参来接收二维数组 步长可以保持一致 1.2. 语法基础 9

14 可以使用二维数组做形参类接收二维数组 步长可以保持一致 多维数组 多维数组在实际工作中很难用到, 最多只用到二维数组 在这里我只简单介绍一下 例如 :int a[2][4][10]; 定义了一个三维数组 a 该数组包含两个二维数组 a[0] 和 a[1] 二维数组 a[0] 包含 4 个一维数组 a[0][0]/a[0][1]/a[0][2]/a[0][3] 二维数组 a[1] 包含 4 个一维数组 a[1][0]/a[1][1]/a[1][2]/a[1][3] 每个一维数组都包含 10 个 int 类型的元素 三维数组同样是通过索引下标的方式来访问元素 :a[0][0][0] 表示三维数组的第一个元素 三维数组的排序同样可以使用冒泡排序 : 先将多维数组放到一个一维数组中, 然后对一维数组进行排序, 最后将一维数组放回多维数组中 常规应用 接下来我们来了解一下数组的常规应用 应用技巧 数组作函数参数 数组作函数返回值当数组作为函数形参时, 数组就会退化为指针, 函数体关于数组的所有操作都是基于指针进行 0x00 应用技巧 数组问题的应用技巧 : 能用一维数组解决的问题不要用二维, 能用二维解决的问题不要用三维, 尽量避免使用多维数组 定义一个数组的时候, 同时将数组成员初始化为 0 是一个好习惯 0x01 数组作函数参数 0x02 数组作函数返回值 字符串 字符串是内存中一段连续的 char 空间, 以 '\0' 结尾 : 例如 "a" 表示 'a' 和 '\0' 注意 :'a' 表示 int 类型或 char 类型 ;"a" 才表示字符串类型字符串的定义初始化方法有两种 字符 char 数组 字符 char 指针 10 Chapter 1. 目录

15 # 字符 char 数组 # 字符串的长度一定不能超过 char 数组的长度, 因为字符串是以 '\0' 结尾的, 必须保证 char 数组的最后一个元素的值是 '\0' # 所以在定义 char 数组时就将其初始化为 0 char a[10]={ h, e, l, l, o ; # 初始化时, 元素 'o' 后面的元素初始化为 0 即 '\0', 所以它也是一段连续的 char 空间, 并以 '0' 结尾 char a[10]="hello"; # 初始化时,a[0]~a[4] 分别被初始化 'h'/'e'/'l'/'l'/'o ', 剩余元素初始为 0 char a[10]={ 0 ; # 初始化时, 所有元素都初始为 0 char a[]="hello"; # 初始化时, 数组 a 有 6 个元素 a[0]~a[5], 分别为 'h'/'e'/'l '/'l'/'o'/'\0' # 字符 char 指针 char *p = "hello"; # 定义一个 char 类型的指针指向字符串 # char 指针可以引用 char 数组 char b[10] = "hello"; char *p = b; 下面有一个 demo, 实现功能是 : 去掉给定字符串后面的空格 #include <stdio.h> int main(){ char a[] = "hello world a "; int index=sizeof(a)/sizeof(a[0])-2;// 数组 a 的最后一个元素是字符串结尾的 0, 所以需要从倒数第二个元素开始遍历的 while(a[index]){ if(a[index]!= ' '){ a[index+1] = 0; break; index--; printf("%s\n",a); 指针型 学习 C 语言的指针既简单又有趣 通过指针, 可以简化一些 C 编程任务的执行, 还有一些任务, 如动态内存分配, 没有指针是无法执行的 所以, 想要成为一名优秀的 C 程序员, 学习指针是很有必要的 指针也是一种数据类型, 它也是固定内存大小的别名 32 位系统下, 指针是一个 4 字节的无符号整数 64 位系统下, 指针是一个 8 字节的无符号整数 使用指针类型定义的变量也是一种变量, 叫做指针变量, 它是一段可读可写的连续内存空间的别名 ; 指针变量存储的是一个内存地址, 该地址指向另一块内存地址 [ 即另一个变量的地址 ] 说到内存地址, 内存的最小单位是 Byte, 操作系统使用 malloc 等手动分配内存库函数分配内存的最小单位是 4kB(windows 下 ) 对于内存, 每个 Byte 都有一个唯一的编号, 这个编号就是内存地址, 即每个内存地址对应一个 1Byte 空间大小 接下来我们将从如下几个方面来学习指针 1.2. 语法基础 11

16 一级指针 二级指针 三级指针 指针应用 能用一级指针解决的问题不要用二级, 能用二级解决的问题不要用三级, 尽量避免使用多级指针 结构体 枚举型 联合体 无类型 常量与变量 目录 常量 变量 变量在调用前必须声明或者定义 运算符 34 种运算符 表达式 语句 9 种控制流 12 Chapter 1. 目录

17 目录 赋值语句 添加语句 循环语句 复合语句 函数 函数需要包含头文件函数在调用前必须声明或者定义一个 C 程序必须也只能有一个 main 函数 预处理 代码注释 关键字 关键字不需要包含头文件 32 个关键字 语法规范 linux 风格 变量定义 int dog_name windows 风格 变量定义 int DogName 编程习惯 定义全局变量 : 以 g 开头 定义结构体 : 以 _t 结尾 c++ 语言篇 C++ 是对 C 的继承和拓展 1.2. 语法基础 13

18 目录 程序结构 我们在学习每一种编程语言时, 都会先学习写一个 hello world 的 demo 程序, 下面我们将从这个 demo 程序来窥探一下我们 C++ 程序的程序结构 // 方法一 #include <iostream> int main(void) { int a=0; std::cout << "hello world" << std::endl; std::cin >> a; std::cout << "a=" << a <<std::endl; return 0; // 方法二 #include <iostream> using std::cout;// 声明 iostream 库里命令空间 std 中的 cout using std::endl;// 声明 iostream 库里命令空间 std 中的 endl using std::cin;// 声明 iostream 库里命令空间 std 中的 cin int main(void) { int a=0; cout << "hello world" << endl; cin >> a; cout << "a=" << a <<endl; return 0; // 方法三 #include <iostream> using namespace std;// 声明 iostream 库里的命令空间 std int main(void) { int a=0; cout << "hello world" << endl; cin >> a; cout << "a=" << a << endl; return 0; 上述示例中 std: 指 iostream 库里的标准命令空间 cout: 指标准输出设备 cin: 指标准输入设备 endl: 指换行符 以上是输出 hello world 和接收输入的简单 C++ 代码, 继承了 C 的预处理指令 函数 语句 表达式 运算符 变量 数据类型 关键字 注释等基本语法, 同时也拓展了相关语法 : 头文件在被 include 包含预处理时, 不需要加.h 后缀 声明定义变量时引入了 namespace 命名空间的概念, 明确指定变量的作用范围 << >> 运算符通过运算符重载分别指定输出流方向和输入流方向 14 Chapter 1. 目录

19 此处只是列举了 C++ 对 C 的部分扩展, 详细的扩展表如下 : 数据类型 常量与变量 运算符 表达式 语句 函数 类 命名空间 命令空间的本质 指定标识符的作用域, 实现资源的隔离 命令空间的类型 默认命令空间 == 全局作用域 标准命令空间 == 标准作用域 自定义命令空间 == 自定义作用域 命令空间的定义 命令空间的引用 1.3 常用类库 目录 c 语言篇参考文档 Linux 系统调用列表 linux 系统调用接口整理 linux 系统调用表 Linux 系统调用列表 1 系统调用和系统 API c 标准库和操作系统 api 的关系是怎样的 1.3. 常用类库 15

20 16 Chapter 1. 目录

21 1.3. 常用类库 17

22 目录 标准 C 库 目录 字符测试 字符串操作 文件 IO 操作 用户管理 内存管理 系统管理 目录 日志管理 时间管理 环境变量 终端控制 进程控制 进程通信 socket 管理 功能函数 目录 数学计算 数据结构和算法 系统调用 目录 文件操作 用户管理 18 Chapter 1. 目录系统管理 进程控制

23 Unix 环境高级编程 APUE Unix 网络编程 UNP C++ 篇 参考书籍 CPlusPlus Primer

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

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

没有幻灯片标题

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

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

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

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

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++程序设计 - 字符串与格式化输入/输出

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 演示文稿 计算概论 A 课程程序设计部分 C++ 语言基本成分 数据成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 再谈, 我们的进度安排 我们的学习过程 感性理性函数指针等 数据成分运算成分控制成分数组字符串 结构化的程序递归 传统学习过程 数据类型与表达式 输入输出 关系运算 控制语句 函数数组指针结构体 作业练习 感性认识作业练习 ( 以抄程序为主 ) 正常作业练习

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

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++ 程序设计 告别 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

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

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

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

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

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 程序设计语言应用

《计算概论》课程 第十九讲  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

幻灯片 1

幻灯片 1 第一课 C 与 C++ 互联网新技术在线教育领航者 1 内容概述 第一部分 : C++ 综述 1. C++ 历史背景 2. Why C++ 3. 推荐书籍第二部分 : C VS C++ 1. C 语法回顾 2. 例 :C 实现动态数组 3. C++ 的 vector 第三部分 :C++ 对 C 的扩展 ( 上 ) 1. 命名空间 2. 输入输出 3. 基本类型转换 4. 声明 列表初始化 5. 指针和引用

More information

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

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

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

c_cpp

c_cpp C C++ C C++ C++ (object oriented) C C++.cpp C C++ C C++ : for (int i=0;i

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

试卷代号 :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

02

02 Thinking in C++: Volume One: Introduction to Standard C++, Second Edition & Volume Two: Practical Programming C++ C C++ C++ 3 3 C C class C++ C++ C++ C++ string vector 2.1 interpreter compiler 2.1.1 BASIC

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 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

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

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式]

Microsoft PowerPoint - 3. 函数Functionl.ppt [兼容模式] 函数 Function 如何重用代码 How to reuse code 3 4 = 3*3*3*3 3 4,6 5 : 拷贝 - 粘帖代码 (Copy-paste code) 3 4,6 5,12 10 : 拷贝 - 粘帖代码 (Copy-paste code) Bad! 使用函数 (with a function) 使用函数 (with a function) 使用函数 (with a function)

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

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

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

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

FY.DOC

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

More information

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

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

北京大学

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

More information

Microsoft Word - CPE考生使用手冊160524.docx

Microsoft Word - CPE考生使用手冊160524.docx 大 學 程 式 能 力 檢 定 (CPE) 考 生 使 用 手 冊 2016 年 5 月 24 日 這 份 手 冊 提 供 給 參 加 CPE 檢 定 考 試 的 考 生 內 容 包 含 考 試 環 境 的 使 用, 以 及 解 題 時 所 使 用 I/O 的 基 本 知 識 1. 如 欲 報 名 參 加 CPE 考 試, 請 先 於 CPE 網 站 完 成 帳 號 註 冊, 然 後 再 報 名 該

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

Introduction to Computer Systems /18-243, spring st Lecture, Jan. 12th

Introduction to Computer Systems /18-243, spring st Lecture, Jan. 12th 计算机组成原理习题课 1 授课老师 : 王浩宇 haoyuwang@bupt.edu.cn 1 练习 : 机器数的表示和相互转化 练习 1: 当十六进制数 9B 和 FF 分别表示为原码 补码 反码 移码和无符号数时, 所对应的十进制数各为多少 ( 设机器数采用一位符号位 )? 16 进制 真值 无符号数 原码 ( 真值 ) 反码 ( 真值 ) 补码 ( 真值 ) 移码 ( 真值 ) 9BH 二进制十进制

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

Microsoft PowerPoint - 07 派生数据类型

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

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

Microsoft Word - 正文.doc

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

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

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

untitled

untitled 3 C++ 3.1 3.2 3.3 3.4 new delete 3.5 this 3.6 3.7 3.1 3.1 class struct union struct union C class C++ C++ 3.1 3.1 #include struct STRING { typedef char *CHARPTR; // CHARPTR s; // int strlen(

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

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 描述 JSP 表达式语言的语法 认识使用 JSP 表达式的优点 在 JSP 中使用表达式语言 表达式语言简介 5 1 EL 为表达式语言 由两个组开发 JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签 表达式语言简介

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

PowerPoint 演示文稿

PowerPoint 演示文稿 第二讲 C++ 编程基础 主要内容 C++ 语言概述 C++ 的发展 C++ 源程序结构与书写规范 C++ 编译器和集成开发环境 C++ 编程基础 数据的简单输入输出 2 C++ 语言概述 C++ 的发展 - C++ 是从 C 语言发展演变而来, 可以看成是 C 的超集 - 1980 年由 Bjarne Stroustrup 开发创建 - 1983 年正式取名为 C++,1989 年开始 C++ 的标准化工作

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

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

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

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

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++ 程序设计 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++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

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

试卷代号 :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

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

Static Enforcement of Security with Types

Static Enforcement of Security with Types 例题 1 一个 C 语言程序及其在 X86/Linux 操作系统上的编译结 果如下 根据所生成的汇编程序来解释程序中四个变 量的存储分配 生存期 作用域和置初值方式等方面 的区别 static long aa = 10; short bb = 20; func( ) { } static long cc = 30; short dd = 40; static long aa = 10; func(

More information

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer trio@seu.edu.cn 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

C

C C 2017 4 1 1. 2. while 3. 4. 5. for 6. 2/161 C 7. 8. (do while) 9. 10. (nested loop) 11. 12. 3/161 C 1. I 1 // summing.c: 2 #include 3 int main(void) 4 { 5 long num; 6 long sum = 0L; 7 int status;

More information

Microsoft PowerPoint - 10 模板 Template.pptx

Microsoft PowerPoint - 10 模板 Template.pptx 模板 Tempalte 泛型编程的需要 Why Templates? 设想你对整数类型实现了一个排序算法 : void sort(int *is,int n); 用该函数可以对实 复数或工资单排序吗? 模板可以复用源代码 - 泛型编程. inline void Swap( int &x, int &y){ int t = x; x = y; y =t; inline void Swap(double

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

}; "P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ", " " string imagedata; if(0!= read_image("a.jpg",imagedata)) { return -1; } string rsp; ytopen_sdk m_sd

}; P2VTKNvTAnYNwBrqXbgxRSFQs6FTEhNJ,   string imagedata; if(0!= read_image(a.jpg,imagedata)) { return -1; } string rsp; ytopen_sdk m_sd tencentyun-youtu c++ sdk for 腾讯云智能优图服务 & 腾讯优图开放平台 安装 运行环境 Linux 依赖项 - curl-7.40.0, 获取更新版本 https://github.com/bagder/curl - openssl-1.0.1k, 获取更新版本 https://github.com/openssl/openssl 构建工程 工程采用 CMake 构建 1.

More information

Contents 1 深 圳 大 学 经 济 学 院 学 生 代 表 大 会 章 程 2 2 优 秀 毕 业 生 评 选 细 则 7 3 议 事 规 则 8 i

Contents 1 深 圳 大 学 经 济 学 院 学 生 代 表 大 会 章 程 2 2 优 秀 毕 业 生 评 选 细 则 7 3 议 事 规 则 8 i 深 圳 大 学 经 济 学 院 学 代 委 执 事 指 南 发 布 0.0.1 深 圳 大 学 经 济 学 院 学 代 委 2016 年 05 月 25 日 Contents 1 深 圳 大 学 经 济 学 院 学 生 代 表 大 会 章 程 2 2 优 秀 毕 业 生 评 选 细 则 7 3 议 事 规 则 8 i ii 深 圳 大 学 经 济 学 院 学 代 委 执 事 指 南, 发 布 0.0.1

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

// 语句序列 根据以上分析写出一个完整的程序, 并在集成开发环境编译执行 运行结果如下 : 请输入摄氏温度 C: 26.5 摄氏温度 C=26.5 华氏温度 F=79.7 #include<iostream> double C,F; cout<<" 请输入摄氏温度 C:\n"; cin>>c; F

// 语句序列 根据以上分析写出一个完整的程序, 并在集成开发环境编译执行 运行结果如下 : 请输入摄氏温度 C: 26.5 摄氏温度 C=26.5 华氏温度 F=79.7 #include<iostream> double C,F; cout<< 请输入摄氏温度 C:\n; cin>>c; F 第 1 章练习题 同步练习 1.1 1. 一个最简单的 C++ 程序, 可以只有一个 ( ) (A) 库函数 (B) 自定义函数 (C)main 函数 (D) 空函数 2. 函数名是 ( ), 用于识别和调用函数 (A) 关键字 (B) 标识符 (C) 常数 (D) 语句 3. 用 C++ 语言编写的源程序要成为目标程序必须要经过 ( ) (A) 解释 (B) 汇编 (C) 编辑 (D) 编译 4.C++

More information

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义 任务 3 加法运算练习游戏 3.1 情境描述 选择了开发环境并理解了事件驱动机制以后, 要开发项目, 还需掌握 C# 语言的语法 本任务的目标是完成如图 3.1 和图 3.2 所示的小学生加法运算练习游戏 这个小软件的功能是在窗体中的 + 两边出现 2 个 10 以内的随机数, 让用户 ( 适合于小学生 ) 在文本框内输入其和, 然后单击 OK 按钮 若输入的和是正确的, 则跳出一个红色的图片, 同时提示答对了,

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 第六讲 指针与字符串 为什么指针 持久动态内存分配 字符串 ( 字符数组 ) 指针 什么是指针 指针的定义与运算 指针与一维 ( 二维 ) 数组 指针数组 指针与引用 指针与函数 2 指针定义 什么是指针 指针变量, 简称指针, 用来存放其它变量的内存地址 指针的定义 类型标识符 * 指针变量名 声明一个指针类型的变量, 星号后面可以留空格 类型标识符表示该指针所指向的对象的数据类型, 即该指针所代表的内存单元所能存放的数据的类型

More information

ch02_Basic

ch02_Basic 主要内容 C++ 语言概述 C++ 的发展 C++ 源程序结构与书写规范 C++ 编译器和集成开发环境 C++ 编程基础 数据的简单输入输出 2 C++ 语言概述 C++ 语言概述 C++ 的发展 - C++ 是从 C 语言发展演变而来, 可以看成是 C 的超集 - 1980 年由 Bjarne Stroustrup 开发创建 - 1983 年正式取名为 C++,1989 年开始 C++ 的标准化工作

More information

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - string_kruse [兼容模式] Strings Strings in C not encapsulated Every C-string has type char *. Hence, a C-string references an address in memory, the first of a contiguous set of bytes that store the characters making up the string.

More information

第4章 栈和队列

第4章  栈和队列 期中考试成绩统计结果 ( 平均 :68) 第 9 讲指针与引用 (Part I) 周水庚 2017 年 11 月 23 日 提要 指针 指针和数组 提要 指针 指针和数组 指针与指针的作用 指针是 C 语言中用于表示程序对象地址的一类数据 指针的作用 间接引用它所指的对象 描述数据和数据之间的关系, 以便构造复杂的数据结构 利用各种类型指针形参, 能使函数增加活力 指针与数组结合, 使引用数组元素的形式更加多样

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

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

More information

Microsoft Word - mei.doc

Microsoft Word - mei.doc 看上去很美 王朔 编者的话 时隔七年 王朔又拿出了他的新作 一个过去写过很多东西 又曾声言放弃写作的 人 此番重新拿起笔 令我们感兴趣的倒也不是他的食言自肥 而是他是否确有一些新 意要表达 这才构成一部文学作品产生的必要成因 关于王朔 我们听到较多的是他的 调侃和所谓玩世不恭的写作态度 作为出版过他的全部作品的编者 我们知道那类作品 只是他全部作品的一小部分 在某一时刻被刻意演染夸张开来的一种风格

More information

状 态, 使 人 类 社 会 难 以 正 确 认 识 评 级 这 一 信 用 经 济 的 内 在 规 律, 难 以 真 正 总 结 西 方 错 误 评 级 的 教 训, 难 以 让 评 级 有 效 服 务 于 人 类 信 用 经 济 实 践 如 果 我 们 还 不 能 在 信 用 评 级 思 想 领

状 态, 使 人 类 社 会 难 以 正 确 认 识 评 级 这 一 信 用 经 济 的 内 在 规 律, 难 以 真 正 总 结 西 方 错 误 评 级 的 教 训, 难 以 让 评 级 有 效 服 务 于 人 类 信 用 经 济 实 践 如 果 我 们 还 不 能 在 信 用 评 级 思 想 领 世 界 需 要 评 级 新 思 想 关 建 中 2015 年 5 月 26 日 2008 年 爆 发 于 美 国 的 全 球 信 用 危 机 证 明 : 信 用 评 级 关 系 人 类 社 会 安 全 发 展, 西 方 错 误 评 级 是 危 机 的 制 造 者, 它 不 能 承 担 世 界 评 级 责 任 于 是, 改 革 国 际 评 级 体 系 成 为 时 代 的 主 流 思 潮 和 向 人 类

More information

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

C++ 程序设计 实验 2 - 参考答案 MASTER 2017 年 5 月 21 日 1 C++ 程序设计 实验 2 - 参考答案 MASTER 2017 年 5 月 21 日 1 1 CRECT 类 1 CRect 类 设计矩形类, 包含 长度和宽度信息 基本构造函数 基础属性的访问接口 ( 读 / 写, Read/Write, Get/Set) 计算周长和面积 ( 注 : 基本构造函数, 一个无参数的默认构造函数, 以及一个初始化数据成员的构造函数如果数据成员的初始化有多种形式, 就提供多个构造函数

More information

第3章 Java语言基础

第3章 Java语言基础 第 3 章 Java 语言基础 第 1/55 页 习题 3 3. 8. 9. 13. 18. 实验 : 1. 实验 4( 实 P11~12) 2. 实验任务 : 1 例 3.1( 教 P30) 2 变量赋值 ( 教 P29) 3 编写两个缓冲区对应同一个输入流对象, 并键盘输入整型 a 和双精度 b, 求和 第 2/55 页 习题 3 3. 实验任务 : 1 实验 5( 实 P12~13) 2 实验

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

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

C++ 程序设计 实验 3 - 参考答案 MASTER 2017 年 5 月 21 日 1 C++ 程序设计 实验 3 - 参考答案 MASTER 2017 年 5 月 21 日 1 1 圆 1 圆 设计圆类 包含 包含基本属性和基本属性访问接口 计算面积和周长接口 2 1 圆 1 #include 2 using namespace std ; 3 c l a s s CCircle 4 { 5 p r i v a t e : 6 double r ; 7 const

More information

Microsoft PowerPoint - 06_Struct.ppt

Microsoft PowerPoint - 06_Struct.ppt C 程序设计语言 第 6 章章结构 孙志岗 sun@hit.edu.cn http://sunner.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

重 要 声 明 长 城 证 券 股 份 有 限 公 司 编 制 本 报 告 的 内 容 及 信 息 来 源 于 陕 西 东 岭 工 贸 集 团 股 份 有 限 公 司 提 供 的 证 明 文 件 以 及 第 三 方 中 介 机 构 出 具 的 专 业 意 见 长 城 证 券 对 报 告 中 所 包

重 要 声 明 长 城 证 券 股 份 有 限 公 司 编 制 本 报 告 的 内 容 及 信 息 来 源 于 陕 西 东 岭 工 贸 集 团 股 份 有 限 公 司 提 供 的 证 明 文 件 以 及 第 三 方 中 介 机 构 出 具 的 专 业 意 见 长 城 证 券 对 报 告 中 所 包 2015 年 陕 西 东 岭 工 贸 集 团 股 份 有 限 公 司 ( 宝 鸡 市 马 营 路 东 段 ) 公 司 债 券 受 托 管 理 事 务 报 告 (2015 年 度 ) 债 券 代 理 人 长 城 证 券 股 份 有 限 公 司 ( 深 圳 市 福 田 区 深 南 大 道 6008 号 特 区 报 业 大 厦 16-17 层 ) 2016 年 4 月 12 日 1 重 要 声 明 长 城

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

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

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac)

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac) OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac) 复习 面向对象编程 将实际问题分解成不同的对象 不的对象提供不同的服务 对象之间可以传递消息 例子小李深夜

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

Mx* Language Reference Manual 2016 年 4 月 7 日 1 用词说明 未定义 指中央还没有表态指语言定义中不涉及的部分, 编译器和运行时环境如何表现是未知的 主要是为了给学生实现语言留下足够的空间, 标准测试集里不会出现涉及未定义部分的内容 例如 : 术语 : 源程

Mx* Language Reference Manual 2016 年 4 月 7 日 1 用词说明 未定义 指中央还没有表态指语言定义中不涉及的部分, 编译器和运行时环境如何表现是未知的 主要是为了给学生实现语言留下足够的空间, 标准测试集里不会出现涉及未定义部分的内容 例如 : 术语 : 源程 Mx* Language Reference Manual 2016 年 4 月 7 日 1 用词说明 未定义 指中央还没有表态指语言定义中不涉及的部分, 编译器和运行时环境如何表现是未知的 主要是为了给学生实现语言留下足够的空间, 标准测试集里不会出现涉及未定义部分的内容 例如 : 术语 : 源程序大小超过 256M 是未定义的 解释 : 我们测试用的源程序大小不会超过 256M 2 程序结构 Mx*

More information

华恒家庭网关方案

华恒家庭网关方案 LINUX V1.5 1 2 1 2 LINUX WINDOWS PC VC LINUX WINDOWS LINUX 90% GUI LINUX C 3 REDHAT 9 LINUX PC TFTP/NFS http://www.hhcn.com/chinese/embedlinux-res.html minicom NFS mount C HHARM9-EDU 1 LINUX HHARM9-EDU

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

Eclipse C C++, or

Eclipse C C++,  or Eclipse C C++, Emailctchen@pl.csie.ntut.edu.tw or s1669021@ntut.edu.tw, s2598003@ntut.edu.tw http://pl.csie.ntut.edu.tw/~ctchen, http://www.ntut.edu.tw/~s2598003/ 2004/9/10 (0.02 ) Eclipse http://www.eclipse.org

More information

<4D6963726F736F667420576F7264202D2032303132C4EAD6A4C8AFCAD0B3A1C6C0BCB6BDE1B9FBB7D6CEF6B1A8B8E62E646F6378>

<4D6963726F736F667420576F7264202D2032303132C4EAD6A4C8AFCAD0B3A1C6C0BCB6BDE1B9FBB7D6CEF6B1A8B8E62E646F6378> 鹏 元 资 信 评 估 证 券 市 场 评 级 结 果 分 析 报 告 ( 截 至 2012 年 12 月 底 ) 一 证 券 市 场 债 券 评 级 结 果 1 2007 年 9 月 30 日, 鹏 元 资 信 评 估 ( 简 称 鹏 元 ) 获 得 中 国 证 券 监 督 管 理 委 员 会 关 于 核 准 鹏 元 资 信 评 估 从 事 证 券 市 场 资 信 评 级 业 务 的 批 复 (

More information

fvalue = (pdata[y][i] + pdata[y][i + 1]) / 2; pdata[y][nhalfw + i] -= fvalue; fvalue = (pdata[y][nhalfw - 1] + pdata[y][nhalfw - 2]) / 2; pdata[y][nwi

fvalue = (pdata[y][i] + pdata[y][i + 1]) / 2; pdata[y][nhalfw + i] -= fvalue; fvalue = (pdata[y][nhalfw - 1] + pdata[y][nhalfw - 2]) / 2; pdata[y][nwi #include #include #include // 二维离散小波变换 ( 单通道浮点图像 ) void DWT(IplImage *pimage, int nlayer) // 执行条件 if (pimage) if (pimage->nchannels == 1 && pimage->depth == IPL_DEPTH_32F

More information

Microsoft PowerPoint - 1. C++介绍.ppt [兼容模式]

Microsoft PowerPoint - 1. C++介绍.ppt [兼容模式] C++ 入门 http://hwdong.com 1. 程序 = 数据 + 运算 Application = Data + Operator 程序就是对数据进行加工处理 ( 运算 ) 程序 = 数据 + 运算 数据用变量 ( 常量 ) 表示, 用运算符对它们进行运算 程序 = 变量 + 运算符 程序中的数据应有条理地存储在内存中, 处理需要按照一定步骤或方法进行 程序 = 数据结构 + 算法 机器语言

More information

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

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.07.doc 2 5 8 11 0 1. 13 2. 15 3. 18 1 1. 22 2. 25 3. 27 2 1. 35 2. 38 3. 41 4. 43 5. 48 6. 50 3 1. 56 2. 59 3. 63 4. 65 5. 69 13 22 35 56 6. 74 7. 82 8. 84 9. 87 10. 97 11. 102 12. 107 13. 111 4 114 1. 114 2.

More information

STRUCT Tag OptTag ID Tag ID 7..4 Declarators VarDec ID VarDec LB INT RB FunDec ID LP VarList RP ID LP RP VarList ParamDec COMMA VarList ParamDec Param

STRUCT Tag OptTag ID Tag ID 7..4 Declarators VarDec ID VarDec LB INT RB FunDec ID LP VarList RP ID LP RP VarList ParamDec COMMA VarList ParamDec Param 7. 附录 A:C 语言文法 在本附录中, 我们给出 C 语言的文法定义和补充说明 7. 文法定义 7.. Tokens INT /* A sequence of digits without spaces */ FLOAT /* A real number consisting of digits and one decimal point. The decimal point must be surrounded

More information

期中考试试题讲解

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

More information

WHUST 2017 Div.2 Day 3.5 C++ 标准模版库

WHUST 2017 Div.2 Day 3.5  C++ 标准模版库 标准模版库 标准模版库 集训队郭松 集训队郭松 标准模版库 标准模版库 纲 介绍算法竞赛中, 需要 到的 知识命名空间代码框架实参 类型模版函数简介 模版类简介 集训队郭松 标准模版库 标准模版库介绍算法竞赛中, 需要 到的 知识算法竞赛中, 需要 到的 知识标准命名空间 std 集训队郭松 标准模版库 标准模版库介绍算法竞赛中, 需要 到的 知识算法竞赛中, 需要 到的 知识标准命名空间 std

More information

没有幻灯片标题

没有幻灯片标题 第 2 章 C 语言的基本数据类型与表达 式 2. 1 C 语言的语法基础 2. 2 C 语言的基本数据类型 2. 3 常量和变量 2. 4 运算符与表达式 2. 5 数据类型转换 用 第 2 章 C 语言的基本数据类型与表达 2.1 C 语言的语法基础 2. 1. 1 C 语言字符集 式 C 语言的基本符号可分 4 个类, 归纳如下 : (1) 英文字母 : 大小写各 26 个, 共计 52 个

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 第 12 章再谈指针 本章的基本内容是 : 指针与数组 指针与结构体 动态存储分配 由于指针可以直接对内存进行操作, 所以指针的功能非常 强大 正确灵活地使用指针可以有效地表示复杂的数据结 构, 并可动态分配内存空间, 提高程序的运行效率 任务 12.1 判断回文 问题 输入一个字符串, 判断该字符串是否为回文 ( 首尾对称的字句, 例如 abcba abba 均为回文 ) 要求用指针实现 想法 设两个指针变量

More information