C语言基础语法----控制语句(看完不会,我倒立洗头)

控制语句,你必须要懂

      • 顺序语句
      • 选择语句
        • if语句
        • if else语句
        • if ···else if语句
      • switch语句
      • 循环语句
        • while 循环
        • do....while循环
        • for语句循环
      • 跳转语句
        • break语句
        • continue语句
      • 爱你们
        • 爱你们
          • 爱你们

顺序语句

顺序语句:程序中的所有语句都是从上到下逐条执行的。这类语句是最简单,也是最基本的语句。大多数都是基本语句.

#include
int main()
{
	printf("生\n");
	printf("活\n");
	printf("就\n");
	printf("是\n");
	printf("不\n");
	printf("断\n");
	printf("崩\n");
	printf("溃\n");
	printf(",\n");
	printf("不\n");
	printf("断\n");
	printf("自\n");
	printf("愈\n");
	return 0;
}
#include
int main()
{
	int a=8;
	int b=3;
	int c;
	c=a+b;
	printf("a+b=%d\n",c);
	c=a-b;
	printf("a-b=%d\n",c);
	c=a*b;
	printf("a*b=%d\n",c);
	c=a/b;
	printf("a/b=%d\n",c);//因为上面我定义是整型 c,所以这里的小数并没有输出 
	c=a%b;
	printf("a取余b=%d\n",c);
}
运行结果:
a+b=11
a-b=5
a*b=24
a/b=2
a取余b=2

选择语句

C语言中需要对一些条件进行选择判断(落水后,对于丈母娘和女朋友之间的选择)
C语言的选择语句允许程序在一组选项中选择一条特定的执行路径。
C语言包括两类选择语句,if语句和switch语句

if语句

格式:

if(判断条件)
{
执行语句
}

其中表达式的括号是必须的,先条件判断,条件成立执行语句,

#include 
int main()
{
  int i = 3;
  int j = 5;
  if (i < j)
{
  printf("%d比%d小\n", i, j);
}
运行结果:
35

if else语句

if语句中可以包含else子语句,为真时,执行else后面的语句,其基本形式如下:
格式:

if(判断条件)
{
	执行语句1 
 } 
 else
 {
 	执行语句2 
 }
判断两个数字大小
#include 
int main(){
    int a,b;
    printf("输入数字:");
    scanf("%d %d",&a,&b);
    if(a!=b)
	{  //!=表示不等于
        if(a>b) 
        {
		    printf("a%>%\n",a,b);
	    }
        else
        {
        	printf("%d<%d\n",a,b);
		}
		 
    }
	else
	{
        printf("%d=%d\n",a,b);
    }
    return 0;
}
}

#include 

int main()
{

  int age;
  printf("请输入你的年龄 :");
  scanf("%d",&age);

  if (age>=18)
     {
      printf("恭喜,你已经成年,可以打王者荣耀!\n");
     }
  else
     {
      printf("抱歉,你未成年,你被限制时长玩王者荣耀!\n");
     }

  return 0;

}

if ···else if语句

当在else语句的子语句中嵌套另一个if语句时,一般不对它进行缩进,而是把每个else都与最初的if对齐,形成级联式if语句的书写形式,这种形式可以避免判定数量过多时造成的过度缩进问题,同时也更清晰地显示这是一连串的判定:
格式:

if(判断条件)
{
	执行语句1 
 } 
 else if(判断条件2) 
 {
 	执行语句2 
 }
 else if(判断条件n)
 {
 	执行语句n 
 }
 else
 {
 	执行语句 n+1 
 }
#include 
int main()
{
    char c;
    printf("请输入一个字符:");
    c=getchar();
    if(c<32)
        printf("这是一个控制字符\n");
    else if(c>='0'&&c<='9')
        printf("这是一个数字\n");
    else if(c>='A'&&c<='Z')
        printf("这是一个大写字母\n");
    else if(c>='a'&&c<='z')
        printf("这是一个小写字母\n");
    else
        printf("这是其他字符\n");
        return 0;

}
/*本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。
由ASCII码表可知ASCII值小于32的为控制字符。如\n 
在“0”和“9”之间的为数字,
在“A”和“Z”之间为大写字母,
 在“a”和“z”之间为小写字母,其余则为其它字符。
 这是一个多分支选择的问题,用多个 if else 语句编程,
 判断输入字符ASCII码所在的范围,分别给出不同的输出。
*/

C语言基础语法----控制语句(看完不会,我倒立洗头)_第1张图片

关于这里的控制字符我也搞不懂啊,下面是查阅的资料:

控制字符(Control Character),出现于特定的信息文本中,表示某一控制功能的字符。
在ASCⅡ码中,第0~32号及第127号(共34个)是控制字符或通讯专用字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等。

switch语句

在编程中,常常需要把表达式和一组值相比较,从中找到匹配项,执行相应的语句。级联式if语句可以实现这个需求,但是对于整型的表达式值和可选项来说,C语言提供了switch语句。switch语句比级联式if更易读,并且执行速度往往比较快。

