第5章 递归 (Recurve)

Size: px
Start display at page:

Download "第5章 递归 (Recurve)"

Transcription

1 第 11 讲指针与引用 (Part II) 周水庚

2 提要 指针形参 数组形参 字符指针形参 函数形参 返回指针值的函数 程序设计 年秋 2

3 提要 指针形参 数组形参 字符指针形参 函数形参 返回指针值的函数 程序设计 年秋 3

4 函数形参 函数设置形参的目的是让函数被调用时, 能从调用处获得数据或指针信息 C 语言关于函数形参遵守以下规定 函数调用时, 形参从实参获得初值 函数形参可看作函数内部的局部变量, 函数体内对形参的修改不会影响实参本身 函数形参的作用由形参的类型确定 基本类型 指针类型 数组类型 当函数的形参是某种指针类型或数组类型时, 形参从实参处得到某环境变量的地址, 函数体就能通过指针形参间接引用环境变量, 并能改变环境变量的值 程序设计 年秋 4

5 指针类型形参 指针形参从实参处得指针值 它使函数得到了调用环境中某变量的地址, 函数可用这个地址间接访问函数之外的变量, 或引用其值, 或修改其值 指针类型形参为函数改变调用环境中的数据对象提供了手段 程序设计 年秋 5

6 指针类型形参示意程序 -1 对于简单类型形参, 实参向形参传值, 函数不能改变实参变量值的示意程序 #include <stdio.h> void swap(int u, int v) { int t = u; u = v; v = t; printf( In swap: u = %d, v = %d\n, u, v); void main() { int x = 1, y = 2; swap(x, y); printf( In main: x = %d, y = %d\n, x, y); 输出结果 : In swap: u=2, v=1 In swap: x=1, y=2 程序设计 年秋 6

7 指针类型形参示意程序 -2 #include <stdio.h> void swap-1(int u, int v); void swap-2(int *pu, int *pv); void main() { int a = 1, b = 2; printf( Befor swap. a = %d\tb = %d\n, a, b); swap-1(a, b); /* 以变量的值为实参 */ printf( After swap: a = %d\tb = %d\n, a, b); swap-2(&a, &b); /* 以变量的指针为实参 */ printf( After swap: a = %d\tb = %d\n, a, b); a=1 b=2 a=1 b=2 a=2 b=1 void swap-1(int u, int v) { int t; t = u; u = v; v = t; void swap-2(int *pu, int *pv) { int t; t = *pu; *pu = *pv; *pv = t; 程序设计 年秋 7

8 指针类型形参 ( 续 ) 如希望函数能按需要任意引用指定的变量, 需要在三个方面协调一致 函数应设置指针类型的形参 函数体必须通过指针形参间接访问变量, 或引用其值, 或修改其值 调用函数时, 要以欲改变值的变量的指针为实参调用函数 程序设计 年秋 8

9 #include<stdio.h> void f1(int x, int y){int t=x;x=y;y=t; void f2(int *x, int *y){int t=*x; *x=*y; *y=t; void f3(int **x, int **y){int *t=*x; *x=*y;*y=t; Void main() { int x=1, y=2; int *xpt=&x,*ypt=&y; printf(first: x=%d y=%d\n\n,x,y); int x=1, y=2;f1(x,y); printf(after call f1(): x=%d y=%d\n\n,x,y); int x=1, y=2;f2(&x,&y); printf(after call f2(): x=%d y=%d\n\n,x,y); int x=1, y=2; printf(before call f3(): x=%d y=%d\n\n,x,y); printf(before call f3(): *xpt=%d *ypt=%d\n\n,*xpt,*ypt); 1 2 f3(&xpt,&ypt); printf(after call f3(): x=%d y=%d\n\n,x,y); printf(after call f3(): *xpt=%d *ypt=%d\n\n,*xpt,*ypt); 程序设计 年秋 9

10 提要 指针形参 数组形参 字符指针形参 函数形参 返回指针值的函数 程序设计 年秋 10

