初识C语言(2)

常量

c语言中常量分为以下几种:

  • 字面常量
  • const 修饰的常变量
  • #define 定义的标识符常量
  • 枚举常量
    字面常量就像他字面意思一样,100、3.14、‘a’、“abcde”这些都是常量。
    const 修饰的的常变量,其实就是 定义一个变量 用const修饰 例如 :const int num = 10;

但是并没有改变num的属性,他还是变量,定义数组的时候编译是没办法通过的 例如:
![在这里插入图在这里插入图片描述
其实,还是挺鸡肋的,在以后写代码过程中,对某个变量不想被修改时候,可以用const修饰。
#define定义的标识符常量,当我们写代码设定某个数值、参数,而这个数值在后期可能会被修改,避免大篇幅的修改数字,可以用#define 定义标识符常量,例如:

#define PI  3.14

枚举常量,把一个品种下的不同类做个集合例如:

enum Sex
{
MALE,
FEMALE,
SECRET
};

上面大括号内部的元素是枚举常量,这里要注意的是枚举常量的默认顺序是从0开始的依次向下递增的。

字符串+转义字符+注释

字符串

“abxde\n” 像这种被双引号引起来的就叫字符串,需要注意的是字符串结束标志是一个\0的转义字符,在计算字符长度的时候只计算结束标志之前的内容。我们可以通过一串代码来进一步了解字符串,字符,以及结束标志位,在计算数组长度时候的重要性:
在这里插入图片描述
##转义字符
转义字符,按照我的理解,就是通过某种符号,改变他原来的意思,譬如:\n代表换行,以及上面提到的\0代表结束标志位。我们只需要将ASCII表常见的转义多看看 多了解一下
在这里插入图片描述
1、对于这个转义字符表中的 \ooo ooo代表1–3位八进制数字,通过举例说明:printf("%c",'\012');表示将012这个八进制转换成十进制,十进制是10 找到ASCII表中是代表的字符,并打印出来,需要提醒注意的是 这个1–3位的八进制数要有意义 ,不能出777这种意义不大的数。
2、\xhh 与八进制性质差不多,hh代表1-2位十六进制的数。

注释

代码中不需要的代码虽然可以直接删除,但是也可以选用比较的好的方式,比如注销掉,有些当时绞尽脑汁写的代码,或者晦涩难懂的代码可以注释下,以便后面自己复习,同时也方便别人阅读。
注释的方式可以用鼠标选中需要注释的代码,然后按下快捷键 crtl + k + c,就可以将选中的代码注释掉,取消注释的话可以使用快捷键crtl + k + u。

选择语句

程序里的选择语句 就跟我生活一样不同的选择对应不同的结果,我们只要把不同选择对应的结果转换成代码就可以了:

int main()
{
int coding = 0;//定义变量及初始化
printf("你会敲代码不?-> (选择1 or 0):");
scanf("%d",&coding);//取走输入的选择

//开始对我们的选择做判断
  if(coding == 1)
   {
    printf("坚持住,明天会很明亮\n");
   }
  else
   {
     printf("你得努力啊 铁子\n");
   }
return 0;
}

循环语句

循环语句就像我们每天到图书馆背单词一样,当我们通过等级考试就可以不用去图书馆背单词,c语言中实现这样的循环有三种方式

  • while语句
  • for语句
  • do…while
    暂时只说一下while循环,后面对这部分做补充
int main()
{
    int coding = 0;
    
    while (coding <= 20000)
    {
        printf("努力敲代码\n");
        coding++;
    }
    
    printf("恭喜你,你已经可以拿到好offer了\n");
    return 0;
}

函数

我们可以从数学中的函数开始思考,数学中的函数f(x),就是带入一个自变量x,会有对应的y,c语言中函数其实也是如此,我们在敲代码的过程中,总会遇到可能相同的作用的代码,就像两个变量的相加,相减,甚至更为复杂的运算,这时候我们就可以写一个起到上述运算作用的函数,当我们写代码有这种运算需求的时候就可以调用这个函数;举个例子

// Add代表函数的作用 也是函数名,int 代表函数返回的类型 ()代表调用,{}代表函数体
int Add(int x, int y) 
{
    return x + y;

}
int main()
{
    int num1 = 5;
    int num2 = 4;

    int sum = 0;
    scanf("%d %d",&num1,&num2);

   sum =  Add(num1,num2);
    printf("%d\n",sum);

    return 0;
}

数组

我们在定义同一类型的变量的的时候,为了减少麻烦 为不同变量开辟内存空间,数组就显得尤为重要了,c语言给数组的定义就是 一组相同类型元素的集合。

数组的定义、下标以及使用

int arr[10]  = {1,2,3,4,5,6,7,8,9,10};

其中,arr是数组名,int就是数组内部元素的类型,[]可以确定对应元素的下标,对于数组的使用,配合循环使用凸显数组的作用例如:

int main()
{
    int i = 0;
    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };

    for (i = 0; i < 10; i++)
    {
        printf("%d\n",arr[i]);
    }
    return 0;
}

操作符

算术操作符

+ - * / %

对于 / 和 %这;两个个操作符 c语言中和数中的运算还是有区别的例如

在这里插入图片描述
对于上面得代码,能清晰的看到 当 a / b想要返回结果为整形时候,他只能返回3,余数部分舍去了,所以,/ 算法结果是商取整,同时,a % b 返回整形时候,返回了1 所以 %也叫取模,需要保证取模两端都为整形。

移位操作符

>>  <<

位操作符

& ^ |

赋值操作符

= += -= *= /=  &=  ^=  |=  >>=  <<=

单目操作符
所谓的单目操作符 就是只操作数的个数只有一个

// 逻辑反操作
-      //负值
+      // 正值
&      //取地址
sizeof  //操作数的类型长度(以字节为单位)
~       //对一个数的二进制位按位取反
--       //前置、后置--
++      // 前置、后置++
*       //间接访问操作符(解引用操作符)
()     // 强制类型转换

上面列表中的sizeof需要强调一下他计算的是给定操作数类型的长度。

关系操作符

> 
>=
<=
!=
==

要区分==和=,==是等于,=是赋值

逻辑操作符

&& // 逻辑与
|| //逻辑或

逻辑与表示 两边的表达式都为真结果才为真
逻辑或表示两边表达式只要有一个为真结果就为真,例如:
在这里插入图片描述
条件操作符

exp1?exp2 :exp3

举个很形象的例子:a > b ? a :b
a>b 就是上述的exp1,a就是exp2,b就是exp3.当表达式exp1成立时,表达式结果就是exp2否则为exp3
逗号表达式

exp1,exp2,exp3,..expn

下标引用、函数调用和结构成员

[] ()  .  ->

数组下标,函数调用 以及指针指向结构体成员会用到。

常见关键字

auto  break  case  char  const  continue  default  do  double else  enum 
extern float  for  goto  if  int  long  register   return  short  signed
 sizeof  static struct  switch  typedef union  unsigned  void  volatile  while

这些关键字都是c99标准本身自带的,我们在写代码创建变量时候不能够再新创建例如:

int auto = 3

这样的代码是不被允许的。

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值