摘要:
PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember access from a pointerMember access from an objectScoping operatorPost-incrementPost-decrement(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 34;Class::age = 2;for( i = 0; i < 10; i++ ) ...for 阅读全文
摘要:
1、写一个函数计算当参数为n(n很大)时的值 1-2+3-4+5-6+7……+nlong fn(long n) { if(n<=0) { printf("error: n must > 0); exit(1); } if(0==n%2){ return (n/2)*(-1); } else { return (n/2)*(-1)+n; }} 阅读全文
摘要:
1、进程与线程的区别区别进程线程概念进程是表示资源分配的基本单位。线程是操作系统可识别的最小执行和调度单位。线程体现的特征是可执行的,是CPU资源的分派单位。关系一个进程可以有多个线程,但至少有一个线程。一个线程线程必定是属于某个进程的。资源分配资源只分配给进程,同一进程的所有线程共享该进程的所有资源。 同一进程中的多个线程共享代码段(代码和常量),数据段(全局变量和静态变量),扩展段(堆存储)。当进程结束时,所有的资源被回收。每个线程有自己独立的栈段,栈段又叫运行时段,用来存放所有局部变量和临时变量。当进程结束时,线程作为进程的资源也会被终止。系统 开销 创建或撤消进程时,系... 阅读全文
摘要:
1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这 阅读全文
摘要:
1、下面的程序并不见得会输出 hello-std-out,你知道为什么吗?123456789101112#include <stdio.h>#include <unistd.h>int main() {while(1){fprintf(stdout,"hello-std-out");fprintf(stderr,"hello-std-err");sleep(1);}return 0;}参考答案:stdout和stderr是不是同设备描述符。stdout是块设备,stderr则不是。对于块设备,只有当下面几种情况下才会被输入,1)遇 阅读全文