(提前声明一下这篇文章是接续上一个文章http://t.csdn.cn/dflXU)
8.操作符(先了解以后会详细讲,而有的内容暂时不会讲(敬请谅解)到有兴趣的同学可以自行查找)
分类
1算数操作符
1“+ - * / ”(前四个和数学的一样加减乘除)2 “%”(这个是取余符号,即当你算除法时 除不尽剩下的余数).
2赋值操作符
1 “=” 注意这个不同于数学了,在C语言中=意为赋值,==是等于(此时拓展一下以后写等于时好习惯是写常数==变量 5==a ,这样写防止写成变量赋值而不被察觉)
2 += -= *= /= (这些都是类似的思想在下就拿一个举例子了)
+= 意为最后的变量赋值为原来的变量加x 例如c+=x(还可以写成c=c+x)(这也意味着其他的赋值操作符也可以类似这样写就是吧“+”改成其他的就行)
%=则为最后的变量赋值为原来的变量取余(某个整数)后的余数
还有 &= ^= |= >>= <<= 由于这是比较难的内容(绝对不是本人不会的借口(才怪))并且这篇文章是初识C语言,以后会详细讲所以在这不详细讲了但是这和以上的内容不太一样。
3单目操作符
!是逻辑取反即一个变量倘若为真则!变量为假,反之则反。
(普及一个真假的相关知识,0为假,非零为真)
- + 负 正
&取地址用于之前说的scanf里面的例如scanf(“%d”,&a)
sizeof 用于计算一些东西的长度(但是是以字节为单位)同一层面的还有strilen(但二者是有不同的引用他人做的解释有兴趣的可以观看strlen函数与sizeof的区别,C语言strlen与sizeof的区别详解 (biancheng.net))
前置++,--和后置++,--; 例子a=100 b=a-- a=99 b=100 ;当b=--a时 a=b=99。
* 间接访问操作符(解引用操作符) 是用于指针的,下一篇会简单讲解其中在指针里的作用。
~ 是用于对一个数的二进制按位取反(以下内容了解)
有关原码(输入的代码以二进制形式出现)
反码(中间状态)
补码(输入的代码以补码保存在电脑上)
()用于强制转化数据类型,(此处了解不必理解)比如求解1-1/2-1/3-...1/100的值
#include<stdio.h>
int main()
{
double b = 0, d = 0, re = 0;
int a = 0;
for (a = 2; a <= 100; a++)
{
b = 1 / (double)a;
re = re + b;
}
d = 1 - re;
printf("%lf",d);
return 0;
}
这么写是正确的但是去掉 b = 1 / (double)a;就不对了,(有关为啥a定成整形是因为for循环()的变量必须是整形(还是不太了解的可以评论区提问))
4关系操作符
< > <= >= == (等于) !=(不等于)和数学中一样理解
5逻辑操作符
&&是并且的意思 ||是或者的意思(拓展一下1<x<10这个写法是错误的 写成1<x&&c<10才可以,(原因第一个是先看前半部分1<x成立所以整体等于1了而1小于10成立))
6条件操作符
exp1 ? exp2 : exp3 1为条件成立执行2,不成立执行3(个人觉得有点类似与for循环的后两部分,但是不等于for循环)
9逗号表达式
就是同一个条件下的事件 例如int a=10,b=3;
10下标引用、函数调用和结构成员
[] 用在数组中找对应数组内的数字[]内是填写下角标的 () 函数调用例如printf() 这两个是结构成员现在先不讲以后详讲 . ->
11关键字(以下图片为引用)
12数组
定义
一组相同类型元素的集合
写法
int arr[10] = {1,2,3,4,5,6,7,8,9,10}; ([]内必须为整形常量数字{}内可以写内容也可以都初始都定义为0,定义如何,取决于你要不要使用数组内的内容 还是想以后再重新添加元素)
数组的下标
C语言规定:数组的每个元素都有一个下标,下标是从0开始的。 数组可以通过下标来访问的。
作用以后会详解现在不做解释
13函数
分类
库函数介绍 自学,用printf - C++ Reference (cplusplus.com)可以自学
自定义函数 自创(难但是巨有意思)
格式
int 自创函数名称(参数(参数的多少取决于你写的函数,一般取两个))
{
return 最终目标变量;}
int main()
{(使用时)自创函数名称(参数)
return 0;} 例子(比较两个数大小)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int Max(int x, int y)
{
int d = 0;
if(x>y)
d= x;
else
d = y;
return d;
}
int main()
{
printf("请输入数字");
int x = 0, y = 0,c=0;
scanf("%d",&x );
scanf("%d",&y );
c = Max(x, y);
printf("最大的数字是%d", c);
return 0;