scanf(格式控制,输入项表)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

scanf(格式控制,输入项表); & ---- 地址运算符
printf(格式控制,输出项表);
---> 格式字符(输出):
int ------- %d
float ------- %f
double ----- %f或%lf
char ------- %c
字符串 %s
%% --------- %
---> 格式字符(输入):
%d----------- int
%ld ------ long
%hd ------ short
%f----------- float
%lf或%le ---- double
%s --------- 字符串
--->程序结构---顺序结构
1四舍五入 2. 中间变量 3. 数字拆分
---》语句:
条件控制语句:
--- 选择控制语句 if或if--else switch
--- 循环控制语句
--- 转向控制语句
---> 选择结构:
**** if或if--else 构成的单分支选择结构
**** swtich 语句构成的多分支选择结构


第一部分:if语句构成的单分支选择结构
1.不带else的if语句
--- if语句的一般调用形式:
if(表达式) 语句
例如: if(a!=b) {t=a;a=b;b=t;}
*** if 是一个关键字
表达式 只要是合法的C表达式即可。
语句 在理论上只有一条,多条要作为复合语句。

--- if语句的执行过程:
首先计算if后表达式的值,如果表达式的值为非0,就执行其后的子句。如果是假就不执行。

--- if语句的简单应用:
例如1:编写函数输入两个不相等的整数a,b输出其中较大的那个数.
#include
void main()
{ int a,b;
printf("请输入变量a,b: ");
scanf("%d%d",&a,&b);
if(a>b) printf("a=%d\n",a);
if(b>a) printf("b=%d\n",b);
}
--> a=5,b=6
例如2: 编写函数,判断k是奇数还是偶数。

#include
void main()
{int k;
printf("请输入变量k的值: ");
scanf("%d",&k);
if(k%2==0) printf("%d 是偶数!\n",k);
if(k%2!=0) printf("%d 是奇数!\n",k);

}
例如3: 编写程序,输出a,b,c中最大的那个数(最小的哪个数);
--->形式:
a>b&&a>c
b>a&&b>c
c>a&&c>b
---> 假设:
#include
void main()
{ int a,b,c,max;
printf("Enter a,b,c : ");
scanf("%d%d%d",&a,&b,&c);
max=a;
if(maxif(maxprintf("max=%d\n",max);
}

2.带有else的if语句
--- if(表达式) 语句
else 语句
**** if else 都是关键字。
表达式 ~ ~
语句 ~ ~
**** else 不能单独使用,必须和if一起使用。
例如: if(a!=b){t=a;a=b;b=t;}
else printf("a==b\n");
---执行过程:
首先计算if后表达式的值,如果表达式的值为非0就执行if后的子句,否则就执行else后的子句。

--- if-else 的简单应用
例如4: 编写函数,判断k能否被5和8整除。
#include
voido main()
{int k;
scanf("%d",&k);
if(k%5==0||k%8==0 ) printf("%d 能整除!\n",k);
else printf("%d 不能整除!\n",k);
}
--》 引入: 编写函数,输出500--

-800之间能被5或8整除,但不能同时被5和8整除的数,按每行10个元素为一组进行输出。

if( (k%5==0||k%8==0) && k%40!=0 )

3.嵌套的if--else语句
(1)
if(表达式) { if(表达式) 语句 }
else 语句
*** 嵌套的if语句外的括号是 不能省略的。
例如:
if(a!=b) { if(a>b) printf("%d",a); }
else printf("a==b\n");

(2)
if(表达式) { if(表达式) 语句
else 语句
}
else 语句
*** 嵌套的if--else 外的括号可以省略。
例如:
if(a!=b) { if(a>b) printf("%d",a);
if(a}
else printf("a==b\n");
例如4.5
#include
void main()
{ int a=2,b=-1,c=2;
if(aif(b<0) c=0;
else c+=1;
printf("%d\n",c);
}

(3)
if(表达式) 语句
else { if(表达式) 语句 }
例如:
#include
void main()
{ int x=1,y=0;
if(!x) y++;
else if(x==0) {if(x) y+=2; else y+=3;}
printf("%d\n",y);
}

(4)
if(表达式) 语句
else { if(表达式) 语句
else 语句
}
*** 嵌套的if--else外的括号是可以省略的。
***多级嵌套:
例如5:编写函数,根据某个学生的成绩g,来给学生划分等级,把大于等于90定义为A,小于60定义为E,中间每10分为一个级别。
#include
void main()
{ int g;
printf("请输入某个学生的成绩g:");
scanf("%d",&g);
if(g>=90) printf("A\n");
else if(g>=80) printf("B\n");
else if(g>=70) printf("C\n");
else if(g>=60) printf("D\n");
else printf("E\n");

}

第二部分:switch语句及构成的选择结构
1.switch语句
--switch语句的一般调用形式:
switch(表达式)
{ case 常量表达式1 : 语句1
case 常量表达式2 : 语句2
case 常量表达式3 : 语句3
......
case 常量表达式n : 语句n
default : 语句
}
**** switch case default : 都是关键字。
**** switch后的小括号是不能省略的。
**** 表达式 只要是合法的C表达式即可。
**** 在括号的后面是没有分号的。
**** 花括号中的部分叫做该switch语句的语句体部分。
**** case 和 常量表达式之间一般要有空格
**** case 和常量表达式合称为 "标号"
**** 常量表达式和冒号之间一般也要有空格。
**** 语句部分可以省略。
---switch语句的执行过程:
1.首先计算switch后表达式的值,然后再改switch语句体中查找对应的标号,如果找到标号,程序将从对应的标号处向下执行,直到程序结束,如果没有找到对应的标号,程序将从default处向下执行直到结束。 例如:

例如6:编写函数,根据某个学生的成绩g,来给学生划分等级,把大于等于90定义为A,小

于60定义为E,中间每10分为一个级别。
#include
void main()
{ int g;
printf("请输入某个学生的成绩g:");
scanf("%d",&g);
switch(g/10)
{ case 10 :
case 9 : printf("A\n");

default : printf("E\n");
case 7 : printf("C\n");
case 6 : printf("D\n");
case 8 : printf("B\n");
}
}
*** switch语句体中的标号的次序没有要求。
----用switch是不能真正的实现多分支功能,因此引入break语句。
----break语句的功能:结束当前所在的switch语句
例如:
#include
void main()
{ int g;
printf("请输入某个学生的成绩g:");
scanf("%d",&g);
switch(g/10)
{ case 10 :
case 9 : printf("A\n");break;
case 8 : printf("B\n");break;
case 7 : printf("C\n");break;
case 6 : printf("D\n");break;
default : printf("E\n");
}
}

2.嵌套的switch语句。

例如6:
#include
void main()
{int x=0,y=2,z=3;
switch(x)
{ case 0 : switch(y==2)
{case 1 : printf("*");break;
case 2 : printf("%");break;
}
case 1 : switch(z)
{ case 1 : printf("$");
case 2 : printf("*");break;
default : printf("#");
}
}
printf("\n");
}

-->*#





















相关文档
最新文档