C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组
§ 1-1 数据类型 整型 基本类型 字符型 单精度型 实型(浮点型) 数据类型 双精度型 枚举型 数组类型 构造类型 结构体类型 共用体类型 指针类型 空类型
§1-2 运算符 算术运算符 + ( 加法或正值运算符. 如3+5, +3) - ( 减法或负值运算符. 如5-2, -3) §1-2 运算符 算术运算符 + ( 加法或正值运算符. 如3+5, +3) - ( 减法或负值运算符. 如5-2, -3) * ( 乘法运算符. 如3*5) / ( 除法运算符. 如5/3) %( 模运算符, %两侧均应为整型数据, 如7%4的值为 3) 关系运算符 <, > (小于, 大于) ==, != (等于, 不等于) >=, <= (大于等于, 小于等于) 逻辑运算符 !, &&, || (非, 与, 或) 赋值运算符 = (赋值) 逗号运算符 , (逗号运算符)
§1-3 表达式 算术表达式 赋值表达式 逗号表达式 a*b/c-1.5+’a’ a=a+3 a+=3 a=(b=5) §1-3 表达式 算术表达式 a*b/c-1.5+’a’ 赋值表达式 a=a+3 a+=3 a=(b=5) 逗号表达式 3+5, 6+8, a=x*3.6
§2-1 顺序结构 先执行A操作, 再执行B操作, 两者是顺序执行的关系. 图中(b)是N-S结构化流程图. A A B B (a) (b)
§2-2 格式输出 printf函数 (例题) d格式符. 输出十进制整数 %d %md %ld O格式符. 以八进制输出整数 X格式符.以十六进制输出整数 U格式符. 输出unsigned数据 c格式符. 用来输出一个字符 s格式符.用来输出一个字符串 f格式符. 输出实数, 以小数形式 e格式符. 输出实数, 以指数形式
§2-2 格式输出 printf函数 (例题) d格式符. 输出十进制整数 %d %md %ld O格式符. 以八进制输出整数 例: main() {int a=5,b=7; long n=1234567; unsigned u=65535 printf(“%d%d\n”,a,b); printf(“%3d%3d\n”,a,b); printf(“%ld,%lo,%x\n”,n,n,n); printf(“%u,%o,%x,%d\n”,u,u,u,u); } 运行结果: printf函数 (例题) d格式符. 输出十进制整数 %d %md %ld O格式符. 以八进制输出整数 X格式符.以十六进制输出整数 U格式符. 输出unsigned数据 c格式符. 用来输出一个字符 s格式符.用来输出一个字符串 f格式符. 输出实数, 以小数形式 e格式符. 输出实数, 以指数形式
§2-2 格式输出 printf函数 (例题) d格式符. 输出十进制整数 %d %md %ld O格式符. 以八进制输出整数 例: main() {int a=5,b=7; long n=1234567; unsigned u=65535 printf(“%d%d\n”,a,b); printf(“%3d%3d\n”,a,b); printf(“%ld,%lo,%x\n”,n,n,n); printf(“%u,%o,%x,%d\n”,u,u,u,u); } 运行结果: 57 5 7 1234567,4553207,12d687 65535,177777,ffff, 65535 printf函数 (例题) d格式符. 输出十进制整数 %d %md %ld O格式符. 以八进制输出整数 X格式符.以十六进制输出整数 U格式符. 输出unsigned数据 c格式符. 用来输出一个字符 s格式符.用来输出一个字符串 f格式符. 输出实数, 以小数形式 e格式符. 输出实数, 以指数形式
§2-3 格式输入 2. scanf函数 (例题) d格式符. 输入十进制整数 %d %md O格式符. 以八进制输入整数 §2-3 格式输入 2. scanf函数 (例题) d格式符. 输入十进制整数 %d %md O格式符. 以八进制输入整数 X格式符.以十六进制输入整数 U格式符. 输入unsigned数据 c格式符. 用来输入一个字符 s格式符.用来输入一个字符串 f格式符. 输入实数, 以小数形式 e格式符. 输入实数, 以指数形式
§2-3 格式输入 2. scanf函数 (例题) d格式符. 输入十进制整数 %d %md O格式符. 以八进制输入整数 §2-3 格式输入 2. scanf函数 (例题) d格式符. 输入十进制整数 %d %md O格式符. 以八进制输入整数 X格式符.以十六进制输入整数 U格式符. 输入unsigned数据 c格式符. 用来输入一个字符 s格式符.用来输入一个字符串 f格式符. 输入实数, 以小数形式 e格式符. 输入实数, 以指数形式 例: 若a=10, b=20, c1=‘A’, c2=‘a’, x=1.5, y=-3.75, z=67.8, 用下面scanf函数输入数据,请问在键盘上如何输入? scanf(“%5d%5d%c%c%f%f”, &a, &b, &c1, &c2, &x, &y, &z); 答:
§2-3 格式输入 2. scanf函数 (例题) d格式符. 输入十进制整数 %d %md O格式符. 以八进制输入整数 §2-3 格式输入 2. scanf函数 (例题) d格式符. 输入十进制整数 %d %md O格式符. 以八进制输入整数 X格式符.以十六进制输入整数 U格式符. 输入unsigned数据 c格式符. 用来输入一个字符 s格式符.用来输入一个字符串 f格式符. 输入实数, 以小数形式 e格式符. 输入实数, 以指数形式 例: 若a=10, b=20, c1=‘A’, c2=‘a’, x=1.5, y=-3.75, z=67.8, 用下面scanf函数输入数据,请问在键盘上如何输入? scanf(“%5d%5d%c%c%f%f”, &a, &b, &c1, &c2, &x, &y, &z); 答: 10 20Aa1.5 –3.75 67.8
§3-1 选择结构-1 If 语句的两种形式: 1. If (表达式) 语句 例如: If (x>y) printf”%d”, x); 假 真 语句
§3-1 选择结构-2 2. If (表达式) 语句1 else 语句2 例如: If (x>y) printf”%d”, x); Else printf(“%d”,y); 表达式 真 假 语句1 语句2
§3-2多分支switch 结构 二. 多分支switch 结构 switch (表达式) { case 常量表达式1:语句1 …… case 常量表达式n:语句n default : 语句n+1 } 表达式 必须是整型,字符型或枚举型 常量表达式1 常量表达式n 其它 常量表达式2 语句1 语句2 语句n 语句n+1 …
第四章 循环控制 循环结构三种语句: 用while语句 用do-while语句 用for语句
§4-1 while语句 一般形式: While (表达式) 语句 功能: 当表达式为非0值时,执行while 语句中的内嵌语句。 特点: 先判断表达式,后执行语句。 流程图: 例题:
§4-1 while语句 一般形式: While (表达式) 语句 功能: 当表达式为非0值时,执行while 语句中的内嵌语句。 特点: 先判断表达式,后执行语句。 流程图: 例题: 表达式 当表达式值为真 非0 循环体语句 语句 (a) (b)
while 语句的例题 求1+2+…+100=? 思路: 程序: i=1 假 表达式 i=1 真 sum=sum+i i=i+1 思路: 程序: i=1 表达式 假 i=1 真 当i<=100 sum=sum+i i=i+1 sum=sum+i i=i+1
循环体若包含一个以上语句,应用花括号括起来 程序: main() { int i,sum=0; i=1; while(i<=100) sum=sum+i; i++; } printf(“%d”,sum); 循环体若包含一个以上语句,应用花括号括起来 循环体中应有使循环趋向于结束的语句
数组 数组是有序数据的集合。数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下标来唯一地确定数组中的元素。 一维数组 定义 int a[10]; 引用 a[0]=0; 初始化 int a[4]={1,2,3,4} 二维数组 字符数组 定义 char c[3]; 引用 c[2]=‘a’; 初始化 char c1[]={‘H’,’e’,’l’},c2[]=“Hel”; 字符串和字符串结束标志 H e l \0 \0 H e l