c语言的顺序结构 选择结构 循环结构小结

顺序结构

1.定义:从main()开始,由上往下语句顺序执行

scanf()

scanf("普通/占位符",地址列表)
1.''普通/占位符'',输入时普通字符必须原样输入

int a,b;
scanf("%d,%d",&a,&b);
输入:3,5重点是,
scanf("a=%d,c=%d",&a,&b);
scanf("%d",&a);

2.占位符,输入时四种输入

int a,b;
scanf("%d%d",&a,&b);
输入:3空格7 回车
 3回车7回车
3tab键7
混合式输入:3空格tab键回车7

3.占位符%c,输入时一种输入

char ch1,ch2;
scanf("%c%c",&ch1,&ch2);
输入:ab

4.混合占位符,输入时一种输入

char ch1,ch2;
int x;
scanf("%c%d%c",&ch1,&x,&ch2);
输入:a空格1b

5.地址列表,输入时&

int x,y,z;
scanf("%d%d%d",&y,&x,&z);

字符数据的输入输出

putchar(),getchar()
学习方法:头文件名+函数的使用格式
1.putchar()
格式:putchar(字符常量或字符变量)
功能:输出一个字符但不输出单引号
例如:putchar('a'); a
putchar('\n'); 光标下移
putchar(100); d ascII值
putchar('100');格式错误:字符型数据单引号内只有一个字符
2.getchar()
功能:接收一个从键盘输入的字符
注:getchar()没有任何参数,函数的返回值是输入的字符
如:char a,b;
a=getchar();
b=getchar();
若输入为:1<回车>
则变量a的值为字符'1',变量b的值为回车

选择结构

1.定义:从main()开始,由上往下有些语句执行有些不执行
2.两类语句->执行语句:控制语句

两类表达式

if()...else...

格式1:
if(表达式)
语句序列1;=>if子句
后继子句
格式2:
if(表达式)
语句序列1;
else
语句序列2;
后继语句

main(){
int m=5;
if(m++>5)=====>m++=6
    printf("m=%d",m);
else
    printf("m=%d",m++);=====>m=6    m++=7
printf("m=%d",++m);======>m=8      ++m=8
}
输出:m=6  m=8

if语句只控制一条语句
例如:

main(){
int m=5;
if(m++>5)
      printf("%d",m--);//受if控制
      printf("%d",m);//不受if控制----》结构错误,改正加{}
else
      printf("%d",m);
}

格式3:if语句的嵌套,else配对在其上方最近且未配对的if
if(表达式1)
if(表达式2)
语句序列11;
else
语句序列12;
else
语句序列2;
例如:

int x;
scanf("%d",&x);
if(x<0)printf("-1\n");
else if(x>0)printf("1\n");
else break;

switch(){...}

格式:
switch(表达式)
{
case 常量表达式1:子句1;break;
case 常量表达式2:子句2;
case 常量表达式n:子句n;
default: 子句n+1;
}

注意:

1.switch后必须用小括号将表达式括起
2.case后常量整型或字符型,不能有变量和逗号运算符
3.各case后常量不能出现相同的值
4.case和default只是一个入口标志,不起中断作用,它们的顺序可以任意颠倒

switch语句有如下规则:

switch语句中的变量类型只能为byte、short、int或者char。
switch语句可以拥有多个case语句。每个case后面跟一个要比较的值和冒号。
case语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
当变量的值与case语句的值相等时,那么case语句之后的语句无条件开始执行,直到break语句出现才会跳出switch语句。
当遇到break语句时,switch语句终止。程序跳转到switch语句后面的语句执行。case语句不必须要包含break语句。如果没有break语句出现,程序会继续执行下一条case语句,直到出现break语句。
switch语句可以包含一个default分支,该分支必须是switch语句的最后一个分支
default在没有case语句的值和变量值相等的时候执行。default分支不需要break语句。

例题分析

循环结构

1.定义:从main()开始,从上向下,使得某些语句重复执行
2.循环结构的程序:在顺序结构中加入循环控制语句
方式1:
While()
{
循环体语句序列;
}
方式2:
Do
{
循环体语句序列;
}while();
方式3:
for(;;)
{
循环体语句序列
}
方式4:
if(){}
else{}与goto配合使用

格式1---while语句(当型循环):

While(表达式)
{
循环体语句序列;
}
后继语句;
说明:
1.执行过程直到表达式为假跳出循环
2.表达式()加括号
3.while和它的控制语句算一条执行语句
4.复合语句算一条执行语句
例如:

main(){
int n=6;
while(n<9)
{printf("%d\n",n);
n++;
}
printf("%d\n",n--);
}
输出
6
7
8
9

格式2---do-while语句(直到型循环):

do
循环体语句序列
while(表达式);
后继语句
说明:1.执行过程
2.do-while();
3.do-while配对
4.do就近控制一条,若要控制多条的话,需要加花括号变成复合语句
例:

while(表达式);-----》while后加分号表示空控制语句,也是一条单独的语句
语句1;
语句2;
语句3;所以该程序共有四条语句
do
{语句1
语句2
语句3}
while(表达式);----》该程序共一条语句

格式3:

for(exp1;exp2;exp3)
{
循环语句序列;
}
后继语句;
说明:1.执行过程
2:exp1---初始化---》执行一次
exp2----条件---》判断
exp3----》增量式----》影响exp2
3.exp2----永真---》死循环
4.两次分号分割三个表达式
5.for(exp1;1;exp3)
循环体
缺省exp2为永真表达式,默认填入为1
例:求循环体次数,执行后变量i=?

问题1
for(i=1;i++<4;);循环体执行3次,i=5
问题2
for(i=1;++i<4;i++);循环体执行1次,i=4

例题:1+....+100哦这个题hhh
(1)累加器:
sum=0;sum+=i;
累乘器:sum=1;sum*=i;
(2)重复加法
解决方法(4种)(以下代码均为菜鸡作者随手一写,意会即可)

int i,sum=0;
1.for(int i=1;i<=100;i++)sum+=i;
2.while(i++<=100)sum+=i;
3.do{sum+=i}while(i<101)
4.LP:sum+=i;i++
if(i<=100)goto LP;

两个控制语句----break continue

格式:break;跳出
功能:中止退出。范围:循环体照和switch体
格式:continue;
功能:结束一次循环继续
范围:循环体中,在for循环中跳回exp3,while循环中跳回while表达式

双循环结构

定义:一个语句出现两个以上的for循环,while循环
以双循环为例最外层成为外循环,内层为内循环,内循环结束后回到外循环

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352