2-23

作者: henry_bin | 来源:发表于2017-02-23 19:43 被阅读0次

2017.23 周四

homework:
写一个简单的加,减,乘,除,四则运算的计算器程序。

程序的三大结构:
1.顺序结构:程序从上往下,从左往右,顺序执行

2.分支结构:做出判断,选择要执行的分支语句

3.循环结构:反复执行一段代码

分支结构:做判断,执行判断正确的那一路
1.简单if语句
...
if(条件)
{
语句块;
}
...
注:先判断条件,如果条件成立(真的),则执行对应的语句块,否则,则执行{}之后的语句。
例:

include <stdio.h>

void main()
{
int a=1;
if(a==2)
{
printf("yes\n");
}
printf("xxx\n");

}
/*
注:一个等号“=”表赋值
两个等号"=="表判断
不要在if后面加";"
*/
2.2路分支结构
if(条件1)
{
语句块1;
}
else
{
语句块2;
}
注:如果条件1成立,则只执行语句块1;否则,只执行语句块2.

include <stdio.h>

void main()
{
int a=1;
if(a==2)
{
printf("条件成立\n");
}
else
{
printf("条件不成立\n");
}
printf("xxx\n");

}
/*
程序书写的格式:
1.同一层次的语句左对齐,不同层次的语句,一个tab键的缩进。程序应该是锯齿状的,即层次分明。
2.书写的普通代码通常都是小写字符,遇到特殊意义的字符要大写,如宏定义的字符。
3.一个合格的程序应该是有适当的注释,便于阅读,但是注释不是文档,不要太多。
*/
3.多重if语句
if(条件1)
{
语句块1;
}
else if(条件2)
{
语句块2;
}
else if(条件3)
{
语句块3;
}
...
else
{
语句块n;
}
例:

include <stdio.h>

void main()
{
int a=5;
if(a==2)
{
printf("2\n");
}
else if(a==5)
{
printf("3\n");
}
else if(a==5)
{
printf("1\n");
}
else if(a==4)
{
printf("4\n");
}
else
{
printf("haha\n");
}
}
注:程序自上往下一次执行,对条件依次做出判断,如果条件不成立,就继续判断下一个条件,直到遇到成立的条件,则执行相应的分支语句,之后的条件将不再判断与执行;如果所有的条件都不成立,则执行else对应的分支语句。
4.嵌套if语句
if(条件)
{
if()
{
if()
{
if()
{}
}
}
else
{

}

}
else
{
if()
{
if()
{}
}
}

注:if...else..中嵌套if...else..结构
例:

include <stdio.h>

void main()
{
int a=10;
if(a>5)
{
if(a>7)
{
if(a>10)
{
printf("10\n");
}
else
{
printf("a=%d\n",a);
}
}
else
{
if(a>6)
{
printf("6\n");
}
}
}
else
{
printf("xxx\n");
}
}

注:分支结构格式书写自由,各种格式可以自由切换。
if后面可以没有大括号,但是只会顾及到后面的第一条指令.
else后面可以没有大括号,但是只会顾及到后面的第一条指令.
if...else..结构,如果if中有多条指令,则必须加上大括号,因为这个结构要求if后面的语句都必须是if分支的。

练习:输入一个数,判断是奇数还是偶数

include <stdio.h>

void main()
{
int data;
printf("input a data:");
scanf("%d",&data);
if(data%2 == 0 )
printf("是偶数\n");
else
printf("是奇数\n");
}
练习:从键盘上输入3个数,输出最大值。
a b c
1 2 3

include <stdio.h>

void main()
{
int a,b,c,max;
printf("please input 3 data:");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
max=a;
else
max=b;
if(max<c)
max=c;
printf("max:%d\n",max);
}

逻辑运算符:与(&&) 或(||) 非(!)
与:条件1 && 条件2
两个条件同时成立,整个表达式才成立
0(假的,不成立)
非0(1,真的,成立)
例:程序的三大结构:
1.顺序结构:程序从上往下,从左往右,顺序执行

2.分支结构:做出判断,选择要执行的分支语句

3.循环结构:反复执行一段代码

分支结构:做判断,执行判断正确的那一路
1.简单if语句
...
if(条件)
{
语句块;
}
...
注:先判断条件,如果条件成立(真的),则执行对应的语句块,否则,则执行{}之后的语句。
例:

include <stdio.h>

void main()
{
int a=1;
if(a==2)
{
printf("yes\n");
}
printf("xxx\n");

}
/*
注:一个等号“=”表赋值
两个等号"=="表判断
不要在if后面加";"
*/
2.2路分支结构
if(条件1)
{
语句块1;
}
else
{
语句块2;
}
注:如果条件1成立,则只执行语句块1;否则,只执行语句块2.

include <stdio.h>

