c语言面试题总结.doc
|
|
|
- 许 符
- 9 years ago
- Views:
Transcription
1 参考 : C/C++ 程序员面试指南 杨国祥等编著电子工业出版社 编程规范 1 头文件内有时会定义一些类, 结构体等, 如果被包含多次, 将会出现类型重定义的错误, 所以通常使用预处理指令来解决这个问题 #ifndef 标识 #define 标识. #endif 标识在理论上是可以自由命名的, 但每个头文件的这个标识都应该是唯一的, 标识的命名的规则一般是头文件名全大写, 前后加下划线, 并把头文件中的. 也变成下划线, 如 myprogram.h: #ifndef _MYPROGRAM_H_ #define _MYPROGRAM_H_.. #endif 2 全局变量加前缀 g_( 代表 global) 3 常量全用大写字母 4 指针变量命名 :p+ 变量类型 + 命名函数指针 1 请解析 (*(void (*)())0)() 的含义 解答 : 从后向前逐步分析 : a 当有如下函数声明时:void fun(param); 这个函数的调用方式为 :fun(param); 所以对比知原题的函数没有参数, 可简化 fun(); b 指针函数声明为:void (*pfun) (param); 调用形式为 :(*pfun) (param); 所以对比原题知本题函数的调用方式为 :(*0)(); 即 :(*(void (*)())0)() 把阴影部分去掉 ; 但是函数指针变量不能是个常数, 所以还要把 0 强制转换为函数指针, 根据本题, 可知用 void (*)() 将 0 转化为了一个返回值为 void, 参数为空的函数指针 c 所以*(void (*)())0 表示一个返回值为 void, 没有参数, 并且起始地址为 0 的函数的名字 d 所以(*(void (*)())0)() 就是对 c 中的函数名所对应的函数的调用 e 可以用 typedef 来加深对本句的理解 : typedef void(*pfun)(); (*(pfun)0)(); 这两句和 (*(void (*)())0)() 是等价的 注 : 这样做可以使微处理器从 0 地址启动, 可以模拟开机时候的情形 野指针野指针, 不是 NULL 指针, 而是指向垃圾内存即不可用内存的指针 产生原因 : 1 指针变量声明时没有初始化 任何指针变量刚被创建时都不会自动初始化为 NULL, 而是指向一个随机地址 要养成在声明指针变量的时候将其初始化为 NULL, 如果暂时不知道它的值, 应将其赋值为 NULL char *p1 = NULL; char *p2 = (char *)malloc(100); 2 指针 p 被 free 之后, 没有置为 NULL, 让人误以为 p 是个合法的指针
2 char *p = (char *)malloc(100); strcpy(p, before ); free(p); //p 所指向的内存被释放, 但是 p 的值不变 if(p!= NULL) // 检测不到错误 strcpy(p, after ); 为了避免这种情况, 指针在 free 之后应赋值为 NULL 3 指针超越了变量的作用范围, 这种情况让人防不胜防 #include<iostream.h> class A public: void Func(void) value = 3; cout<< in fun of A <<endl; public: void f(a *p) A a; p = &a; p->func(); void main(void) A *p; f(p); //a 的作用域结束 int value; p->func(); // p 成了野指针 ; 函数 f 结束时, 变量 a 被释放,p 指向了垃圾内存, 但是在 main 函数中又用 p 调用了 Fun, 而此时 p 所指向的内存不可用 (a 释放后 p 就成了野指针 ), 将导致内存操作错误 常见的一道题 : void GetMemory(char *p) p = (char *)malloc(100); char *str = NULL; getmemory(str); // 执行完这句之后,str 的值仍为 NULL, 如果想改变指针的值 strcpy(str, hello world );//GetMemory 的参数要为二级指针 printf(str); ############################################################################### void *GetMemory(void) char p[] = hello world ; return p; char *str = NULL; str = getmemory()();
3 printf(str); GetMemory 中 p[] 是局部变量, 函数返回时,p 就被释放掉了,str 便指向了一段无用的内存区域, 输出的 str 将是乱码 ############################################################################### void GetMemory(char **p, int num) *p = (char *)malloc(num); char *str = NULL; getmemory(&str, 100); strcpy(str, hello ); printf(str); *p = (char *)malloc(num); 之后没有判断动态申请内存是否成功而直接使用, 应首先判断 If(NULL == *p)..// 申请失败处理 另外, 没有释放动态申请的内存空间 ############################################################################### char *str = (char *)malloc(100); strcpy(str, hello ); free(str); 在申请了动态内存后没有检查是否申请成功就直接使用, 并且在 free 之后没有将指针置空, str 就成了野指针 一定要记得每次释放动态申请的内存空间后要将指针置空 free(str); str = NULL; 嵌入式编程 1 编码实现某一变量某位清 0 或置 1, 比如清除或置位整型变量 a 的第 3 位 #define BIT3 (0x1 << 3) static int a; void set_bit3(void) a = BIT3; void set_bit3(void) a &= ~BIT3;
4 2 死循环 a while(1) b for(; ;) // 这两种区别 for 不用比较, 效率稍微高点 c Loop:. goto Loop; 3 用变量 a 给出下面的定义 A 一个整形数 :int a; B 一个指向整形数据的指针 :int *a; C 一个指向指针的指针, 它指向的指针是指向一个整形数 :int **a; D 一个有 10 个整形数据的数组 :int a[10]; E 一个有 10 个指针的数组, 该指针是指向整形数据 :int *a[10]; 总结一下 : 变量声明为 int *a[10] 时, 定义的是指针数组 a; 变量声明为 int (*a)[10] 时, 定义了数组指针 a; 变量声明为 int *a() 时, 定义的是返回值为整型指针的函数 a; 变量声明为 int(*a)() 时, 定义了返回值为整形数据的函数指针 a 接着来 : F 一个指向有 10 个整型数据数组的指针 :int(*a)[10]; G 一个指向函数的指针, 该函数有一个整型参数并返回一个整形数 :int (*a)(int); H 一个有 10 个指针的数组, 该指针指向一个函数, 该函数有一个整形参数并返回一个整形数 : H 是 F 和 G 的联合, 可以用 typedef 来实现, 定义一个函数的别名 : typedef int (*pfun)(int); 再定义这个指针的数组 : pfun a[10]; 即 :int (*a[10])(int); 4 设置地址为 0x67a9 的整型变量的值为 0xaa66 int *ptr; ptr = (int *)0x67a9; *ptr = 0xaa66; 或者 :*(int * const)(0x67a9) = 0xaa66;// 最好不要为了方便采用这种写法 主要考察了是否知道为了访问一个绝对地址, 把一个整形数强制转换为一个指针是合法的, 为什么是合法的呢? 因为无论在什么平台上, 地址长度和整型数据的长度都是一样的, 即一个整型数据可以强制转换成地址指针类型, 只要有意义即可 a 和 &a 的区别写出一下代码的打印结果 #include <stdio.h> void main(void) int a[5] = 1,2,3,4,5; int *ptr = (int *)(&a+1);
5 printf( %d,%d, *(a+1),*(ptr-1)); return; *(a+1) 就是 a[1], 但 *(ptr-1) 并不是 a[0], 因为 &a+1 并不是数组 a 的首地址加 1, 系统会认为是数组 a 的首地址加上一个数组 a 的偏移, 即偏移了一个数组的大小 (5 个 int 的地址 ), 原式中 int *ptr = (int *)(&a+1); 的结果是,ptr 指向了数组的第六个元素 a[5] 所以输出结果是 2, 5 自己编写一个 strcpy 函数 char *strcpy(char *str1, const char *str2) // 加 const 的目的 assert((str1!= NULL)&&(str2!= NULL)); // 判断指针的合法性 char *address = str1; // 记录目标指针所指向的地址 while((*str1++ = *str2++)!= \0 ); // 拷贝直到 str2 结束 return address; // 返回目标地址 加 const 的目的 : 因为 str2 传入的指针所指向的内容应该是只读型的, 不应该在 strcpy 内被改变 5 char x[] = abcd 和 char y[] = a, b, c, d 有什么不同? 答 : 用单引号引起来的一个字符代表一个整数, 而用双引号引起来的字符, 代表的一个字符串 所以 char x[] = abcd 意思是将字符串 abcd 以及结束符 \0 存到 x 而 char y[] = a, b, c, d 是将 4 个字符存到数组 y 6 == 和!= 的运算符优先级要高于 &,,~,&&, 运算符 7 & 和 &&, 和 有什么区别? 答 :(1)& 和 对操作数进行求值运算 ( 按位与 ),&& 和 只是判断逻辑关系 ;(2)&& 和 在判断左侧操作数就能确定结果的情况下就不再对右侧操作数求值 8 字符型数据占一个字节, 整型数据在 32 位机上占 4 个字节, 指针保存的是一个内存地址, 其长度是和整型数据一致的 9 sizeof 和 strlen 的区别 答 :a sizeof 是一个运算符, 用来返回一个数据类型的长度, 而 strlen 是一个库函数, 用来返回一个字符串的长度 ; b sizeof 的参数可以数数据类型, 也可以是变量 ( 此时 sizeof 后面的括号可以不加 ), 而 strlen 只能以 char * 并且结尾为 \0 的字符串做参数 例 :void main(void) int a = 3; printf ( %d, %d, sizeof(int), sizeof(a)); char *p = hello 123! ; printf( %d, strlen(p)); printf( %d, sizeof(p)); 结果为 4,4,10,4 c 数组做 sizeof 的参数不退化, 传递给 strlen 就会退化为指针 void main(void)
6 char str[10] = abcd ; int x = strlen(str); int y = sizeof(str); printf( %d,%d,x,y); 结果为 4,10 因为数组作为参数传给函数时, 传递的是指向数组首地址的指针而不是数组数据结构 10 结构体内存对齐问题首先介绍位域的概念 : 所谓位域就是把一个字节中的位按照实际的需求分成不同的区域, 表明每个区域位数, 区域的域名, 并允许程序按照域名进行操作 定义 : struct 位域的结构名 位域列表 ; 位域列表的形式为 : 类型说明符 位域名 : 位域的长度 如 :struct bs int a:8; int b:2; int c:6; ; 对于位域的定义, 有一下几点说明 : a 一个位域必须存储在同一个字节中, 不能跨接两个字节 如果一个字节所剩空间不够存放另一个位域时, 应从下一单元起存放该位域 也可以有意使某位域从下一单元开始 例如 : struct wy unsigned a:6; unsigned :0; unsigned b:4; unsigned c:4; ; 在这个位域定义中,a 占第一字节的 6 位, 后两位填 0 表示不使用,b 从第二字节开始, 占用 4 位,c 占用 4 位 b 由于位域不允许跨两个字节, 因此位域的长度不能大于一个字节的长度, 也就是不能超过 8 位二进制位 c 位域可以无位域名, 这时它只用来填充或调整位置 无名的位域是不能使用的 好了, 做题 : 写出下面代码的输出结果 : struct s1 struct s2 int i:8; int i:8; char j:4; int j:4; int a:4; double b; double b; int a:4; ; ;
7 struct s3 int i; char j; double b; int a; ; printf( sizeof(s1) = %d\n,sizeof(s1)); printf( sizeof(s2) = %d\n,sizeof(s2)); printf( sizeof(s3) = %d\n,sizeof(s3)); 结果 :sizeof(s1) = 16 sizeof(s2) = 24 sizeof(s3) = 32 每个数据都要对照结构体内最大数据的最小公倍数对齐 S1 按 8 字节对齐,double 是 8 字节类型数据 11 宏在使用过程中由于直接替代会导致副作用即使小心地使用括号括起了宏的参数 表达式, 但是有些问题还是避免不了的 如写一个标准宏 MIN #define min(a,b) ((a) <= (b)? (a) : (b)) 在调用时如果出现下面情况 : ((++*p) <= (x)? (++*p) : (x)), 这样 p 指针就自加了两次, 违背了程序员的本意 12 typedef 为复杂的声明定义一个新的简单的别名使用方法 : 在原来的声明中逐步用别名替换一部分复杂声明, 把带变量名的部分留到最后替换, 得到的就是原声明的最简化版 例 1: char *(*a[7])(char, int *) 这条语句定义了一个包含 7 个指针元素的数组 a, 指针指向的函数有两个参数, 一个是字符型, 一个是整型指针 函数的返回值是字符指针型数据, 但是这条语句的书写形式不利于阅读, 此时可用 typedef 做如下简化 : typedef char *(*pfun)(char, int *); pfun a[7]; 例 2: void (*a[7]) (void (*) ()); 这条语句定义了 7 个函数指针元素的数组 a, 这个函数有一个函数指针参数 ( 这个函数无参数, 无返回值 ), 可以将 void (*)() 先简化为 :typedef void (*pfunparam)(), 带入原式, typedef void (*a[7])(pfunparam); 接下来的步骤和例 1 相同, 接着进行替换 : typedef void (* pfun)(pfunparam); 最后原式可以简化为 : pfun a[7]; 13 一个参数可以既是 const 又是 volatile 的吗? 分析 :volatile 修饰的变量的值是程序不可控的, 可以不被程序明确指明的方式改变, 如外部端口 它的变化不用程序内部赋值语句就可实现 const 修饰的变量在程序中是只读的, 不能被改变的 但这仅限于程序内部, 它可以被程序外的东西改变 例如用 const 修饰外部端口, 程序内部不可以修改它的值, 但是外部却可以 另外一种情况是只读的状态寄存器, 它受 volatile 修饰, 但他却可能被意想不到的改变 综上, 可以用 const 和 volatile 同时修饰变量, 表示这个变量在程序内部是只读的, 不能被改变的, 只在程序外部条件变化下改变 2011/2/17 笑寒
Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]
指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++
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 标识符逗号分隔,
《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 =
《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;,
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. 注意 "," 后面有一个空格,"." 结束,
新版 明解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,
CC213
: (Ken-Yi Lee), E-mail: [email protected] 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] : ,
新版 明解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
新・解きながら学ぶ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
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];
新・明解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
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.
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: [email protected] 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP
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 ;
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
C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40
C C [email protected] C C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 Week3 C Week5 Week5 Memory & Pointer
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.
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
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 [email protected] 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,
FY.DOC
高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主
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,
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
《计算概论》课程 第十九讲 C 程序设计语言应用
计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 [email protected] 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout
_汪_文前新ok[3.1].doc
普 通 高 校 本 科 计 算 机 专 业 特 色 教 材 精 选 四 川 大 学 计 算 机 学 院 国 家 示 范 性 软 件 学 院 精 品 课 程 基 金 青 年 基 金 资 助 项 目 C 语 言 程 序 设 计 (C99 版 ) 陈 良 银 游 洪 跃 李 旭 伟 主 编 李 志 蜀 唐 宁 九 李 涛 主 审 清 华 大 学 出 版 社 北 京 i 内 容 简 介 本 教 材 面 向
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!=
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) (
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 ;
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
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
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
Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx
运算符重载 Operator Overloading class Point { public: ; double x_, y_; Why Operator Overloading? Point (double x =0, double y = 0):x_(x),y_(y) { int main(){ Point a(1., 2), b(3,4); Point c = a + b; return 0;
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.
( 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.
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 [email protected] 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
Microsoft PowerPoint - C语言课件-9-结构体.pptx
第九章结构体 郎大鹏 第九章结构体 9.1 结构体类型的声明方法 9.2 结构体类型变量的定义与使用 9.3 结构体数组 9.4 编程举例 9.5 习题 9.1 结构体类型的声明方法 结构体声明的语法形式如下 : struct 结构体标识符 成员变量列表 ; }; 例如, 为了描述班级 ( 假设仅仅包括班级编号 专业 人数等信息 ), 可以声明如下的结构体类型 struct Class char Code[10];
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)
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
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
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,,, ( ),,,,,
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.
北京大学
1 string 类 郭炜刘家瑛 北京大学程序设计实习 string 类 string 类是一个模板类, 它的定义如下 : typedef basic_string string; 使用 string 类要包含头文件 string 对象的初始化 : string s1("hello"); // 一个参数的构造函数 string s2(8, x ); // 两个参数的构造函数
文件
CH10 文件 1 文件的概念 一 文件分类 二 文件的组织结构 : ASCII 码文件 ( 文本文件 ) 二进制文件 文件是二进制代码的, 则文件就是字节流 文件是 ASCII 码的, 则文件就是字符流, 也是字节流 1 如 : 对于整型变量 x, 其值为 32767 若以文本方式存放, 则共有 5 个字符, 内容为 : 00110011 00110010 00110111 00110110 00110111
Ps22Pdf
C ( CIP) C /. :, 2001. 7 21 ISBN 7-5624 -2355-5. C........ C. TP312 CIP ( 2001 ) 034496 C * * : 7871092 1 /16 : 14. 25 : 356 20017 1 20017 1 : 1 6 000 ISBN 7-5624-2355-5 / TP311 : 21. 00 C, C,,,, C,, (
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
获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复
获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret
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
/ V 0.9 V 1.0 2001-7-1 2001-7-18 2001-7-18 2001-7-24 V 0.9 2001 Page 2 of 101
C++/C [ ] 1.0 [ ] [ ] 2001 7 24 / V 0.9 V 1.0 2001-7-1 2001-7-18 2001-7-18 2001-7-24 V 0.9 2001 Page 2 of 101 ...6 1...8 1.1...8 1.2...8 1.3...8 1.4...8 1.5...8 2...8 2.1...8 2.2...8 2.3...8 2.4...8 2.5...8
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
第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
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;
试卷代号 :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 均为逻辑值,
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 数据 ; 要求每个类均有构造函数 析构函数和显示数据的函数
Guava学习之Resources
Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于
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
エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 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]);
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
untitled
1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override
新・解きながら学ぶJava
481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --
プログラムの設計と実現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
帝国CMS下在PHP文件中调用数据库类执行SQL语句实例
帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)
C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha
CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc
1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un
Linux C July 27, 2016 Contents 1 Linux IDE 1 2 GCC 3 2.1 hello.c hello.exe........................... 5 2.2............................... 9 2.2.1 -Wall................................ 9 2.2.2 -E..................................
《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];,
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) 复习 面向对象编程 将实际问题分解成不同的对象 不的对象提供不同的服务 对象之间可以传递消息 例子小李深夜
PowerPoint 演示文稿
第 12 章再谈指针 本章的基本内容是 : 指针与数组 指针与结构体 动态存储分配 由于指针可以直接对内存进行操作, 所以指针的功能非常 强大 正确灵活地使用指针可以有效地表示复杂的数据结 构, 并可动态分配内存空间, 提高程序的运行效率 任务 12.1 判断回文 问题 输入一个字符串, 判断该字符串是否为回文 ( 首尾对称的字句, 例如 abcba abba 均为回文 ) 要求用指针实现 想法 设两个指针变量
网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
C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1
C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 CIRCLE 1 Circle 描述 编写一个圆类 Circle, 实现半径的输入 面积的计算和输出 输入 圆的半径 (double 类型 ) 输出 圆的面积 ( 保留小数点后两位 ) 样例输入 3 样例输出 28.27 提示 圆周率的取值需要比较精确, 以保证计算结果的精度 #include
