
linux C语言程序设计基础
li_101357
热爱技术,踏实勤奋,共创美好未来。。。
展开
-
第6章 C控制语句:循环
C语言的流程控制:顺序、循环、分支。循环结构:while循环、for循环和do while循环。6.1再探while循环status = scanf(“%ld”,&num);while(1 == status ) //判断条件{sum = sum + num;status = scanf(“%ld”,&num);//返回成功读入的项目的个数。}Scanf的两个功能原创 2015-06-18 15:42:58 · 689 阅读 · 0 评论 -
strcpy和memecpy的区别
strcpy和memcpy都是标准C库函数。#include strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);函数说明:strcpy()会将参数src字符串拷贝至参数dest所指的地址原创 2016-12-14 10:24:42 · 1394 阅读 · 0 评论 -
C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
1、cin 2、cin.get() 3、cin.getline() 4、getline() 5、getchar()附:cin.ignore();cin.get()//跳过一个字符,例如不想要的回车,空格等字符1、cin>> 用法1:最基本,也是最常用的用法,输入一个数字:#include using namespace std;转载 2016-12-14 21:15:58 · 528 阅读 · 0 评论 -
C与C++中字符串的输入
一、字符串的输入1、scanf输入:char name[81];scanf(“%s”,name);char *name;scanf(“%s”,name); 因为这样声明的话,不知道name的值,即不知道name到底指向那块内存。scanf输入时,会跳过前面所有空白字符,直到再次遇到空白字符才会结束输入(空格或者回车),并在读入的字符串后面自动加一个’\0’。同转载 2016-12-14 21:02:05 · 2094 阅读 · 0 评论 -
C语言如何操作内存和对NULL的解释
在C语言的头文件stddef.h中,NULL的定义如下:#define NULL#define __cplusplus //如果定义了__cplusplus表示是c++程序#define NULL 0#else#define NULL ((void *)0)#endif#endif#interface NULL 0所以,c语言里NULL的本质是(void *)转载 2015-07-20 21:33:28 · 2772 阅读 · 0 评论 -
strtok()函数
strtok()这个函数大家都应该碰到过,但好像总有些问题, 这里着重讲下它首先看下MSDN上的解释:char *strtok( char *strToken, const char *strDelimit );简单的说,就是函数返回第一个分隔符分隔的子串后,将第一参数设置为NULL,函数将返回剩下的子串。下面我们来看一个例子:int main() { cha原创 2015-07-07 15:49:39 · 585 阅读 · 0 评论 -
C语言中static关键字用法小结
C语言中定义的static关键字主要有两个作用。(C++对它进行了扩展,有三个作用。)第一个作用是修饰变量,又可分为修饰全局变量和修饰局部变量两种情况。 1.修饰全局变量:全局变量的值存放在栈上,其存储类型为静态存储类型,不管有没有在其前加static关键字,因此,全局变量的作用域为从定义全局变量起始处到文件结尾处。没有加static关键字的全局变量,除了可以在其定义的文转载 2015-07-07 20:42:11 · 827 阅读 · 0 评论 -
main()函数参数的意义
main(int argc,char *argv[ ]) argv为指针的指针 argc为整数char **argv or: char *argv[] or: char argv[][]main()括号内是固定的写法。下面给出一个例子来理解这两个参数的用法:假设程序的名称为prog,转载 2015-07-27 10:47:48 · 2314 阅读 · 0 评论 -
C语言中测试程序运行时间(亲自测试过)
在c语言中有专门处理系统时间,程序计时等等功能的库,即time.h。在time.h中函数clock_t clock(void )可以完成计时功能。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找原创 2015-07-04 13:06:19 · 1939 阅读 · 0 评论 -
void指针
void及void指针含义的深刻解析void的含义void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如:int * pint;void *pvoid;pvoid = pint; /* 不过不能 pint= pvoid; */原创 2015-07-05 18:51:47 · 399 阅读 · 0 评论 -
memset函数使用详解
功 能:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作用 法: void *memset(void *s, char ch, unsigned n); 程序例: #include #include #include int原创 2015-07-08 10:56:06 · 671 阅读 · 0 评论 -
堆和栈的区别(转过无数次的文章)
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2015-07-08 15:33:26 · 471 阅读 · 0 评论 -
char* 指向内容不能修改的问题(整理)
char* str = "resource";str[6] = 'k'; //这句报内存写入错误*(str+6) = 'k'; //这样写同样报错但是这样就没问题:char* str = new char[12];strcpy(str, "resource");str[6] = k; //没问题*(str+6) = 'k'; //没问题 这转载 2015-07-08 11:11:09 · 1111 阅读 · 0 评论 -
void及void指针含义的深刻解析
void的含义void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如:int * pint;void *pvoid;pvoid = pint; /* 不过不能 pint= pvoid; */如果要将pvoid赋给其他类型指针,转载 2015-06-28 13:35:38 · 483 阅读 · 0 评论 -
c语言字符串 数字转换函数大全
最近学数据结构老是做实验常用到字符串和数字的转换想找却发现网上的资料太散所以搜集整理一下 方便以后再用atof(将字符串转换成浮点型数)atoi(将字符串转换成整型数)atol(将字符串转换成长整型数)strtod(将字符串转换成浮点数)strtol(将字符串转换成长整型数)strtoul(将字符串转换成无符号长整型数)toascii(将整型数转换成转载 2015-06-24 10:05:01 · 497 阅读 · 0 评论 -
第七章 C控制语句:分支和跳转
算数 逻辑 关系 赋值7、1 if语句1、while(scanf(“%f”,&temperature) == 1){all_days++;if(temperature }利用scanf()的返回值在scanf()遇到非数字输入的时候终止循环。float既可以输入8也可以-2.5。2、if语句被称为分支语句或选择语句。 if(关系表达式判定原创 2015-06-18 21:31:44 · 635 阅读 · 0 评论 -
c++ 中 pair 的 使用方法
pair的类型: pair 是 一种模版类型。每个pair 可以存储两个值。这两种值无限制。也可以将自己写的struct的对象放进去。。 pair p; pair p; pair p; 都可以。。。 应用:如果一个函数有两个返回值 的话,如果是相同类型,就可以用数组返回,如果是不同类型,就可以自己写个struct转载 2017-06-04 23:11:26 · 2176 阅读 · 0 评论