C 基础
文章平均质量分 72
zqixiao_09
这个作者很懒,什么都没留下…
展开
-
C语言常见错误
对于刚学编程,刚接触C++的新手来说,编译运行报错是最头疼的一件事,爆出一堆英文,英语差一点的又不知道什么意思,所以也不知道如何去改,在此,我给大家传一份常见错误中英文对照表及简单解释,希望可以帮到大家: fatal error C1003: error count exceeds number; stopping compilation中文对照:(编译错误)错误太多,停止编译分析原创 2015-12-05 17:59:45 · 11879 阅读 · 0 评论 -
Linux C 函数练习
学习函数主要学习的就是函数的声明、定义和调用,下面请看两个例子,来帮助我们学习函数:题目一:编写一个函数iswithin(),它接受两个参数,一个是字符,另一个是字符串指针。其功能是如果字符在字符串中。就返回1 (真);如果字符不在字符串中,就返回0(假)。在一个使用循环语句为这个函数提供舒服的完整程序中进行测试。代码如下:#include int iswithin(cha原创 2015-12-21 17:49:47 · 1829 阅读 · 0 评论 -
Linux C 预处理详解
1.预处理程序按照ANSI标准的定义,预处理程序应该处理以下指令:#if #ifdef #ifndef #else #elif#endif#define#undef#line#error#pragma#include显然,上述所有的12个预处理指令都以符号#开始,每条预处理指令必须独占一行。2.#define#define指令定义一个标识符和原创 2015-12-23 13:07:08 · 3265 阅读 · 0 评论 -
Linux C 指针练习
题目一、已知数组内容如下 s[] = {1,2,3,4,5,6,7,8,9},输入一个常数 m(1代码如下:#include int main(){ int a[] = {1,2,3,4,5,6,7,8,9}; int b[9] = {0}; int *p = a; int *q = b; int i,m,n; printf("请输入要移动的位数:\n"); sca原创 2015-12-20 16:09:53 · 2941 阅读 · 3 评论 -
c头文件(.h)的作用
C语言的著作中,至今还没发现把.h文件的用法写的透彻的。在实际应用中也只能依葫芦画瓢,只知其然不知其所以然,甚是郁闷!闲来无事,便将搜集网络的相关内容整理一下,以便加深自己的理解理论概述:.h中一般放的是同名.c文件中定义的变量、数组、函数的声明,需要让.c外部使用的声明。1)h文件作用: 1.方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明;原创 2015-11-18 21:44:58 · 14707 阅读 · 4 评论 -
C语言经典编程题--哥德巴赫猜想 、完数 、猜数字等
验证歌德巴赫猜想:任意一个不小于6的偶数都可以表示成两个素数的和。从键盘任意给一个符合条件的数,输出相应的两个素数。素数:指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数代码如下:#include int sushu(int n){ int i,j; for(i = 2;i <= 0.5*n;i++) { if(!(n%i))原创 2015-12-08 17:56:08 · 10269 阅读 · 0 评论 -
从getmemery()函数看内存管理、函数传参等一系列问题
在linux c 面试题目中,会经常出现getmemery()函数的改错题,比如下面这道题,代码如下:#include char *getmemery(){ char p[]="hello world!"; return p;}main(){ char *str=NULL; str=getmemery(); printf("%s\n",str);}咱们先执行一下,原创 2015-12-01 12:46:04 · 2089 阅读 · 10 评论 -
linux C --深入理解字符串处理函数 strlen() strcpy() strcat() strcmp()
在linux C 编程中,我们经常遇到字符串的处理,最多的就是字符串的长度、拷贝字符串、比较字符串等;当然现在的C库中为我们提供了很多字符串处理函数。熟练的运用这些函数,可以减少编程工作量,这里介绍几个常用的字符串函数,并编写一些程序,如果没有这些库函数,我们将如何实现其功能;1 求字符串长度函数 strlen头文件:string.h函数原型:size_t strlen(const c原创 2015-12-10 17:41:43 · 23692 阅读 · 2 评论 -
C/C++经典面试题(持续更新)
面试题1:变量的声明和定义有什么区别为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但只能在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。说明:很多时候一个变量,只是声明,不分配内存空间,知道具体使用时才初始化,分配内存空间,如外部变量。面试题2:sizeof和strlen的区别sizeo原创 2015-12-06 18:58:54 · 14456 阅读 · 2 评论 -
Linux C编程学习--main()函数简析
提到C语言的函数,有太多内容要讲,今天我们要看的是main()函数。main()函数时程序的入口点,任何程序都要有main()函数,一般大家都怎么写main()函数啊?main();void main();void main(void);int main();int main(void);int main(int argc,char * argv[]);好像哪种都可原创 2015-12-11 19:21:37 · 2309 阅读 · 0 评论 -
从头学习linux C 冒泡法排序
这几天去面试嵌入式软件开发工程师,哎。。。又是各种怀疑人生啊。。主要还是自己基础不好,以为自己啥都学会了,发现在各种细节没学好,现在从头学习linux C ,争取每晚写一篇,把问题汇总一下!可能各种低级错误。。还望不要见笑!下面是一个简单冒泡法排序,代码如下:编译运行后却出现以下错误段错误 (核心已转储)一 般来说,段错误就是指访问的原创 2015-11-16 21:37:19 · 3821 阅读 · 1 评论 -
Linux C学习---递归函数
最近学习到了递归,刚开始看,真是头大,函数里面嵌套其本身,到底是怎么个流程啊?现在,咱们先了解下递归函数的数学原理:高中的时候就出现很多递归函数,应该是在“级数”那里的习题中出现的,而且还不少。还是从例子开始吧: f(x)=f(x-1)+x*x ,其中x>0且f(0)=0求f(4)解: 由于f(0)=0:当x=1 时 f(1)=f(0)+1*1=1;当原创 2015-12-08 20:29:28 · 2002 阅读 · 0 评论 -
Linux C 编程技巧--利用有限状态机模型编程
我们知道,一般编写程序时都要画出流程图,按照流程图结构来编程,如果编写一个比较繁琐,容易思维混乱的程序时,我们可以利用有限状态机模型画出一个状态转移图,这样便可以利用画出的逻辑图来编写程序,简洁且不易出错。 那什么是有限状态机是什么意思呢?百度百科上这样解释: 有限状态机,(英语:Finite-state machine, FSM),又称有限状态自动机,简称状态机,是表原创 2015-12-09 17:38:35 · 10157 阅读 · 9 评论 -
Linux C编程---指针数组简析(二维数组、多级指针)
讲到指针和数组,先给大家看一道例题:题目:填空练习(指向指针的指针)1.程序分析: 2.程序源代码:main(){ char *s[]={"man","woman","girl","boy","sister"};char **q;int k;for(k=0;k{ ;/*这里填写什么语句*/ printf("%s\n",*q);}原创 2015-12-11 18:19:43 · 4194 阅读 · 2 评论 -
深入了解scanf() getchar()和gets()等函数之间的区别
----------------------------------------------------| 问题描述一:(分析scanf()和getchar()读取字符) |--------------------------------------------------scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有原创 2015-12-05 21:35:18 · 23234 阅读 · 8 评论 -
Linux c学习--从标准输入输出看流和缓冲区
学习标准输入输出,我们都会遇到一个概念,流和缓冲区,但到底什么是流,什么是缓冲区呢? 书《C Primer Plus》上说,C程序处理一个流而不是直接处理文件。后面的解释十分抽象:『流(stream)是一个理想化的数据流,实际输入或输出映射到这个数据流』。这个流具体是一个怎么样的东西呢? 流这个定义非常的形象。我们可以这样理解: 你声明一个FILE *fp原创 2015-12-09 12:48:12 · 6114 阅读 · 0 评论 -
linux C 学习---函数指针
我们经常会听到这样的说法,不懂得函数指针就不是真正的C语言高手。我们不管这句话对与否,但是它都从侧面反应出了函数指针的重要性,所以我们还是有必要掌握对函数指针的使用。先来看看函数指针的定义吧。 函数是由执行语句组成的指令序列或者代码,这些代码的有序集合根据其大小被分配到一定的内存空间中,这一片内存空间的起始地址就成为函数的地址,不同的函数有不同的函数地址,编译器通过函数名来索引函原创 2015-12-12 19:44:58 · 5700 阅读 · 0 评论 -
字符串按照单词为单位逆序排列
我们前面已经写过一个简单字符串逆序排序的方法,这里再开一个字符串排序问题:给定一个字符串“I love China”,编写程序完成以单词为单位的逆序,如"China love I",并要求不使用第三方变量保存数据,但可以使用辅助指针变量这道题如果没有“要求不使用第三方变量保存数据”则很轻松,当然这里字符串肯定要用一个数组进行存放的,意思是不能再定义一个数组存放排列好的字符串,那样的话就太简原创 2015-12-16 15:22:49 · 4536 阅读 · 1 评论 -
linux C 学习 简单字符串逆序输出
看了下网上的字符串逆序输出,都相对复杂,下面给一个简单的字符串逆序输出小程序实现:#include #include #include int main(){ int i; int n; char *q="I am a coder"; n=strlen(q); char buffer[n]; printf("The string is:%s\n",q); for原创 2015-11-17 22:22:45 · 3446 阅读 · 0 评论 -
内联函数 —— C 中关键字 inline 用法解析
一、什么是内联函数 在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗,为了解决,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足所造成的程式出错的问题,函数的死循环递归调用的最终结果就是导致栈内存空原创 2016-03-13 13:37:36 · 141867 阅读 · 30 评论