位操作符
位操作符包括(左右移操作符,按位与,按位或,按位异或,取反)这六种操作符
逻辑操作符
逻辑操作符包括(逻辑与,逻辑或,逻辑异或)
其中&&两个表达式中必须两个都为真则为真,一个为假则为假,
|| 两个任何一个为真则为真,两个同时为假则为假。
void game(int *arr)//数组传参传的是首元素的地址而非内容,
{
int i= 0;
for (i = 0; i < 10; i++)
printf("%d ", arr[i]);//这里arr[i]其实就是arr的地址+i;根据地址可以找到元素!
}
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr) / sizeof(arr[0]);
game(arr);
return 0;
}
sizeof
这也是一个操作符与其功能相似的是一个函数这两个求字符长度还是有些不同的其中sizeof一般用来求数组长度。而strlen一般用来求字符串的长度而且后面遇到/0才会停止。这里解释的不太到位,后面再专门建立一章说这个。这里记住sizeof不是函数是操作符就好
下面是一些习题
int main()
{
int a, b, c;
while(scanf("%d %d %d", &a, &b, &c)!=EOF);
{
if (a + b > c && a + c > b && b + c > a)
{
if (a == b && b == c)
{
printf("等腰三角形!\n");
}
else if ((a == b && b != c) || (a == c && a != c) || (b == c && b != c))
{
printf("等边三角形!");
}
printf("ordinary triangle!");
}
else
printf("no triangle!");
}
return 0;
}
void exchange(int a[], int b[], int sz)
{
int i = 0;
for (i = 0; i < sz; i++)
{
int c = a[i];
a[i] = b[i];
b[i] = c;
printf("%d ", a[i]);
}
printf("\n");
for (i = 0; i < sz; i++)
{
printf("%d ", b[i]);
}
}
int main()
{
int a[] = { 2,4,6,8,0 };
int b[] = { 1,3,5,7,9 };
int sz = sizeof(a) / sizeof(a[0]);
exchange(a, b,sz);
return 0;
}