void main()
{
int a=1;
if(a==2)
{
printf("条件成立\n");
}
else
{
printf("条件不成立\n");
}
printf("xxx\n");

}
/*
程序书写的格式:
1.同一层次的语句左对齐,不同层次的语句,一个tab键的缩进。程序应该是锯齿状的,即层次分明。
2.书写的普通代码通常都是小写字符,遇到特殊意义的字符要大写,如宏定义的字符。
3.一个合格的程序应该是有适当的注释,便于阅读,但是注释不是文档,不要太多。
*/
3.多重if语句
if(条件1)
{
语句块1;
}
else if(条件2)
{
语句块2;
}
else if(条件3)
{
语句块3;
}
...
else
{
语句块n;
}
例:

include <stdio.h>

void main()
{
int a=5;
if(a==2)
{
printf("2\n");
}
else if(a==5)
{
printf("3\n");
}
else if(a==5)
{
printf("1\n");
}
else if(a==4)
{
printf("4\n");
}
else
{
printf("haha\n");
}
}
注:程序自上往下一次执行,对条件依次做出判断,如果条件不成立,就继续判断下一个条件,直到遇到成立的条件,则执行相应的分支语句,之后的条件将不再判断与执行;如果所有的条件都不成立,则执行else对应的分支语句。
4.嵌套if语句
if(条件)
{
if()
{
if()
{
if()
{}
}
}
else
{

}

}
else
{
if()
{
if()
{}
}
}

注:if...else..中嵌套if...else..结构
例:

include <stdio.h>

void main()
{
int a=10;
if(a>5)
{
if(a>7)
{
if(a>10)
{
printf("10\n");
}
else
{
printf("a=%d\n",a);
}
}
else
{
if(a>6)
{
printf("6\n");
}
}
}
else
{
printf("xxx\n");
}
}

注:分支结构格式书写自由,各种格式可以自由切换。
if后面可以没有大括号,但是只会顾及到后面的第一条指令.
else后面可以没有大括号,但是只会顾及到后面的第一条指令.
if...else..结构,如果if中有多条指令,则必须加上大括号,因为这个结构要求if后面的语句都必须是if分支的。

练习:输入一个数,判断是奇数还是偶数

include <stdio.h>

void main()
{
int data;
printf("input a data:");
scanf("%d",&data);
if(data%2 == 0 )
printf("是偶数\n");
else
printf("是奇数\n");
}
练习:从键盘上输入3个数,输出最大值。
a b c
1 2 3

include <stdio.h>

void main()
{
int a,b,c,max;
printf("please input 3 data:");
scanf("%d %d %d",&a,&b,&c);
if(a>b)
max=a;
else
max=b;
if(max<c)
max=c;
printf("max:%d\n",max);
}

逻辑运算符:与(&&) 或(||) 非(!)
与:条件1 && 条件2
两个条件同时成立,整个表达式才成立
0(假的,不成立)
非0(1,真的,成立)
例:
if(0)
{}
if(1)
{}
if(2)
{}
1 && 1 => 1 真的,成立
0 && 1 => 0 假的
1 && 0 => 0 假的
0 && 0 => 0 假的。

或:条件1 || 条件2
两个条件,只要有一个条件成立,整个表达式就成立
1 || 1 => 1
1 || 0 => 1
0 || 0 => 0
0 || 1 => 1

非: !条件
如果条件是假的,整个表达式就是真的
如果条件是真的,整个表达式就是假的

include <stdio.h>

void main()
{
int a;
a=0 || 0;
//a=1 && 1
printf("%d\n",a);
}
//逻辑运算符是会有运算结果的,如果整个表达式是真的,那么返回1,如果整个表达式是假的,则会返回0.
//0表示假的,非0表示真的。

a+=b <=> a=a+b
练习:编写一个程序,根据输入的学生成绩给出相应的判定。大于等于90输出“优”,大于等于80小于90输出“良”,大于等于60小于80输出“中”,否则输出“差”。

include <stdio.h>

void main()
{
float score;
printf("please input score:");
scanf("%f",&score);
if(score>=90)
printf("优!\n");
else if(score>=80)
printf("良!\n");
else if(score>=60)
printf("中!\n");
else
printf("差!\n");
}

练习:接受用户输入的三种商品的价格,如果其中有商品价格大于50或者三种商品价格之和大于100,则用户享受15%的优惠,问用户应付多少钱

include <stdio.h>

void main()
{
float a,b,c;
printf("请输入3种商品的价格:");
scanf("%f %f %f",&a,&b,&c);
if(a>50 || b>50 || c>50 || (a+b+c)>100)
printf("用户应付:%.1f\n",(a+b+c)*0.85);
else
printf("用户应付:%.1f\n",a+b+c);
}

练习:输入一个年份,判断是否为闰年
闰年:能被4整除但不能被100整除,或者是能够被400整除

include <stdio.h>

void main()
{
int year;
printf("请输入一个年份:");
scanf("%d",&year);
if(year%4==0 && year%100!=0 || year%400==0)
printf("是闰年!\n");
else
printf("不是闰年!\n");
}

