批量上传,套装书可能不全,下单前咨询在线客服! 正版书 !!!
¥ 18.87 5.9折 ¥ 32 全新
库存3件
作者方红琴,杨玉蓓 主编
出版社华中科技大学出版社
ISBN9787560984971
出版时间2013-02
装帧平装
开本16开
定价32元
货号23199141
上书时间2024-10-20
本书是应用型本科信息大类专业“十二五”规划系列教材之一,是在充分研究国内应用型本科院校的教学现状及学生学习规律的基础上完成的。我们根据应用型本科院校学生的特点,设置全书的结构和安排内容,使其更加符合应用型本科院校学生的认知规律,希望能让学生在学习的过程中更加轻松地掌握所学的知识。C语言是信息大类专业的专业基础课程,虽然它看起来简单,但在有限的学时之内让学生掌握相关的知识,并具备一定的实践能力并不是轻易就能办到的。其原因之一就是C语言本身是进行程序开发的工具,但是程序设计本身却包含有很多专业的思想。学生在学习C语言程序设计的过程中,需要同时面对生疏的工具和晦涩的理论,这给他们的学习带来了很大的困难。应用型本科院校学生的特点是实践能力较强,愿意亲自动手尝试,但他们对理论知识却没有太多耐心。根据上述情况,编者在传统C语言程序设计教学的基础上,进行了多方面的调整。为了达到更好的教学效果,本书的特点是合理选择各章内容,采用适合学生的描述方式,做到更深层次的理论与实践紧密结合。在编写本书的过程中,编者本着理论够用,以切实提高学生的实践能力为目标的基本原则进行编写。首先,本书去掉了大量使用频率不高且难于掌握的理论知识,选择对提高学生的实践能力相对重要的理论知识进行详细讲解。学生掌握了一定的理论知识,并具备了一定的实践能力之后,也就具备了自学的能力,可以根据实际的需要选择学习相关的理论知识。其次,本书的实例都是通过精心选择和准备的。通常会通过实例引入相关知识点,然后讲解相关的理论知识要点,让学生在初步实践的基础之上学习理论知识,这样做到有的放矢,可以事半功倍。在此基础上,使用大量难度相对较大的实例来增强学生的实践能力,真正做到让学生在实践中学习。全书共11章,主要包括C语言程序设计基础,数据类型、运算会和表达式,数据的输入/输出,选择结构,循环结构,函数,数组,指针,编译预处理,结构体及文件等内容。全书从C语言的基本数据元素、基本语句和结构控制语句、构造数据类型的定义和使用、函数的定义和调用,到指针和文件的灵活运用等方面都进行了由浅入深的讲解。方红琴设计了本书的结构,并做了全书的统稿工作。本书第1章由北京工业大学耿丹学院方红琴编写,第2~3章由宁夏大学边吉荣编写,第4章由武汉工程大学邮电信息学院杨玉蓓编写,第5章由武汉工程大学邮电信息学院方洁编写,第6章由重庆大学尹云飞编写,第7章和第9章由石家庄铁道大学四方学院王福宁编写,第8章由西北师范大学知行学院赵亚娟编写,第10~11章由石家庄铁道大学四方学院康亚男编写。本书同时也是北京工业大学耿丹学院教育教学研究项目“C语言程序设计实践教学改革”(GDKY?13)的项目成果。为了方便教学,本书还配有电子课件等教学资源包,任课教师和学生可以登录我们爱读书网(www.ibook4us.com)免费注册下载,也可以发邮件至hustpeiit@163.com索取。由于时间仓促与编者水平有限,不足与欠妥之处在所难免,恳请广大读者不吝指正。编者2012年7月
《C语言程序设计》对传统的C语言程序设计教材在结构和内容方面进行了调整,充分考虑了应用型本科院校的教学现状及其学生的学习规律,使其更适于应用型本科院校的教学。《C语言程序设计》重要的特点是理论与实践相结合,让学生在实践中理解和掌握理论,这也更加符合应用型本科院校学生的认知规律。《C语言程序设计》共11章,主要包括C语言程序设计基础,数据类型、运算符和表达式,数据的输入/输出,选择结构,循环结构,函数,数组,指针,编译预处理,结构体及文件等内容。为了方便教学,本书还配有电子课件等教学资源包,任课教师和学生可以登录我们爱读网(www.ibook4us.com)免费注册下载,也可以发邮件至hustpeiit@163.com索取。本书既适用于应用型本科院校信息大类相关专业的师生,也适用于以提高实践能力为主的培训班的师生及C语言自学者等
方红琴老师,任教于北京工业大学耿丹学院,有丰富的教学经验,本书也是该校教学改革项目的相关成果之一。杨玉蓓老师,任教于武汉工程大学邮电与信息工程学院,为该校机电学部计算机教研室主任,有多年的教学经验。
第0章 绪论
0.1 传统设计方法与EDA设计方法的区别
0.2 常用硬件描述语言
第1章 EDA工具软件Quartus II 6.0
1.1 安装Quartus II 6.0软件
1.2 Quartus II 6.0软件应用向导
1.3 嵌入式逻辑分析仪的使用方法
1.4 原理图输入设计方法
习题
第2章 大规模可编程逻辑器件
2.1 可编程逻辑器件概述
2.2 复杂可编程逻辑器件
2.3 现场可编程门阵列
2.4 CPLD和FPGA器件的编程与配置
2.5 FPGA CPLD器件的测试技术
2.6 FPGA和CPLD器件的开发应用选择
习题
第3章 VHDL基本结构
3.1 VHDL概述
3.2 设 计 实 体
3.3 结构体
3.4 VHDL结构体的子结构
3.5 子程序结构
3.6 库和程序包
3.7 配置
习题
第4章 VHDL语言要素
4.1 VHDL数据对象
4.2 VHDL数据类型
4.3 VHDL操作符
习题
第5章 VHDL顺序语句
5.1 赋 值 语 句
5.2 流程控制语句
5.3 WAIT语句
5.4 ASSERT语句
5.5 RETURN语句
5.6 NULL语句
习题
第6章 VHDL并行语句
6.1 进 程 语 句
6.2 块 语 句
6.3 并行信号赋值语句
6.4 子程序和并行过程调用语句
6.5 元件例化语句
6.6 生 成 语 句
习题
第7章 组合逻辑电路模块
7.1 门 电 路
7.2 编码器、译码器、选择器电路
习题
第8章 时序逻辑电路设计
8.1 触发器
8.2 寄存器
8.3 计数器
8.4 有限状态机
8.5 有限状态机的基本描述
8.6 MOORE型状态机
8.7 MEALY型状态机
8.8 MEALY型和MOORE型状态机的变种
8.9 异步状态机
习题
第9章 EDA技术的综合应用
9.1 显示电路设计
9.2 多路彩灯控制器的设计
9.3 智力抢答器的设计
9.4 量程自动转换数字式频率计的设计
9.5 用8×8行共阴、列共阳双色点阵发光器件显示汉字
9.6 音乐发生器的设计
习题
第10章 Verilog HDL
10.1 Verilog HDL程序模块结构
10.2 Verilog HDL的词法
10.3 Verilog HDL的语句
10.4 不同抽象级别的Verilog HDL模型
习题
第11章 宏模块的应用
11.1 宏模块概述
11.2 存储器设计
11.3 乘法器设计
11.4 锁相环设计
第12章 SoPC技术与应用基础
12.1 SoPC技术发展概况
12.2 SoPC技术的应用
12.3 Nios II简介
12.4 SoPC设计流程与支持Nios II的FPGA器件
附录A VHDL语言的保留字
参考文献
《C语言程序设计》对传统的C语言程序设计教材在结构和内容方面进行了调整,充分考虑了应用型本科院校的教学现状及其学生的学习规律,使其更适于应用型本科院校的教学。《C语言程序设计》重要的特点是理论与实践相结合,让学生在实践中理解和掌握理论,这也更加符合应用型本科院校学生的认知规律。《C语言程序设计》共11章,主要包括C语言程序设计基础,数据类型、运算符和表达式,数据的输入/输出,选择结构,循环结构,函数,数组,指针,编译预处理,结构体及文件等内容。为了方便教学,本书还配有电子课件等教学资源包,任课教师和学生可以登录我们爱读网(www.ibook4us.com)免费注册下载,也可以发邮件至hustpeiit@163.com索取。本书既适用于应用型本科院校信息大类相关专业的师生,也适用于以提高实践能力为主的培训班的师生及C语言自学者等
方红琴老师,任教于北京工业大学耿丹学院,有丰富的教学经验,本书也是该校教学改革项目的相关成果之一。杨玉蓓老师,任教于武汉工程大学邮电与信息工程学院,为该校机电学部计算机教研室主任,有多年的教学经验。
第3章数据的输入/输出
一个计算机程序通常分为输入、处理、输出三个部分。计算机通过输入操作接收数据,然后对数据进行处理,后将处理完成的数据以完整有效的方式提供给用户。C语言没有提供专门的输入/输出语句,输入/输出功能由C语言的标准输入/输出库函数提供。C语言有非常丰富的输入/输出库函数,有用于键盘输入的函数,有用于显示器输出的函数,有用于磁盘文件读写的函数,有用于硬件端口操作的输入/输出函数等。编写程序时通过对这些库函数的调用就可以达到输入/输出的目的。本章主要介绍用于键盘输入和用于显示器输出的字符输入/输出库函数和格式化输入/输出库函数。3.1字符的输入与输出函数3.1.1字符的输出函数putchar函数putchar函数的相关知识介绍如下。1) 函数原型intputchar ( int );2)函数功能向标准输出设备(一般指显示器)输出一个字符,并返回该输出字符的ASCII码值。3)使用说明函数的参数可以是字符型常量或变量,也可以是整型常量或变量,均输出其相应的字符。例如,若定义charch='a',则putchar(ch)输出字符'a';若定义inti=65,则putchar(i)输出字符'A'。【例3?1】字符数据的输出。
#include
void main()
{
char a,b;
a='b';
b='o';
putchar(a);/*参数可以是字符型变量,输出该变量所对应的字符*/
putchar(b);
putchar('y');/*参数可以是字符型常量,输出该字符常量*/
putchar('\n');/*参数还可以是起控制作用的控制字符,输出回车换行*/
}程序运行结果如下。
boy3.1.2字符的输入函数1. getchar函数 getchar函数的相关知识介绍如下。1)函数原型intgetchar(void);2)函数功能从输入设备(一般指键盘)上接收输入的一个字符,函数的返回值是所输入字符的ASCII码值。3)使用说明该函数每调用一次,就从标准输入设备(键盘)上取一个字符,函数值可以赋给一个字符型变量,也可以赋给一个整型变量。例如,分析如下的程序。
#include
void main()
{
int ch;
ch=getchar();
putchar(ch);
}程序运行后,输入字符“a”,并按回车键。a ↙则变量ch的值为97,程序运行结果如下。a
注意:① 执行getchar()函数从键盘输入字符时,应注意输入的字符并不是立即赋值给字符型变量或整型变量,而只有在按回车键后,字符才会被赋值给字符变量或整型变量。也就是说,键入字符后需要按回车键,程序才会继续执行后续语句。②getchar()函数从键盘读入字符时,该函数会将回车键也作为一个字符读入。因此,在使用getchar()函数连续读入多个字符时需特别注意。例如,下面程序的功能是“从键盘输入三个字符并反向输出这三个字符”,但运行的结果却事与愿违。
#include
main()
{
int ch1,ch2,ch3;
ch1=getchar();
ch2=getchar();
ch3=getchar();/*依次输入三个字符*/
putchar(ch3);/*反向输出三个字符*/
putchar(ch2);
putchar(ch1);
}2. getch函数getch函数的相关知识介绍如下。1) 函数原型intgetch(void);2)函数功能从键盘读取一个字符,但不显示在屏幕上。3)使用说明该函数声明在conio.h头文件中,使用的时候要包含conio.h头文件。具体声明的格式如下。
#includegetch()与getchar()的基本功能相同,区别是getch()直接从键盘获取键值,不需要用户按回车键,而只要用户按一个键,getch()就立刻返回键值,getch()的返回值是用户所输入键的ASCII码值,出错时返回-1。输入的字符不会显示在屏幕上。例如,下面的程序使用getchar()函数接收从键盘输入一个字符。
#include
#include
main()
{
int ch;
ch=getchar();
putchar(ch);
}程序运行后,若用户输入字符a并按回车键后,程序运行结果如下。
a
a行显示的a是程序执行getchar()函数后,用户所输入的a显示在屏幕上。而第二行显示的a是程序执行putchar(ch)函数后,将刚才键盘输入的数据显示到屏幕上。但是同样的程序,改为使用getch()函数接收从键盘输入一个字符,则其结果就不相同了。
#include
#include
main()
{
int ch;
ch=getch();
putchar(ch);
}程序运行后(用户输入字符a后不用按回车键便可显示结果)结果如下。
a为什么该程序运行后只显示1个字符a因为getch()函数接收从键盘输入的字符,但返回后并不显示至屏幕,因此屏幕上只有putchar()函数将刚才键盘输入的字符显示到屏幕上。
总结利用getch()函数从控制台读取一个字符,不等待用户按回车键,只要用户按一个键,getch就立刻返回键值,并且读取的字符不显示在屏幕上的特点,getch()函数经常用于在程序中完成“按下任意键,再继续执行下面的程序”的功能,即起到“分屏显示”的作用。例如,分析如下程序。
#include
#include
main()
{
clrscr();/*清屏函数 */
printf("This is example 1\\n");
printf("Press any key to continue.......\\n");
getch();①=1\*GB3
clrscr();
printf("This is example 2\\n");
printf("Press any key to continue.......\\n");
getch();②=2\*GB3
clrscr();
printf("End !\\nThankyou ! \\n");
}程序执行后首先显示如下内容。
This is example 1
Press any key tocontinue.......执行至 ①=1\*GB3句时,程序暂停,等待用户按下任意键,当用户按下任意键后,程序继续,屏幕上显示如下内容。
This is example 2
Press any key tocontinue.......再执行至②=2\*GB3句时,程序暂停,等待用户按下任意键,当用户按下任意键后,程序继续,屏幕上显示如下内容。
End !
Thankyou!至此程序结束。在此程序中,getch()函数起到了“分屏显示”的功能。getch函数常用于程序调试中。调试时,若在程序中间要查看某些变量的结果,可以插入getch()函数使程序暂停运行,从而查看变量的值,当按下任意键后程序继续运行。例如,分析如下的程序。
#include
#include
main()
{
int a=10;
clrscr();
printf("0: a=%d\\n",a); /*为了查看此时a变量的值,下一句使用getch()*/
getch();
a+=10;
clrscr();
printf("1: a=%d\\n",a); /*为了查看此时a变量的值,下一句使用getch()*/
getch();
a+=20;
clrscr();
printf("2:a=%d\\n",a);
}程序运行后,屏幕上显示如下内容。
0:a=10程序暂停,当按下任意键后程序继续执行,屏幕上显示如下内容。
1:a=20程序再一次暂停,当按下任意键后程序继续执行,屏幕上显示如下内容。
2:a=403. getche函数getche函数的相关知识介绍如下。1) 函数原型intgetche(void);2)函数功能从键盘读取一个字符,并显示在屏幕上。3)使用说明该函数声明在conio.h头文件中,使用的时候要包含conio.h头文件。getche()和getch()相似,都是读入单个字符,都是从键盘获取键值,不需要用户按回车键,只要用户按一个键,函数就立刻返回,返回值是用户所输入键的ASCII码值。不同的是getch()不会将读入的数据显示在屏幕上,而getche()会把读入的字符显示在屏幕上。例如,分析如下的程序。
#include
#include
main()
{
int ch;
ch=getche();
putchar(ch);
}程序执行后等待用户从键盘输入值,若用户按下a键后(不等用户按回车键),程序运行结果如下。
aa其中,个字符a是getche()函数接收用户所输入的字符并显示在屏幕上的,第二个字符a是putchar()函数将接收的字符显示在屏幕上的。3.2格式化输入与输出函数3.2.1格式化的输出函数printf格式化输出函数printf的相关知识介绍如下。1)一般形式printf ( "格式控制字符串",输出项列表 );2)函数功能按指定的格式向输出设备(一般指显示器)输出数据,并返回实际所输出的字符个数,如果出错则输出负数。3) 使用说明(1)例如,在printf("%d*%d=%d\\n",i,j,i*j)语句中,“i,j,i*j”部分称为“输出项列表”,列表中可以是若干个常量、变量或表达式,每个输出项之间用逗号分隔,输出的数据可以是整型数、浮点型数、字符或字符串。例如,分析如下的程序。
#include
main()
{
int i,j;
i=2;
j=3;
p
— 没有更多了 —
以下为对购买帮助不大的评价