内容简介
第1章 C语言基础
1.1 答疑解惑
1.1.1 C语言是如何构成的?
1.1.2 C程序是如何执行的?
1.1.3 C程序是如何编译连接的?
1.1.4 C程序中如何使用注释?
1.2 典型题解
题型1 C程序构成
题型2 C程序编译连接
题型3 注释
第2章 算法和结构化程序设计
2.1 答疑解惑
2.1.1 什么是程序?
2.1.2 什么是算法?
2.1.3 如何评价、选择算法?
2.1.4 如何设计算法?
2.1.5 什么是结构化程序设计?
2.1.6 如何用图形描述算法?
2.2 典型题解
题型1 算法的特征
题型2 结构化程序设计
题型3 算法的图形化描述
第3章 数据类型
3.1 答疑解惑
3.1.1 C语言中有哪些数据类型?
3.1.2 什么是常量?什么是变量?
3.1.3 什么是标识符?C语言中有哪些标识符?
3.1.4 如何定义自己的标识符?
3.1.5 如何命名出“见名识意”的标识符?
3.1.6 整型数据可以表示哪些数?
3.1.7 数489L和489有何不同?
3.1.8 数123、0123和0X123有何不同?
3.1.9 实型数据可以表示哪些数?
3.1.10 数123.4、12.34E1和0.1234e3有何不同?
3.1.11 为什么下面程序中y的值没有增加?
3.1.12 为什么下面程序的输出不是67899?
3.1.13 字符型变量中存放了什么?
3.1.14 字符型数据与整型数据有什么联系?
3.1.15 ‘a’和“a”有何不同?
3.2 典型题解
题型1 标识符定义
题型2 数据类型基本概念
题型3 变量和常量基本概念
题型4 整型数据
题型5 整型数据的各进制表示及转换
题型6 实型数据
题型7 字符型数据
第4章 运算符与表达式
4.1 答疑解惑
4.1.1 C语言中有哪些运算符?
4.1.2 1/2和1/2.0的计算结果一样吗?
4.1.3 -10%3和10%-3的计算结果一样吗?可以4.5%2吗?
4.1.4 表达式x=x中,两个x的含义是否相同?
4.1.5 x+=2和x=x+2意义相同吗?
4.1.6 z=(x=16)*(y=4)如何执行?
4.1.7 b=a++与b=++a有何不同?
4.1.8 为什么2++,(a+b)--都是不合法的?
4.1.9 b=-a++如何执行?
4.1.10 若int a=10,执行b=(3*5,a+=4)后,a、b的值分别为多少?
4.1.11 5+3.14-5.123456*‘a’-‘b’的计算结果是什么类型的数据?
4.1.12 为什么下面程序的运行结果是1而非0?
4.1.13 a+++b如何计算?
4.2 典型题解
题型1 算术运算
题型2 赋值运算
题型3 左值的概念
题型4 自增、自减运算
题型5 逗号运算
题型6 类型转换
题型7 运算符优先级和结合性
第5章 顺序结构
5.1 答疑解惑
5.1.1 c=‘a’和c=‘a’;有什么区别?
5.1.2 int a;是语句吗?
5.1.3 空语句什么也不做,为什么还要使用?
5.1.4 为什么下面程序的输出是1而不是12?
5.1.5 能否按照自己的要求输出数据?
5.1.6 为什么下面的程序无法执行?
5.1.7 按照下面的程序能否输入“2〈回车〉a”?
5.2 典型题解
题型1 语句基本概念
题型2 字符输入/输出
题型3 格式化输入
题型4 格式化输出
题型5 综合应用
第6章 选择结构
6.1 答疑解惑
6.1.1 什么是“真”,什么是“假”?
6.1.2 为什么下列程序输出的是“==”而不是“!=”?
6.1.3 浮点数之间的比较可靠吗?
6.1.4 C语言中有哪些逻辑运算符?运算规则是什么?
6.1.5 表达式a<b<c与a<b&&b<c有何不同?
6.1.6 若int x=1,a=0;,为什么执行b=a&&(x=5)后x的值仍为1?
6.1.7 若int a=1,b=2,执行max=(a>b)?a,b后max的值是多少?
6.1.8 if与else如何配对?
6.1.9 if语句和switch语句该如何选择?
6.1.10 为什么下面程序的输出不是3?
6.1.11 switch语句中一定要使用default语句吗?
6.2 典型题解
题型1 关系运算
题型2 逻辑运算
题型3 条件运算
题型4 if语句
题型5 switch语句
第7章 循环结构
7.1 答疑解惑
7.1.1 下面的程序为什么错误?
7.1.2 为什么下面两个程序的执行结果不同?
7.1.3 为什么下列程序的运行结果不是6?
7.1.4 for语句中的表达式能否省略?
7.1.5 该选择while循环还是for循环?
7.1.6 循环中能否包含循环?
7.1.7 break语句和continue语句的区别是什么?
7.2 典型题解
题型1 for循环语句
题型2 do-while、while循环语句
题型3 break、continue语句
题型4 综合应用
第8章 数组
8.1 答疑解惑
8.1.1 什么是数组?数组在内存中如何存储?
8.1.2 int a[10];a++;是否正确?
8.1.3 以下对数组的声明是否正确?
8.1.4 下面的程序在编译时是否会报错?
8.1.5 以下对二维数组的声明是否正确?
8.2 典型题解
题型1 一维数组的定义和初始化
题型2 一维数组的引用
题型3 一维数组元素的移动
题型4 一维数组的排序
题型5 数组元素的查找和删除
题型6 多维数组的定义和初始化
题型7 多维数组的引用
题型8 二维数组的排序
题型9 将二维数组转化为一维数组
第9章 字符串
9.1 答疑解惑
9.1.1 C语言中如何存储字符串?
9.1.2 定义char s[]=“well”;char t[]={‘w’,‘e’,‘l’,‘l’};中,s与t相同吗?
9.1.3 如何从键盘输入“Hello World”并赋值给字符数组,应调用什么函数?
9.1.4 strlen与sizeof有什么区别?
9.1.5 如何使用strcpy函数?
9.1.6 如何比较两个字符串?if(str1==str2)的写法是否正确?
9.1.7 如何使用strcat函数?
9.2 典型题解
题型1 字符串的初始化
题型2 字符串的长度
题型3 字符串的输入
题型4 特定字符的大小写转换
题型5 字符串与整数的转换
题型6 指定字符的查找和删除
题型7 字符串的比较
题型8 字符串的排序
题型9 字符子串查找
题型10 字符子串的移动
题型11 字符串的复制
题型12 字符串的连接
第10章 函数
10.1 答疑解惑
10.1.1 为什么需要函数?
10.1.2 如何定义和使用函数?
10.1.3 为什么要进行函数的声明?
10.1.4函数调用时,数据如何传递?
10.1.5 return语句和exit()函数调用有什么区别?
10.1.6 函数的嵌套调用是如何进行的?
10.1.7 什么时候使用递归?
10.1.8 函数的递归调用是如何进行的?
10.1.9 什么是全局变量和局部变量?
10.1.10 C语言中的局部变量有哪些存储类别?
10.1.11 不同类型的变量存储方式是否相同?
10.1.12 C语言中的函数有哪些存储类别?
10.2 典型题解
题型1 函数的基本概念
题型2 形参和实参
题型3 函数返回值
题型4 函数的基本调用
题型5 数组作为函数参数
题型6 函数的嵌套调用
题型7 函数的递归调用
题型8 全局变量和局部变量
题型9 变量的存储类别及生命周期
第11章 指针
11.1 答疑解惑
11.1.1 什么是内存单元地址?什么是内存单元内容?
11.1.2 指针的地址和指针中存放的地址有什么区别?
11.1.3 指针可以指向指针吗?
11.1.4 指向不同类型的指针,在内存中所占空间相同吗?
11.1.5 指针一定要初始化吗?
11.1.6 如何对指针进行初始化?
11.1.7 指针可以做运算吗?
11.1.8 为什么要动态分配内存空间?如何分配?
11.1.9 如何通过指针引用一维数组元素?
11.1.10 指针和字符数组都可以操作字符串,两者有什么区别?
11.1.11 如何通过指针引用二维数组元素?
11.1.12 函数指针和指针函数有什么区别?
11.1.13 指针数组和数组指针有什么区别?
11.2 典型题解
题型1 指针的基本概念
题型2 指针的运算
题型3 指针作为函数参数
题型4 指向函数的指针
题型5 指向一维数组的指针
题型6 字符串与指针
题型7 指向二维数组的指针
题型8 指针数组
题型9 命令行参数
题型10 指向指针的指针
题型11 指向结构体、共同体变量的指针
题型12 综合应用
第12章 结构体和共同体
12.1 答疑解惑
12.1.1 为什么要使用typedef?它定义了新类型吗?
12.1.2 typedef与define有什么区别?
12.1.3 为什么要使用结构体?
12.1.4 为什么下面的程序在编译时会报错?
12.1.5 如何引用结构体的成员?
12.1.6 如何用结构体生成链表?
12.1.7 如何用在链表中插入节点?
12.1.8 如何用在链表中删除节点?
12.1.9 为什么要使用共同体?它有什么特点?
12.2 典型题解
题型1 用户自定义类型
题型2 结构体的定义和元素引用
题型3 结构体数组
题型4 链表基本概念
题型5 链表的插入
题型6 链表中的数据查找和修改
题型7 链表的删除
题型8 链表的排序
题型9 共同体
题型10 结构体与共同体综合运用
第13章 预处理命令
13.1 答疑解惑
13.1.1 什么是预处理?
13.1.2 什么是宏定义?
13.1.3 宏定义有哪些特点?
13.1.4 下面程序的输出是什么?
13.1.5 带参数的宏和函数有什么区别?
13.1.6 为什么要使用头文件,如何写自己的头文件?
13.1.7 如何包含文件?
13.1.8 可以包含多个文件吗?
13.1.9 如何避免文件的重复包含?
13.2 典型题解
题型1 预处理基本概念
题型2 宏替换基本概念
题型3 带参数的宏替换
题型4 文件包含
题型5 条件编译
第14章 位运算
14.1 答疑解惑
14.1.1 位(bit)、字节(byte)和字(word)有什么区别?
14.1.2 数在计算机中是如何存储的?
14.1.3 C语言中有哪些位运算符?
14.1.4 六种位运算符的运算规则分别是什么?
14.1.5 运算符&和运算符&&有什么区别?
14.1.6 如何实现将字符a的“高4位清0,低4位保留”?
14.1.7 如何实现将字符a的“高4位置1,低4位保留”?
14.1.8 如何实现将字符a的“高4位翻转,低4位保留”?
14.1.9 如何交换两个数,但不使用临时变量?
14.1.10 左移右移运算与乘除运算有什么关系?
14.1.11 位运算符的优先级和结合性是怎样的?
14.1.12 两个长度不同的数如何进行位运算?
14.2 典型题解
题型1 按逻辑运算
题型2 按位移动运算
第15章 文件操作
15.1 答疑解惑
15.1.1 数据在文件中如何存储?
15.1.2 什么是文件指针?什么是文件位置指针?
15.1.3 stdin、stout、stderr是什么?
15.1.4 如何访问文件?
15.1.5 使用文件的一般操作步骤是怎样的?
15.1.6 如何打开文件?
15.1.7 为什么下面的操作无法打开文件?
15.1.8 文件使用完毕后为什么必须关闭文件?
15.1.9 如何将单个字符存入文件中?
15.1.10 如何将字符串存入文件中?
15.1.11 如何将结构体存入文件中?
15.1.12 scanf和fscanf、printf和fprintf有何区别?
15.1.13 为什么要进行文件定位?如何进行文件定位?
15.1.14 标识符EOF能否作为二进制文件的结束标志?
15.2 典型题解
题型1 文件基本概念
题型2 文件的打开和关闭
题型3 文件检测
题型4 文件字符输入/输出
题型5 文件字符串输入/输出
题型6 文件格式化输入/输出
题型7 文件的数据块输入/输出
题型8 文件的定位操作
题型9 综合应用
第16章 课程测试与考研真题
16.1 课程测试
16.2 考研真题
16.3 课程测试解析
16.4 考研真题解析