随笔分类 -  C语言基础

摘要:一、typedef作用简介* 我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。 1 #include 2 3 typedef int Integer; 4 typedef unsigned int UInterger; 5 6 typedef float Float; 7... 阅读全文
posted @ 2014-11-03 10:12 Jeesetang
摘要:一、枚举的概念枚举是C语言中的一种基本数据类型,并不是构造类型,它可以用于声明一组常数。当一个变量有几个固定的可能取值时,可以将这个变量定义为枚举类型。比如,你可以用一个枚举类型的变量来表示季节,因为季节只有4种可能的取值:春天、夏天、秋天、冬天。二、枚举类型的定义一般形式为:enum 枚举名 {枚... 阅读全文
posted @ 2014-11-03 09:58 Jeesetang
摘要:C 语言的核心部分都说得七七八八了,在iOS开发中,结构体是经常用到的数据类型,使用频率不亚于指针,所以需要重视,不过用法非常简单。一、什么是结构体* 在第八讲的时候已经介绍了C语言中的数组,用法跟其他语言差不多。当一个整体由多个数据构成时,我们可以用数组来表示这个整体,但是数组有个特点:内部的每一... 阅读全文
posted @ 2014-11-03 09:53 Jeesetang
摘要:上一讲介绍了static和extern对函数的作用,static用来定义一个内部函数,不允许其他文件访问;extern用来定义和声明一个外部函数,允许其他文件访问。static和extern对变量也有作用,不过跟函数有点差别。C语言和Java都有全局变量的概念,但是它们的用法还是有些差别的。一、在J... 阅读全文
posted @ 2014-11-03 09:36 Jeesetang
摘要:一、extern与函数曾提到过一句话:如果一个程序中有多个源文件(.c),编译成功会生成对应的多个目标文件(.obj),这些目标文件还不能单独运行,因为这些目标文件之 间可能会有关联,比如a.obj可能会调用c.obj中定义的一个函数。将这些相关联的目标文件链接在一起后才能生成可执行文件。先来理解2... 阅读全文
posted @ 2014-11-03 09:17 Jeesetang
摘要:C语言有丰富的数据类型和运算符,因此计算能力非常强大,计算过程中使用的值一般用变量来存储。变量也是有分类型的,不同类型的变量有不同的存储类型、不同的生命周期、不同的作用域,C语言也提供了一些关键字来设置变量的属性(比如设置存储类型、生命周期)。一、变量的作用域C语言根据变量作用域的不同,将变量分为局... 阅读全文
posted @ 2014-11-03 08:58 Jeesetang
摘要:一、基本概念其实我们早就有接触文件包含这个指令了, 就是#include,它可以将一个文件的全部内容拷贝另一个文件中。二、一般形式1.第1种形式#include 直接到C语言库函数头文件所在的目录中寻找文件2.第2种形式 #include "文件名"系统会先在源程序当前目录下寻找,若找不到,再到操作... 阅读全文
posted @ 2014-11-01 19:35 Jeesetang
摘要:条件编译的概念在很多情况下,我们希望程序的其中一部分代码只有在满足一定条件时才进行编译,否则不参与编译(只有参与编译的代码最终才能被执行),这就是条件编译。一、基本用法1 #if 条件12 ...code1...3 #elif 条件24 ...code2...5 #else6 ...code3... 阅读全文
posted @ 2014-11-01 11:53 Jeesetang
摘要:预处理指令简介1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处理),之后再进行通常的编译2.为了区分预处理指令和一般的C语句,所有预处理指令都以符号"#"开头,并且结尾不用分号3.预处理指令可以... 阅读全文
posted @ 2014-11-01 09:16 Jeesetang
摘要:一、返回指针的函数指针也是C语言中的一种数据类型,因此一个函数的返回值肯定可以是指针类型的。返回指针的函数的一般形式为:类型名 * 函数名(参数列表)比如下面这个函数,返回一个指向char类型变量的指针 1 // 将字符串str中的小写字母变成大写字母,并返回改变后的字符串 2 // 注意的是:这里... 阅读全文
posted @ 2014-11-01 08:27 Jeesetang
摘要:字符串回顾一个字符串由一个或多个字符组成,因此我们可以用字符数组来存放字符串,不过在数组的尾部要加上一个空字符'\0'。char s[] = "mj";上面的代码定义了一个字符数组s来存储字符串"mj",系统会自动在尾部加上一个空字符'\0'。内存分布大致如右图所示:指针和数组的关系非常密切,因此也... 阅读全文
posted @ 2014-11-01 08:12 Jeesetang
摘要:一、用指针指向一维数组的元素 1 // 定义一个int类型的数组 2 int a[2]; 3 4 // 定义一个int类型的指针 5 int *p; 6 7 // 让指针指向数组的第0个元素 8 p = &a[0]; 9 10 // 修改所指向元素的值11 *p = 10;12 13 // 打印... 阅读全文
posted @ 2014-11-01 07:52 Jeesetang
摘要:直接引用1. 回想一下,之前我们是如何更改某个变量的值?我们之前是通过变量名来直接引用变量,然后进行赋值:char a;a = 10;2. 看上去是很简单,其实程序内部是怎么操作的呢?其实,程序对变量的读写操作,实际上是对变量所在的存储空间进行写入或取出数据。就上面的代码而言,系统会自动将变量名a转... 阅读全文
posted @ 2014-11-01 01:19 Jeesetang
摘要:回到顶部一、字符处理函数下面介绍的两个字符处理函数都是在stdio.h头文件中声明的。1.字符输出函数putcharputchar(65); // Aputchar('A'); // Aint a = 65;putchar(a); // A上面的3种用法,输出的都是大写字母A。* putchar一次... 阅读全文
posted @ 2014-10-31 23:14 Jeesetang
摘要:一、字符串简介* 在Java中,一个字符串可以用String类型来存储String s = "MJ";C语言中没有String这种类型。其实字符串就是字符序列,由多个字符组成,所以在C语言中,我们可以用字符数组来存储字符串。*字符串可以看做是一个特殊的字符数组,为了跟普通的字符数组区分开来,应该在字... 阅读全文
posted @ 2014-10-29 22:27 Jeesetang
摘要:地址1.计算机中的内存是以字节为单位的存储空间。内存的每一个字节都有一个唯一的编号,这个编号就称为地址。凡存放在内存中的程序和数据都有一个地址,也就是说,一个函数也有自己的内存地址。2.当定义一个变量时,系统就分配一个带有唯一地址的存储单元来存储这个变量。比如:char a = 'A'; // A的... 阅读全文
posted @ 2014-10-29 21:20 Jeesetang
摘要:一、基本语句C语言的基本语句跟Java中的差不多,所以,这里只是简单地提一下循环语句(do while、while、for)条件语句(if 、if-else、switch)goto语句二、基本运算计算机的基本能力就是计算,所以一门语言的计算能力十分重要。C语言之所以无所不能,很大原因在于它有强大的计... 阅读全文
posted @ 2014-10-27 00:42 Jeesetang
摘要:C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle都是C语言写的。C语言的数据类型大致可以分为下图中的几类:一、变量跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。为什么一定要先定义呢?因为变量的类型决定了变量占用的存储空间,所以定义变量... 阅读全文
posted @ 2014-10-26 00:35 Jeesetang
摘要:一、printf函数这是在stdio.h中声明的一个函数,因此使用前必须加入#include ,使用它可以向标准输出设备(比如屏幕)输出数据1.用法printf("Hello, World!");输出结果是:2> printf(字符串, 格式符参数)1 // 使用常量作参数2 printf("My ... 阅读全文
posted @ 2014-10-26 00:07 Jeesetang
摘要:一、函数的分类C语言的函数可以大概分为3类:1.主函数,也就是main函数。每个程序中只能有一个、也必须有一个主函数。无论主函数写在什么位置,C程序总是从主函数开始执行2.开发人员自定义的函数,可有可无,数目不限3.C语言提供的库函数,例如stdio.h中的输出函数printf()和输入函数scan... 阅读全文
posted @ 2014-10-25 23:31 Jeesetang