当前位置:
文档之家› 第四章 C语言程序的基本控制结构
第四章 C语言程序的基本控制结构
printf("Enter the value of c:"); scanf("%c",&c); printf("%c:%d\n",c,c); } 运行情况如下: Enter the value of c:a↙ a:97
4.3 顺序结构的程序设计
4.4】交换两个变量的值. 【例4.4】交换两个变量的值. 设变量a 设变量a,b均为整 型变量, 型变量,编写一个 程序,输入a 程序,输入a,b的 并显示, 值,并显示,然后 交换a 的值, 交换a,b的值,再 次显示. 次显示.
零(不成立) 不成立)
显示b 显示b
建议: 为使结构清楚不易错,语句使用花括号扩起 (即使是一条语句).
分支结构(选择结构) 4.4 分支结构(选择结构)
【例4.8】判断某一年是否是闰年, 4.8】判断某一年是否是闰年, 是则输出year 是则输出year xxxx is a leap year. 否则输出year 否则输出year xxxx is not a leap year. if((y%4==0&&y%100!=0)||(y%400==0)) year.\n",y); printf("year %d is a leap year.\n",y); else year.\n",y); printf("year %d is not a leap year.\n",y);
4.3 顺序结构的程序设计
4.3】编写程序求出任一输入字符的ascii ascii码 【例4.3】编写程序求出任一输入字符的ascii码. #include <stdio.h> 字符在内存存放的是它的ascii码(字符型和整型可以 main() 混合运算或者字符型可按整型输出),所以将它按整数 {char c; 输出即可.
第四章 C语言程序的 基本控制结构
第四章 C语言程序的基本控制结构
C程序构成:文件→函数→语句序列. 程序构成: 语句: 语句:C语言中描述计算过程的最基本单位.由分号;结束. 结构化程序设计方法: 结构化程序设计方法:程序语句序列由三种基本结构(顺序,
分支,循环)构成,结构清晰,可读性强.
4.1 程序的三种基本结构
分支结构(选择结构) 4.4 分支结构(选择结构)
一,if语句 if语句 三种条件转移语句: 三种条件转移语句: if语句的一般形式 语句的一般形式: if语句的一般形式: if语句 1,if语句 if(表达式 表达式) if(表达式) else语句 2,if ~语句; 语句 else 语句; switch语句 3,switch语句 表达式通常 通常为条件表达式 表达式通常为条件表达式 或逻辑表达式. 或逻辑表达式. if语句中的语句只能是一 语句中的语句 if语句中的语句只能是一 条语句, 条语句,如果需要多条语 句则使用复合语句. 句则使用复合语句. 编写程序时使用缩进使结 构清晰. 构清晰.
而公式里的p:
调用求平方根函数,结果赋给一个变量, 调用求平方根函数,结果赋给一个变量, 实参使用表达式
4.3 顺序结构的程序设计
<stdio. #include <stdio.h> <math. #include <math.h> main() a,b,c,p,s; {float a,b,c,p,s; a=3.0; a=3 b=4.0; b=4 c=5.0; c=5 p=a+b+c; p/=2 p=a+b+c; p/=2; s=sqrt(p*(p-a)*(p-b)*(p-c)); s=sqrt(p*(p-a)*(p-b)*(p-c)); printf("s= s=% f",s); printf( s=%7.2f",s); } 运行结果如下: s=□□□ □□□6 运行结果如下: s=□□□6.00
分支结构(选择结构) 4.4 分支结构(选择结构)
三,条件分支的嵌套 在分支的语句部分还可以出现分支语句, 在分支的语句部分还可以出现分支语句,这样就形成了分支的嵌 多分支结构),构成复杂的逻辑结构. ),构成复杂的逻辑结构 套(多分支结构),构成复杂的逻辑结构.
if(表达式1){ if(表达式1){ 表达式 if(表达式 表达式2){ if(表达式2){ 非零(成立) 不成立) 非零(成立) 零(不成立) 语句1 语句1; 表达式1 表达式1 } else { 语句2; 非零(成立) 语句2 零(不成立) 非零(成立) 不成立) 非零(成立) 零(不成立) 非零(成立) } 表达式3 表达式3 表达式2 表达式2 } else{ if(表达式 表达式3){ if(表达式3){ 语句3 语句4 语句3 语句4 语句1 语句2 语句1 语句2 语句3; 语句3 } else{ 语句4 语句4; } }
分支结构(选择结构) 4.4 分支结构(选择结构)
if (表达式1) 语句1; 表达式1 语句1 表达式2 语句2 else if (表达式2) 语句2; 表达式3 语句3 else if (表达式3) 语句3; … 表达式n) 语句n else if (表达式n) 语句n; 语句n+ n+1 else 语句n+1; 例如: 例如: (score>=90 90) grade='A'; if (score>=90) grade='A'; (score>=80 80) grade='B'; else if (score>=80) grade='B'; (score>=70 70) grade='C'; else if (score>=70) grade='C'; (score>=60 60) grade='D'; else if (score>=60) grade='D'; grade='E'; else grade='E';
分支结构(选择结构) 4.4 分支结构(选择结构)
4.6】输入一个字符,若是大写字母,则输出其ascii ascii码 【例4.6】输入一个字符,若是大写字母,则输出其ascii码. #include <stdio.h> main() {char ch; ch=getchar(); if(ch>='A'&&ch<='Z') printf("ch=%d\ printf("ch=%d\n",ch); }
百位=X/100 百位=X/100 十位=X/10 百位* =X/10十位=X/10-百位*10 个位=X 十位*10-百位* =X个位=X-十位*10-百位*100 需三个变量) (需三个变量)
顺序输出个位,十位, 顺序输出个位,十位,百位
4.3 顺序结构的程序设计
<stdio. #include <stdio.h> main() a,i,j,k; {int a,i,j,k; n"); printf("Enter a:\n"); scanf("%3d",&a); scanf("% d",&a); i=a/100 100; i=a/100; j=a/10 10*i 10- *i; j=a/10-10*i; k=a-10*j 100*i *j*i; k=a-10*j-100*i; printf("% n",k,j,i); printf("%d%d%d\n",k,j,i); } 运行情况如下: 运行情况如下: Enter a: 127↙ 127↙ 721 /*i为百位数*/ /*i为百位数* /*j为十位数 为十位数* /*j为十位数*/ /*k为个位数 为个位数* /*k为个位数*/
y
n
4.2 复合语句
复合语句:多个语句用花括号扩起来组成的语句.
目的是将这多个语句看成是一条语句. 复合语句的一般形式: 例: { { int i,j; [说明部分] i=s; <语句部分> j=i++; } } 注意:内部各条语句还是以分号结尾,结尾的右花括号后不加分号. 注意:内部各条语句还是以分号结尾,结尾的右花括号后不加分号.
ch>='A && ch<='Z ch>= A'&& ch<= Z'
1(成立) 成立) 0(不成立) 不成立)
printf("ch=%d\ ,ch) printf( ch=%d\n",ch) ch=%d
分支结构(选择结构) 4.4 分支结构(选择结构)
二,if~else语句 if~else语句
if~else语句的一般形式: if~else语句的一般形式: 语句的一般形式
算法分析: 算法分析:
输 入 两 个 变 量 a和 b,并 输 出 显 示
a
2
b
t
交 换 a和 b,并 输 出 显 示
3
1 1 1 1
4.3 顺序结构的程序设计
main() {int a,b,t; printf("\nEnter the value of a and b\n"); printf("a,b="); scanf("%d,%d",&a,&b); 运行情况如下: printf("a=%d,b=%d\n",a,b); Enter the value of a and b t=a; a,b=2,7↙ a=b; b=t; 输出: a=2,b=7 printf("changed......\n"); changed…… printf("a=%d,b=%d",a,b); a=7,b=2 }