本章要点 ■什么是分支结构?它的作用是什么? ■ switch语句中的 break起什么作用? 逻辑运算和关系运算的相同之处是什么? 它们之间又有什么不同? ■字符型数据在内存中是如何存储的?
本章要点 ◼ 什么是分支结构?它的作用是什么? ◼ switch 语句中的 break 起什么作用? ◼ 逻辑运算和关系运算的相同之处是什么? 它们之间又有什么不同? ◼ 字符型数据在内存中是如何存储的?
31简单的猜数游戏 例3-1简单的猜数游戏。输入你所猜的整数(假定 1100内),与计算机产生的被猜数比较,若相等, 显示猜中;若不等,显示与被猜数的大小关系。 311程序解析 312二分支结构和-else语句 313多分支结构和ese-语句
3.1 简单的猜数游戏 3.1.1 程序解析 3.1.2 二分支结构和if – else语句 3.1.3 多分支结构和else – if 语句 例3-1 简单的猜数游戏。输入你所猜的整数(假定 1~100内),与计算机产生的被猜数比较,若相等, 显示猜中;若不等,显示与被猜数的大小关系
if include int main (void) 31.1程序解析 int mynumber 38 int yournumber I Input your number: 48 Sorry your num ber is bigger than my number! printf("Input your number: scanf("%d", &yournumber); Input your number: 38 Ok! you are right if(yournumber = mynumber) printf("Ok! you are right! n"); 多层缩进的书写格式 else 使程序层次分明 if (yournumber mynumber printf("Sorry! your number is bigger than my number!n); else printf("Sorry! your number is smaller than my number!n") return o
# int include main(void) 3.1.1 程序解析 { int mynumber = 38; int yournumber; printf("Input your number: "); scanf("%d", &yournumber); if(yournumber == mynumber) printf("Ok! you are right!\n"); else if(yournumber > mynumber ) printf("Sorry! your number is bigger than my number!\n"); else printf("Sorry! your number is smaller than my number!\n"); return 0; } Input your number:48 Sorry! your number is bigger than my number! 多层缩进的书写格式 使程序层次分明 Input your number:38 Ok! you are right!
312二分支结构和 felse语句 f表达式) if表达式) 语句1 else 一条语句语句1 语句2 真(非0) 假(0) 真(非0) 假(0) 表达式 表达式 语句1 语句2语句1
3.1.2 二分支结构和 if-else 语句 if (表达式) 语句1 else 语句2 if (表达式) 语句1 语句1 表达式 语句2 真(非0) 假(0) 语句1 表达式 真(非0) 假(0) 一条语句
判断数字的奇偶性 例32 输入1个整数,判断该数是奇数还是偶数。 读入一个整数 if(该数能被2整除) number%2=0 则该数为偶数 else 该数为奇数
判断数字的奇偶性 例3-2 输入1个整数,判断该数是奇数还是偶数。 number % 2 == 0 读入一个整数 if (该数能被2整除) 则该数为偶数 else 该数为奇数
源程序判断数字的奇偶性 include int main(void) i int number; printf( Enter a number: scanf( %d,&number) Enter a number: 1028 if(number %2==0) Tne number is even print(° Tne number is evenⅦn"); Enter a number: 329 7 elset Tne number is odd printf("Tne number is odd. In") return 0: 此处条件内由于只有一条 语句,故{}可省略
源程序-判断数字的奇偶性 #include int main(void) { int number; printf("Enter a number: "); scanf("%d", &number); if(number % 2 == 0){ printf("Tne number is even. \n"); } else{ printf("Tne number is odd. \n"); } return 0; } Enter a number: 329 Tne number is odd. Enter a number: 1028 Tne number is even. 此处条件内由于只有一条 语句,故{ }可省略
统计学生的成绩 例33输入一个正整数n,再输入n个学生的 成绩,计算平均分,并统计不及格成绩的 个数。 fori=1; i<=n; i++) 输入1个学生的成绩 grade 累加成绩 total 统计不及格成绩的个数 count
统计学生的成绩 例3-3 输入一个正整数n,再输入n个学生的 成绩,计算平均分,并统计不及格成绩的 个数。 for(i = 1; i <= n; i++){ 输入1个学生的成绩 grade 累加成绩 total 统计不及格成绩的个数count }
include int main(void) 源程序-统计成绩 i int count, i double grade, total printf(" Enter n: ) scanf( %d",&n) total =o: count =0: for(i=1; i<=n; i++r Enter n: 4 Enter grade 1: 67 printf(" enter grade #%d: ,i) Enter grade #2: 54 scanf( %If",&grade); Enter grade #3: 88 total total t grade; Enter grade # 4: 73 if(grade 60) Grade average=70.50 count++ 此处省略 else Number of failures=1 printf(" Grade average =%.2fn", total/n) printf(" number of failures=%din", count return 0:
#include int main(void) { int count, i, n; double grade, total; printf("Enter n: "); scanf("%d", &n); total = 0; count = 0; for(i = 1; i <= n; i++){ printf("Enter grade #%d: ", i); scanf ("%lf", &grade); total = total + grade; if(grade < 60) count++; } printf("Grade average = %.2f\n", total/n); printf("Number of failures = %d\n", count); return 0; } 源程序-统计成绩 Enter n: 4 Enter grade #1: 67 Enter grade #2: 54 Enter grade #3: 88 Enter grade #4: 73 Grade average = 70.50 此处省略else Number of failures = 1