第一章  基础知识

  • 1.1  基本框架

    • //任何一个c语言程序都必须包括以下格式:
      int main(int argc, char *argv[] )
      {
      return 0;
      }
      //这是c语言的基本结构,任何一个程序都必须包含这个结构。括号内可以不写任何内容,那么该程序将不执行任何结果。

    • 1.1.1  main()
      • 在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略。
        main(int argc,char**argv) {}  第一个参数是表示输入的字符串的数目,第二个参数是指向存放的字符串

      • 1.1.1.1  C语言中int main()和int main(void)区别
        • 1.K&R书上main函数定义写成main(){...} 形式,不写返回值类型也不写参数列表,这是Old Style C的风格。
          Old Style C规定不写返回值类型就表示返回int型,不写参数列表 就表示参数类型和个数没有明确指出。
          这种宽松的规定会导致很多复杂的Bug产生,不幸的是现在的C标准为了兼容旧的代码仍然保留了这种语法。2. 其实系统在调用main函数时是传参数的,所以main函数最标准的形式应 该是int main(int argc, char *argv[])。
          C标准也规定了int main(void) 这种形式,如果不使用系统传进来的两个参数也可以写成这种形式。
          但除了这两种形式之外,以其它形式定义main函数都是错误的或不可移植的。

      • 1.1.1.2  标准形式
        • 在最新的 C99 标准中,只有以下两种定义方式是正确的:int main(void){}//整数类型主函数(无类型) = int main()int main(int argc,char **argv)//整数类型主函数(整数类型 统计参数个数,字符类型*数组指针至字符[])

      • 1.1.1.3  C++98中的定义
        • 如下两种main函数的定义方式:
          int main( )
          int main( int argc, char *argv[] )

    • 1.1.2  函数体
      • 被大括号{ }括起来的内容称为main函数的函数体,这部分内容就是计算机要执行的内容.
        在{  }里面每一句话后面都有一个分号(;),
        在c语言中,我们把以一个分号结尾的一句话叫做一个c语言的语句,分号是语句结束的标志。

    • 1.1.3  #include<stdio.h>
      • 1.1.3.1  注意

        • (1)以#号开头
        • (2)不以分号结尾
        • (3)# include”stdio.h”也是对的
      • 1.1.3.2  预处理
        • 这一行没有分号,所以不是语句,在c语言中称之为命令行,或者叫做“预编译处理命令”。 编译预处理不是C语言的一部分,不占运行时间,不要加分号。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
      • 1.1.3.3  # include “stdio.h”与#include <stdio.h>区别
        • <>搜索顺序为:系统目录-->环境变量目录-->用户自定义目录。
        • ""则是用户自定义目录-->系统目录-->环境变量目录.
      • 1.1.3.4  文件包含的考查点:
        • 这里一个C语言程序是有两个文件组成,分别是no1.c, no2.c。那么no1.c中最开始有个#include”no2.c”他表示把第二个文件的内容给包含过来,那么no1.c中调用add()函数的时候就可以了把数值传到no2.c中的被调用函数add()了。
        • 一个文件必须要有main函数。这句话错了。例如:no2.c就没有。
        • 头文件一定是以.h结束的。这句话错了。例如:no1.c中就是#include”no2.c”以.c结尾的。
    • 1.1.4  注释
      • 程序中以 /*开头并且以*/结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序的可读性而添加,但计算机在执行主函数内容时完全忽略注释部分,换而言之就是计算机当做注释部分不存在于主函数中。
      • 注意:1.F      //      /*
      • */
      • 2.F      /*    /*  */     */
      • 3.T     //    //
  • 1.2  C程序的生成过程
    • C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。

    • 编译过程
    • 源程序的扩展名为 .c  -(编译)-> 目标程序的扩展名为  .obj  -(连接)->可执行程序的扩展名为 .exe 。
  • 1.3  标识符
    • 概念

      • 在编写程序时,必须为函数、变量等命名,这个名字称为标识符。
    • 1.3.1  标识符分类(都是·小写)
      • ①关键字(32个)(有固定含义,不可改变)

        • 类型说明符:int,float,double等
        • 语句定义符:if,for,while等
      • ②预定义标识符(有特殊含义,可以改变)
        • 库函数的名字:printf , scanf 等
        • 编译预处理命令名:include等
      • ③用户自定义的标识符  
        • ⅰ格式合法,ⅱ不能使用关键字,ⅲ见名知意
    • 1.3.2  关键字
      • 关键字是具有特定含义的,专门用来说明c语言特定成分的一类标识符,不能用作用户的标识符。

        • auto break       case        char          union
        • do         double     else        enum     extern
        • goto           if     int        long short
        • signed          static        sizeof      struct       switch
        • unsigned void for    while        typedef
        • continue    float     return          typedef     default
    • 1.3.3  预定义标识符
      • 预定义标识符在c语言中也有特定的含义,但可以用作用户标识符,预定义标识符分为两类:

        • (1)、库函数名字,比如(printf,scanf,sin,isdigit等)
        • (2)、编译处理命令名,比如(define,include)
    • 1.3.4  用户标识符
      • 用户根据需要自己定义的标识符称为用户标识符。无论如何自定义标识符,都必须符合标识符的三条命名规则。
      • 注意:正常系统函数由_开头,因此不建议自定义函数以下划线开
    • 1.3.4.1  命名规则
      • C语言中标识符的命名规则如下:

        • 1、标识符只能由字母、数字、下划线组成;
        • 2、标识符的第一个字母必须是字母和下划线;(开头)
        • 3、标识符区分大小写字母,如If和if是两个完全不同的标识符。
      • 合法标识符如下:
        • A6       b_3   _mn   _
      • 非法的标识符如下:
        • ab#12, 8m , tr3:4 , yes no
      • 标识符不能与程序中具有特殊意义的关键字相同,
      • 不能与用户编制的函数名、C语言库函数相同,
      • 在程序中各种标识符尽量不要重复,以便区分。
      • 选择变量名和其他标识符时,应注意做到 “见名知义”。

