总概:第五章学习内容主要包括三大结构:顺序结构,选择结构,循环结构;其中选择结构又包括if和switch两大种,循环结构包括while,do...while,for循环三大种,下面是我自己总结到的一些内容(里面还包括一些特殊的代码):
一.语句概述:
包含三大种:表达式语句(一个表达式后跟着一个分号),流程控制语句(如break,continue和goto等)和复合语句(将多个语句用{}括住)二.顺序结构:
流程中没有任何分支,转移,程序从上至下顺序执行;如下列代码:
问题:输入以秒为单位所表示的时间,将其转换成几日几时几分几秒
#include<stdio.h>
int main()
{
int sec,min,hour,day,total_sec;
printf("Input total second:\n");
scanf("%d",&total_sec);
sec=total_sec;
min=sec/60;
sec=sec%60;
hour=min/60;
min=min%60;
day=hour/24;
hour=hour%24;
printf("%d second %d day %d hour %d minute %d second\n",total_sec,day,hour,min,sec);
return 0;
}
三.选择结构;
1.if语句:先处理表达式,表达式真就执行,假就跳出,执行后面的语句;
#include<stdio.h>
int main()
{
int a=5,b=10;
if(a=b)
{
printf("b==%d",b);
}
printf("a=%d\n",a);
return 0;
}
b=10,a=10
2.if...else语句:格式:if(表达式) 语句1
else 语句2
3.if语句的嵌套:
if() 语句1
else 语句2
else
if() 语句3
else 语句4
4.if...else if...else语句
if(表达式1) 语句1
else if(表达式2) 语句2
......
else if(表达式n) 语句n
else 语句 n+1
5.switch语句:编写多分支选择结构
格式:switch(表达式)
{ case 常量表达式1:语句1
case 常量表达式2:语句2
......
case 常量表达式n: 语句n
default:语句 n+1
}
注意:1.每个case中的表达式,不能含有变量,必须是整常量或字符常量;例如:case 1.1:语句序列;case a>10:语句序列;都是错误的;2.同一个switch中的各个case表达式的值必须互不相同;3.case和default的顺序可以任意;4.多个case可用一组语句;
四.条件运算符【表达式1?表达式2:表达式3】
五.循环结构:
1.while语句:先计算表达式,再判断表达式的值是否为真,若是真,则继续执行循环体,若非真,则结束循环;
#include<stdio.h>
int main()
{
int n=10;
while(n>7)
{
n--;
printf("%d\n",n);
}
return 0;
}
输出结果为:9
8
7
2.do...while循环:先执行一次循环体,在计算表达式,若为真,则在执行一次循环体,否则,退出循环;
#include<stdio.h>
int main()
{
long n=0,num;
printf("Inter an integer:\n");
scanf("%ld",&num);
do{
n=n*10+num%10;
num=num/10;
}while(num!=0);
printf("%ld\n",num);
return 0;
}
3.for循环语句:for(表达式1;表达式2;表达式3)
代码示例:判断素数
#include<stdio.h>
int main()
{
int m,i,k,flag=1;
printf("Enter an int number:");
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0){flag=0;break;}
if(flag)
printf("%d is prime number.",m);
else
printf("%d is not prime number.",m);
rerurn 0;
}