linuxC学习第九天

一、优先级与结合性的区分

1、优先级:相当于对运算符的权限进行了排列,优先级高的先运算,逗号操作符具有最低的优先级。
2、结合性:是优先级的辅助手段,在优先级相同的情况下的计算顺序。大多数运算是从左至右计算,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。

二、类型转换

1、强制转换:在变量前使用(数据类型)进行强转
2、隐式转换:系统自带的转换系统,在内部自动转换
注:转换一般由低的向高的、由无符号向有符号、由整数向浮点数转换,并且任何形式的转换都不会改变原来的值。

三、逻辑关系

成立:结果为真,值为1;不成立:结果为假,值为0。(0是假,非0就是真)

四、自增与自减

1、++i,- -i:可以将它看作自私的人,先想到自己对自己进行加减的运算在带入算式
2、i++,i- -:将其看作无私的人,先带入算式后在想到自己,进行加减
注:对于sizeof()中的算式不会进行计算。

五、位运算符

1、&:对每一位进行与运算,可以用于对数据某些位清零,类似和0xffff进行&运算将后16位清0
2、|:对每一位进行或运算,可以用于对数据一些位置1,类似和0xffff进行&运算将前16位置1
3、^:对每一位进行异或运算
4、<<:左移运算符,对低位补零。左移n位可以看作乘以2^n次
5、>>:右移运算符,对高位补符号位。右移n位可以看作除以2^n次(除不尽时,把余数默认进位)
6、~:对每一位取非
利用^运算查找一组两两相对应的数组中找出唯一的一个单独的数。

#include <stdio.h>

int main()
{   
    int a[9]={123,123,44,45,54,54,44,23,23};
    int c=a[0],i;

    for(i=0;i<8;i++)
    {
      c =a[i+1]^c;
    }

    printf("%d\n",c);    
    
    return 0;
}

六、if、for语句的注意点

1、if语句的两个浮点型数据不要之间进行比较,要看精度。
2、很大的浮点数不要和很小的数进行比较。
3、for语句中长循环层放在最内层,效率高
4、for语句中尽量不要出现=

七、小题目

通过编程实现,分别统计0——n有多少个0——9
提示:n通过参数传入

#include <stdio.h>

int main()
{
    int n;
    int i;

    scanf ("%d", &n);

    int count0 = 1,count1 = 0,count2 = 0,count3 = 0,count4 = 0,count5 = 0,count6 = 0,count7 = 0,count8 = 0,count9 = 0;
	

    for (i = 0; i <= n; i++)
    {
        int temp = i;
        while ( temp != 0 )
		{	
            if (temp % 10 == 9)
			{
				count9++;
			}
			if (temp % 10 == 8)
			{
				count8++;
			}
			if (temp % 10 == 7)
			{
				count7++;
			}
			if (temp % 10 == 6)
			{
				count6++;
			}
			if (temp % 10 == 5)
			{
				count5++;
			}
			if (temp % 10 == 4)
			{
				count4++;
			}
			if (temp % 10 == 3)
			{
				count3++;
			}
			if (temp % 10 == 2)
			{
				count2++;
			}
			if (temp % 10 == 1)
			{
				count1++;
			}
			if (temp % 10 == 0)
			{
				count0++;
			}
			
			temp = temp / 10;
		}
    }
    
    printf ("count0 = %d\ncount1 = %d\ncount2 = %d\ncount3 = %d\ncount4 = %d\ncount5 = %d\ncount6 = %d\ncount7 = %d\ncount8 = %d\ncount9 = %d\n", count0,count1,count2,count3,count4,count5,count6,count7,count8,count9);
	
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43360263/article/details/84261772