凡科网站设计,文明校园建设专题网站,网站开发设计体会,做地铁建设的公司网站五、流程控制 1、条件语句
一、if语句#xff08;三种形式#xff09;
1、单分支语句: if #xff08;表达式#xff09;语句#xff1b; //表达式可以是任何表达式 0和非0 多条语句加{ }构成复合语句
2、双分支语句 if(表达式) 语句1#xff1b; else 语句2…五、流程控制 1、条件语句
一、if语句三种形式
1、单分支语句: if 表达式语句 //表达式可以是任何表达式 0和非0 多条语句加{ }构成复合语句
2、双分支语句 if(表达式) 语句1 else 语句2
3、多分支语句 (1)一般形式:if_else_if 形式 if(表达式1)语句1; else if (表达式2) 语句2; else if(表达式3) 语句3; [else 语句n;] 注意区别if(a5) 判断 if(a5)赋值 if(a) ifa!0
2 if嵌套形式 if () if() 语句1; else 语句2; else if ()语句1; else 语句2; #include stdio.hvoid main(){
int m,x3,y4,z5;
if(xy) mx; //判断3大于4 不成立向下执行if(yz) my; //判断4小于五成立 将y的4赋值给melse mz;printf(%d,m); //m4
}2、空语句与复合语句
空语句即只有一个分号,它通常用于占位,为以后补充代码预留是合法的语句。
if (x); //合法 if (x) {}//合法 if (x) {}//合法 复合语句用于将一组语句视为 一条(一个整体) ,通常用于分支和循环中。 3、 switchbreak
#include stdio.hvoid main(){switch (表达式) { //表达式只能是整型和字符型case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式3:语句n;break;default:语句;break;}
}二、功能: 1、计算表达式的值 2、值与某常量表达式的值相等,转常量表达式后面语句执行;直到遇break或switch结束时退出,期间不再进行同级别case判断。 3、若均不相等,执行default部分,若无default,则switch语句什么也不做。 三、知识点 1、表达式的值必须是确定的,且应与case后面的常量为同类型变量,可以是字符型、整型; 不可是实型实型没有精确值 2、case后面加空格,每个常量表达式后面有冒号; 3、每个case后面的常量值不能相同; 4、各个case后的语句可以是多个语句,可不用花括号括起来 5、不能漏掉break(如果需要); 6、多case可共用同一组语句; 7、 case后的值决定了入口, break决定了出口 8、switch允许嵌套break只能跳出紧包裹着switch结构 9、如果所有语句都有break ,则很容易用if-else语句表示
#include stdio.hvoid main(){int x1,y0,a1,b0;switch (x) //x为1{case 1: //执行switch (y) //y0执行{case 0:b; //b1case 1:a;break;//b1,a2 跳出case 2:b;break;}case 2:a;b;break; //b2.a3case 3:a;b;}printf(a%d,b%d\n,a,b);
}#include stdio.hint main(void){int a2,b1;switch (a1) //3{ case 2:bb2;break;case 3:bb*3; //1*33case 4:bb*4;break; //3*412case 5:bb5;}printf(b%d,b);
}#include stdio.hint main(void){
int nc;switch (n) {case c:case C:printf(pass);case d:case D:printf(fail);break;default:printf(error);break;}
}4、 if(x)与if(!x)的正确理解 两个等价条件的四种形式
if(x) 等价于if(x!0) 同理,while(x)等价于while(x!0)
if(!x)等价于if(x0)同理, while(!x)等价于while(x0)
要区分!(逻辑,取反)和!(关系符,不等于)
5、循环结构的三个语句
while 当型
do... while 直到型 for 循环 while循环语句
一、一般形式 while (表达式) //可以是任何表达式主要用于判断0和非0 循环体语句
二、执行过程 (1)计算表达式的值 (2)如果表达式为真,执行循环体语句 (3)如果表达式值为假,则退出循环
三、说明 1、表达式任意,表达式省略时,会有语法错误; 2、先判断表达式,再执行循环体; 3、循环部分为多个语句时,必须用大括号构成复合语句;
四、while关键点 循环条件的初态 while循环条件{ 循环体语句 (一定要有改变循环条件的语句) } do while循环语句
一、一般形式 do 循环体语句 while表达式
二、执行过程 1、执行循环体的语句 2、计算循环控制表达式的值,如果表达式为真,则返回 3、如果表达式值为假,则退出循环,执行循环后面的语句
三、注意
1、先执行循环体,再判断表达式,循环体至少执行一次
2、while后面要有分号
for循环
一、一般形式
for 表达式1表达式2表达式3) 循环体语句
二、执行过程 (1)求解表达式1; 2判断表达式2 3表达式2为真执行循环体语句求解表达式3转(2),若为假,结束循环,执行下面语句; 1、结构体类型及变量定义与赋值
用途:把不同类型的数据组合成一个整体
1.定义结构体类型:
struct 结构体名{ 成员表列
} 由程序设计者指定了一个结构体类型struct Student可以用它定义变量它包括num,name,sex,age,score,addr等不同类型的成员
结构体的成员可以是另一个结构体
2.结构体变量的定义
定义结构体变量后系统分配内存单元单元个数为所有成员所占单元个数之和。 三种定义方法
1、先定义结构体类型再定义变量名
2、在定义结构体类型的同时定义变量
3、直接定义结构体类型变量(不出现结构体名)
struct student stu,a[3],*p;
3.结构体变量的引用访问)
1、结构体变量名.成员名 (*指针变量).成员 3种形式等价 指针变量→成员 a.age21;strcpy(a.name, zs); //变量名.成员名:
(p).age21; stropy((p).name,zs);//(*指针名).成员名:
p-age21; strepy(p-name,zs); //指针名-成员名:
2、结构体变量的成员还是结构体,则层层访问; stu.birthday.year
3、对结构体变量的成员可以像普通变量一样进行各种运算(根据成员的类型决定可以进行的运算) ;
4·结构体变量的赋值,输出和输入 1、相同类型的结构体变量可以互相赋值 2、不能将一个结构体变量作为一个整体进行输入输出。必须一个一个成员按其类型输入输出;
5,可在定义结构体类型同时自定义给类型别名:方便定义该类型变量
2019.设有定义struct sk(int a; float b; }data,*pdata;
则对data中成员b的引用不正确的是( )A. data.bB.p- data.b C.(*p).b D.p-b
二、共用体
使几个不同的变量共占同一段内存的结构,称为“共用体”类型的结构。
1.共同用体类型的定义
union 共用体类型标识符{类型标识符1 成员名1;类型标识符2 成员名2;类型标识符n 成员名n;} 2. 共用体变量的定义 共用体变量的定义 union data a, b, c; 三种定义形式同结构体 占内存数是成员最大字节数 3,共用变量成员的引用:同结构体
重点
1、同一内存在每一瞬时只能存放其中一种类型的成员;
2、起作用的是最后一次存放的成员,不能作为函数参数;
3、只能对第一个成员初始化;
4、共用体变量的地址和它的各成员的地址都是同一地址;
5、不能对共用体变量名赋值,也不能企图引用变量名来得到一个值
6、共用体类型可以出现在结构体类型定义中,作为共用体的成员。反之,结构体也可以出现在共用体类型定义中,作为共用体的成员
共用体与结构体定义形式相似,但含义不同
1、结构体变量所占的内存长度等于各成员所占的内存长度之和。(每个成员分别占有自己的内存)
2、共用体变量所占的内存长度等于最长的成员的长度。
2018,当说明一个共用体变量时,系统分配给它的内存分配的是
A.第一个成员所需内存空间
B.各成员所需内存空间之和
C.各成员所需内存空间的最大值
D.最后一个成员所需内存空间
2017,当说明一个结构体变量时,系统分配给它的内存
A.各成员所需内存空间的最大值
B.各成员所需内存空间之和
C.结构中第一个成员所需内存空间
D.结构中最后一个成员所需内存空间 1、宏(无参、带参)
程序在正式编译前,要进行预处理,对程序中所有出现的宏名使用宏定义中的字符串去替换称宏替换或宏展开。
全屏宏替换时,特别注意的一点就是将宏定义中的字符串视为真正的字符串,进行原样替换,切忌不要人为计算!
调用带参宏时,首先进行宏展开,再实参代换形参。
宏不分配内存不占用程序运行时间只占用编译时间。
形参不分配内存不必做类型说明
2、文件包含include
要想使用系统提供的库函数,必须将库函数对应的头文件通过include引入到当前文件中。
头文件引入的两种写法 -include stdio.h标准格式系统到存放C库函数头文件所在目录寻找要包含的文件(配置)。- include my.c 系统首先在当前目录寻找包含文件找不到再按标准方式查找。
—一般使用系统库函数使用包含自定义文件用双引号。 2019.若程序中调用库函数strlen() ,则必须包含头文件
A. stdio.h (输出输出)
B. stdlib.h 时间函数随机函数
C. string.h (四个函数)
D. math.h 数学函数