转载于:https://www.cnblogs.com/ZanderZhao/p/10013847.html

3011C语言_基础知识相关推荐

  1. 计算机二级C语言辅导j机构,全国计算机二级C语言公基础知识辅导.pptx

    全国计算机二级C语言公基础知识辅导 ;知识点分布;第一章 数据结构与算法;1.算法是指解题方案的准确而完整的描述.换句话说,算法是对特定问题求解步骤的一种描述. *算法不等于程序,也不等于计算方法. ...

  2. 学习笔记:Java 并发编程①_基础知识入门

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...

  3. 学习笔记:SpringCloud 微服务技术栈_实用篇①_基础知识

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 前言 学习视频链接 SpringCloud + RabbitMQ + Docker + Redis + 搜 ...

  4. c语言基础知识pdf下载,C语言主基础知识.pdf

    C语言主基础知识 泰山学院CSDN 俱乐部 C 语言主要基础内容 1.预处理命令 预处理的概念:在编译之前进行的处理.预处理命令以符号"#"开头. 2 .关于#include 在编 ...

  5. 第一章c语言基础知识答案,第一章 C语言的基础知识练习题

    第一章 C语言的基础知识练习题 第一章 C语言的基础知识 第一节 对C语言的初步认识 习题 1. 下列叙述中错误的是 B A)任何一个C程序都必须有且仅有一个main函数,C语言总是从main函数开始 ...

  6. C++:C++语言入门级基础知识考察点回顾之基本数据类型、流程控制

    C++:C++语言入门级基础知识考察点回顾之基本数据类型.流程控制 目录 C++的基本数据类型 0.return 的两种实现

  7. C++:C++语言入门级基础知识考察点回顾之数组、指针

    C++:C++语言入门级基础知识考察点回顾之数组.指针 目录 C++的数组.字符串 1.数组 1.1.声明数组 1.2.一维数组的应

  8. C++:C++语言入门级基础知识考察点回顾之函数、结构体和类

    C++:C++语言入门级基础知识考察点回顾之函数.结构体和类 目录 C++的函数 1.函数的定义.调用,全局变量局部变量 1.1.自定义函数求其倒数

  9. 二级c语言基础知识pdf下载,全国计算机等级考试二级C语言公共基础知识.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp资格/认证考试&nbsp>&nbsp计算机等级考试 全国计算机等级考试二级C语言公共基础知识 ...

最新文章

  1. R语言KMeans聚类模型示例
  2. LINUX TOMCAT
  3. Codeforces Beta Round #11 A. Increasing Sequence 贪心
  4. 一些概念整理(不一定完全正确)
  5. Java 的单例模式
  6. ado.net mysql 连接池_ADO.NET数据库连接池的介绍 | 学步园
  7. 22.创建DockWidget
  8. 苹果显示器(Apple Cinema Display)连接Windows的亮度调节方法(Win10可用)
  9. 2022年信息安全工程师考试知识点:操作系统安全
  10. LOGO以及手绘签名完美导入CAD
  11. Stack overflow (CVF, IVF)
  12. 基于双月数据集单层感知机_python
  13. 机器学习中的K-means算法原理与R语言实例
  14. 2017工业互联网峰会 | 天拓四方助力中国工业生产、制造业转型升级
  15. 详解 PerformanceResourceTiming API,咦,这货真的干!
  16. 云计算基础课堂001 Linux系统与CentOS7的安装部署(小白向—怎么在VMware虚拟机安装基于Linux操作系统的CentOS7)
  17. 什么是开发环境、测试环境、UAT环境、仿真环境、生产环境?
  18. 阿里巴巴亏损114.56亿元,投资者:早有预料
  19. 软件测试面试题:黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点?
  20. [RK3288] AP6335WIFI模块移植(板级dts文件代码编写)

热门文章

  1. Crontab作业时间设置
  2. 写出高质量的代码——“零星”总结(延续3)
  3. 聚类的概念和一般步骤
  4. Kafka源码分析-序列3 -Producer -Java NIO(Reactor VS Peactor)
  5. java学习笔记 --- 多线程(多线程的控制)
  6. Exchange 2013 邮箱管理
  7. 《从零开始学Swift》学习笔记(Day 16)——字典集合
  8. Android 升级下载 它们的定义Updates 兼容版本
  9. Dom4j SAXReader Constructors
  10. Log4j2使用总结