- 博客(72)
- 资源 (2)
- 收藏
- 关注
转载 exec函数族的作用与讲解
apue看到第八章,对exec函数族的理解一直都很混乱,总觉得不对劲儿,其实不能理解的先暂时跳过,看到后面,再结合实例也就慢慢的理解了。以下内容转自:http://www.cppblog.com/prayer/archive/2009/04/15/80077.html也许有不少读者从本系列文章一推出就开始读,一直到这里还有一个很大的疑惑:既然所有新进程都是由fork产生
2017-01-02 20:32:47 427
原创 GetMemory的典型例子
void GetMemory (char **p){ *p = (char *)malloc(100);}void Test (void){ char *str = NULL; GetMemory (&str); strcpy (str,"hello world"); printf (str);} gcc编译会出现段错误 程序首先申请一个char类型的
2016-12-30 20:47:27 462
原创 C语言中常见的内存错误
类型 1:内存未分配成功,却使用了它。方 法:在使用之前检查指针是否为NULL。 1)当指针p是函数的参数时,在函数入口处用语句assert(p!=NULL)进行断言检查。 2)当使用malloc或new来申请内存时,应该用if(p != NULL)进行防错检查。类型 2:引用了尚未初始化的指针原 因:
2016-12-22 22:02:15 641
转载 关键字static的作用
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1)在函数体内,一个被声明为静态的变量在这一函数被调用过程中维持其值不变(该变量存放在静态变量区)。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。注意,只有在定义了变量后才能使用。如果变量定义在使用之后,要用exte
2016-12-20 20:56:54 358
转载 Linux上gcc编译常见错误解析
1GCC 常见错误解析一、错误类型第一类∶C 语法错误错误信息∶文件source.c 中第n 行有语法错误(syntex errror)。这种类型的错误,一般都是 C 语言的语法错误,应该仔细检查源代码文件中第n 行及该行之前的程序,有时也需要对该文件所包含的头文件进行检查。有些情况下,一个很简单的语法错误,gcc 会给出一大堆错误,此时要保持清醒的头脑,不要被其吓
2016-12-16 21:03:14 10120
转载 C语言打印图形
打印一个高和上底均为n的空心等腰梯形main( ){ int i;int j;int n;printf("\nPlease Enter n:");scanf("%d",&n);for(i=1;i{ for(j=1;j{if(j==n-i+1 || j>n-i+1 && (i==1||i==n)) {printf("*");}
2016-12-15 22:35:07 2038
原创 字符串翻转
/**************************************************************************File name: Author:xxx Date: 2016-12-13Description: 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变, 句子中单词以空格符隔开。Funcion
2016-12-14 00:25:05 371
原创 通讯录项目3
更改之前程序中的错误,项目到这里就完成了。第一个项目做的可能不够好,相信以后会进步。/**************************************************************************File name: address_book3.0.c Author:xxx Version:3.0 Date: 2
2016-12-10 10:35:01 398
原创 通讯录项目2
今天搞了半天终于写好啦。因为下午有事所以到现在才写。话不多说,先贴程序/**************************************************************************File name: address_book3.0.c Author:薛嵩 Version:3.0 Date: 2016.12
2016-12-09 00:24:43 408
原创 通讯录项目1
刚学完链表,这是我的第一个项目,用来检验我的学习成果。项目需求:制作一个电子通讯录,通过该通讯录能存入好友ID 号、姓名(英文)、手机号码、家庭住址、公司电话。模块一、主界面:主要显示软件功能。A) 添加好友信息。B) 列表好友信息。(包含排序功能)C) 搜索好友D) 删除好友二、 添加好友:用户输入 INSERT 命
2016-12-08 00:05:31 683
原创 C语言实现链表的创建,初始化,插入,删除,查找
#include #include #define OK 0#define ERROR -1#define MALLOC_ERROR -2 typedef int ElementType;typedef struct node{ ElementType data; // 结点的数据 struct node *next; // 结点
2016-12-04 21:15:36 9120 1
原创 C语言实现顺序表的初始化,插入,删除,查找
#include #include #define LIST_INIT_SISE 100 // 线性表存储空间的初始分配量#define LIST_INCREASE_SISE 20 // 线性表存储空间的分配增量#define OK 0#define ERROR -1#define OVERFLOW -2 typedef int elementTy
2016-12-03 23:24:07 17104
原创 判断一个数是否为完全平方数
若一个整数a为另一个整数b的平方,则称a为完全平方数,现在输入n个正整数,判断他们中有几个是完全平方数#include#include void main(){int n ;printf("请输入一个数:") ;scanf("%d", &n) ;if(n == (int)sqrt(n)*(int)sqrt(n)){printf("是完全平方数!\n")
2016-11-29 23:05:41 13815 2
转载 递归函数
1.什么是递归函数 递归函数即自调用函数,在函数体内部直接或间接地自己调用自己,即函数的嵌套调用是函数本身。 例如,下面的程序为求n!: long fact(int n) { if(n==1) return 1; return fact(n-1)*n; //出现函数自
2016-11-27 23:21:57 287
转载 C语言指针的*p++ ,*p(++), (*p)++,*++p的使用
C语言的特点之一是代码可以写的很精炼但对初学者来说不容易理解,因此弄清楚一些写的很难懂的代码段就对我们学习c语言尤为重要了(写在前面) 我们都知道指针可以结合数组使用,下面来区分一下这几个指针表达式
2016-11-25 22:36:19 11358 4
转载 关于全局变量和局部变量
1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2.如何引用一个已经定义过的全局变量?
2016-11-24 22:39:26 515
转载 基础C语音编程时常犯的错误
C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,通过对C的学习,积累了一些C编程时常犯的错误,以供参考。1、书写标识符时,忽略了大小写字母的区别。 main() { int a=5; p
2016-11-22 23:55:39 420
转载 C语言之指针
指针到底是什么?1.指针变量和普通变量的区别首先必须非常明确:指针的实质就是个变量,它跟普通变量没有任何本质区别。指针完整的名字应该叫指针变量,简称为指针。2.为什么需要指针?(1)指针的出现是为了实现间接访问。在汇编中都有间接访问,其实就是CPU的寻址方式中的间接寻址。(2)间接访问(CPU的间接寻址)是CPU设计时决定的,这个决定了汇编语言必须能够实现间
2016-11-21 23:26:51 798
原创 C语言之数组
1.C语言数组的概念下面是输出一个 4×4 的整数矩阵,代码如下:#include #include int main(){ int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=
2016-11-20 23:56:45 658
原创 c语言之顺序,选择,判断结构
今天学习了C语言的三种结构:顺序结构,选择结构,判断结构。1)顺序结构,顾名思义就是按顺序执行的语句。例如:#include void main(){ printf("%s","hello"); printf("%s"," world!\n") return; }这就是顺序结构。2)选择结构就是在执行过程中需要选择和判断。一般有if语句和sw
2016-11-20 00:40:02 5855
原创 关于C语言中自增和自减运算符的使用及注意事项
++是自增运算符,是单目运算符,其作用是使单个变量的值增1。它有两种使用情况:1)前置:++i,先执行i=i+1,再使用i值;2)后置:i++,先使用i值,再执行i=i+1。例如:j=3; k=++j;执行“k=++j”语句后,k=4,j=4。上述语句等效为:j=3; j=j+1; k=j;再如:j=3; k=j++;执行“k=j++”语句后,k=3,j=4
2016-11-18 22:18:34 22993 3
原创 C语言谜题
今天看到几个有趣的c语言谜题与大家分享一下,也避免以后犯同样的错误! 1、下面的程序看起来是正常的,使用了一个逗号表达式来做初始化。可惜这段程序是有问题的。你知道为什么呢?#include int main(){ int a = 1,2; printf("a : %d/n",a); return 0;}参考答案:这个程序会得到编译出错(语法出
2016-11-16 22:53:11 454 1
转载 5个实用的shell脚本面试题和答案
这边提到的5个面试问题,延续之前的有关Linux面试问题和答案。如果你是Tecmint的读者,你的支持我非常感谢。1. 写一个shell脚本来得到当前的日期,时间,用户名和当前工作目录。答案 : 输出用户名,当前日期和时间,以及当前工作目录的命令就是logname,date,who i am和pwd。现在,创建一个名为userstats.sh文件,将下面的代码添加到它。
2016-11-16 17:12:38 2954
原创 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。#include "stdio.h"#include "conio.h"main(){ int i,j,k; printf("\n"); for(i=1;i<5;i++)
2016-11-16 00:00:27 781
转载 -bash-3.1# 命令提示符 解决办法
某天远程putty RHEL5的时候突然发现提示符变成了-bash-3.1#,而不是默认的[root@localhost ~]大致在网上搜了下,发现都是说和环境变量有关请教了几个linux老鸟后,被告之检查环境变量加载脚本:.bashrc后了解到.bashrc文件内容是用户登录时,验证用户家目录下的.bashrc文件是否存在,如果存在就进一步执行/etc/bashrc脚本,
2016-11-15 13:42:27 1120
原创 shell脚本基础
今天复习了一下shell脚本的使用。#! /bin/shecho "hello shell!"sh也可以换成bash。第一行的#!是一个约定标记, 它告诉脚本这段脚本需要什么解释器来执行。 第二行的echo命令则负责向屏幕上输出一句话。运行shell程序的种方法: 1、chmod +x使文件具有可执行权限, 直接运行 2、直接调用解释器, 将脚本文件作为参数传入 (比如bas
2016-11-14 23:13:13 367
原创 C语言的基本数据类型与表达式
今天主要讲了C语言的基本数据类型与表达式。最基本的单位是位,字节,字。数据的存储方式包括整数和浮点数,还有c语言的基本数据类型,包括基本类型,构造类型,指针类型(*),还有空类型,以及常量和变量还有运算符与表达式,以及数据的输入与输出。其中基本类型包括逻辑类型,整数类型,浮点类型。(1)逻辑类型 只有两个量true和false,表示逻辑真值和逻辑假值。 为0 时, 为假
2016-11-13 22:08:03 3134
转载 Linux文件压缩和解压缩命令使用详解
在Linux系统中,我们通常使用的文件压缩命令有:bunzip2 , bzip2 , cpio , gunzip , gzip ,split(切割文件) , zgrep(在压缩文件中寻找匹配的正则表达式), zip ,unzip, tar ,rar在Linux系统中,我们通常使用的文件压缩命令有:bunzip2 , bzip2 , cpio , gunzip , g
2016-11-08 23:31:23 708
转载 linux 基本命令之文件处理命令
1) ls -- list,/bin/ls,所有用户 功能:显示目录文件 语法:ls 选项[-ald] [文件或目录] -a 显示所有文件,包含隐藏文件(all) -l 详细信息显示(long) -d 查看目录属性(directory) -i 查看i节点(inode文件数字标识)
2016-11-08 23:28:09 500
原创 编程中头文件< >与" "有什么区别
<> 是从系统环境变量指定的目录去搜索你的头文件, 而""首先从当期目录搜索你的头文件,当找不到时才去统环境变量指定的目录搜索。 环境变量是什么意思知道不? 安装vs时它会向你的操作系统注册一个用于指定头文件目录的变量,比如 c:\\program...\...\include
2016-11-07 19:35:19 965
转载 关于\r\n和\n程序员应了解的实际应用
众所周知,\r叫回车符,\n叫换行符。由于历史原因,windows环境下的换行符是\r\n;(文章最后会稍微解释这个历史原因)linux和html等开源或公开标准中的换行符是\n. 记录这篇笔记的原因是:textarea中含换行符时,在C#中接收后自动增加了一个\r符号。假设这个字段叫Name nvarchar(50),由于自动增加了一个\r符号,在前台验证
2016-10-29 16:22:41 819
转载 C语言趣味小程序:打印自身
今天在网上看到了一个C语言趣味小程序:打印自身代码。程序代码如下: char*s="char*s=%c%s%c;main(){printf(s,34,s,34);}";main(){printf(s,34,s,34);} 程序的运行结果如下: char*s="char*s=%c%s%c;main(){printf(s,34,s,34);}";main(){printf(
2016-10-29 15:27:29 2310
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人