switch语句的常用格式是:

switch (表达式)
{
    case 常量表达式:
        执行语句
    ...
    case 常量表达式:
        执行语句
    default:
        执行语句
}

运行机理:

switch中的表达式结果会找对应的case匹配,如果匹配成功就找对应的的case执行
直到遇到break结束,如果case都不匹配,会直接执行default后面的语句

  1. 控制表达式:

switch后面跟的由括号括起来的整型表达式称为控制表达式,该表达式的结果必须是整型或是字符型。

  1. case 常量表达式:

每一种情况以case 常量表达式 :开始,常量表达式不能包含变量及函数调用,且结果必须为整数值。case后面只能跟一个常量表达式,但多个情况标号可以放在同一组语句前面,表示对多组情况执行同一组语句

  1. 执行语句:

可跟任意数量的执行语句,不需要用大括号把这些语句括起来,且最后一条语句通常是break语句。在switch语句中,执行break语句时,程序会跳出switch语句,而继续执行switch语句后面的语句。忘记break语句,程序就会继续执行下面情况的语句,也是编程时常犯的错误。

C语言不允许重复的case 常量表达式,但不要求情况的顺序,default情况可以不放在最后。也不要求必须有default情况,若在没有default的情况下且所有情况都不匹配,就就直接传给switch语句后面的语句。

判断星期几
#include 
#include 

int main() {
	printf("请输入今天是星期几(1-7): \n");
	int day = 0;
	scanf("%d", &day);
	switch (day) { //switch括号里面必须放整数
	case 1:
		printf("星期一!\n");
		break;//break表示跳出当前的switch语句
	case 2:
		printf("星期二!\n");
		break;
	case 3:
		printf("星期三!\n");
		break;
	case 4:
		printf("星期四!\n");
		break;
	case 5:
		printf("星期五!\n");
		break;
	case 6:
		printf("星期六!\n");
		break;
	case 7:
		printf("星期日!\n");
		break;
	default://否则,执行后面的语句
		printf("您的输入有误!\n");
	}
	return 0;
}

自动贩卖机
#include
int main()
{
	int button;
	printf("******自动贩卖机******\n");
	printf("1.可乐\n");
	printf("2.芬达\n");
	printf("3.王老吉\n");
	printf("4.橙汁\n");
	printf("5.雪碧\n");
	printf("请按1-5键\n"); 
	scanf("%d",&button);
	switch(button)
	{
		case 1:printf("你获得一瓶可乐\n");break; 
		case 2:printf("你获得一瓶芬达\n");break; 
		case 3:printf("你获得一瓶王老吉\n");break; 
		case 4:printf("你获得一瓶橙汁\n");break; 
		case 5:printf("你获得一瓶雪碧\n");break; 
		default :printf("输入错误\n");break;
	 } 	
}

循环语句

在实际生活中我们会将一件事情重复做很多次,C语言中也会重复执行同一代码块
你是程序员,你惹你女朋友生气了,你女朋友说给我写10遍我爱你,你说这个简单,你啪啪啪写了10个,你女朋友还是不服气,叫你写一千遍,你说这不是刁难我吗,那么今天就慢慢敲代码吧.

//输出十遍我爱王思宇 
#include 
 main()
{
    printf("1.我爱王思宇 \n");
    printf("2.我爱王思宇 \n");
    printf("3.我爱王思宇 \n");
    printf("4.我爱王思宇 \n");
    printf("5.我爱王思宇 \n");
    printf("6.我爱王思宇 \n");
    printf("7.我爱王思宇 \n");
    printf("8.我爱王思宇 \n");
    printf("9.我爱王思宇 \n");
    printf("10.我爱王思宇 \n");
}


结果你知道循环语句

// 输出我爱王思宇一万遍 
#include 
 main()
{
	int i;
	i=1;
    while(i<=10000)
	{
printf("%d.我爱王思宇\n",i);
i=i+1;
	}   
}
运行结果:
我就不说了,是真的长,

while 循环

格式:

while(循环条件)
{
   执行语句
}

运行机理:

while语句会反复地进行条件判断,只要条件成立,{ }里的执行语句就会一直执行下去
{ }中的执行语句称为循环体,循环体是否存在取决于循环条件,表达式的值为真,继续执行,表达式为假,结束语句

//求1+2+3+---+100的和
#include 
int main()//求各
{
	//定义变量并初始化
	int i=1;
	int sum=0;
	while(i<=100)  //条件表达式
	{
		sum+=i;
		i+=1; //步长
	}	
	printf("和是%d",sum);
}

do…while循环

两者的不同之处在于

while语句先判断循环条件,再根据判断结果来决定是否执行大括号{ }中的代码
do…while循环语句先要执行一次大括号{ }内的代码在判断循环条件,也就是说不管怎样都要循环一次

