142编号大学C语言笔记

上传人:玩*** 文档编号:144487169 上传时间:2020-09-09 格式:PDF 页数:7 大小:105KB
返回 下载 相关 举报
142编号大学C语言笔记_第1页
第1页 / 共7页
142编号大学C语言笔记_第2页
第2页 / 共7页
142编号大学C语言笔记_第3页
第3页 / 共7页
142编号大学C语言笔记_第4页
第4页 / 共7页
142编号大学C语言笔记_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《142编号大学C语言笔记》由会员分享,可在线阅读,更多相关《142编号大学C语言笔记(7页珍藏版)》请在金锄头文库上搜索。

1、第一章概述 1 C 语言的特点 语言简洁、紧凑,使用方便、灵活。共有个关键字,种控制语句。 运算符丰富,公有种运算符。 数据结构丰富,数据类型有:整型、实型、字符型、数组、指针、结构体、共用体等。 具有结构化的控制语句(如 ifelse、while、dowhile、switch、for) 语法限制不太严格,程序设计自由度大。 允许直接访问物理地址,能进行位(bit)操作,可以直接对硬件操作。 生成目标代码质量高,程序执行效率高。 可移植性好。 2 C 语言的用途 C 虽不擅长科学计算和管理领域,但对操作系统和系统实用程序以及对硬件进行操作方面,C 有明显的优势。现在很多大型 应用软件也用编写。

2、 Top of Page 第二章数据类型、运算符与表达式 1 C 的数据类型 C 的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、 指针类型和空类型。 2 常量与变量 常量其值不可改变,符号常量名通常用大写。变量其值可以改变,变量名只能由字母、数字和下划线组成,且第一个字符 必须为字母或下划线。否则为不合法的变量名。变量在编译时为其分配相应存储单元。 3 整型数据 整型常量的表示方法:十进制不用说了,八进制以 0 开头,如 0123,十六进制以 0 x 开头,如 0 x1e。 整型变量分为:基本型(int)、短整型(short int)

3、、长整型(long int)和无符号型。不同机器上各类数据所占内存字 节数不同,一般 int 型为个字节,long 型为 4 个字节。 4 实型数据 实型常量表示形式:十进制形式由数字和小数点组成(必须有小数点),如:0.12、.123、123 0.0 等。指数形式如 123e3 代表 12310 的三次方。 实型变量分为单精度(float)和双精度(double)两类。在一般系统中 float 型占 4 字节,7 位有效数字,double 型占 8 字节,1516 位有效数字。 5 字符型数据 字符变量用单引号括起来,如a,b等。还有一些是特殊的字符常量,如n,t等。分别代表换行和横向跳格。

