第二课<顺序,选择,循环语句,函数思想,可见性(作用域)和生存期,数组>
知识点
bool,顺序,选择,循环语句,函数思想,可见性(作用域)和生存期,数组
一、条件语句
1.bool 类型
bool 只有 true 和 false 两种; 在C 语言中 0 是false ,其他非零 都是 true。
|——
在. c 文件中需要引入头文件 #include<stdbool.h>
在.cpp 文件中直接使用
|——
也可以自己构造bool 类型 :代码示例:
.c 文件
#include<stdio.h>
typedef int bool;
#define true 1
#define false 0
int main (){
bool x = true;
return 0;
}
关系表达式:运算结果是bool 值。
2.选择语句
根据条件判断是否执行相关语句
//if——else语句 一般不要省略花括号
//
if(T/F){
T执行
}
else{
F执行
}
//switch —— case 语句
switch(表达式){
case 常量值1:
语句体1;
break;
case 常量体2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
if else;例题
//例三 交换数值
int main() {
int a = 10, b = 20;
int tmp = 0;
if (a != b) tmp = a; a = b; b = tmp;
printf("a =%d b =%d \n", a, b);
return 0;
}
//if 嵌套 if
int main() {
int a = 0, b = 0;
printf("intput two value :");
scanf_s("%d %d", &a, &b);
if (a != b)
if (a > b)
{
printf("a>b\n");
}
else printf(" a < b \n");
else printf(" a = b \n ");
return 0;
}
//改进代码
int main() {
char ch;
printf("input a characher ;");
ch = getchar();
if (ch < 32) {
printf("this is a control characher\n");
}
else if (isdigit(ch)) {
printf("this is a digit\n");
}
else if (isupper(ch)) {
printf("this is a capital letter\n");
}
else if (islower(ch)) {
printf("this is a small letter\n");
}
else {
printf("this is an otherlcharacher\n");
}
return 0;
}
//多分枝语句 if else
int main() {
char ch;
printf("input a character:");
ch = getchar();
if () {
}
else if ()
{
}
else if ()
{
}
else if ()
{
}
else {
}
return 0;
}
3.顺序语句
按照语句出现的顺序从主函数由上往下依次执行
4.循环语句
当条件成立时,重复执行花括号内的循环体
for(条件一; 条件二; 条件三 ){
循环体
}
do { //先执行,后判断
循环体
}while(判断条件)
while(条件){ //先判断后执行
循环体
}
二,函数思想
通过函数将一个复杂问题拆解为若干个易解决的小任务。体现结构化程序设计由粗到精的设计思想
封装性:
————
1.考虑函数名(见明知意)
2.考虑传入的参数(数量、类型)
3.考虑返回值(类型)
————
以一个个函数实现具体的小任务,以此,逐步实现某复杂问题
便于理解小例子:
老师让我去买笔,给了钱让买红笔(参数有了),我买了个红笔给了老师(返回值)
三,可见性(作用域)和生存期
可见性
标识符能够被识别的范围
如:形参或在函数内部定义的局部变量,他们的作用域都在该函数内。在函数外部定义的标识符——全局变量,作用域为从定义起至整个源文件结束。
生存期
特指程序的执行过程
标识符从程序运行开始被创建、具有空间 至程序结束、释放空间之间的时间
1.局部变量生存期:从函数被调用,到该函数执行完毕。**存放在 .stack(栈区)**在栈帧中存放
2.全局变量生存期:从程序执行前开始,到该程序执行后结束。存放在 .date(数据区)
3.动态生命期:标识符有特定的函数或运算来创建或释放。如:调用malloc()为变量分配存储空间,变量生命期开始,调用 free()释放空间或程序结束,变量生命期结束。存放在 .heap (堆区)
四,数组
int a[] = {1,2,3,4,5,6}; //sizeof(a) = 4x6= 24
char ch []= {'a','b'}; //sizeof(ch) = 2
int c [4];
int c [5] = {2,2,4};
心得总结
1.扎实的掌握作用域和生存期的知识,以便以后更好的理解。
2. 写好条件语句的形式,不只是给计算机运行,还需要让别人看懂。
3. bool 类型虽简单,但是搞清楚没坏处。