格式:

do
{
   执行语句
   ......
}while(循环条件);

do…while循环语句将循环条件放到了循环体后面,这意味这循环体会无条件的执行一次,在来根据循环条件来判断是否执行

//进行账号登陆 
#include 
int  main()//登录
{
	//定义变量并初始化
	int password;
	printf("我的qq号:1132403158\n") ; 
    do	
	{
		printf("请输入qq登录密码:");
		scanf("%d",&password);
	}while(password!=123456);  	//条件表达式
	printf("登录成功");
}
运行结果:
我的qq号:1132403158
请输入qq登录密码:123456
登录成功
----------------------------
//求1+2+3+---+100的和
#include 
int main()//求各
{
	//定义变量并初始化
	int i=1;
	int sum=0;
	do
	{
		sum+=i;
		i+=1; //步长
	}	while(i<=100); //条件表达式
	printf("和是%d",sum);
}


for语句循环

for循环的使用最为灵活,且适合应用在循环次数确定的情况下。

for循环的思想是:先分析清楚循环的初始值,循环的控制条件,循环变量的步长变化,然后直接把语句再写到for的循环体里即可,这样可以让问题想的很清楚,流程也很清楚。

格式:有两种情况

for(初始化表达式;循环条件;操作表达式)
{
执行语句
}
for(初始化表达式;循环条件;操作表达式)
执行语句;

运行机理:

在做循环条件之前,有一个初始化表达式1然后判断在循环条件中是否成立,如果成立,就执行大括号{ }里的语句,然后在回到操作表达式,操作表达式再到循环条件,成立继续执行大括号{ }里的语句,不成立就退出循环.

//打印1到10 
#include 
int main()
{
	//定义变量并初始化
	int i=1;
	for(i=1;i<=10;i++) 
	{
		printf("%d\n",i);
	}
}

for语句的循环嵌套


#include 
int main()
{
  int ii=0;         // 分组编号的计数器
  int jj=0;         // 每组序号的计数器
  for (ii=1;ii<=3;ii++)
  {
    for (jj=1;jj<=4;jj++)
    {
       printf("第%d组的第%d位出场。\n",ii,jj);
    }
  }
}
运行结果:1组的第1位出场。
第1组的第2位出场。
第1组的第3位出场。
第1组的第4位出场。
第2组的第1位出场。
第2组的第2位出场。
第2组的第3位出场。
第2组的第4位出场。
第3组的第1位出场。
第3组的第2位出场。
第3组的第3位出场。
第3组的第4位出场。

运行机理:

第一个for循环,条件成立,进入第二个for循环.第二个for循环里条件成立,执行语句,直到第二个for循环不成立,退出循环.回到第一个for循环,条件成立,在进入第二个循环,直到第一个for不成立,退出全部循环.

从上面的运行结果,我们就可以看到

//九九乘法表
#include 
int main()
{
int i = 0;
int j = 0;
for (i = 1; i <= 9; i++)
{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%d ", i, j, i*j);
if (i == j)
printf("\n");
}
}
return 0;
}

C语言基础语法----控制语句(看完不会,我倒立洗头)_第2张图片

跳转语句

跳转语句用于实现循环执行过程中程序流程的跳转
有break语句和continue语句

break语句

#include 
int main()
{
for(int i=1;i<=10;i++) 
{
    if(i==6)
        break;
    printf("%d\n",i);
}
}
运行结果
1
2
3
4
5

怎么只到5,怎么只到5,怎么只到5
运行机理:

遇到break循环结束,跳出循环

continue语句

#include 
int main()
{
for(int i=1;i<=10;i++)
{
    if(i==6)
        continue;
    printf("%d\n",i);
}
}
运行结果
1
2
3
4
5
7
8
9
10

???我的6去哪了??C语言基础语法----控制语句(看完不会,我倒立洗头)_第3张图片

运行机理:

遇到continue语句,立即终止本次循环,并执行下一次循环

最后还有一点go to 语句
从当前位置跳转到指定位置,

go to 语句也称为无条件跳转语句
格式:

go to语句标记;
//进行账号登陆 
#include 
int  main()//登录
{
	//定义变量并初始化
	int password;
	printf("我的qq号:1132403158\n") ; 
	goto nopassword;
    do	
	{
		printf("请输入qq登录密码:");
		scanf("%d",&password);
	}while(password!=123456);  	//条件表达式
	nopassword:
	printf("登录成功");
}
运行结果:
我的qq号:1132403158
登录成功

不需要输入密码就登入成功.是不是很66666

从现在做起,坚持下去,一天进步一小点,不久的将来,你会感谢曾经努力的你!

如果又出错的,请各位友友指正。

请添加图片描述

新人报到,各位友友们,给我个三联(点赞,关注,收藏)

爱你们

爱你们

爱你们

你可能感兴趣的:(笔记,1024程序员节,c语言,开发语言)