4、 字符变量以 char 来定义,一个变量只能存放一个字符常量。 字符串常量是由双引号括起来的字符序列。 这里一定要注意a和a的不同, 前者为字符常量, 后者为字符串常量, c 规定 : 每个字符串的结尾加一个结束标志,实际上a包含两个字符:a和。 6 数值型数据间的混合运算 整型、字符型、实型数据间可以混合运算,运算时不同类型数据要转换成同一类型再运算,转换规则: char,short - int - unsigned - long - double = = != ) 逻辑运算符( ! 是不合法的。 Top of Page 第四章 逻辑运算和判断选取控制 1 关系运算符: c 提供种关系运算符

5、( = = != )前四种优先级高于后两种。 2 If 语句 C 提供了三种形式的 if 语句 If(表达式) 语句 If(表达式) 语句 1 else 语句 2 If(表达式 1) 语句 1 Else if(表达式 2) 语句 2 else 语句 n 3 条件运算符 (ab)?a:b 条件为真,表达式取值 a,否则取值 b 4 Switch 语句 Switch(表达式) case 常量表达式:语句; break; case 常量表达式:语句 2; break; case 常量表达式 n:语句; break; default :语句; Top of Page 第五章 循环控制 1 几种循环语句

6、 goto 语句(现已很少使用) while 语句先判断表达式后执行语句 do-while 语句先执行语句后判断表达式 for 语句 2 Break 语句和 continue 语句 Break 语句用于跳出循环,continue 用于结束本次循环。 Top of Page 第六章 数组 1 一维数组 c 规定只有静态存储(static)和外部存储(extern)数组才能初始化。给数组初始化时可以不指定数组长度。 2 二维数组 3 字符数组 部分字符串处理函数 puts(字符数组)将一个字符串输出到终端。 gets(字符数组) 从终端输入一个字符串到字符数组,并且得到一个函数值,为该字符数组的首

7、地址 strcat(字符数组,字符数组 2)连接两个字符数组中的字符串,数组 1 必须足够大。 Strcpy(字符数组,字符串 2)将字符串拷贝到字符数组中。 Strcmp(字符串 1,字符串 2) 比较字符串,相等返回 0,字符串字符串 2,返回正数,小于返回负数。 Strlen(字符数组) 求字符串长度。 Strlwr( 字符串)将字符串中的大写字母转换成小写 Strupr( 字符串) 将字符串中的小写字母转换成大写 以上是一些比较常用的字符串处理函数。 Top of Page 第七章 函数 1 关于形参和实参的说明 在函数被调用之前,形参不占内存 实参可以是常量、变量或表达式 必须指定形

8、参的类型 实参与形参类型应一致 实参对形参的数据传递是值传递,即单向传递 2 函数返回值 如果想让函数返回一个值,在函数中就要用 return 语句来获得,在定义函数时也要对函数值指定类型,如果不指定,默认 返回整型。 3 函数调用 1)注意在函数调用时实参和形参的个数、类型应一一对应。对实参表求值的顺序是不确定的,有的系统按自左至右,有的 系统则按自右至左的顺序。这一点要注意。 2)函数调用的方式:函数语句,函数表达式,函数参数 3)如果主调函数和被调函数在同一文件中,并且主调函数在前,那么一般要在主调函数中对被调函数进行说明。除非:(1) 被调函数的返回值类型为整型或字符型(2)被调函数出

9、现在主调函数之前。 4)对函数的说明和定义是不同的,定义是指对函数功能的确立,包括指定函数名,函数值类型,形参及其类型、函数体等。 说明则只是对已定义的函数返回值类型进行说明,只包括函数名、函数类型以及一个空的括弧,不包括形参和函数体。 5)c 语言允许函数的递归调用(在调用一个函数的过程中又出现直接或间接的调用该函数本身)。 4 数组作为函数参数 1)数组元素作为函数参数和一般变量相同 2)数组名作参数应该在主调和被调函数分别定义数组,形参数组的大小可以不定义。注意:数组名作参数,不是单向传递。 3)多维数组作参数,在被调函数中对形参数组定义时可以省略第一维的大小说明,但不能省略第二维或更高

10、维的说明。 5 局部变量和全局变量 从变量作用域角度分,变量可分为局部变量和全局变量。 1)内部变量(局部变量) 在一个函数内定义,只在函数范围内有效的变量。 2)外部变量(全局变量) 在函数外定义,可以为本文件其它函数所共用,有效范围从定义变量的位置开始 到本文件结束。建议尽量少使用全局变量,因为它在程序全部执行过程中都占用 资源,而且使函数的通用性降低了。如果在定义外部变量之前的函数要想使用该 外部变量,则应在该函数中用 extern 作外部变量说明。 6 动态存储变量与静态存储变量 从变量值存在的时间(生存期)角度来分,可分为静态存储变量和动态存储变量。静态存储指在程序运行期间给变量分配

11、 固定的存储空间,动态存储指程序运行期间根据需要动态的给变量分配存储空间。 C 语言中,变量的存储方法分为两大类:静态存储类和动态存储类,具体包括:自动的(auto),静态的(static),寄存 器的(register),外部的(extern)。 1) 局部变量的存储方式 函数中的局部变量如不作专门说明,都之 auto 的,即动态存储的,auto 可以省略。局部变量也可以定义为 static 的,这 时它在函数内值是不变的。静态局部变量如不赋初值,编译时系统自动赋值为,动态局部变量如不赋初值,则它的值是 个不确定的值。C 规定,只有在定义全局变量和局部静态变量时才能对数组赋初值。为提高执行效

