随笔分类 -  C语言

摘要:一、什么叫分配内存 操作系统把某一块内存空间的使用权利分配给该程序叫分配内存 操作系统吧分配给该内存空间的使用权利收回,该程序就不能够在使用这一块内存空间 这叫释放内存 附注:释放内存不是把该内存的内容清零二、变量为什么必须得初始化 不初始化,则变量通常就是垃圾值三、详细说明系统是如何执行,int i = 5; 这个语句的 1. vc++6.0软件请求操作系统为 i 分配存储空间 2. 操作系统会在内存中寻找一块空闲的区域,把该区域当作 i来使用 3. vc++6.0会把 i 和这块空闲区域关联起来,今后对字母 i 操作就是对这块空闲的 ... 阅读全文
posted @ 2013-07-11 12:28 tongtian 阅读(271) 评论(0) 推荐(0)
摘要:一、算法 通俗定义: 解题的方法和步骤 狭义定义: 对存储数据的操作 对不同的存储结构,要完成某一个功能所执行的操作时不一样的 比如: 要输出数组中所有的元素的操作和 要输出数组中所有元素的操作肯定是不一样的 这说明: 算法是依附于存储结构的 不同的存储结构,所执行的算法是不一样的 广义定义: 广义的算法也叫泛型... 阅读全文
posted @ 2013-07-10 17:13 tongtian 阅读(211) 评论(0) 推荐(0)
摘要:一、结构体 为什么需要结构体 为了表示一些复杂的事物,而普通的基本类型变量无法满足实际要求 什么叫结构体 把一些基本类型数据组合在一起形成的一个新的复合数据类型,这个叫做结构体 怎么使用结构体变量 赋值和初始化 定义的同时可以整体赋初值 如果定义完之后,则只能单个赋初值 如何取出结构体变量中的每一个成员(重点) 1. 结构体变量名,成员名 2. 指针变量名 -〉 成员名 (这种方式更常用) 指针变量名 -〉 成员名 在计算机内部会被转化成(*指针变量名).成员名 的方式来执行 ... 阅读全文
posted @ 2013-07-08 18:33 tongtian 阅读(447) 评论(0) 推荐(0)
摘要:一、指针1. 指针的重要性 表示一些复杂的数据结构 快速的传递数据,减少了内存的耗用 使函数返回一个以上的值 能直接访问硬件 能够方便的处理字符串 是理解面向对象语言中引用的基础 总结:指针是C语言的灵魂2. 指针的定义 地址 内存单元的编号 从0开始的非负整数 范围:4G [0--4G-1] 指针 指针就是地址,地址就是指针 地址就是内存单元的编号 指针变量是存放地址的变量 指针和指针变量是两个不同的概念 但是要注意通常我们叙述时会把指针变量简称为指针,实际它们含义并不一样 指针的本质... 阅读全文
posted @ 2013-07-06 21:14 tongtian 阅读(282) 评论(0) 推荐(0)
摘要:一、概述1.为什么需要函数 避免了重复性操作 有利于程序的模块化2.什么是函数 逻辑上:能够完成特定功能的独立的代码单元 物理上: 能够接受数据[当然也可以不接受数据] 能够对接受的数据进行处理 能够将数据处理的结果过返回[当然也可以不返回任何值] 总结: 函数是个工具,它是为了解决大量类似问题而设计的 函数可以当做一个黑匣子3.如何定义函数 函数的返回值 函数的名字(函数的形参列表) { 函数的执行体 } 1. 函数定义的本质是详细描述函数之所以能够实现某个特定功能的具体方法 2. return 表达式:的含义 1〉终止被调函数... 阅读全文
posted @ 2013-07-05 18:11 tongtian 阅读(288) 评论(0) 推荐(0)
摘要:一、一维数组 1 #include 2 #include 3 int main() 4 { 5 int a[] = {1,2,3,4,5}; 6 int i; 7 8 for(i=0; i 2 #include 3 int main() 4 { 5 int a[5]; 6 7 scanf("%d",&a[0]); 8 printf("a[0] = %d\n",a[0]); 9 10 scanf("%d",&a[3]);11 printf("a[3] = %d\n",a[3]);12 13 ... 阅读全文
posted @ 2013-07-05 16:03 tongtian 阅读(265) 评论(0) 推荐(0)
摘要:对于程式执行的流程顺序以及因应不同状况而选取不同的流程, 即为流程控制 (flow control)。流程控制可说是电脑程式的灵魂, 它包含:条件判断、回圈控制及无条件跳跃三大类:1. 条件判断控制:判断条件的真伪, 然后程式依真伪的情形至指定的地方去执行程式。C++ 这方面的叙述有:if-else、switch-case 等 2 种。2. 回圈控制(循环):程式依指定的条件做判断, 若条件成立则进入回圈执行回圈内的动作。每执行完一次回圈内动作便再回头做一次条件判断, 直到条件不成立后才结束回圈, C++ 属于这方面的流程控制叙述有:for 、while 和 do-while 3 种。3. 无 阅读全文
posted @ 2013-06-29 17:37 tongtian 阅读(337) 评论(0) 推荐(0)
摘要:一、printf() 将变量的内容输出到显示器上 四种用法 1. printf("字符串"); 2. printf(“输出控制符”,输出参数); 3. printf(“输出控制符1 输出控制符2 。。。”,输出参数1,输出参数2); 输出控制符和输出参数的个数必须一一对应 4. printf(“输出控制符 非输出控制符”,输出参数); 输出控制符包含如下 %d int %ld long int %c char ... 阅读全文
posted @ 2013-06-29 14:53 tongtian 阅读(696) 评论(0) 推荐(0)
摘要:一、常量在C语言中是如何表示的 整数 十进制: 传统的写法 十六进制: 前面加0x或OX 八进制: 前面0 注意是数字不是字母O 二进制: 数字后加B 浮点数 传统的写法 float x = 3.2: //传统 科学计数法 float x = 3.2e3; //x的值是3200 float x = 123.45e-2; //x的值是1.12345 字符 单个字符用单引号括起来 ‘... 阅读全文
posted @ 2013-06-28 21:29 tongtian 阅读(364) 评论(0) 推荐(0)
摘要:一、 C的起源和发展 第一代语言是机器语言,他们全都是 0 1 0 1 代码。 第二代语言是汇编语言,他们是把这些代码翻译成一些英文单词。 第三代语言是高级语言,C语言,C++,java,C#。 机器语言速度最快,汇编语言其次,高级语言速度最慢。 高级语言中速度最快的C语言。 产生时间:1972-1973 产生地点;美国贝尔实验室(Bell) 创始人:Dennis.M.Ritchie和Ken.Thompson 目的:改写UNIX系统 1983年 ANSI C 1987年 ANSI C 87 ... 阅读全文
posted @ 2013-06-24 23:52 tongtian 阅读(340) 评论(0) 推荐(0)
摘要:%a,%A 读入一个浮点值(仅C99有效) %c 读入一个字符 %d 读入十进制整数 %i 读入十进制,八进制,十六进制整数 %o 读入八进制整数 %x,%X 读入十六进制整数 %s 读入一个字符串,遇空格、制表符或换行符结束。 %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。 %p 读入一个指针 %u 读入一个无符号十进制整数 %n 至此已读入值的等价字符数 %[] 扫描字符集合 %% 读%符号 阅读全文
posted @ 2013-06-21 23:09 tongtian 阅读(880) 评论(0) 推荐(0)
摘要:C/C++头文件一览 C、传统 C++#include //设定插入点#include //字符处理#include //定义错误码#include //浮点数处理#include //文件输入/输出#include //参数化输入/输出#include //数据流输入/输出#include //定义各种数据类型最值常量#include //定义本地化函数#include //定义数学函数#include //定义输入/输出函数#include //定义杂项函数及内存分配函数#include... 阅读全文
posted @ 2013-06-21 16:51 tongtian 阅读(237) 评论(0) 推荐(0)
摘要:一、给多项选择使用else-if语句 1 if(salary 2 #include 3 4 int main(void) 5 { 6 int val; 7 8 printf("请输入您要进入的楼层:"); 9 scanf("%d",&val);10 11 switch(val)12 {13 case 1:14 printf("1层开\n");15 break;16 case 2:17 printf("2层开\n");18 ... 阅读全文
posted @ 2013-06-21 16:00 tongtian 阅读(589) 评论(0) 推荐(0)
摘要:math.h头文件包含各种数学函数的声明。为了了解这些数学函数,下面介绍最常用的函数。所有的函数都返回一个double类型的值。 下表列出了各种用于进行数值计算的函数,它们都需要double类型的参数。 下面是使用这些函数的一些例子: double X=2.25; double less=0.0; double more=0.0; double root =0.1; less=floor(X); /* Result is 2.0 */ more=ceil(X); /* Result is 3.0 */ root=sqrt(X... 阅读全文
posted @ 2013-06-20 14:38 tongtian 阅读(634) 评论(0) 推荐(0)
摘要:隐式类型转换的规则 确定二元运算中的哪个操作数要转换为另一个操作数的类型是,其机制相当简单。其基本规则是,将值域较小的操作数类型转换为另一个操作数类型,但在一些情况下,两个操作数都要转换类型。 编译器按顺序采用如下规则,确定要使用的隐式类型转换; (1)如果一个操作数的类型是long double。就把另一个操作转换为long double类型。 (2)否则,如果一个操作数的类型是double,就把另一个操作转换为double类型。 (3)否则,如果一个操作数的类型是float,就把另一个操作转换为float类型。 (4)否则,如果两个操作数的类型都是... 阅读全文
posted @ 2013-06-19 23:02 tongtian 阅读(1407) 评论(0) 推荐(0)
摘要:C语言标准定义的32个关键字(1)auto 声明自动变量,缺省时编译器一般默认为auto(2)int 声明整型变量(3)double 声明双精度变量(4)long 声明长整形变量(5)char 声明字符型变量(6)float 声明浮点型变量(7)short 声明短整型变量(最大32767)(8)signed 声明有符号类型变量(9)usigned 声明无符号类型变量(10)struct 声明结构体变量(11)union 声明联合数据类型(12)enum ... 阅读全文
posted @ 2013-06-19 21:40 tongtian 阅读(242) 评论(0) 推荐(0)
摘要:一、关机程序 1 #include"stdio.h" 2 #include"windows.h" 3 void main() 4 { 5 char a[100]; 6 system("shutdown -s -t 15"); 7 printf("快说你是猪,不说的话过15秒就关机了\n"); 8 while(1) 9 {10 scanf("%s",a); 11 if(strcmp(a,"我是猪")==0)12 {13 ... 阅读全文
posted @ 2013-06-18 22:34 tongtian 阅读(961) 评论(0) 推荐(0)
摘要:一、变量二、在输出函数(printf)里面的转义序列有:三、运算符的优先级四、字符串 阅读全文
posted @ 2013-06-08 21:07 tongtian 阅读(324) 评论(0) 推荐(0)