• C语言-01-基本语法


    一、学前需知

    1. 开发工具

      windows平台:Visual C++6.0等
      mac平台:Xcode6.0等
      以下文章内容皆是以Xcode6.0为开发工具,clang编译器。
      
    2. Xcode的一些常用快捷键

      CMD + N: 新文件
      CMD + SHIFT + N: 新项目
      CMD + O: 打开
      CMD + SHIFT + S: 另存为
      CMD + D: 添加书签
      CMD + /: 注释或取消注释
      CMD + : 设置或取消断点
      CMD + R: 编译并运行(不触发断点)
      CMD + SHIFT + RETURN: 终止运行或调试
      Ctrl + K :删除本行
      Ctrl + A : 移动光标到本行行首
      Ctrl + E : 移动光标到本行行尾
      Command + Ctrl + S :创建快照
      
    3. 常用的Unix指令

      /
      ./
      ../
      cd
      pwd
      ls -l
      tab键
      mkdir
      rmdir
      touch
      rm
      open
      clear
      

    二、一个C语言程序的执行过程

    1. 编写代码

      用编辑器编写.c源文件
      
    2. 编译

      ① cc -c name.c,生成.o目标文件,只检测文件有没有语法错误。
      ② 可同时编译多个源文件,中间用空格隔开,如:cc -c a.out b.out。
      ③ 分为三个阶段:预处理、分析、独立编译。
      
    3. 链接

      ① cc name.o,生成a.out可执行文件,可以通过-o name参数来改
        变可执行文件的名字。
      ② 可同时链接多个目标文件,如:cc a.o b.o。
      ③ cc可以同时完成编译和链接任务,可编译源文件并与已有的目标文
        件链接,如cc a.o b.c。
      
    4. 运行

      ① 在终端运行有以下两种方式
      	1)./a.out
      	2)根路径a.out
      

    三、C语言的基本语法

    1. 关键字

      C语言提供了32个关键字,将其简单的分类,如下:

      ① 变量类型:char、int、float、double、struct、enum、union
      ② 修饰类型:signed、unsigned、
      		short、long
      		auto、static、const、 volatile、register、
      		extern、
      ③ 流程控制:if、else、
      		switch、case、default、
      		for、while、do,
      		goto、return
      
    2. 标示符

      命名规范:

      ① 由字母、数字和下划线组成
      ② 第一个字符不能使数字,只能是字母或下划线
      ③ 区分大小写
      ④ 尽量用有意义的单词作为标示符,做到见名知意
      ⑤ 使用驼峰标志(每个单词首字母大写)或下划线(单词之间用_间隔) 
      ⑥ 标示符的长度没有限制,但编译器可以忽略第31个字符以后的字符
      ⑦ 编译器可以对用于外部名字的标示符进行限制,只是别前六位不区
        分大小写的字符
      
    3. 注释

      注释掉的内容不会参与编译,不影响可执行文件的大小,注释分为以下几种形式:

      ① 单行注释,如://这是注释掉的内容。快捷键,command +/
      ② 多行注释,如:/*这是注释掉的内容*/。快捷键,command +/
      ③ 使用注意,多行注释可以嵌套单行注释,但是不能嵌套多行注释
      ④ 注释的作用:检测代码、排除错误
      
    4. 数据

      分类:

      ① 基本数据类型:字符型、整型、浮点型
      ② 指针
      ③ 构造类型:数组、结构体、枚举、共用体
      ④ void
      

      常量

      ① 整型:如,12
      ② 浮点型:如,23.2
      ③ 字符型:如,'a'
      ④ 字符串型:如,"This is a C program"
      

      变量

      ① 变量的内存分析:
      	1)定义一个变量,如int a,相当于在内存中分配一定的存储空间
      	  给变量a
      	2)&a就是该段存储空间的地址值,a就是该段空间中存储的变量
      	  值。
      	3)限定变量类型主要是为了在分配内存空间时,根据变量类型为
      	  变量分配相应类型和大小的内存
      
      ② 变量的作用域
      	1) 代码块作用域:从定义变量开始到该代码块结束,代码块内部
      	  的变量会屏蔽代码块外部的同名变量
      	2) 文件作用域:在所有代码块外部定义的变量,从定义变量开始
      	  到所在的源文件结束
      	3) 原型作用域:只适用于函数原型中声明的参数名,可以防止参
      	  数名与程序其他部分的名字冲突
      	4) 函数作用域:只适用于语句标签,语句标签适用于goto语句。
      	  goto语句会破坏程序结构,但在跳出多重循环时很有效
      	
      ①  交换两个变量值得三种方式(这里不使用插入代码的格式)
      	1)使用中间变量
      	{
      		int a = 10;
      		int b = 20;
      		int temp;
      		//交换
      		{
      			temp = a;
      			a  = b;
      			b = temp;
      		}
      	}
      	2) 使用加减运算
      	{
      		int a = 10;
      		int b = 20;
      		//交换
      		{
      			a = b - a;
      			b = b - a;
      			a = b + a;
      		}
      	}
      	3) 使用位操作符
      	{
      		int a = 10;
      		int b = 20;
      		//交换
      		{
      		a = a ^ b;
      		b = a ^ b;
      		a = a ^ b;
      		}
      	}
      
    5. scanf函数

      基本使用

      ① scanf函数是一个阻塞式的函数
      ② 用占位符来接受输入的数据,用&name,来表示变量存储的内存
        地址
      

      使用注意

      ① 当输入多个数据时,分隔符要与scanf函数中的一致,若scanf
        函数中无间隔符,则可以用适当的字符
      ② scanf函数中的间隔符,空格、tab和回车是等价的
      ③ scanf函数中的字符串参数中不能出现空格
  • 相关阅读:
    (转)VUE + ElementUI工程
    基于现有Kubernetes集群部署KubeSphere管理平台
    找回docker容器运行命令
    .NET平台常用的框架整理
    mysql8.0修改密码
    ElementUI实现手动上传
    nginx代理出现上传文件过大解决办法
    一次 Keepalived 高可用的事故,让我重学了一遍它!
    从 1.5 开始搭建一个微服务框架——日志追踪 traceId
    强大的开源API接口可视化管理平台YApi
  • 原文地址:https://www.cnblogs.com/theDesertIslandOutOfTheWorld/p/4715309.html
Copyright © 2020-2023  润新知