c语言
文章平均质量分 70
dony1994
这个作者很懒,什么都没留下…
展开
-
Dev-Cpp/Mingw32 环境介绍
对于现在越来越多得关于编程方面得问题和商业公司对版权问题的担心。所以向各位推荐一款类似于VC的IDE。这款IDE所使用的编译程序是 GCC的Win32版本 Mingw32。而IDE本身也是GPL协议的产物。所以,不论是商业用户,还是个人用户都能够自由的使用她,而不必为使用盗版软件而提心吊胆的。另外,由于Mingw32是GCC的Win32版本。所以,也为Win32的程序员可以了解一下Unix和类Uni转载 2015-07-26 21:25:18 · 418 阅读 · 0 评论 -
C++输出格式控制
对于流数据的输入输出格式,C++提供了两种不同的控制方式,一种是使用ios_base类提供的setf、width等函数设置输入输出格式,另一种是通过重载的格式控制符“”、“”以及流格式控制对象进行设置。本文只介绍:用函数设置或者恢复格式 大部分流的输入输出格式对于流数据的输入输出格式,C++提供了两种不同的控制方式,一种是使用ios_base类提供的setf、width等函数设置输入输出格式,另一种转载 2015-10-04 19:12:28 · 686 阅读 · 0 评论 -
二维数组的传参
二维数组的存储方式是和一维数组没什么区别,但是用二维数组做参数,它的形参该怎样写?要注意的是:函数中的形参其实就相当于一个声明,并不产生内存分配,形参的目的就是要让编译器知道函数参数的数据类型。 正确的是:void Func(int array[3][10]); void Func(int array[][10]);可以省略第一维的大小 错误的是void Func(int array[][].这转载 2015-10-01 09:47:26 · 705 阅读 · 0 评论 -
c语言的二级别指针
指针是C语言的灵魂,我想对于一级指针大家应该都很熟悉,也经常用到:比如说对于字符串的处理,函数参数的“值,结果传递”等,对于二级指针或者多级指针,我想理解起来也是比较容易的,比如二级指针就是指向指针的指针…..n级指针就是…. p *p **p --- -转载 2015-10-01 09:45:40 · 329 阅读 · 0 评论 -
strcpy函数的用法,strlen,sizeof区别
strcpy(s1,s2);strcpy函数的意思是:把字符串s2中的内容copy到s1中,连字符串结束标志也一起copy. 这样s1在内存中的存放为:ch\0; 在cout<include using namespace std; int main(int argc,char *argv[]) { char s1[6]=”china” ,s2[3]=”ch”; cout<转载 2015-09-27 20:40:34 · 1264 阅读 · 0 评论 -
产生随机的数组
对文件的读和写是最常用的文件操作。在C语言中提供了多种文件读写的函数: 字符读写函数 :fgetc和fputc 字符串读写函数:fgets和fputs 数据块读写函数:freed和fwrite 格式化读写函数:fscanf和fprinf下面分别予以介绍。使用以上函数都要求包含头文件stdio.h。 字符读写函数fgetc和fputc字符读写函数是以字符(字节)为单位的读写函数。 每次可从转载 2015-09-14 11:13:14 · 503 阅读 · 0 评论 -
给字符数组赋值的方法
main() { char s[30]; strcpy(s, “Good News!”); /给数组赋字符串/ . . . } 上面程序在编译时, 遇到char s[30]这条语句时, 编译程序会在内存的某处留 出连续30个字节的区域, 并将第一个字节的地址赋给s。当遇到strcpy( strcpy 为 Turbo C2.0的函数)时, 首先在目标文件的某处建转载 2015-09-27 20:29:16 · 825 阅读 · 0 评论 -
韩信点兵,中国剩余定理
韩信点兵是一个有趣的猜数游戏。如果你随便拿一把蚕豆(数目约在100粒左右),先3粒3粒地数,直到不满3粒时,把余数记下来;第二次再5粒5粒地数,最后把余数记下来;第三次是7粒一数,把余数记下来。然后根据每次的余数,就可以知道你原来拿了多少粒蚕豆了。不信的话,你还可以试验一下。例如,假如3粒一数余1粒,5粒一数余2粒,7粒一数余2粒,那么,原有蚕豆有多少粒呢? 这类题目看起来是很难计算的,可转载 2015-09-26 17:39:14 · 2316 阅读 · 0 评论 -
求一个整数的二进制中1的个数
题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。分析:这是一道很基本的考查位运算的面试题。包括微软在内的很多公司都曾采用过这道题。一个很基本的想法是,我们先判断整数的最右边一位是不是1。接着把整数右移一位,原来处于右边第二位的数字现在被移到第一位了,再判断是不是1。这样每次移动一位,直到这个整数变成0为止。现在的问题变成怎样判断一转载 2015-09-26 17:11:27 · 451 阅读 · 0 评论 -
位运算
1 找出一个整数的二进制表示位中1的个数 如:36 100100,其中有2个’1’。 首先来看一个最牛的算法,没有跳转,可以并行处理的:define POW(c) (1<<(c))define MASK(c) (((unsigned long)-1) / (POW(POW(c)) + 1))define ROUND(n, c) (((n) & MASK(c)) + ((n) >> POW(c)转载 2015-09-26 17:12:58 · 420 阅读 · 0 评论 -
函数返回值为数组
以前想到函数返回值是数组的问题,从来没有深究,今天又遇到了此类问题,和同学探讨了下,总结如下:首先先看一个返回值为数组的类子:点击(此处)折叠或打开#include<stdio.h>#define N 5int *print(){ int a[N]; int i; for(i=0;i<N;i ) a[i]=i; return a;}int m转载 2015-07-22 10:58:19 · 1415 阅读 · 0 评论 -
字符串指针与字符数组的区别
用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题:字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。对字符串指针方式char *ps=”C Language”;可以写为:char *ps;ps=”C转载 2015-07-17 16:59:23 · 389 阅读 · 0 评论 -
C语言如何 计算程序运行时间
C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下: clock_t clock( void ); 这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,在time.转载 2015-07-15 15:39:40 · 379 阅读 · 0 评论 -
动态分配二维数组的两个方法
方法一:内存不连续 假设数组元素的数据类型是int型,则动态分配二维数组的一般方法是这样:int **p = NULL; p = (int **)malloc(nWidth * sizeof(int *));if (!p) return NULL;for (int j = 0; j < nWidth; j++){ p[j] = (int*)malloc(nHeight * siz转载 2015-07-14 16:36:00 · 1834 阅读 · 1 评论 -
文章标题
C语言中动态分配数组(一维)当初学Pascal的时候就想过这个问题:如何动态的定义及使用数组呢?记得一般用数组的时候都是先指定大小的。当时问老师,老师说是不可以的。后来又问了一位教C++的老师,他告诉我在C++里用new可以做到,一直不用C++,所以也不明白。今天在逛论坛时终于找到了C语言中的用法(看原贴):int *a;int N;scanf("%d", &N);a = (int *) ma转载 2015-07-11 09:41:03 · 253 阅读 · 0 评论 -
中国象棋的将帅问题
这是《编程之美》上的一道题目,描述如下,在只有双的将帅棋盘上,找出所有双方可以落子的位置(将帅不能碰面),但只能使用一个变量。题目的逻辑很简单,思路很容易想出: 把棋盘的九个位置,设置为按照行优先的顺序排列的序号1-9,这样就能用序号对3求余表示其列数。遍历A的位置 遍历B的位置 比较A的列号和B的列号是否相等 如果是 输出A和B的位置序号难点在于只能声明一原创 2016-05-17 13:11:43 · 389 阅读 · 0 评论