- 博客(23)
- 资源 (4)
- 收藏
- 关注
原创 聊聊自己编程入门的事
一直在用Java编程,这学期学习《Unix高级编程》有点忘记C语言程序的库函数了。大学时期莫名其妙的被调剂到计算机科学这个专业,第一次接触电脑。竟然有一门课叫做《C语言》,就是谭浩强编的那本书。我当时真是有点懵,C语言是什么科目。从小到大,直到语、数、外,后来有了生物、化学、物理,我都能很形象的理解。后来就理解为像英语一样的语言,只不过英语是和英国人交流用的,而C语言可以与计算机沟通。当然现在的我
2014-06-29 22:05:38 670
原创 标准C程序设计-格式化输入
4 输入输出操作管理 4.2 格式化输入/** 功能:格式化输入 知识点:%wd、%wf、%wc、%ws 版本:2014/06/19*/#include #include int main(){ int a,b,c; float x,y; double z; char name_1[15], name_2[15], name_3[15]
2014-06-29 17:53:29 811
原创 标准C程序设计-格式化输出
4 输入输出操作管理 4.1格式化输入输出代码示例:/** 功能:格式化输出函数printf 时间: 2014/06/18%d 有符号十进制整数%i 有符号十进制数(与%d相同)%o 无符号八进制整数%x 使用十六进制数字0f的无符号十六进制整数 %X 使用十六进制数字0f的无符号十六进制整数%a 浮
2014-06-29 17:21:50 998
原创 标准C程序设计(九)
13.6 链表 13.6.1 链表的概念 我们知道,列表是指按序组成的项集。数组就是一种列表。在数组中,其顺序是由其索引隐式的给定的。我们就是使用索引来访问和操作数组元素的。关于数组的一个重要问题是数组的大小必须在开始时就精确的指定。正如前面所指出,这在很多实际的应用中是件困难的事。 一个完全不同的列表表示方法是用结构体表示一个列表成员,它含有指向下一个结构体的“链接”,
2014-06-28 19:44:56 608
原创 标准C程序设计(十)
14 预处理器 14.1 预处理器是一个程序,在源代码通过编译器之前,他先对源代码进行处理。他是在称为预处理器命令行或指令的控制下操作。预处理器指令放在源程序的main函数之前。在源代码通过编译器之前,由预处理器检查所有预处理指令。如果有预处理指令,则采取相应的动作,然后再把源程序交给编译器。表14.1 预处理指令指令作用#define定义一个
2014-06-28 19:37:25 659
原创 标准C程序设计(八)
13 动态内存分配与链表 13.1 动态内存分配C语言要求在编译时指定数组元素的个数。但我们往往无法在最初判断数组大小,可能导致程序的失败或内存空间的浪费。如果能在运行时分配内存空间(即动态内存分配)就可以避免浪费。尽管C语言本身不具备这种能力,但它有4个名为“内存管理函数”的库例程,可以用来在程序运行时分配和释放内存。表 13.1 内存分配函数函数任
2014-06-28 19:26:20 718
原创 标准C程序设计(七)
12 文件管理 12.1 概述 在C语言中,有两种不同的方法来执行文件操作。第一种称为低级I/O,使用UNIX系统调用。第二种指的是高级I/O,使用C语言的标准I/O库函数。表 12.1函数名操作fopen创建一个文件,打开一个已有的文件fclose关闭一个已打开的文件getc从文件中读取一个字符
2014-06-28 17:43:15 903
原创 标准C程序设计(六)
11 指针 11.1 理解指针 在C语言中,指针是一种派生数据类型。它是从C语言的一种基本数据类型创建而来的。指针以内存地址作为其值。由于内存地址表示在计算机内存中保存程序指令和数据的位置,因而可用指针来直接访问和操作存储在内存中的数据。指针相关的基本概念: 计算机的内存地址指的是指针常量(pointer constant)。我们不能修改他们,只能用来存储数
2014-06-28 17:30:01 741
原创 标准C程序设计(五)
10 结构体与共用体 10.1 结构体的定义 数组可以用来表示一组相同类型的数据项。但是,如果要用一个名称来表示不同类型的数据集合,就不能用数组了。C语言支持一种结构化的数据类型,称为结构体。它是一种封装不同类型的数据的机制。结构体的概念类似于其他很多语言中“记录”。 与数组不同,必须首先定义结构体的格式,然后在声明结构体的变量。结构体定义和结构体变量创建过程。如下:
2014-06-28 17:25:23 920
原创 标准C程序设计(四)
9 用户自定义函数 9.1 返回多个值的函数 一般我们使用return语句只能返回一个值,假设我们需要从函数中获得更多的信息该怎么办?在C语言中,我们可以使用参数,不仅接收信息,而且还往调用函数返回信息。用于返回信息的参数称为输出参数。使用地址运算符(&)和间接运算符(*)可以实现。如下:void mathoperation(int x, int y, int *sum,
2014-06-28 17:20:23 736
原创 标准C程序设计(三)
8 字符数组与字符串 8.1 字符串变量的声明与初始化 char city[9] = "New Yourk";char city[9] = {'N', 'e', 'w', 'Y', 'o', 'r', 'k', '\0'};数组city的大小必须为9个的原因,当编译器把字符串符赋给字符数组时,会自动的在字符串的末尾添加空字符('\0')。字符串New York含有8个字符,
2014-06-28 17:08:11 770
原创 标准C程序设计(二)
5 数组 5.1 二维数组的初始化 int table[2][3] = {0, 0, 0, 1, 1, 1};//数组的初始化是逐行进行的int table[2][3] = {{0, 0, 0}, {1, 1, 1}};int table[2][3] = { {0, 0, 0}, {1, 1, 1}};//如果数组的所有元素都显示的进行了
2014-06-28 17:02:44 618
转载 标准C程序设计—define和typedef区别
代码示例:/** 版本: 2014/06/18 功能: 温度转换问题 关键: define和typedef的使用*/#include #include //符号常量 #define F_LOW 0#define F_MAX 250#define STEP 25int main(){ typedef float REAL; //类型定义 R
2014-06-28 16:40:39 799
转载 回车符和换行符区别【Windows和Linux换行符的区别】
回车符号和换行符号产生背景 关于“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。
2014-06-26 15:42:45 1073
转载 控制台程序的中文输出乱码问题,printf,wprintf与setlocale
#include #include int main(void) { char str[] = "中文"; wchar_t wstr[] = L"中文"; printf("1:%s\n", str); wprintf(L"2:%s\n", wstr); return 0;}
2014-06-18 19:56:33 13758 2
转载 详解C语言可变参数 va_list和_vsnprintf及printf实现
C语言的变长参数在平时做开发时很少会在自己设计的接口中用到,但我们最常用的接口printf就是使用的变长参数接口,在感受到printf强大的魅力的同时,是否想挖据一下到底printf是如何实现的呢?这里我们一起来挖掘一下C语言变长参数的奥秘。先考虑这样一个问题:如果我们不使用C标准库(libc)中提供的Facilities,我们自己是否可以实现拥有变长参数的函数呢?我们不妨试试。一
2014-06-18 10:49:36 1070
转载 github常见操作和常见错误!错误提示:fatal: remote origin already exists.
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote origin already exists. 解决办法如下: 1、先输入$ git remote rm origin 2、再输入$ git r
2014-06-16 10:31:57 673
转载 【排序算法】选择排序(C++实现)
选择排序算法就是每一趟从待排序的记录中选出关键字最小(最大)的记录,顺序放在已排好序的子文件的最后(最前),直到全部记录排序完毕。常见的选择排序有直接选择排序(Selection Sort),堆排序(Heap Sort),平滑排序(Smooth Sort),笛卡尔树排序(Cartesian Sort),锦标赛排序(Tournament Sort),循环排序(Cycle)。下面介绍前两种:(
2014-06-13 20:06:06 888
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人