资源预览内容
第1页 / 共93页
第2页 / 共93页
第3页 / 共93页
第4页 / 共93页
第5页 / 共93页
第6页 / 共93页
第7页 / 共93页
第8页 / 共93页
第9页 / 共93页
第10页 / 共93页
亲,该文档总共93页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 1 上机实验中出现的问题上机实验中出现的问题 一一. .编写时候注意符号在英文格式下面输入编写时候注意符号在英文格式下面输入 二二. .语句结束后语句结束后“ “;” ”容易遗漏,但是也不能容易遗漏,但是也不能 乱加乱加, ,如如whilewhile,if if后面不能加后面不能加”;”;” 三三. .对于函数来说,基本格式:函数头对于函数来说,基本格式:函数头+ +一一 对对 四四.scanf.scanf和和printfprintf函数函数 2 2 第 2 章 C 程 序 的 基 本 构 成 3 3 2.1 C语言源文件 C语言是结构化的程序设计语言,一个C源程序可以 由一个或多个文件组成,C源程序文件的扩展名一般为 .c 或.cpp,下面通过实例学习多文件系统中的函数调 用。 说明: 文件-是指存放在存储器上以文件名进行管理的一组 信息. 函数-指具有独立功能、按一定格式构成的代码段。 一个大型,典型的C语言源程序大致如下所示: 4 4 C语言源程序 源程序文件1 源程序文件n 源程序文件2 预处理命令 全局变量 声明 函数1 函数n 函数首部 函数体 局部变量 声明 执行语句 5 5 文件包含的概念: 一个文件可以将另一个源文件的全部内容包含进来, 这叫文件包含处理。 当然文件包含予处理也可在特定的盘,特定的目录(文 件夹)中寻找包含文件. 如:#include “c:my foldermyfile.c” 文件包含的一般格式 : #include 或者 #include “文件名” 6 6 #include “file2.C” file1.c A 在编译时,将file2.c全部内容复制到#include“file2.c“的 位置上, 将file1.c作为一个源文件单位进行编译。 file1.c B A + B file2.c 包含 7 7 例2.1 在Visual C+环境下新建两个文件,其文件名分别 为2_1_1.c、 2_1_2.c, 其中2_1_1.c文件定义一个做乘法的函数f( ),定义另一 个主调函数main(). 在主调函数中分别调用函数f( )以及存放在2_1_2.c中的 函数disp(),在main函数中输出f( )的返回值。 8 8 2_1_2.c 文件 disp() 函数 分析: 在文件2_1_1.c中由两个函数构成,文件2_1_2.c由一个 函数构成. 程序的执行从main()函数开始,main函数调用f()函数 ,然后再调用disp()函数。 2_1_1.c文件 f()函数 main()函数 #include “2_1_2.c 调用 调用 9 9 1010 总结: 1. C 程序是由函数组成,必须要包含一个主函 数main( ). 函数之间可以相互调用. 因此,函数是 C 程序的基本单位。 (1). C 用各种各样的函数来完成某些特定功能。 (2). C函数库十分丰富,标准 C 提供一百多个函数. 被调函数可以是系统提供的库函数, 如: printf( ), scanf( ); 也可以是根据需要自己编写的函数,如: disp( ). 1111 2. 一个C 程序总是从main()函数开始执行,不管这 个main( )在整个程序中处于什么位置。 main( )函数可放在整个程序的最上头,或最后, 或 一些函数的中间 . 3. C程序书写格式自由:一行内可以写几条语句. 一条语句可写在多行上,行尾使用续行符: “ ”. * 书写程序时,一律使用英文标点符号. 1212 * C语言程序中区分大小写。 * 在程序中int、return、include叫保留字,在C语言 中有特定的含义,一般不作它用。 * 而disp、f、a、b等为用户自定义标识符,通常为 了定义函数、变量所取的名字,取名要有一定的规 则。 1313 4 每条语句及变量定义的最后要有一个分号( ; ) , 分号( ; )是语句的必要组成部分。 如: int x , y=7 ; c = a+b ; 注 : 变量定义必须放在函数的开头部分,执行语句之前, 不能 插入在语句当中. C+可放程序任何位置. 5 C语言本身并没有输入,输出语句. 输入,输出的操 作是由库函数,像printf(), scanf()函数来完成。 C 语言对输入、输出实行“函数化”管理。 1414 2.2 C 函数 函数是完成特定任务的独立模块,函数的使用最主要函数是完成特定任务的独立模块,函数的使用最主要 涉及到涉及到函数的定义函数的定义与与调用调用。 C程序是由一个或多个文件构成,而文件可由一个或 多个函数组成. 如在前述的文件2_1_1.c中,由两个函数main()、F() 构成. 文件2_1_2.c由一个函数disp()构成。 1515 一. 函数的调用形式为: 函数名( 参数 ); 注: 函数的原型: 函数返回值类型 函数名( 形式参数表 ); 参数: 执行一个函数所必须提供的数据叫参数. 1616 返回值类型 函数名(形式参数声明) 数据声明部分 语句部分 二. C函数定义的结构示意图 1717 int add(int x,int y) int z; /* 变量定义,给变量分配内存空间*/ z=x+y; /*执行语句*/ return z; 1818 注: 在C语言中, 变量在使用前,一定要先定义: 指定变量的名字及类型,在编译时给变量分配存储空间。 例如: int z; 指定变量的名字为z,及类 型为int.(在编译时给变量分配 存储空间)。 1919 变量的定义变量的定义 变量定义的一般形式:变量定义的一般形式: 类型名类型名 变量名表;变量名表; 注: 变量名按C语言的命名规则命名. 变量名一般用小写字母, 见名知义. 例如: int x3,n; 定义整型变量 float y2; 定义单精度浮点型变量 double area, length; 定义双精度浮点型变量 多个变量用逗号(,)分开, 最后加一分号(;). 2020 每一个变量有二个特性: 有一个名字和相应的类型,并在编译时分配相应的内存 单元。 该存储单元的大小由变量的数据类型决定. 1.5 x3 变量名 变量值 存储单元 2121 C语言中的变量和代数中的变量含义不同. 数学中的变量代表未知数. 如在C语言中的式子: x = x+1 在代数中没有意义. 但在C语言中,式子x=x+1 表示把变量x中的值加1,然后 再保存到x中. 这里的”=“是赋值运算符. 构成了一赋值表达式. x = x + 1 2222 2.3 C语句 C文件由函数构成,函数由语句构成,语句的结束符 用“;”表示. 在例2.1中的文件2_1_1.c中的main函数,由5条语句 构成,每条语句用“;”表示语句的结束。 int x=3,y=4,z; - 变量定义语句. 表示定义了x、y、z三个变量, 并 给x、y分别赋予一个最初的值3与4. int x=3,y=4,z; disp( ); z=f(x,y); printf(“ %d * %d = %dn“ ,x,y,z); disp( ); disp( ); - 函数调用语句. 表示调用函数disp(). 输出:* 2323 int x=3,y=4,z; disp( ); z=f(x,y); printf(“ %d * %d = %dn“ ,x,y,z); disp( ); z=f(x,y); 表示调用函数f(),在调用函数f()时把实 参x、y的值分别传给形参a、b. 返回值最后赋给变量z. printf(“ %d * %d = %dn” ,x,y,z);表 示调用系统函数printf输出, 其输出形式为:3*4=12 int f(int a,int b) int c; c=a*b; return c; 在被调函数f()中把a、b的乘积赋 给变量c,然后函数f()把返回值c 赋给main函数中的z。 2424 2.4 保留字与标识符 语句由保留字、标识符、运算符和表达式构成。 2.4.1 保留字 保留字是指C语言中有特殊含义的名字,只能用于C语 言中特定的场合。 例如: int: 用于定义整型类型变量 float: 用于定义实型变量 double: 用于定义双精度变量 char: 用于定义字符变量或字符串变量 2525 注意: 保留字只能用于规定的场合,不能用作给变量取名或用 户自定义标识符。 if: 用于判断 for: 用于循环 while : 用于循环 在C语言中其它的保留字见附录C,其含义在以后的 章节中陆续学到。 2626 2.4.2 标识符 标识符简单的理解就是给在程序中涉及的对象取的名字. 标识符分为系统命名的标识符与用户自命名标识符,系 统标识符通常用于系统函数的命名,如: printf、strlen、scanf、fabs、malloc等。 用户自命名标识符是用户为命名变量或定义函数等而取 的名字,通常用户自定义标识符以字母、数字、下划 线组成,并以字母或下划线开头。 2727 注意: a_12 、 _12 、ab12 等 都是正确命名的标识符。 12a、a/b等 都是不正确的标识符。 思考: 是否可用:int if=5; 定义一个整型变量?为什么? 2828 2.5 运算符 在C程序中有极为丰富的运算符,例如: 赋值运算符、算术运算符、关系运算符、逻辑运算符 、位运算符等。 运算符及其优先级请参阅附录 2929 2.5.1 算术运算符 算术运算符有: 加、减、乘、除、取余数,它们的表 达方式及含义如下表所示。 运算符 含义 例 备注 + 加 5+2 结果 7 - 减 5-2 结果 3 * 乘 5*2 结果 10 / 除 5/2 结果 2 % 求余 5%2 结果1 只适用于整型数 + 自增 - 自减 3030 算术运算符的优先级: 运算符 + - * / % 相同 相同 低 高 3131 1. 关于除法运算符: / 两个整数相除结果为整数: 5/2 结果 2 5/3 结果 1 2. 关于求余运算符: % %两边的操作数都应是整数. 5%2 结果1 7%4 结果3 除法运算符” “/ “的运算结果跟两个操作数 的类型有关: (1).如果两边都是整形,结果必定为整形. (2).如果两边是其它类形,结果不是整形 . 3232 3. C语言也规定了算术运算符的优选级和结合性。 在表达式求值时: * 先按运算符的优先级别高低次序执行,如a-b*c, * 如果在一个运算对象两侧的运算符级别一样,则按 “结合方向”处理。 算术运算符的结合方向是“自左至右”,即先左后右. 又称“左结合性” 即运算对象先与左边的运算符相结 合。 3333 如: a-b+c , 因此b先与减号结合,执行a-b的运算,再执 行加 +c的运算. 以后还将
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号