12、率,c 允许将局部变量值 放在寄存器中, 这种变量叫 register 变量, 要用 register 说明。 但只有局部动态变量和形式参数可以作为 register 变量, 其它不行。 2) 全局变量的存储方式 全局变量在函数外部定义,编译时分配在静态存储区,可以在程序中各个函数所引用。多个文件的情况如何引用全局变量 呢?假如在一个文件定义全局变量,在别的文件引用,就要在此文件中用 extern 对全局变量说明,但如果全局变量定义时 用 static 的话,此全局变量就只能在本文件中引用了,而不能被其它文件引用。 3) 存储类别小结 从作用域角度分,有局部变量和全局变量 局部变量:自动变量,

13、即动态局部变量(离开函数,值就消失) 静态局部变量(离开函数,值仍保留) 寄存器变量(离开函数,值就消失) (形参可定义为自动变量和寄存器变量) 全局变量:静态全局变量(只限本文件引用) 全局变量(允许其它文件引用) 从存在的时间分,有静态存储和动态存储 动态存储:自动变量(本函数内有效) 寄存器变量(本函数内有效) 形参 静态存储:静态局部变量(函数内有效) 静态全局变量(本文件内有效) 全局变量(其它文件可引用) 从变量值存放的位置分 静态存储区:静态局部变量 静态全局变量 全局变量 动态存储区:自动变量和形参 寄存器内:寄存器变量 7 内部函数和外部函数 内部函数:只能被本文件中的其它函

14、数调用,定义时前加 static,内部函数又称静态函数。 外部函数:可以被其它文件调用,定义时前加 extern,如果省略,则隐含为外部函数,在需要调用此函数的文件中,一般 要用 extern 说明。 Top of Page 第八章 预编译处理 c 编译系统在对程序进行通常的编译之前, 先进行预处理。 c 提供的预处理功能主要有以下三种 : 1) 宏定义2) 文件包含3) 条件编译 1 宏定义 不带参数的宏定义 用一个指定的标识符来代表一个字符串,形式:#define 标识符 字符串 几点说明: ) 宏名一般用大写 ) 宏定义不作语法检查,只有在编译被宏展开后的源程序时才会报错 ) 宏定义不是

15、 c 语句,不在行末加分号 ) 宏名有效范围为定义到本源文件结束 ) 可以用#undef 命令终止宏定义的作用域 ) 在宏定义时,可以引用已定义的宏名 带参数的宏定义 定义形式:#define 宏名(参数表)字符串 这和函数有些类似,但他们是不同的: ) 函数调用时,先求实参表达式值,再代入形参,而宏只是简单替换,并不求值 ) 函数调用是在程序运行时分配内存的,而宏展开时并不分配内存,也没有返回值的概念 ) 对函数中的实参和形参都要定义类型,而且要求一致,宏名无类型,其参数也没有类型。 ) 函数只有一个返回值,而宏可以得到几个结果 ) 宏替换不占运行时间,只占编译时间,而函数调用占运行时间 2

16、 文件包含处理 #include 文件 1 就是将文件 1 的全部内容复制插入到#include 位置,作为一个源文件进行编译。 在#include 命令中,文件名可以用 也可以用,假如现在 file1.c 中包含 file2.h 文件, 表示系统先在 file1.c 所 在目录中找 file2.h,如果找不到,再按系统指定的标准方式检索目录,表示系统直接按指定的标准方式检索目录。所 以用 保险一点。 3 条件编译 条件编译指不对整个程序都编译,而是编译满足条件的那部分。条件编译有以下几种形式: 1)#ifdef 标识符 程序段 #else 程序段 #endif 它的作用:当标识符在前面已经被定义过(一般用#define),则对程序段编译,否则对程序段编译。 )#ifndef 标识符 程序段 #else 程序段 #endif 它的作用和#ifdef 相反,当标识符没被定义过,对

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 财务报表

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号