百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

NCRE2全国计算机等级二级考试:C语言

wptr33 2025-02-11 13:47 20 浏览

NCRE2C

程序设计语言是指挥计算机工作的钥匙。C语言是一个经典的程序设计语言,因为其最为简洁的语法,最强的底层控制和高性能的计算能力,被广泛应用再各个领域。C语言有助于我们深入了解计算机原理,理解程序设计的本质,对于初学者,如果想学习程序设计,强烈建议从C语言开始。

1. 前言

全国计算机等级考试NCRE是由教育部主持的一项技术认证,共分为4个等级,其中计算机等级考试二级主要考察学员对计算机基础知识和程序设计知识的了解和基本运用,已经成为大学生必须掌握的技能,或者通过的一项考试。

为帮助学员掌握C语言程序设计,通过NCRE2的C语言考试,并为计算机软件水平程序员考试打好基础。这里以全国计算机等级考试要求为主、辅以中国计算机技术职业资格程序员考试要求,结合软件工程师实践经历,整理相关文档和代码,供参考学习。

2. C语言内容

1. 背景
   1. 计算机等级考试二级 C语言程序设计
   2. 计算机等级考试二级 公共基础
   3.程序设计语言发展历程]
   4.C语言发展历程
2. 开发环境
   1. Visual Studio C++
   2. GNU C/C++ 
3. 快速示例
   1. Hello CLang
      1. Visual Studio C++
         1. 用Notepad创建源文件
         2. 编译、链接和运行
      2. GNU C/C++
         1. 用vim创建源文件
         2. 编译、链接和运行
      3. 常见问题
   2. 程序结构介绍
      1. 预处理
         1. #include
         2. #define
      2. 函数
         1. main
            1. 参数
         2. printf
         3. scanf
      3. 变量
      4. 常量
      5. 注释
      6. 库
   3. 开发过程
      1. 编辑
      2. 编译
      3. 链接
      4. 调试
      5. 运行
      6. 发布
4. C语言基础
   1. 进制
      1. 二进制
      2. 八进制
      3. 十六进制
   2. 数据类型
      1. 常量
         1. 字面常量
         2. 符号常量
      2. 变量
         1. 命名规则
         2. 初始化
         3. 赋值
      3. char
         1. 字符常量
         2. 字符变量
         3. ASCII码
         4. 字符串常量
         5. 转义字符
      4. short
      5. int
      6. long
      7. long long
      8. float
      9.  double
      10. unsigned
      11. 计算机内存中的数据
          1.  sizeof
          2.  正负数
          3.  无符号数
   3. 输入输出
      1. printf
         1. 类型提升
         2. 转换规范
            1. "%|-+#0|0-9|.0-9|h hh l ll z|cdeEfosuxX"
            2. 标志
            3. 最小宽度
            4. 精度
            5. 长度指示符
            6. 转换操作
         3. 转换操作
            1. "c"
            2. "d"
            3. "e E"
            4. "f"
            5. "o"
            6. "u"
            7. " x X"
            8.  "s"
         4. 长度指示符
            1. "l"
            2. "ll"
            3. "h"
            4. "hh"
         5. 精度
         6. 最小字段宽度
         7. 标志
            1. "0"
            2. "-"
            3. "+"
            4. "#" 
      2. scanf
         1. Visual Studio C++的安全提醒
         2. 使用公式
            1. 变参
            2. 第一个参数指定规则
            3. 其余的参数指定位置
            4. 转换规则
               1. double <=> %lf
         3. 匹配规则
            1. 按第一个参数的转换规则逐个匹配
            2. 应该按顺序提供存放位置变量地址
         4. 输入字符
            1. %c <=> char
            2. %s <=> char [] | char *
         5. 输入字符串
   4. 运算符和表达式
      1. 表达式
      2. 运算符
         1. 关系运算符
            1. "> >="
            2. "< <="
            3. "== !="
         2. 逻辑运算符
            1. || 
            2. &&
            3. !
         3. 位运算符
            1. &
            2. |
            3. ~
            4. ^
      3. 类型转换
         1. 自动
         2. 强制
         3. 赋值
   5. 控制流
      1. 条件
         1. if
         2. else
         3. else if
      2. 循环
         1. while
         2. for
         3. do-while
         4. break
         5. continue
      3. 选择
         1. switch
         2. case
         3. break
   6. 数组
      1. 定义
      2. 初始化
      3. 遍历数组
      4. 赋值
         1. 逐个赋值
         2. 内存拷贝
      5. 多维数组
   7. 函数
      1. 定义
      2. 调用
      3. 返回值
      4. 参数
         1. 实参
         2. 形参
         3. 类型
            1. 数组
            2. 复合类型
            3. 自动类型转换
      5. 递归
   8. 指针
      1. 指向特定内存的地址
      2. 类型
      3. 取地址&
      4. 取内容*
      5. 类型转换
      6. 运算
         1. "+"
         2. "-"
      7. 数组与指针
      8. 函数指针
   9.  字符串
      1.  字符数组与指针
      2.  const
      3.  strlen
      4.  strcat
      5.  strcpy
      6.  strcmp
      7.  strstr
      8.  strtok
      9.  strdup
      10. strchr
   10. 复合数据
       1.  struct
       2.  union
       3.  enum
   11. 作用域
       1.  块 {}
       2.  函数
       3.  文件
   12. 预处理器
       1.  预处理指令
           1.  #define
               1.  宏
               2.  带参数宏
                   1.  f(x,y) x+y
               3.  宏运算符
                   1.  "# 字符串"
                   2.  "## 组合标识符"
           2.  #undef
           3.  typedef
               1.  定义类型别名
                   1.  基本类型
                   2.  符合类型
               2.  与#define的差异
                   1.  预处理替换代码
                   2.  编译时解释
       2.  条件编译
           1.  #if
           2.  #elif
           3.  #else
           4.  #endif
           5.  #ifdef
           6.  #ifndef
   13. 多个源代码文件
       1.  #include
       2.  源文件.c
           1.  定义变量
           2.  定义函数
       3.  头文件.h
           1.  声明
               1.  符号常量
               2.  函数
               3.  复合类型
               4.  共享变量
           2.  守卫
               1.  #ifndef
               2.  #define
               3.  #endif
   14. 存储类别
       1.  auto
       2.  static
           1.  函数内静态变量
           2.  文件内静态变量
       3.  extern
           1.  外部文件变量
   15. 文件
       1.  打开/创建
           1.  fopen
           2.  模式       
               1.  r
               2.  w
               3.  a
               4.  b
           3.  fseek
           4.  ftell
           5. rewind
           6. fsetpos
           7. fgetpos
       2.  读取
           1.  fscanf
           2.  fgetc
           3.  fgets
       3.  写入
           1.  fprintf
           2.  fputc
           3.  fputs
           4.  fflush
       4.  关闭
           1.  fclose
       5.  异常
           1.  ferror
   16. 位操作
       1.  进制转换
           1.  十进制 二进制
           2.  十进制 十六进制
       2.  位运算
           1.  左移
           2.  右移
           3.  与或非
           4.  异或
   17. 内存管理
       1.  变长数组
       2.  malloc
       3.  free
       4.  函数返回指针

