C语言程式设计实例解析


C语言程式设计实例解析

文章插图
C语言程式设计实例解析《C语言程式设计实例解析》是2008年出版的图书 。
【C语言程式设计实例解析】《普通高校本科计算机专业特色教材精选·算法与程式设计·C语言程学设计实例解析》的每一章先介绍概念,再结合问题写程式 。书中给出了各种类型的程式实例,使用户进一步加深对语法的理解并掌握解决问题的方法 。书中的程式都调试通过并有运行结果,程式从小到大,并附有汉字说明和注释 。书中介绍了三维数组(三维数字数组、三维字元数组和三维指针数组)的表示方法,并给出了示意图,使複杂问题显得很简单 。
基本介绍书名:C语言程式设计实例解析
ISBN:9787302176749
页数:221
定价:22.00元
出版时间:2008-7
评价《普通高校本科计算机专业特色教材精选·算法与程式设计·C语言程学设计实例解析》提示了函式调用中参数传送(单向传送和双向传送)的本质地址问题 。在程式中特意将“值调用”和“地址调用”时的地址(函式中变数的地址和主程式中变数的地址)加以显示,使用户加深理解 。指针是C语言的难点,书中程式从简单到複杂,并给出了示意图,使用户很容易掌握多级指针 。书中还给出了一些图形编程的例子 。图书目录第1章 简单而完整的C程式11.1 只有主程式的小程式11.1.1 输出字元图案11.1.2 整型数求和21.1.3 两个实数交换位置21.2 有主程式和子程式的小程式21.2.1 函式的定义和使用21.2.2 主程式和函式3第2章 不同类型数的表示範围及补码的计算方法52.1 不同类型数的表示範围52.1.1 无符号数制的表示範围52.1.2 有符号数制的表示範围62.2 十进制、二进制、八进制和十六进制及输出符72.2.1 十进制、二进制、八进制和十六进制及输出符72.2.2 65535的十进制、二进制、八进制和十六进制及输出符92.3 补码概念及有符号数溢出所导致的错误结果92.3.1 补码的概念92.3.2 数的表示範围102.3.3 有符号数(int)溢出所导致的错误结果112.3.4 有符号数(long)溢出所导致的错误结果112.3.5 负数的不同输出结果122.3.6 有符号数(char)溢出所导致的错误结果122.4 十进制数、八进制数和十六进制数的表示方法132.4.1 八进制数和十六进制数的表示方法132.4.2 八进制数和十六进制数及字元输出132.5 不同格式符和转义符的使用132.5.1 实型数和指数输出132.5.2 用不同格式符输出整型数142.5.3 用不同格式符输出实型数142.5.4 格式符的使用152.5.5 格式符%s的使用152.5.6 赋值抑制符的使用152.5.7 不同格式符的使用方法162.5.8 转义符\\和%的使用162.5.9 转义符\\的使用17C语言程式设计实例解析目录 第3章 for循环193.1 一重循环的定义和套用193.1.1 一重循环的通常用法193.1.2 不要改变循环变数的值203.1.3 用循环计算1+2+3+…+100的值203.1.4 用循环计算2+4+…+100的值203.1.5 用循环计算1+3+5+…+99的值213.1.6 用循环计算 10!213.1.7 输出ASCII字元213.1.8 用循环计算1+2+3+…+100的值(用+=运算符)223.1.9 用循环计算1+2+3+…+100的值(将i放入循环)223.1.10 用循环计算1+2+3+…+100的值(将i和sum放入循环)233.1.11 矩形法求定积分233.1.12 梯形法求定积分243.2 二重循环的定义和套用243.2.1 用二重循环显示图案1243.2.2 用循环显示图案2253.2.3 用循环显示图案3253.2.4 用循环显示图案4263.2.5 用ASCII字元画一个矩形273.2.6 用 ASCII 字元画表格273.2.7 输出乘法表283.2.8 输出矩阵293.2.9 穷举法例一293.2.10 穷举法例二303.2.11 穷举法例三303.2.12 判质数313.2.13 三角函式的计算32第4章 不同类型数据的混合计算及一些常用运算符334.1 符号常量的定义和不同类型数的自动转换334.1.1 求圆的周长334.1.2 不同类型的自动转换344.1.3 不同类型数据由低往高转换344.2 字元和数字的互相转换354.2.1 输出数值或ASCII码字元354.2.2 整型值和ASCII码字元间的互相转换364.2.3 字元和数据的输出364.3 赋值运算符的使用364.3.1 赋值运算符的使用一374.3.2 赋值运算符的使用二374.4 printf语句中表达式的计算384.4.1 printf语句中表达式的计算例一384.4.2 printf语句中表达式的计算例二384.5 ++、--运算符和逗号表达式394.5.1 ++和--运算符394.5.2 逗号表达式的使用一394.5.3 逗号表达式的使用二404.6 数学函式的使用404.6.1 数学函式计算404.6.2 三角函式的计算41第5章 数据输入与输出435.1 putchar()和getchar()的套用435.1.1 putchar ()套用一435.1.2 putchar ()套用二445.1.3 getchar ()和putchar ()套用一445.1.4 getchar ()和putchar ()套用二445.1.5 getchar ()和putchar ()套用三455.1.6 getchar ()和putchar ()套用四455.2 printf语句和格式符46 5.2.1 输出符和输出位数的控制及左右对齐465.2.2 %c格式符的使用465.2.3 %s格式符的使用475.2.4 float 的有效位数和double 的有效位数475.3 scanf语句和格式符485.3.1 scanf语句的套用一485.3.2 scanf语句的套用二495.3.3 求圆的面积和球的体积49第6章 分支语句程式设计516.1 if-else 语句和(a>b)?a: b语句516.1.1 if-else语句套用一516.1.2 if-else语句套用二526.1.3 if-else语句套用三536.1.4 if-else语句套用四536.1.5 将三个实型数从小到大排序546.1.6 字元串加密(把字元变为下一个字元)556.1.7 将小写字元转换成大写字元556.1.8 从三个数中找出最大数566.1.9 实型数和指数输出566.2 一个等号“=”和两个等号“==”在if语句中的套用566.2.1 if (a=b)的执行566.2.2 if (a==b)的执行576.3 逻辑运算符“&&”和“‖”在if语句中的套用586.3.1 if ( (a=b) && (c=b) )的执行步骤一586.3.2 if ( (a=b) && (c=b) )的执行步骤二586.3.3 if ( (a=b) ‖ (c=b) )的执行步骤一596.3.4 if ( (a=b) ‖ (c=b) )的执行步骤二596.4 continue语句和break 语句606.4.1 continue 语句结束本次循环(不终止整个循环)606.4.2 continue 语句套用606.4.3 break 语句退出循环(终止整个循环)616.4.4 break语句退出一重循环(不退出外循环)616.5 switch语句和else if语句的综合套用626.5.1 switch语句626.5.2 switch语句的套用626.5.3 else if和switch套用636.5.4 判断闰年(方法一)646.5.5 判断闰年(方法二)646.5.6 求一元二次方程的根65第7章 循环语句while和do-while677.1 while语句677.1.1 while 语句的套用一677.1.2 while语句的套用二687.1.3 while语句的套用三687.1.4 while语句的套用四697.1.5 输出Fibonacei数列69 7.1.6 用二分法求方程的根707.2 do-while语句707.2.1 do-while 语句的套用一707.2.2 do-while 语句的套用二717.2.3 do-while语句的套用三717.2.4 用叠代法求方程的根72第8章 工程档案的使用方法738.1 extern的套用738.1.1 用extern扩展变数的作用域738.1.2 调用外部函式748.1.3 计算A的n次方(供调用)748.1.4 用extern将另一个档案的函式包含到本程式中748.1.5 从键盘输入字元串(供调用)758.1.6 将字元转成大写(供调用)758.1.7 输出字元串(供调用)758.2 建立工程档案768.2.1 两个数比较大小768.2.2 两个数比较大小(供调用)768.2.3 用include包含档案76第9章 数组799.1 一维数组的定义和套用799.1.1 一维数组的定义799.1.2 一维数组各元素赋值输出809.1.3 随机数产生函式809.1.4 产生随机数赋给数组819.1.5 找出最小数并与第一个数交换位置819.1.6 产生 Fibonacei 数列829.1.7 用键盘输入给数组赋值829.1.8 选择法排序839.1.9 冒泡法排序849.2 二维数组的定义和套用859.2.1 二维数组的定义859.2.2 矩阵加法869.2.3 矩阵的转置(方法一)879.2.4 矩阵的转置(方法二)889.2.5 找出二维数组中最大和最小值并给出下标位置899.2.6 输出菱形图909.2.7 二维数组各元素赋值输出909.2.8 成绩表计算和输出(用普通方法)919.2.9 按成绩排序并输出名次949.2.10 插入排序959.2.11 折半查找969.2.12 分别求矩阵各行元素、各列元素和所有元素之和979.2.13 杨辉三角989.2.14 矩阵乘法999.3 三维数组的定义和套用1009.3.1 三维数组的赋值1009.3.2 三维数组的部分赋值1019.4 三维数组的指针表示1029.4.1 用指针表示三维数字数组1039.4.2 三维数组字元串输出1049.4.3 三维字元串数组的指针表示104第10章 字元串处理和数字串与数之间的转换10710.1 字元串处理10710.1.1 字元串複製函式strcpy ()的内部细节10710.1.2 记忆体字元串複製函式memcpy10810.1.3 字元串连线函式 strcat ()的内部细节109 10.1.4 自编字元串比较函式 strcmp () 11010.1.5 输出三个字元串中的最大串11110.2 字元串查找和数字串与数之间的转换11210.2.1 strstr () 、 strchr ()和itoa ()函式11210.2.2 memset ()函式11310.2.3 统计字元串里单词的个数11410.2.4 将数字串转为相应的整数输出11410.2.5 将ASCCII数字串转成整型和长整型数115第11章 函式11711.1 函式调用中的地址调用和值调用11711.1.1 三个数比较大小(值调用)11711.1.2 函式中的同名变数(值调用)11811.1.3 函式的形参为数组变数(地址调用)11811.1.4 函式的形参为指针变数(地址调用)11911.1.5 用函式编写选择法排序11911.1.6 将两个数交换位置(值调用)12011.1.7 将两个数交换位置(地址调用)12111.1.8 写一个函式实现矩阵转置12211.1.9 折半查找12311.1.10 从字元串中删除某个字元12411.1.11 将两个串连线成一个串12511.1.12 函式嵌套调用12611.1.13 成绩表计算和输出(交换用函式)12611.2 递归调用12911.2.1 递归调用例12911.2.2 用递归计算n!13011.2.3 用递归计算1+2+3+…+n13111.2.4 汉诺塔问题13111.2.5 用递归法将一个整型数转换成字元串13211.3 全局变数、外部变数、局部变数和静态变数13311.3.1 利用全局变数计算长方体的体积及三个面的面积13311.3.2 利用外部变数计算长方体的体积13411.3.3 外部变数套用例13511.3.4 定义外部变数(供程式调用)13511.3.5 局部变数例一13511.3.6 局部变数例二13611.3.7 局部变数例三13611.3.8 不同函式间的局部变数名相同13711.3.9 静态变数13711.3.10 静态变数例一13811.3.11 静态变数例二13811.3.12 静态变数例三13911.3.13 静态变数例四140第12章 指针14312.1 一维数组的指针表示14412.1.1 指针套用例14412.1.2 用递归和指针将字元串倒显14412.1.3 一维数组指针的套用14512.1.4 将数组中的数头尾互换146 12.1.5 不同类型的指针变数14612.1.6 不同类型指针变数的套用14712.1.7 函式中的形参为数组变数(地址调用)14812.2 指针的指针(二级指针)14812.2.1 指针的指针(二级指针)的套用一14812.2.2 指针的指针(二级指针)的套用二15012.3 指针在函式中的套用15112.3.1 用函式实现两个数交换位置15112.3.2 用函式将数组中的数逆序15312.3.3 函式、指针和地址调用例15412.4 二维数组的指针表示15512.4.1 二维数组的指针表示例15512.4.2 二维数组的输出15612.5 n列数组指针变数15712.5.1 n列数组指针变数 int (p) \套用例15812.5.2 返回地址的函式15912.6 字元数组与字元指针16012.6.1 字元数组与字元指针的套用16012.6.2 二维字元数组套用例一16112.6.3 二维字元数组套用例二16212.6.4 编写字元串複製函式(形参用数组)16312.6.5 编写字元串複製函式(形参用指针)16312.6.6 编写字元串複製函式(函式中用strcpy) 16412.6.7 将两个字元串交换位置(形参和实参均用数组)16412.7 字元串指针数组16512.7.1 字元串指针数组的初始化与输出16512.7.2 字元串索引排序(交换串地址)16612.7.3 字元串排序(交换串位置)16712.8 函式指针16912.8.1 函式指针的套用16912.8.2 用函式指针求定积分170第13章 结构体和共用体17313.1 结构体与指针17413.1.1 用普通方法将学生的成绩表排序17413.1.2 用结构体将学生的成绩表排序17513.1.3 结构体变数各成员的初始化17713.1.4 结构体数组的定义和初始化17713.1.5 结构体与指针17813.1.6 结构体数组和结构体指针的套用17913.1.7 结构体与函式17913.1.8 将两个结构体中的内容交换18013.1.9 成绩表计算和输出(用结构体)18113.1.10 模拟电子钟18313.1.11 输入年、月、日,计算出是一年中第几天18413.1.12 输入同年两个日期(年、月、日), 计算出两个日期间的天数18513.1.13 用typedef 定义新类型18613.2 鍊表187 13.2.1 鍊表的创建与输出18713.2.2 删除鍊表中结点18913.2.3 在鍊表中插入结点19113.2.4 鍊表的综合套用19413.3 共用体197第14章 档案19914.1 ASCII档案的读写20014.1.1 档案的打开与关闭20014.1.2 将字元写入档案20014.1.3 档案複製20114.1.4 文本档案加解密20114.1.5 将字元串写入档案20314.2 二进制档案的读写20414.2.1 将学生成绩表以二进制方式写入档案20414.2.2 读二进制档案并显示20514.2.3 将键盘输入的十进制数写入档案20614.2.4 用fscanf从档案读十进制数到变数20714.2.5 将键盘输入的十六进制数写入档案20714.2.6 用fscanf从档案读十六进制数到变数20814.2.7 将程式运行结果写入档案20814.2.8 从档案读出程式运行结果209第15章 图形编程21115.1 画图21115.1.1 用画线函式画一矩形21115.1.2 画圆21215.1.3 画矩形条21315.1.4 画三维矩形条21315.1.5 根据点坐标序列画连线21415.1.6 画并填充椭圆21515.1.7 画点21515.2 显示图形文本21615.2.1 设定背景色21615.2.2 设定背景色、前景色和显示文本21715.2.3 显示文本21815.2.4 文本放大、水平和垂直显示21815.2.5 获取最大色数和显示模式21915.2.6 格式化信息串220本书特色222