文章分类 - C Program Design
摘要:有符号数的表示方法是由硬件决定,而不是由C决定的。有三种表示方法: 1、二进制原码 0000 0001 表示 1 1000 0001 表示 -1 这个方法有个缺点是有两个零: +0 和 -0。这会引起混淆,而且用两个位组合来表示一个值也有些浪费。 2、二进制补码(最普遍的系统) 区别在于 singn
阅读全文
摘要:对于有符号整型,也就是int型,是和编译器的字长有关的,只有在16位编译器上,int类型占2个字节,其表示范围才是-32768~32767; 对于32位和64位编译器,int类型占4字节,表示范围为-2147483648~2147483647。以16位编译器为例,介绍其原理,对于32位和64位类似。
阅读全文
摘要:原理: 通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 时间复杂度 快速排序涉及到递归调用,所以该算法的时间复杂度还需要从递归算法的复杂度开始说起; 递归算法的时间复杂度公式:T[n] = a
阅读全文
摘要:归并排序算法采用的是分治算法,即把两个(或两个以上)有序表合并成一个新的有序表,即把待排序的序列分成若干个子序列,每个子序列都是有序的,然后把有序子序列合并成整体有序序列,这个过程也称为2-路归并.注意:归并排序的一种稳定排序,即相等元素的顺序不会改变. 归并排序之递归实现: 归并排序时间复杂度分析
阅读全文
摘要:简单选择排序没有把每一趟的比较结果保存下来,堆排序做到了在每次选择到最小记录的同时,根据比较结果对其他的记录做出相应的调整。 完全二叉树的某个结点到根结点的距离为;向下取整 [logi]+1。 堆排序的过程
阅读全文
摘要:比较次数依然是n(n-1)/2,但交换次数最差的时候是(n-1); 时间复杂度O(n^2)
阅读全文
摘要:书中关于原码、反码、补码和移码的定义如下(n是机器字长): 原码: 反码: 补码: 移码: 看完这些定义以后,我的脑袋瞬间膨胀到原来的二倍!这样变态的公式不管你记不记得住,反正我是记不住!还好以前对它们有所了解,否则看到这一堆公式恐怕我早就放弃参加软考的念头喽。 其实没必要弄得这么麻烦,它们完全可以
阅读全文
摘要:口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,问得到3种不同色的球的可能取法,输出每种排列的情况。
阅读全文
摘要:10.21用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。n和正整数在主函数中输入。最后在主函数中输出。 每一步都要思维缜密。 结果:
阅读全文
摘要:什么是空指针常量(null pointer constant)?[6.3.2.3-3] An integer constant expression with the value 0, or such an expression cast to type void *, is called a nu
阅读全文
摘要:注意下面的程序在运行期间,*(p)、*(p+i)等都是常量,不能被随便赋值。 #include #include int main(){ char arr[3][6]; char (*p)[6],(*t)[6]; for(int i=0; i<3; i++){ gets(arr[i]); } printf("之前\n"); f...
阅读全文
摘要:getchar 由宏实现:#define getchar() getc(stdin)。 getchar 有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓 冲区中).当用户键入回车之后,getchar才开始
阅读全文
摘要:#include //输入a,b,c这三个整数,按大小顺序输出。 void main(){ void exchange(int * x,int * y,int * z); int a,b,c,*m,*n,*p; scanf("%d%d%d",&a,&b,&c); m=&a;n=&b;p=&c; exchange(m,n,p); printf(...
阅读全文
摘要:for.h
阅读全文
摘要:函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]); scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。 其调用格式为:
阅读全文
摘要:Java并不仅仅是C++语言的一个变种,它们在某些本质问题上有根本的不同: (1)Java比C++程序可靠性更高。有人曾估计每50行C++程序中至少有一个BUG.姑且不去讨论这个数字是否夸张,但是任何一个C++程序员 都不得不承认C++语言在提供强大的功能的同时也提高了程序含BUG的可能性。Java
阅读全文
摘要:用弦截法求方程f(x)=x^3-5x^2+16x-80=0的根。代码如下。
阅读全文
摘要:puts()函数只用来输出字符串,没有格式控制,里面的参数可以直接是字符串或者是存放字符串的字符数组名。 printf()函数的输出格式很多,可以根据不同格式加转义字符,达到格式化输出。 puts()函数的作用与语句printf("%s\n",s);的作用形同。 例子: ①: #include <s
阅读全文
摘要:scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别。若想从键盘上输入字符串"hi hello",则应该使用__gets__函数。 gets可以接收空格;而scanf遇到空格、回车和Tab键都会认为输入结束,所以它不能接收空格。 所以在输入的字符串中包含空格时,应该使用get
阅读全文

浙公网安备 33010602011771号