安装环境:GCC


pacman -S gcc
pacman -S make


安装环境:Visual Studio




参考资料:

  1. ncrec : https://gitee.com/wapuboy/ncre2c/tree/master

相关推荐

每天一个编程技巧!掌握这7个神技,代码效率飙升200%

“同事6点下班,你却为改BUG加班到凌晨?不是你不努力,而是没掌握‘偷懒’的艺术!本文揭秘谷歌工程师私藏的7个编程神技,每天1分钟,让你的代码从‘能用’变‘逆天’。文末附《Python高效代码模板》,...

Git重置到某个历史节点(Sourcetree工具)

前言Sourcetree回滚提交和重置当前分支到此次提交的区别?回滚提交是指将改动的代码提交到本地仓库,但未推送到远端仓库的时候。...

git工作区、暂存区、本地仓库、远程仓库的区别和联系

很多程序员天天写代码,提交代码,拉取代码,对git操作非常熟练,但是对git的原理并不甚了解,借助豆包AI,写个文章总结一下。Git的四个核心区域(工作区、暂存区、本地仓库、远程仓库)是版本控制的核...

解锁人生新剧本的密钥:学会让往事退场

开篇:敦煌莫高窟的千年启示在莫高窟321窟的《降魔变》壁画前,讲解员指着斑驳色彩说:"画师刻意保留了历代修补痕迹,因为真正的传承不是定格,而是流动。"就像我们的人生剧本,精彩章节永远...

Reset local repository branch to be just like remote repository HEAD

技术背景在使用Git进行版本控制时,有时会遇到本地分支与远程分支不一致的情况。可能是因为误操作、多人协作时远程分支被更新等原因。这时就需要将本地分支重置为与远程分支的...

Git恢复至之前版本(git恢复到pull之前的版本)

让程序回到提交前的样子:两种解决方法:回退(reset)、反做(revert)方法一:gitreset...

如何将文件重置或回退到特定版本(怎么让文件回到初始状态)

技术背景在使用Git进行版本控制时,经常会遇到需要将文件回退到特定版本的情况。可能是因为当前版本出现了错误,或者想要恢复到之前某个稳定的版本。Git提供了多种方式来实现这一需求。...

git如何正确回滚代码(git命令回滚代码)

方法一,删除远程分支再提交①首先两步保证当前工作区是干净的,并且和远程分支代码一致$gitcocurrentBranch$gitpullorigincurrentBranch$gi...

[git]撤销的相关命令:reset、revert、checkout

基本概念如果不清晰上面的四个概念,请查看廖老师的git教程这里我多说几句:最开始我使用git的时候,我并不明白我为什么写完代码要用git的一些列指令把我的修改存起来。后来用多了,也就明白了为什么。gi...

利用shell脚本将Mysql错误日志保存到数据库中

说明:利用shell脚本将MYSQL的错误日志提取并保存到数据库中步骤:1)创建数据库,创建表CreatedatabaseMysqlCenter;UseMysqlCenter;CREATET...

MySQL 9.3 引入增强的JavaScript支持

MySQL,这一广泛采用的开源关系型数据库管理系统(RDBMS),发布了其9.x系列的第三个更新版本——9.3版,带来了多项新功能。...

python 连接 mysql 数据库(python连接MySQL数据库案例)

用PyMySQL包来连接Python和MySQL。在使用前需要先通过pip来安装PyMySQL包:在windows系统中打开cmd,输入pipinstallPyMySQL ...

mysql导入导出命令(mysql 导入命令)

mysql导入导出命令mysqldump命令的输入是在bin目录下.1.导出整个数据库  mysqldump-u用户名-p数据库名>导出的文件名  mysqldump-uw...

MySQL-SQL介绍(mysql sqlyog)

介绍结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同...

MySQL 误删除数据恢复全攻略:基于 Binlog 的实战指南

在MySQL的世界里,二进制日志(Binlog)就是我们的"时光机"。它默默记录着数据库的每一个重要变更,就像一位忠实的史官,为我们在数据灾难中提供最后的救命稻草。本文将带您深入掌握如...