11 数组类型形参 使函数能处理不同的成组变量, 应使用数组类型形参 对应数组形参的实参是数组某元素的地址, 最通常的情况是数组首元素的地址 由于数组名能代表数组首元素的地址, 所以常用数组名实参对应数组形参 例如, 下面定义的函数 sum() 用于求数组的前 n 个数之和 int sum(int a[], int n) { int i, s; for(s = 0, i = 0; i < n; i++) return s; s += a[i]; 函数 sum 有两个形参, 一个形参是数组类型的, 用于对应可变的实在数组 ; 另一个形参是整型的, 用于指定求和数组的元素个数 程序设计 年秋 11

12 数组类型形参 ( 续 ) 前面定义的函数 sum() 用于求数组的前 n 个数之和 利用函数 sum(), 如有以下变量定义 int x[] = {1, 2, 3, 4, 5; int i, j; 则语句 i = sum(x, 5); j = sum(&x[2], 3); printf("i = %d\nj = %d\n", i, j); 将输出 i = 15 j = 12 函数调用 sum(x,5) 将数组 x 的地址 (&x[0]) 传送给形参 a; 函数调用 sum(&x[2], 3) 将数组 x 中的 x[2] 的地址 (&x[2]) 传送给形参 a, 而 x[2] 的地址就是数组元素段 x[2] x[3] x[4] 的开始地址 程序设计 年秋 12

13 数组类型形参 ( 续 ) 与数组类型形参对应的实在数组有多少个元素是不确定的, 可能会对应一个大数组, 也可能会对应一个小数组, 甚至会对应数组中的某一段 所以在数组形参说明中, 形参数组不必指定数组元素的个数 为了正确指明某次函数调用实际参与计算的元素个数, 应另引入一个整型形参来指定 因传递给数组形参的实参是数组段的开始地址, 函数内对数组形参的访问就是对实参所指数组的访问 函数也可以改变实参所指数组元素的值 程序设计 年秋 13

14 数组类型形参示例 函数 initarray() 是给数组元素赋指定值的 void initarray(int x[], int n, int val) { int i; for(i = 0; i < n; i++) x[i] = val; 如另有数组定义 int a[10], b[100]; 语句 initarray(a, 10, 1); initarray(b, 50, 2); initarray(&b[50], 50, 4); 分别给数组 a 的所有元素置值 1, 为数组 b 的前 50 个元素置值 2, 后 50 个元素置值 4 程序设计 年秋 14

15 数组类型形参 ( 续 ) 数组形参也可以是多维数组 当数组形参是多维时, 除数组形参的第一维大小不必指定外, 其它维的大小必须明确指定 如下面的函数 sumatob(), 用于将一个 n 行 10 列的二维数组各行的 10 个元素之和存于另一个数组中 void sumatob(int a[][10], int b[], int n) { int i, j; for(i = 0; i < n; i++) for(b[i] = 0, j = 0; j < 10; j++) b[i] += a[i][j]; 在函数 sumatob() 的定义中, 对形参 a 的说明如写成 int a[][]; 是错误的 程序设计 年秋 15

16 数组类型形参 ( 续 ) 因二维数组的元素只是按行存放, 如在数组形参中不说明它的列数, 就无法确定数组元素 a[i][j] 的实际地址 在实际使用数组形参编写函数时, 注意程序中实参所指数组大小不能小于函数实际要用的数组的大小 如实参数组太小, 因系统不检查超界情况, 可能会使用实际数组后面别的变量的空间, 这会发生意想不到的错误 程序设计 年秋 16

17 数组类型形参函数示例 -1 为数组输入值的函数 void readarray(int a[], int n) { int i; for(i = 0; i < n; i++) { printf("enter a[%d] scanf("%d", &a[i]); ", i); 程序设计 年秋 17

18 数组类型形参函数示例 -2 求数组中最大元素值的函数 int max(int a[], int n) { int i, m; for(m = 0, i = 1; i < n ; i++) if (a[m] < a[i]) m = i; return a[m]; 程序设计 年秋 18

19 数组类型形参即指针形参 数组形参对应的实参也可以是数组某元素的地址, 即数组某元素的指针, 所以数组形参也是一种指针形参 所以任何数组形参说明类型形参名 [] 都可改写成类型 * 形参名 如前面的函数 sum() 的定义可改写成如下形式 int sum(int *a, int n) { int i, s; for(s = i = 0; i < n; i++) s += a[i]; return s; 程序设计 年秋 19

20 数组类型形参 - 指针形参示例 函数形参也是函数的局部变量, 指针形参就是函数的指针变量, 函数 sum() 的定义又可改写成如下形式 int sum(int *a, int n) { int s = 0; for(; n--; ) s += *a++; return s; 程序设计 年秋 20

21 数组类型形参 - 指针形参示例 ( 续 ) 为使函数对数据进行操作更具一般性, 可为函数设置数据的首元素指针和元素个数等形参, 而函数体用指向数据元素的指针对数组作处理 如函数 sum() 也可改写成以下形式 int sum(int *a, int n) { int *ap, s; for(s = 0, ap = a; ap < a+n; ap++) s += *ap; return s; 程序设计 年秋 21

22 数组类型形参程序示例 设某个班有若干位学生, 共学 5 门功课 学生成绩单的学号和各门功课成绩存放在二维数组 s[][] 中,s 的每一行存储一位学生的有关信息, 其中每行的第一列存放学生的学号 程序设计分析 设计函数 search(int (*p)[6], int m, int no) 用于寻找指定学号的学生, 并输出该生的各门功课成绩 其中, 形参 p 是指向数组的指针, 它所指数组有 6 个 int 型元素 ; 形参 m 是学生数 ; 形参 no 是待寻找学生的学号 主函数按以下格式调用 search(s, m, n); 其中 s 为成绩单首行数组的指针 ;m 为成绩单行数, 即学生人数 ;n 为某学生的学号 程序设计 年秋 22

23 数组类型形参程序示例 ( 续 ) 学生成绩单程序 ( 续 )-P1 #include <stdio.h> #define MAXN 3 int s[maxn][6] = {{ 5, 70, 80, 96, 70, 90, { 7, 40, 80, 50, 60, 80, { 8, 50, 70, 40, 50, 75; void search(int (*)[6], int, int); void main() { search(s, MAXN, 7); search(s, MAXN, 5); search(s, MAXN, 8); search(s, MAXN, 2); 程序设计 年秋 23

24 数组类型形参程序示例 ( 续 ) 学生成绩单程序 ( 续 )-P2 void search(int (*p)[6], int m, int no) { int (*ap)[6], *pp; for(ap = p; ap < p+m; ap++) if (**ap == no) { printf( %d 号学生是 :\n", no); for(pp = *ap+1; pp <= *ap+5; pp++) printf("%4d\t", *pp); printf("\n"); return; printf( 没有 %d 号的学生.\n", no); 程序设计 年秋 24

25 数组类型形参程序示例 ( 续 ) 学生成绩单程序 ( 续 ) 内循环的 ap 是找到的那位学生的信息数组指针,*ap 是该数组的第一个元素的指针,*ap+1 是第二个元素的指针 利用二维数组元素按行连续存放的规则, 如有必要, 二维数组也可看作一维数组 如下面的代码段能累计全班学生的全部成绩之和, 并存于变量 total 中 { int *pp = *p, i; for(total = 0, i = 0; i < MAXN*6; i++; pp++) if (i%6) /* 跳过学号 */ total += *pp; 工作变量 pp 是一个指向 int 型的指针, 每次循环增加 1 个单位, 遍历整个二维数组 s 程序设计 年秋 25

26 提要 指针形参 数组形参 字符指针形参 函数形参 返回指针值的函数 程序设计 年秋 26

27 字符指针形参 字符指针形参, 是说它指向字符串的首字符, 对应的实参或是字符数组某个元素的指针, 或是字符串的首字符指针 字符串就是元素为字符的一维数组 所以字符指针形参与指向数组元素指针形参有相同的使用方法 但因字符串的特殊性, 在编写字符串处理函数时还会有许多技巧 程序设计 年秋 27

28 字符指针形参示例 -1 字符串拷贝函数 strcpy() 实现该函数功能的代码前面讨论过, 这里把它改写成函数, 是将一个已知字符串内容复制到另一字符数组中 拷贝函数设有两个形参 from,to from 为已知字符串的首字符指针, to 为存储复制的字符串首字符指针 void strcpy(char *to, char *from) { while ((*to++ = *from++)!= \0 ); 由于字符串结束符 \0 的 ASCII 码值为 0, 因此上述测试当前拷贝字符不是字符串结束符的代码!= \0 可以省略 函数可简写为 void strcpy (char *to, char *from) { while (*to++ = *from++); 程序设计 年秋 28

29 字符指针形参示例 -2 两字符串比较函数 strcmp() 比较两字符串大小的函数 strcmp() 有两个形参 s 和 t; 分别为两个待比较字符串的首字符指针 如 s 所指的字符串小于 t 所指的字符串, 函数返回值小于零 ; 如 s 所指字符串大于 t 所指字符串, 函数返回值大于零 ; 如两个字符串相同, 则函数返回零 int strcmp(char *s,char *t) { while (*s == *t) { /* 对应字符相等循环 */ if (*s == '\0') return 0; s++; t++; return *s - *t; /* 返回比较结果 */ 程序设计 年秋 29

30 字符指针形参示例 -3 输入字符行函数 getnch() 函数 getnch() 输入字符行, 输入的字符存于由指针形参指定的字符数组中 为避免输入过多字符, 函数 getnch() 另设一个 int 型形参, 它给出最多能存储的字符数 int getnch(char *s, int lim) { int c; char *ps = s; while (ps < s+lim-1&&c = getchar()) { *ps++ = c; if (c == \n ) break; /* 输入换行符结束 */ *ps = \0 ; return ps - s;/* 返回实际输入存储的字符个数 */ 程序设计 年秋 30

31 提要 指针形参 数组形参 字符指针形参 函数形参 函数指针和函数指针变量 利用函数指针调用函数 函数指针形参 函数指针数组 返回指针值的函数 程序设计 年秋 31

32 函数指针和函数指针变量 在 C 语言中, 函数不可设置函数形参, 但函数可以设置函数指针形参, 函数要调用的函数也可以由实参指定 为了实现函数通过实参调用其它的函数,C 语言引入函数指针类型 函数指针和函数指针变量等概念 函数指针如同一般数据一样能复制 存贮, 函数指针变量能作为复杂数据结构的成分, 也能作为函数的形参等 函数的目标码有入口地址, 这个入口地址就认作指向该函数的指针值, 并用函数名来标记函数的入口地址 函数指针变量是一种特殊的指针变量, 它能存储函数的指针值, 使它指向某个函数 如同数据指针变量可间接访问它所指变量一样, 程序也可利用函数指针变量间接调用它所指的函数 程序设计 年秋 32

33 函数指针和函数指针变量 ( 续 ) 为区别能指向不同特性函数的函数指针变量, 用函数的返回值类型和函数的形参类型等来区分不同的函数指针, 并以函数指针类型来标识 定义指向函数的指针变量的一般形式为函数返回值类型 (* 指针变量名 )( 形参类型表 ); 例如, int (*fp)(int); 定义 fp 是一个能指向函数的指针变量, 它能指向的函数的返回值必须是 int 型的, 并有一个 int 类型的形参 注意,*fp 两侧的括弧是必需的, 表示 fp 先与 * 结合, 说明它是一个指针变量 然后与后随的 () 结合, 表示指针变量 fp 是指向函数的 最前面的 int 表示所指向的函数应是返回 int 型值的函数 而代码 int *f(int), 因 () 优先级高于 *, 就变成是说明一个函数 f(), 该函数的返回值是指向 int 型量的指针 程序设计 年秋 33

34 函数指针和函数指针变量 ( 续 ) 指向函数的指针变量表示它能存放函数的入口地址, 它能指的函数是函数指针变量定义时所规定的 在程序执行时, 某个符合要求的函数入口地址都能赋给函数指针变量, 使函数指针变量指向该函数, 可以用该指针变量间接调用它所指函数 可根据需要向函数指针变量赋不同的函数入口地址, 使它指向的函数可以按需要改变 程序设计 年秋 34

35 利用函数指针调用函数 定义了指向函数的指针变量, 就可向它赋某函数的入口地址 C 语言约定, 单独的函数名本身就是函数的入口地址 ( 不可以在函数名之后加上一对园括号, 否则变成函数调用 ) 如语句 fp = min; 使函数指针变量 fp 指向函数 min() 当一个指向函数的指针变量确实指向某个函数时, 就可用它调用它所指向的函数 一般形式的函数调用是 函数名 ( 实参表 ) 改用指向函数的指针变量调用该函数, 就要改写成 (* 函数指针变量名 ) ( 实参表 ) 程序设计 年秋 35

36 利用函数指针调用函数示例 求两个整数中小的值的函数 min(), 它返回 int 型值 如有 int (*fp)(int,int),x=5, y=8, z, min(int,int); 则语句 fp = min; 使指针变量 fp 指向函数 min() 用 fp 间接调用函数 min(), 写成 z = (*fp)(x, y); 程序设计 年秋 36

37 利用函数指针调用函数示例 用函数指针变量调用函数的示意程序 #include <stdio.h> void main() { int (*fp)(int, int), x, y, z; int min(int, int), max(int, int); printf("enter x, y:");scanf("%d%d", &x, &y); fp = min; /* 让 fp 指向函数 min()*/ z = (*fp)(x, y); /* 调用 fp 所指函数 */ printf("min(%d, %d) = %d\n", x, y, z); fp = max; /* 现在更改 fp, 使它指向函数 max()*/ z = (*fp)(x, y); /* 调用 fp 所指函数 */ printf("max(%d, %d) = %d\n", x, y, z); int min(int a, int b) { return a < b? a : b; int max(int a, int b) { return a > b? a : b; 程序设计 年秋 37

38 函数指针形参 为什么要为函数设函数指针形参? 设有一个函数 fun(), 它有一个函数指针形参 fp 和若干其他形参 函数 fun() 利用函数指针形参 fp 和其他形参, 根据给定的算法计算结果 调用函数 fun() 时, 除提供其它实参外, 还得为它提供与形参 fp 相对应的实在函数指针 这样, 用不同的实在函数指针调用函数 fun(), 就能获得不同的结果 程序设计 年秋 38

39 函数指针形参示例 对给定实数数表, 求它的最大值 最小值和平均值 程序设计分析 程序有三个函数 max() min() 和 ave(), 另设一个函数 afun() 主函数调用函数 afun(), 并提供数组 数组元素个数和求值函数指针作为实参 由函数 afun() 根据主函数提供的函数指针实参调用实际函数 程序设计 年秋 39

40 函数指针形参示例 ( 续 ) 给定实数数表, 求最大值 最小值和平均值 ( 续 ) #include <stdio.h> #define N sizeof a / sizeof a[0] double max(double a[], int n) { int i; double r; for(r = a[0], i = 1; i < n; i++) if (r < a[i]) r = a[i]; return r; double min(double a[], int n) { int i; double r; for(r = a[0], i = 1; i < n; i++) if (r > a[i]) r = a[i]; return r; double ave (double a[], int n) { int i; double r; for (r = 0.0, i = 0; i < n; i++) r += a[i]; return r/n; double afun(double a[], int n, double (*f)(double *, int)) { return (*f)(a, n); 程序设计 年秋 40

41 函数指针形参示例 ( 续 ) 给定实数数表, 求最大值 最小值和平均值 ( 续 ) void main() { double a[]={1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0, 9.0; double result; printf("\n\nthe results are : "); result = afun(a, N, max); printf("\t%s = %4.2f", "MAX", result); result = afun(a, N, min); printf("\t%s = %4.2f", "MIN", result); result = afun(a, N, ave); printf("\t%s = %4.2f", "AVERAGE", result); printf("\n\n\n"); 程序设计 年秋 41

42 函数指针数组 利用函数指针能被存储的性质, 可将若干函数指针存于一数组中 如以下代码 double (*fpt[])(double*, int)={ max, min, ave; /* 函数指针数组 */ 定义了函数指针数组 fpt[], 并用函数名对它初始化, 将函数 max() min() 和 ave() 的函数指针填写在函数指针数组 fpt[] 中, 使数组 fpt[] 成为函数的入口表 例子 : 设计一个通用的菜单处理函数, 除其它有关菜单位置 大小 颜色等信息外, 另设两个数组形参 一个数组元素为指向菜单项字符串的指针, 另一个数组元素为指向对应处理函数的指针 程序设计 年秋 42

43 函数指针数组示例 通用的菜单处理函数 ( 续 ) #include <stdio.h> #define N sizeof a / sizeof a[0] void main () { double a[] ={1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0, 9.0; double result; double(*fpt[])(double *,int)={ max, min, ave; char *title[]={" 最大值 ", " 最小值 ", " 平均值 "; char *menuname[] ={ 求最大值, 求最小值, 求平均值, ; int ans, k; 程序设计 年秋 43

44 函数指针数组示例 ( 续 ) 通用的菜单处理函数 ( 续 ) while (1) { printf( 请选择以下菜单命令 \n ); for(k = 0; menuname[k][0]!= \0 ; k++) printf( \t%d: %s\n, k+1, menuname[k]); printf( \t 其它选择结束程序运行 \n ); scanf( %d, &ans); if (ans < 1 ans > k) break; printf("\n\n 结果 : "); result = (*fpt[ans-1])(a, N); printf("\t%s=%4.2f\n\n",title[ans-1], result); 程序设计 年秋 44

45 提要 指针形参 数组形参 字符数组形参 函数指针 返回指针值的函数 返回数据对象指针的函数 返回函数指针的函数 程序设计 年秋 45

46 返回数据对象指针的函数 函数可以返回整型值 字符值 实型值等, 也可以返回指向某种数据对象的指针值 返回指针值的函数与以前介绍的函数在概念上是完全一致的 定义 ( 或说明 ) 返回指针值函数的一般形式为类型说明符 * 函数名 ( 形参表 ); 例如, 函数说明 : int *f(int,int); 函数 f() 返回指向 int 型数据的指针, 有两个整型形参 注意 : 在函数名两侧分别为 * 运算符和 ( ) 运算符, 而 ( ) 的优先级高于 *, 函数名先与 () 结合 函数名 () 是函数的说明形式 在函数名之前的 *, 表示函数返回指针类型的值 程序设计 年秋 46

47 返回数据对象指针的函数示例 -1 编制在给定的字符串中找特定字符的第一次出现 若找到, 返回指向字符串中该字符的指针 ; 否则, 返回 NULL 值 程序设计分析 设函数为 sear_ch(), 该函数有两个形参, 指向字符串首字符的指针和待寻找的字符 函数 sear_ch() 的定义 char *sear_ch(char *s, char c) { while (*s && *s!= c) s++; return *s? s : NULL; 程序设计 年秋 47

48 返回数据对象指针的函数示例 -2 改写前面例子 ( 学生成绩单 ) 的函数 search(), 使新的 search() 函数具有单一的寻找功能, 不再包含输出等功能 新的函数 search() 的功能是从给定的成绩单中找指定学号的成绩表 新的函数 search() 的形参与前面例子中的函数 search() 的形参相同, 但新的函数 search() 返回找到的那位学生的成绩表 ( 不包括学号 ) 的指针 函数 search() 定义如下 int *search (int (*p)[6], int m, int no) { int (*ap)[6]; for(ap = p; ap < p+m; ap++) if(**ap == no) return *ap+1; return NULL; 程序设计 年秋 48

49 返回函数指针的函数 返回函数指针值函数定义或说明的一般形式为类型说明符 (* 函数名 ( 形参表 ))( 形参类型表 ); 按前面的例子, 菜单函数接受用户选择, 返回相应处理函数的指针 : double (*menu(char **))(double*, int) 在 menu() 函数说明中, 先是 menu(char **),menu 同园括号结合, 说明 menu 是函数 ; 随后是 (*menu(char **)), 同 * 结合, 函数返回指针 ; 接着是 (*menu(char **))(double*, int) 同一对园括号结合, 表示是指向函数的指针, 所指函数有 double* 和 int 类型两个形参 ; 最后是 double (*menu(char **))(double*,int), 说明指向的函数的返回值是 double 类型 程序设计 年秋 49

50 返回函数指针的函数示例程序 #include <stdio.h> #define N sizeof a / sizeof a[0] double max(double *, int), min(double *, int), ave(double *, int); double (*fpt[])(double *, int) = {max, min, ave, NULL; /* 函数指针数组 */ char *title[] = { 最大值, 最小值, 平均值, ; char *menuname[] ={" 求最大值 "," 求最小值 "," 求平均值 ",""; double a[] ={1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0; double (*menu(char **titptr))( double *, int) /* 函数返回函数的指针 */ { int ans, k; printf(" 请选择以下菜单命令 \n"); for(k=0; menuname[k][0]!='\0';k++) printf("\t%d:%s\n", k+1, menuname[k]); printf("\t 其它选择结束程序运行 \n"); scanf("%d", &ans); if (ans < 1 ans > 3) return NULL; *titptr = title[ans-1]; return fpt[ans-1]; /* 返回函数的指针 */ 程序设计 年秋 50

51 返回函数指针的函数示例程序 ( 续 ) void main () { double (*fp)( double *, int); char *titstr; double result; while (1) { if ((fp = menu(&titstr)) == NULL) break; result = (*fp)(a, N); printf("\n 结果 :%s = %4.2f\n\n", titstr, result); double max(double a[], int n) { int i; double r; for(r = a[0], i = 1; i < n; i++) if (r < a[i]) r = a[i]; return r; 程序设计 年秋 51

52 返回函数指针的函数示例程序 ( 续 ) double min(double a[], int n) { int i; double r; for(r = a[0], i = 1; i < n; i++) if (r > a[i]) r = a[i]; return r; double ave(double a[], int n) { int i; double r; for (r = 0.0, i = 0; i < n; i++) r += a[i]; return r/n; 程序设计 年秋 52

53 第 11 讲小结 指针形参 数组形参 字符指针形参 函数指针 函数指针和函数指针变量 利用函数指针调用函数 函数指针形参 函数指针数组 返回指针值的函数 返回数据对象指针的函数 返回函数指针的函数 程序设计 年秋 53

54 第六章作业 习题六 第 题 程序设计 年秋 54

没有幻灯片标题

没有幻灯片标题 指针作为函数参数 : 原因 : 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

《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 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 版 ) 黄保和 江弋编著清华大学出版社 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

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

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

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

第4章 栈和队列

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

More information

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试题(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

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

一 关于内存 数据存储 变量分类 局部变量 全局变量 静态变量 请看下面代码, 分析变量类型? int pi = 3; int Area(int r, int *sum) { int b; static int c =0; b = pi * r * r; c += b; *sum = c; retu

一 关于内存 数据存储 变量分类 局部变量 全局变量 静态变量 请看下面代码, 分析变量类型? int pi = 3; int Area(int r, int *sum) { int b; static int c =0; b = pi * r * r; c += b; *sum = c; retu 移动平台应用软件开发 C/C++/JAVA 基础 指针以及指针操作 主讲 : 张齐勋 zhangqx@ss.pku.edu.cn 移动平台应用软件开发 课程建设小组北京大学二零一五年 一 关于内存 数据存储 变量分类 局部变量 全局变量 静态变量 请看下面代码, 分析变量类型? int pi = 3; int Area(int r, int *sum) { int b; static int c =0;

More information

第4章 栈和队列

第4章  栈和队列 第 7 讲 数组 字符串 指针及其应用 (Part II) 周水庚 2006 年 10 月 18 日 程序设计 -2006 年秋 1 提要 数组的基本概念 一维数组 多维数组 字符数组和字符串 指针和数组 程序设计 -2006 年秋 2 数组 定义形式 类型说明符数组名 [ 常量表达式 ]; 类型说明符数组名 [ 常量表达式 ][ 常量表达式 ]; 引用形式 数组名 [ 下标 ] 数组名 [ 下标

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言語 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言語入門編『索引』 !... 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

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

PowerPoint 演示文稿

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

More information

期中考试试题讲解

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

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

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

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

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

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

上海市本科教学质量年度报告

上海市本科教学质量年度报告 上 海 市 本 科 教 学 质 量 年 度 报 告 数 据 内 涵 说 明 V2.0 版 上 海 市 教 委 高 教 处 上 海 喆 思 (2015.07.02) 目 录 一 基 本 统 计 挃 标 说 明... 4 二 挃 标 解 释... 4 1. 全 日 制 在 校 本 科 生 数 及 占 在 校 生 总 数 的 比 例 ( 学 年 )... 4 2. 当 年 本 科 招 生 与 业 总 数

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语言程序设计》教材习题参考答案 教材名称 : 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

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

文件

文件 CH10 文件 1 文件的概念 一 文件分类 二 文件的组织结构 : ASCII 码文件 ( 文本文件 ) 二进制文件 文件是二进制代码的, 则文件就是字节流 文件是 ASCII 码的, 则文件就是字符流, 也是字节流 1 如 : 对于整型变量 x, 其值为 32767 若以文本方式存放, 则共有 5 个字符, 内容为 : 00110011 00110010 00110111 00110110 00110111

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

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 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++ - 文件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

PowerPoint 演示文稿

PowerPoint 演示文稿 7.5 函数的嵌套调用 C 语言的函数定义是互相平行 独立的 即函数不能嵌套定义 但可以嵌套调用函数 即调用一个函数的过程中, 又可以调用另一个函数 7.5 函数的嵌套调用 main 函数 1 调用 a 函数 2 a 函数 3 调用 b 函数 4 b 函数 5 9 8 7 6 结束 7.5 函数的嵌套调用 例 7.5 输入 4 个整数, 找出其中最大的数 用函数的嵌套调用来处理 解题思路 : main

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

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

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

<4D F736F F D20CBB6CABFD1D0BEBFC9FAC8EBD1A7BFBCCAD4B4F3B8D92D383835B3CCD0F2C9E8BCC62E646F63>

<4D F736F F D20CBB6CABFD1D0BEBFC9FAC8EBD1A7BFBCCAD4B4F3B8D92D383835B3CCD0F2C9E8BCC62E646F63> 目录 I 考查目标... 2 II 考试形式和试卷结构... 2 III 考查内容... 2 IV. 题型示例及参考答案... 7 1 全国硕士研究生入学统一考试程序设计考试大纲 I 考查目标 全国硕士研究生入学统一考试计算机技术 软件工程专业学位硕士 程序设计 考试是为江苏大学招收以上硕士生设置的具有选拔性质的考试科目 其目的是科学 公平 有效地测试考生是否具备攻读计算机技术 软件工程专业学位硕士所必须的基本素质

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

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

从问题到程序——指针

从问题到程序——指针 指针 2011-5-18 地址与指针 3 内存地址 : 内存单元的编号 程序执行期间数据存放在内存区 : 有确定的存储位置, 且占据一定的内存单元 ; 机器语言通过地址访问数据, 高级语言将变量等作为存储单元 / 地址的抽象 ; 建立变量是分配存储单元, 赋值是将值存入单元, 取值是从单元中提取值 ; 任何变量在存在期间均有确定的存储位置, 有固定的地址 ( 寄存器变量除外 ); 内存的地址用固定长度的二进制编码,

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

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

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 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

第5章 递归 (Recurve)

第5章  递归 (Recurve) 第 8 讲函数的设计方法 周水庚 2012-11-1 提要 函数基础知识 函数定义 函数调用 函数形参 函数说明 递归函数基础 命令行参数 函数程序设计实例 程序设计 -2012 年秋 2 提要 函数基础知识 函数定义 函数调用 函数形参 函数说明 递归函数基础 命令行参数 函数程序设计实例 程序设计 -2012 年秋 3 函数基础知识 结构化程序设计中, 将复杂的功能分解成若干简单的子功能, 并用函数实现子功能,

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

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

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

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

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

Microsoft PowerPoint - 0 C复习.ppt [兼容模式]

Microsoft PowerPoint - 0 C复习.ppt [兼容模式] C 复习 董洪伟 http://hwdong.com 1 程序 : 数据 + 处理 ( 运算 ) 数据 : 变量和常量 int i = 3; 初始化式 变量需要定义 : 类型变量名 ; 类型变量名 = 变量或常量 ; doule pi, r=3.45,area; char var= A ; 类型变量 1, 变量 2, 变量 3; 同时定义多个变量, 逗号隔开 2 运算 : 用运算符对数据进行处理 y

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 第 1 章程序设计和 C 语言 1.1 什么是计算机程序 1.2 什么是计算机语言 1.3 C 语言的发展及其特点 1.4 最简单的 C 语言程序 1.5 运行 C 程序的步骤与方法 1.6 程序设计的任务 1.1 什么是计算机程序 程序 : 一组计算机能识别和执行的指令 只要让计算机执行这个程序, 计算机就会自动地 有条不紊地进行工作 计算机的一切操作都是由程序控制的, 离开程序, 计算机将一事无成

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

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

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

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

《C语言程序设计》期末程序设计练习题库.docx

《C语言程序设计》期末程序设计练习题库.docx C 语言程序设计 期末程序设计练习题库 第 3 章程序流程 1 写程序, 判断某一年是否闰年 ( 判断闰年条件 1: 非整百年数除以 4, 无余为闰, 有余为平 ;2 整百年 数除以 400, 无余为闰有余平 ) 2 输入三个数 a,b,c, 要求按由小到大的顺序输出 3 打印出 100-999 之间所有的 水仙花数, 所谓 水仙花数 是指一个三位数, 其各位数字立方和等于 该数本身 4 输出 101

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 C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

第 10 章结构体和枚举教案 一 授课题目 ( 教学章 节或主题 ) 10.1 结构体及结构体变量 10.2 结构体数组 二 教学时间安排 上课 2 学时 三 教学目的 要求 知识目标 : 学习结构体变量和结构体数组的定义和引用能力目标 : 掌握结构体的初步应用情感目标 : 通过结构体编程实践获得成

第 10 章结构体和枚举教案 一 授课题目 ( 教学章 节或主题 ) 10.1 结构体及结构体变量 10.2 结构体数组 二 教学时间安排 上课 2 学时 三 教学目的 要求 知识目标 : 学习结构体变量和结构体数组的定义和引用能力目标 : 掌握结构体的初步应用情感目标 : 通过结构体编程实践获得成 第 10 章结构体和枚举教案 一 授课题目 ( 教学章 节或主题 ) 10.1 结构体及结构体变量 10.2 结构体数组 二 教学时间安排 上课 2 学时 三 教学目的 要求 知识目标 : 学习结构体变量和结构体数组的定义和引用能力目标 : 掌握结构体的初步应用情感目标 : 通过结构体编程实践获得成就感, 提升 C 语言编程的兴趣 四 教学重点或难点 教学重点 : 结构体数组成员的引用 教学难点 :

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

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

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

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

Monthly Report 2010_12

Monthly Report 2010_12 年月日 程序设计 -2011 年秋 1 数组的基本概念 一维数组 多维数组 字符数组与字符串 程序设计 -2011 年秋 2 定义形式 类型说明符数组名 [ 常量表达式 ]; 类型说明符数组名 [ 常量表达式 ][ 常量表达式 ]; 引用形式 数组名 [ 下标 ] 数组名 [ 下标 ][ 下标 ] 程序设计 -2011 年秋 3 数组的基本概念 一维数组 多维数组 字符数组与字符串 程序设计 -2011

More information

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

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN: 978-7-302-13599-9, 红色封面答案制作时间 :2011 年 2 月 -5 月一 思考题 1 函数总需要从 main 中调用吗? 当调用一个函数时, 为什么要使用参数? 函数不是总需要从 main 函数中调用, 使用参数的目的是为了给被调函数传递数据 2 什么是函数的返回值? 是否每个函数都有返回值?

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

<4D F736F F D20D7DBBACFCAD4CCE231B2CEBFBCB4F0B0B82E646F63>

<4D F736F F D20D7DBBACFCAD4CCE231B2CEBFBCB4F0B0B82E646F63> 综合测试题一参考答案 一 填空题 ( 表达式求值 )( 本大题共 10 小题, 每小题 1 分, 共 10 分 ) 设各语句的初始化 相同 :int x=3,y=2,z=1; 1. x=y==z x= 0 2. x=!(z>y)&&!x 1 x= 1 3. x=(y++*1/3) x= 0 4. x=((x>y>z)?1:0) x= 0 5. x*=2+3 x= 15 6. x=(++z*y,y++,z%y)

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

觀 音 佛 祖 送 給 衣 宸 的 話 005 自 序 007 Part 1 修 行 心 體 驗 一 篇 看 見 佛 祖 012 二 篇 在 家 修 行 039 三 篇 世 界 的 創 造 者 054 四 篇 大 慈 悲 079 五 篇 最 珍 貴 的 禮 物 095 六 篇 自 救 法 力 練 習

觀 音 佛 祖 送 給 衣 宸 的 話 005 自 序 007 Part 1 修 行 心 體 驗 一 篇 看 見 佛 祖 012 二 篇 在 家 修 行 039 三 篇 世 界 的 創 造 者 054 四 篇 大 慈 悲 079 五 篇 最 珍 貴 的 禮 物 095 六 篇 自 救 法 力 練 習 觀 音 佛 祖 送 給 衣 宸 的 話 005 自 序 007 Part 1 修 行 心 體 驗 一 篇 看 見 佛 祖 012 二 篇 在 家 修 行 039 三 篇 世 界 的 創 造 者 054 四 篇 大 慈 悲 079 五 篇 最 珍 貴 的 禮 物 095 六 篇 自 救 法 力 練 習 110 七 篇 以 至 善 心 創 作 133 八 篇 智 慧 善 法 151 九 篇 我 的 修

More information

[改訂新版]C言語による標準アルゴリズム事典

[改訂新版]C言語による標準アルゴリズム事典 iii C 1991 SEND + MORE = MONEY C 100 2003 Java 2003 27 PC-9800 C BMP SVG EPS BMPSVG WindowsMacLinux Web iv int main() int main(void) EXIT_SUCCESS 0 https://github.com/okumuralab/ algo-c TEX TEX PDF PDF

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

<4D F736F F F696E74202D2043D3EFD1D4BFCEBCFE2D362DBAAFCAFD2E BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D2043D3EFD1D4BFCEBCFE2D362DBAAFCAFD2E BBCE6C8DDC4A3CABD5D> 第六章函数 郎大鹏 第六章函数 6.1 高效程序的编写方法 6.2 函数的定义 6.3 函数间数据的传递方法 6.4 函数的调用 6.5 函数的嵌套调用 6.6 函数的递归调用 6.7 局部变量和全局变量 6.8 变量的存储类别 6.9 习题 第六章函数 6.1 高效程序的编写方法 6.2 函数的定义 6.3 函数间数据的传递方法 6.4 函数的调用 6.5 函数的嵌套调用 6.6 函数的递归调用

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

C

C C 14 2017 5 31 1. 2. 3. 4. 5. 2/101 C 1. ( ) 4/101 C C ASCII ASCII ASCII 5/101 C 10000 00100111 00010000 ASCII 10000 31H 30H 30H 30H 30H 1 0 0 0 0 0 ASCII 6/101 C 7/101 C ( ) ( ) 8/101 C UNIX ANSI C 9/101

More information

PowerPoint Presentation

PowerPoint Presentation Typed Lambda Caculus,+, 程序设计语言理论 张昱 0551-63603804,yuzhang@ustc.edu.cn 中国科学技术大学计算机科学与技术学院 References PFPL Chapters: 4 Statics, 5 Dynamics, 6 Type Safety, 7 Evaluation Dynamics Chapters: 10 Product Types,

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

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

Figure 1: Game Tree 为 了 方 便 讨 论, 我 们 这 里 设 这 里 讨 论 的 博 弈 树 是 一 棵 有 限 树, 设 有 两 个 棋 手 甲 与 乙 进 行 这 场 博 弈, 这 样, 博 弈 树 分 为 三 类 结 点 : 1. 奇 数 层 的 非 叶 子 结 点 :

Figure 1: Game Tree 为 了 方 便 讨 论, 我 们 这 里 设 这 里 讨 论 的 博 弈 树 是 一 棵 有 限 树, 设 有 两 个 棋 手 甲 与 乙 进 行 这 场 博 弈, 这 样, 博 弈 树 分 为 三 类 结 点 : 1. 奇 数 层 的 非 叶 子 结 点 : 从 极 大 极 小 算 法 到 主 要 变 例 搜 索 孙 锴 1 综 述 人 机 对 弈 在 计 算 机 诞 生 前 就 开 始 了 发 展, 时 至 今 日, 人 机 对 弈 领 域 提 出 的 搜 索 算 法 数 目 已 经 非 常 之 多, 但 从 根 本 上 看, 许 多 搜 索 算 法 之 间 的 内 在 的 核 心 思 想 是 一 致 的 本 文 介 绍 将 从 极 大 极 小 搜 索

More information

國家圖書館典藏電子全文

國家圖書館典藏電子全文 - 143-1. 2. 1 60 30 1959 8 1998 pp.544~48 - 144-3. 4. 5. 6. 7. 8. 9. ( ) 10. 11. 12. 13. - 145 - -i 2. 13. -i -ii 2 1993 6 pp.46~51 3 1993 pp.69~76 p.552 4 1985 5 pp.257~58 - 146-1. 3. 5. 7. 9. ( ) 11.

More information

3. 給 定 一 整 數 陣 列 a[0] a[1] a[99] 且 a[k]=3k+1, 以 value=100 呼 叫 以 下 兩 函 式, 假 設 函 式 f1 及 f2 之 while 迴 圈 主 體 分 別 執 行 n1 與 n2 次 (i.e, 計 算 if 敘 述 執 行 次 數, 不

3. 給 定 一 整 數 陣 列 a[0] a[1] a[99] 且 a[k]=3k+1, 以 value=100 呼 叫 以 下 兩 函 式, 假 設 函 式 f1 及 f2 之 while 迴 圈 主 體 分 別 執 行 n1 與 n2 次 (i.e, 計 算 if 敘 述 執 行 次 數, 不 1. 右 側 程 式 正 確 的 輸 出 應 該 如 下 : * *** ***** ******* ********* 在 不 修 改 右 側 程 式 之 第 4 行 及 第 7 行 程 式 碼 的 前 提 下, 最 少 需 修 改 幾 行 程 式 碼 以 得 到 正 確 輸 出? (A) 1 (B) 2 (C) 3 (D) 4 1 int k = 4; 2 int m = 1; 3 for (int

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

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

技能竞赛C试题

技能竞赛C试题 C 语言程序设计单元测验六 ( 指针 ) 一 单项选择题 ( 每题 1 分, 共 54 分 ) 1 有以下程序 void fun(char *a, char *b) { a=b; (*a)++; { char c1='a',c2='a',*p1,*p2; p1=&c1; p2=&c2; fun(p1,p2); printf("%c%c\n",c1,c2); A Ab B aa C Aa D Bb 2

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

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八二三四五六七八九十一二三四五

一二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八二三四五六七八九十一二三四五六七八九十一二三四五六七八九十一二三四五六七八二三四五六七八九十一二三四五 科学出版社职教技术出版中心 www.aboo C 语言程序设计学习指导与练习 ( 二级 ) 魏文主编 陈燕敏汪志勤李文锦副主编 北京 内容简介本书针对浙江省计算机等级考试的大纲, 结合作者多年的实际教学经验, 总结归纳出各章节的知识点, 对重点 难点等内容进行解释与剖析, 并给出实例 书中提供了四套笔试综合练习题和详解, 分析解题思路, 给出应试技巧 针对上机考试, 编写了上机练习精解, 同时提供了一套上机考试模拟练习题及解答,

More information

test

test C 语言程序设计教案 计算机科学技术学院基础教学部 前言 一. 教学目的 C 语言程序设计是高等学校本专科生计算机基础教学中的一门必修的公共基础课, 也是学习计算机的入门课 教学目的是通过理论教学和实验操作, 使学生掌握 C 程序编写及操作, 使学生具备在信息化社会里工作 学习和生活所必须的计算机编程知识与基本操作技能, 系统地 正确地建立计算机相关概念, 具备独立读写程序的能力, 并使学有余力的同学对

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

<4D F736F F D C4EA33D4C2C8ABB9FABCC6CBE3BBFAB5C8BCB6BFBCCAD4B6FEBCB6B1CACAD4CAD4BEEDBCB0B2CEBFBCB4F0B0B82E646F63>

<4D F736F F D C4EA33D4C2C8ABB9FABCC6CBE3BBFAB5C8BCB6BFBCCAD4B6FEBCB6B1CACAD4CAD4BEEDBCB0B2CEBFBCB4F0B0B82E646F63> 2012 年 3 月全国计算机等级考试二级笔试试卷及参考答案 C 语言程序设计 ( 考试时间 90 分钟, 满分 100 分 ) 一 选择题 ((1)-(10) (21)-(40) 每题 2 分,(11)-(20) 每题 1 分, 共 70 分 ) 下列各题 A) B) C) D) 四个选项中, 只有一个选项是正确的 请将正确选项填涂在答题卡相应位置上答在试卷上不得分 1. 下列叙述中正确的是 A)

More information

1 2005 9 2005,,,,,,,,,, ( http: \ \ www. ncre. cn,, ) 30,,,,,,,, C : C : : 19 : 100081 : : 7871092 1 /16 : 8. 75 : 96 : 2005 11 1 : 2005 11 1 : ISBN 7

1 2005 9 2005,,,,,,,,,, ( http: \ \ www. ncre. cn,, ) 30,,,,,,,, C : C : : 19 : 100081 : : 7871092 1 /16 : 8. 75 : 96 : 2005 11 1 : 2005 11 1 : ISBN 7 1 2005 9 2005,,,,,,,,,, ( http: \ \ www. ncre. cn,, ) 30,,,,,,,, C : C : : 19 : 100081 : : 7871092 1 /16 : 8. 75 : 96 : 2005 11 1 : 2005 11 1 : ISBN 7-80097 - 564-9 /TP 8 : 10. 00 ,,,, 1994 NCRE,,, ( ),,,,,

More information

关于编写硕士研究生入学考试自命题初试科目

关于编写硕士研究生入学考试自命题初试科目 华北水利水电大学 2019 年硕士研究生入学考试初试科目考试大纲 农业综合知识三 ( 科目代码 :341) 考试大纲 考试形式和试卷结构一 试卷分值及考试时间考试时间 180 分钟 (3 个小时 ), 满分 150 分二 考试基本要求本考试大纲适用于报考华北水利水电大学农业工程与信息技术专业硕士研究生入学考试, 该科目包括 : 数据库 c 语言程序设计 计算机网络三部分内容 三 试卷内容及结构数据库部分占

More information

内 容 提 要 指 针 持 久 动 态 内 存 分 配 字 符 串 ( 字 符 数 组 ) 2

内 容 提 要 指 针 持 久 动 态 内 存 分 配 字 符 串 ( 字 符 数 组 ) 2 第 六 讲 指 针 与 字 符 串 1 内 容 提 要 指 针 持 久 动 态 内 存 分 配 字 符 串 ( 字 符 数 组 ) 2 指 针 什 么 是 指 针 指 针 的 定 义 与 运 算 指 针 与 一 维 数 组 指 针 数 组 行 指 针 与 二 维 数 组 指 针 与 引 用 指 针 与 函 数 3 指 针 定 义 什 么 是 指 针 指 针 变 量, 简 称 指 针, 用 来 存 放

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

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

<4D F736F F F696E74202D20B5DA3032BDB25FC0E0BACDB6D4CFF3312E BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D20B5DA3032BDB25FC0E0BACDB6D4CFF3312E BBCE6C8DDC4A3CABD5D> 程序设计实习 (I): C++ 程序设计 第二讲类和对象 (1) 面向对象的程序设计 面向对象的程序设计方法, 能够较好解决结构化程序设计中出现的问题 面向对象的程序 = 类 + 类 + + 类 设计程序的过程, 就是设计类的过程 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

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

06-statement

06-statement PHP 基本语法 条件 循环 函数杨亮 程序的基本结构 程序 输 入 运算 (+ - x / &! ) 逻辑 ( 条件 循环 递归 ) 输出 辅助 ( 变量 数组 函数 ) 小测验 用你熟悉的程序找出 1~1000 中的所有质数 我们直接看代码好了 if else elseif 1

More information