《C语言程序设计小结》由会员分享,可在线阅读,更多相关《C语言程序设计小结(97页珍藏版)》请在金锄头文库上搜索。
1、C语言程序设计小结,NotWay上传,内容,C语言程序设计基础数据类型、常用库函数 运算符、表达式、位运算控制结构与语句 数组,函数及其应用 编译预处理 指针结构体、共用体 、枚举文 件,函数是C语言程序的基本模块,下一张,上一张,【例】输入两个整数,判断大小,并输出大数。,#include /编译预处理命令 void main() /主函数main() int a,b;int max (int, int); scanf(“%d,%d“, 编译 连接 运行源程序.c 目标程序 .obj 可执行文件 .exe 结果,下一张,上一张,整型实型(浮点型) 字符型 char 枚举类型数组类型 结构体类
2、型 struct 共用体类型,单精度型 float 双精度型 double,基本类型构造类型指针类型 * 空类型 NULL自动类型 auto 静态类型 static 寄存器类型 register 外部类型 extern,数据类型存储类型,数据类型的分类,各种数据类型所表示的数据有一定范围,若将超出其范围的数据放入其中,会产生数据的“溢出”。Wirth 程序数据结构算法,下一张,上一张,基本整型 int 短整型 short 长整型 long 基本型 无符号型 unsigned 短整型长整型,变量类型,第2章 基本数据类型与常用库函数,字符集与标识符 基本数据类型 常量、变量 输入输出函数用法 常
3、用函数,字符集基本符号是ASCII字符集 标识符程序设计过程中用到的各种元素的名字 组成:英文字母、数字和下划线“_” ,首字符为字母或下划线。建议字符数不超过8个。 定义:见名知义、区分大小写字母、禁用保留字 Year,day,a_1,A_1,_Time %A,356B ,abc$基本数据类型 : 整型数据 类型标识符:unsigned short、int、longsizeof(int) 计算所占字节数 实型数据 float、double 字符型数据 char 以其ASCII码存放在内存,C语言保留字,除上述32个保留字(用小写字母表示)不能另作他用外, 象main、printf等库函数名,
4、 include、define、undef、indef、infdef、endif等 在C语言中具有特定的意义,也不要另作他用。,上一张,常量用来表示固定的数值和字符值的量 整型常量:十进制、八进制(0)、十六进制(0x),L|l、U|u0578、234 实型常量(浮点数):十进制小数形式(.) 、指数形式E|e ,F|f字符常量:A ,可以其ASCII码值参加运算, %c、%d转义字符 :n、ddd、xhh 、 、 符号常量代表常量的标识符 #define 符号常量 常量#define PI 3.1415926变量程序执行过程中,其值可以改变的量。 变量定义: 类型标识符 变量名列表;doub
5、le x, y =3.1; /使用前需定义、赋初值,常量、变量,表2.3 常用转义字符及其含义,下一张,上一张,输入输出函数,#include 从键盘读入一个字符: c = getchar(); 输出一个字符: putchar(c); putchar(65); putchar(x41); puts() 输出字符串并换行 puts(s1);gets() 读取字符串直到回车结束 gets(s1);格式输出函数 printf(”格式控制字符串”, 表达式列表); 格式输入函数 scanf(“格式控制字符串”, 地址列表); scanf(“i=%d, j=%f”, ,程序执行: 2 3.1415 1.
6、2 a 2 3.142 a 97,常用函数,#include /数学函数函数原型:double sqrt(double x) sin cos tan exp pow log log10.#include /字符函数tolower(A) isalpha isupper isdigit isalnum#include /其它常用函数exit(0); /正常终止程序,值传给调用过程;为1则异常终止程序,下一张,上一张,表. 常用的数学函数(math.h),下一张,上一张,第3章 运算符和表达式,运算符优先级、结合性、运算对象表达式形式、求解过程类型转换,下一张,C语言的表达式,书写规则:写在同一行,
7、只能使用圆括号且匹配 1 a+b 1.0/2 * ( (a+b) / (3*c) ) 2 3c(x+r)*8-a+b)7、 b*b-4ac-b /(2*a) 不能写成 -b/2*a = ,下一张,上一张,算术运算符: +、-、*、/、%、+ +、- - (整型变量) 关系运算符:、=、.复合位运算赋值运算符: &=、|=、=、=、c2; / bc; a=0; 0=0 /* z=0 &、|组成的逻辑表达式, 只对能确定整个表达式值的最少数目的子表达式进行计算 */ sizeof(char) / 1 sizeof (类型标识符| 常量 |变量) , 返回字节长度。,下一张,上一张,算术运算中的类型
8、转换方向强制类型转换:(类型标识符)表达式i=5; j=2; (double)i/j (double)(i/j) double(i/j) / 2.5, 2.0, (int)(d*1000)/1000.0 / 将实数d保留3位小数 ,不四舍五入k / (int)pow(10,n-1) % 10 / 求整数的右边第n位上的数字/ pow返回值为double型,k/10n-1%10,下一张,上一张,内容,C语言程序设计基础数据类型、常用库函数 运算符、表达式 分支、循环结构程序设计 *数组,函数及其应用 编译预处理指针结构体、共用体 、枚举位运算文 件,结构化程序设计,顺序结构按语句的先后次序依次执
9、行程序选择结构根据给定条件,从两条或多条路径选择要执行的操作路径 双分支(单分支,if嵌套) if (表达式) 语句1 else 语句2 多分支 switch (表达式) case 常量表达式1: 语句序列1 default:语句序列n+1 循环结构在满足给定的条件下,反复执行某一组操作while (表达式) do for (表达式1; 表达式2; 表达式3) 语句 语句 语句while (表达式); 先判断,后执行 先执行,后判断 循环次数确定,先判断,后执行循环的嵌套 1!2! 10!、矩阵运算 转向语句break 立即结束循环,执行循环语句的后续语句。continue 跳过循环体尚未执行
10、的语句,结束本次循环。goto,if语句的单分支形式: if (表达式) 语句;if语句的双分支形式: if (表达式) 语句1;else 语句2;if语句嵌套,下一张,上一张,注意:= = 、=,else-if嵌套的一般形式:,if (表达式1)语句1 else if (表达式2)语句2else if (表达式3)语句3else if (表达式n-1)语句n-1else 语句n /*用于处理“非上述情况”、前面各个if都不满足的缺省情况(若无时,可省略)、出错检查 */,下一张,上一张,【例】已知一分段函数x+lnx 当1x2y = x2+ex 当2x3log10x 当3x=1 else ,
11、if (x=1 else ,if (x=1 else ,printf(“y =%fn”, sqrt(x) +log(x)”);,y=sqrt(x)+double log(double x),#include #include void main() double x,y;printf(“Enter x=”);scanf(“%lf”, ,下一张,上一张,if (x=1,if (x=1 ,if (x=1 ,C语言规定:else总是与前面最接近的、不带else的if配对。if (a=b)if (b=c) printf(“a=b=c”); else /else与第2个if配对printf (“a!=c
12、”); if (a=b) if (b=c) printf(“a=b=c”); /加上 “” else /else与第1个if配对printf (“a!=c”);,上一张,#include void main() int i, j, k;scanf(“%d”, j=0, k=5 j=99, k=-1 j=9, k=-1 j=0, k=0,下一张,上一张,二级题,程序运行: 5 ? 99 ? 12行改为:k=-1; j=i/10; 99 ?7行改为:if( (i/10)0) 12行改为:k=-1; 5 ?,switch语句,多路分支嵌套的if语句,程序的可读性较低。switch的一般形式:switch (表达式) /表达式值为整型或字符型case 常量1:语句组1 /语句组可为空或多条语句 case 常量2:语句组2 case 常量n:语句组ndefault:语句组n+1 /可省略 功能:表达式值为常量i 从语句组i执行至break语句均不等 default:执行语句n+1,