【C语言】第一章 - 初识C语言 - 2

"本文介绍了C语言中的字符串、转义字符和基本程序结构,包括字符串的本质(字符数组与''结束标识),转义字符的作用(如换行、制表符)以及注释的使用。此外,还讲解了程序结构中的选择结构(if、switch)和循环结构(for、while、do...while)。通过实例展示了这些概念在实际编程中的应用。"
摘要由CSDN通过智能技术生成

目录

字符串,转义字符及注释

字符串

转义字符

注释

程序结构

选择结构

循环结构

函数 

 数组

 操作符


字符串,转义字符及注释

  1. 字符串

    "I am string."

            如上,由双引号引起来的一串字符就是字符串。需要注意的是,C语言中是没有字符串类型的,C的字符串本质是由一个字符数组构成。
            与普通字符数组不同的是,字符串在数组的末尾隐藏着一个'\0',作为结尾的标识符。

    #include <stdio.h>
    
    int main() {
        char a[] = "cold";
        char b[] = { 'I','a','m' };
        char c[] = { 'c','o','l','d','\0'};
        printf("%s\n",a);
        printf("%s\n",b);
        printf("%s\n",c);
    }

     可以看到c数组比b数组多了个'\0' ,  a其实是等价于c的,结果也是一样。

    abc都按%s字符串格式输出,唯独b数组输出了乱码,是因为b的结尾没有放'\0',系统继续往后寻找'\0',其位置是个随机数直到程序找到才终止

    “我好烫啊(>人<;)”

  2. 转义字符
     

    #include <stdio.h>
    int main() {
        printf("C:\test\code\newfloder");
    }
    程序应该运行什么呢?会是  C:\test\code\newfloder    吗?结果如下:

    程序并没有如期望的打印 C:\test\code\newfloder  ,为什么捏?这是因为:
    C语言为了实现一些特殊的文本效果,如换行,制表符Tab(缩进)等,为了不让特殊字符与普通字符出现歧义,出现了一种特殊字符,即转义字符。
    转义字符释意
    \?在一些较老的编译器中,?会和其他翻译成一个字符,这样可以防止被翻译成其他字符
    \'可以表示字符  '   单引号
    \"可以表示字符   "   双引号
    \\可以表示字符   \    一个反斜杠,防止被翻译成转义字符
    \a警告字符,会调用电脑的   蜂鸣警告
    \b退格符,将已经输出的字符回退一个字符
    \f进纸符,将当前位置移到下页开头
    \n换行 (常用)
    \r回车
    \t制表符,相当于按一次Tab键
    \v垂直制表符
    \dddddd表示三个8进制数字,范围   0~377 ( 8进制数)
    \xdddd表示两个16进制数字,范围    0~FF  ( 16进制数)
  3. 注释

      "代码千万行,注释第一行;编程不规范,同事两行泪。"  好的注释在编程中十分重要,尤其是代码量变多的时候。我们写的代码要让别人一目了然,也要让几个月后的自己依旧能看懂,否则写的代码就是不合格的。
      C语言的注释有两种:行注释及多行注释  

    //我是行注释
    
    /* 我是
    多
    多
    多
    多
    多
    行
    注释*/

程序结构

  1. 选择结构

    1.  if语句
       
      if (表达式)
      {
      	语句列表1;
      }
      else if (表达式)
      {
      	语句列表2;
      }
      else
      {
      	语句列表3;
      }
    2. switch语句
          switch (输入值)
              {
                  case 常量1:语句;break;
                  case 常量2:语句;break;
                  case 常量n:语句;break;
                  default :语句;break;
              }
      

  2. 循环结构

    当我们需要重复执行某块代码时,可以用循环语句减去重复的敲写。本文就简单介绍一下有哪些语句。
    1. for循环
      for(变量初始值;终止条件;改变变量){循环语句}
      //打印 1~10
      for(int i=1;i<=10;i++){
          printf("%d",i);
      }
    2. while语句
      while(循环条件){执行语句}
    3. do while语句
      do{执行语句} while(循环条件);

函数 

        函数是C语言重要的概念,c语言的入口 就是main函数,我们也经常需要自己编写函数,在适当的时候调用。

        某些常用的功能每次重复写影响效率,如果有一种东西能调用其功能而不用管内部实现就好了——那就是函数。函数就是包装了某些功能的代码段,可以有若干参数,可以无参数。

#include <stdio.h>

void print() {
    printf("I am Function print ");

}
int main() {
    print();
}


 函数能代码编写更简单

 数组

        当我们想表达数个同类型的变量时,一个一个声明显得繁琐,尤其是变量数量规模庞大时,因此我们就使用到了数组。数组用来表示在内存上开辟额一块连续的空间,用块连续的空间表示相同的变量,通过下标访问数组里元素,数组本质是块地址。

        数组的下标是从0开始的。

  1. 数组的声明与初始化
    int b[5];           //开辟5块内存int型的数组
    int a[3]={1,2,3};   //开辟3块内存int型的数组,同时完成初始化
    

    未初始化的数组,其内容将全部是随机数。

  2. 数组元素调用
    printf("%d",a[3]);//通过下标访问元素

 操作符

        这里简单罗列一些常见操作符

  1.  算术操作符    +  -  *  /  %    
      其中%是取模符,c=a%b ,c得到的是a除以b的余数
     
  2. 移位运算         >>  <<
      移位运算是将数转为二进制,整体左移或右移一位,左移就是在末尾加一个0,右移则是减少一位。在没有数字溢出的前提下,左移1位相当于乘以2的1次方,左移n位相当于乘以2的n次方。右移一位相当于除以2,右移n位相当于除以2的n次方。
     
  3. 位操作符         &  ^  |  ~ 
      按位与、按位异或、按位或、按位取反,这几个操作符都是针对操作数的二进制进行操作。
  4. 逻辑操作符:  && || !  
      与、或、非
     
  5. 赋值操作符= += -= *= /= &= ^= |= >>= <<=
      赋值操作符就是将右边的值赋值给左边,区别于数学的 '='。
     
  6. 关系操作符  == >= <= > < !=
     编程中用 "==" 来表示判断是否恒等于,"!="则表示不等于。
     
  7. 单目操作符       ++  --  - + ~  * & 
    其中 '*' 是解引用   ,'&'是取地址。
     

  8. 三元操作符      条件  ?  a(真):b(假) 
    判断是否满足条件,真时返回a,假时返回b。
     

  9. 下标引用、函数调用、访问结构体成员       []  ()   .   ->

 本节介绍了字符串,程序结构,函数,数组及操作符,下节将继续讲讲关键字,指针及结构体。如讲述有误 望指正一下(╯▔皿▔)╯

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值