1.  运算优先级:

在C语言表达式中,如果存在多个运算符的时候,就需要考虑运算符的优先级的情况了

第1优先级:各种括号,如()、[]等、成员运算符 . ;

第2优先级:所有单目运算符,如++、–、!、~等;

第3优先级:乘法运算符*、除法运算符/、求余运算符%;

第4优先级:加法运算符+、减法运算符-;

第5优先级:移位运算符<<、>>;

第6优先级:大于运算符>、大于等于运算符>=、小于运算符<、小于等于运算符<=;

第7优先级:等于运算符==、不等于运算符!=;

第8优先级:按位与运算符&;

第9优先级:按位异或运算符^;

第10优先级:按位或运算符|;

第11优先级:逻辑与运算符&&;

第12优先级:逻辑或运算符||;

第13优先级:三目条件运算符 ?: ;

第14优先级:各种赋值运算符,如=、+=、-=、*=、/= 等;

第15优先级:逗号运算, 。

这里会出现一个问题,之前我们判断奇偶性的时候,用过异或运算符^,那么之前碰到判定 a ^ 1 == 0的时候,我们想的是先算a^1,再算 ==0,但是由于这个优先级关系,其实先判定了1==0,再进行a^,会导致出现不可预期的错误,所以对于优先级,一定要熟悉,不能思路都有了,因为优先级的问题,得不到我们想要的结果。

#include<stdio.h>

int main()
{
	int a;
	printf("请输入一个数:\n");
	scanf("%d", &a);
	
	if(a ^ 1 == 0)
	{
		printf("是偶数");
	}
	else
	{
		printf("是奇数"); 
	}
}

C语言 LStrHandleArray to python_运算符

 当我们给a^1加括号后

C语言 LStrHandleArray to python_运算符_02

不信的可以自己试试

2. if...else嵌套

C语言 LStrHandleArray to python_开发语言_03

 

 做了个成绩判断的练习,很简单,当分数>90,优秀,>60及格,<60不及格

#include<stdio.h>

int main()
{
	float score;
	scanf("%f", &score);
	
	if(score <= 0 || score > 100) // 判断数据的合法性 
	{
		printf("输入的数据不合法");
	}
	else
	{
		if(score >= 0 && score <60)
		{
			printf("不及格");
		}
		else if(score < 90)
		{
			printf("良好");
		 } 
		 else
		 {
		 	printf("优秀");
		 }
	}
	
	return 0;
}

C语言 LStrHandleArray to python_c语言_04

 3. switch

做了一个输入数字输出星期几的练习

#include<stdio.h>

int main()
{
	int day;
	printf("请输入一个数(1-7):\n");
	scanf("%d", &day);
	
	switch(day)
	{
		case 1:
			printf("星期一");
			break;
		case 2:
			printf("星期二");
			break;
		case 3:
			printf("星期三");
			break;
		case 4:
			printf("星期四");
			break;
		case 5:
			printf("星期五");
			break;
		case 6:
			printf("星期六");
			break;
		case 7:
			printf("星期天");
			break;
		default:
			printf("您输入的数据不正确");
			break;					
	 } 
	
	
	return 0;
}

其中case后面不能重复,break跳出循环,default可以写在任意的位置 

4. do...while

先执行一次循环体,再进行判断

C语言 LStrHandleArray to python_for循环_05

 那我们就可以求一个100以内的数字之和

#include<stdio.h>
//do...while循环 
int main()
{
	int num = 0;
	int sum = 0;
	
	do{
		sum += num;
		num++;
	}while(num <= 100);
	printf("num = %d, sum = %d", num, sum);
	
	return 0;
 }

C语言 LStrHandleArray to python_for循环_06

 5. while循环

while和do...while很像,只不过是先判断再做循环

再做一次100以内数字之和

#include<stdio.h>

int main()
{
	int num = 0;
	int sum = 0;
	while(num <= 100)
	{
		sum += num;
		num++;
	}
	printf("sum = %d, num = %d", sum, num);
	
	return 0;
}

执行结果和上方一样

6. for循环

先进行条件判断,条件真执行循环体,条件假跳出循环

C语言 LStrHandleArray to python_运算符_07

 for(;;)将循环写死

现在就可以用for循环写一个9 * 9的乘法表了

#include<stdio.h>

int main()
{
	int i, j;
	for(i = 1; i <= 9; i++)
	{
		for(j = 1; j <= i; j++)
		{
			printf("%d*%d=%d\t",j, i, i*j);
			if(j == i)
			{
				printf("\n");
			}
		}
	}
	return 0;
}

C语言 LStrHandleArray to python_开发语言_08

 两个for循环嵌套 第一个for循环控制行,第二个for循环控制一行输出几个,配合输出乘法表

总结:

今天的学习还是有些困难的,主要要思考的比较多,特别是for循环嵌套,输出想要的图形,可费了些功夫,多练习记住解题思路,化繁为简,慢慢提升。