练习:输入一个5位数,判断它是不是回文数,
12321 wan=12321/10000=1
qian=12321%10000/1000=2
shi=12321%100/10=2
ge=12321%10

include <stdio.h>

void main()
{
int data,wan,qian,shi,ge;
printf("请输入一个5位数:");
scanf("%d",&data);
wan=data/10000;
qian=data%10000/1000;
shi=data%100/10;
ge=data%10;
if(wan==ge && qian==shi)
printf("是回文数!\n");
else
printf("不是回文数!\n");
}

练习:输入2个整数a,b,输出较大的那个数

includ <stdio.h>

void main()
{
int a=1,b=2,max;
if(a>b)
{
max=a;
printf("max is: %d\n",max);
}
else
{
max=b;
printf("max is: %d\n",max);
}
}
=>

include <stdio.h>

void main()
{
int a=1,b=2,max;
max=a>b ? a : b;
//如果a>b成立,那么整个表达式的结果就是a,否则就是b
//条件运算符(? :),c语言中唯一的一个三目运算符
printf("max is: %d\n",max);
}
条件运算符的优先级高于赋值运算符,

运算符的优先级:单算关逻三赋逗

switch...case..:多路分支语句开关语句
格式:
switch(表达式)
{
case 常量1:
语句块1;
break;
case 常量2:
语句块2;
break;
...
default:
语句
}
原理:先计算表达式的值,然后从第一个case语句开始,用case后面的常量和表达式的值进行比较,相等,则执行相应的case分支语句,不行等,就继续用下面的case分支的常量与表达式的值比较。如果没有一路case分支的常量与表达式的值相等,则默认执行default对应的语句。break的作用是负责跳出switch结构,是程序流程转而执行switch结构后面的语句。

1.每一路case 后面接的常量都必须具有唯一性,
2.default语句可以不写,也可以放在任何地方,除了最后,都必须加上break;
3.case分支对应的break,可以不写,但是执行完这一路分支之后并不会跳出switch结构,而是会继续往下执行,直到遇到break才会跳出switch.
4.case分支语句中可以不加{},但是当在分支语句中定义变量的时候,要加上{},限定变量的作用域。
例:

include <stdio.h>

void main()
{
int a;
printf("请输入一个整数:");
scanf("%d",&a);
switch(a)
{
default:
printf("xxx!\n");
break;
case 1:
{
printf("1!\n");
int b=10;
printf("b=%d\n",b);
break;
}
case 2:
{
printf("2!\n");
int b=5;
printf("b=%d\n",b);
break;
}
case 3:
printf("3!\n");
break;
case 4:
printf("4!\n");
break;
}
printf("out of switch!\n");

}

练习:用户输入一个字母,判断它是不是元音字母。(a,e,i,o,u,A,E,I,O,U).

include <stdio.h>

void main()
{
printf("输入一个字符:");
char ch=getchar();
switch(ch)
{
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
printf("是元音字母!\n");
break;
default:
printf("不是元音字母!\n");
}
}

相关文章

  • 2-23

    总有一天我们会长大 一切都会面目全非

  • 2-23

    2017.23 周四 homework:写一个简单的加,减,乘,除,四则运算的计算器程序。 程序的三大结构:1.顺...

  • 2-23

    我在深夜深沉的思考之后,发现老爸建议没错,中医真的赚钱有前途多了,选择历史简直就是选择贫寒,选择做其他的都好一点,...

  • 2-23

    1.一个人生命中最大的幸运,莫过于在他的人生中途,即在他最富创造力的壮年之时,发现了自己的人生使命 2.你必须记着...

  • 听后小结  AoC: 为什么在飞机上工作更有效?

    2-23 一期来自于 知名Life Coach 播客节目: The Art of Charm. 至今(2018-2...

  • 2019 2-23

    Today is another day of hope!hahhhh…Recently the task is ...

  • 2-23:15

    结果今天又是八点半才起床,本来七点左右被楼下马路上的声音吵醒了,但太冷了所以睡了一小时的回笼觉 决定还是早睡早起比...

  • 咣咣咣的ScalersTalk第四轮新概念朗读持续力训练Day2

    练习材料 2-23 任务配置 L0+4 知识笔记 district 地区 Nigeria 尼日利亚 练习感悟 早上好冷喔

  • 养儿育女,是责任,更是体现做父母的智慧

    孩子穷养,还是富养?正常养,教养人品,贵养气质 赳赳说中国 原创 2-23 8:26 电视剧《蜗居》,海藻的妈妈最...

  • 2-23咖啡冥想

    我的目标: 一、完美伴侣 我的伴侣特特质:英俊潇洒,健康,智慧,慷慨,有责任心正直诚信,浪漫,体贴,有耐心,包容,...

网友评论

      本文标题:2-23

      本文链接:https://www.haomeiwen.com/subject/iwnbwttx.html