C语言程序设计新编教程(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-29 16:23:10

点击下载

作者:高立丽,袁哲,莫兴福,宋丹,平青

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

C语言程序设计新编教程

C语言程序设计新编教程试读:

前言

C语言是目前较为优秀、基础的一门程序设计语言,为了更好地满足广大高等院校的学生对C语言程序设计知识学习的需要,编者根据对学校、企业的多方调研,结合近几年的教学改革实践,并参考了大量文献资料,编写了该教材。

本书从C语言的语法规定到基本的数据类型,再到C语言的基本语句及三大结构的实现等各方面进行了详细的讲解和任务的设置,教学任务由简到难设计,易于学习与掌握,每个任务与例题均给出程序代码、输出结果及程序说明,通过例题掌握知识点,使学生体会到从问题求解到程序设计的转换过程,深刻理解程序设计中分析问题、解决问题的过程。

本书共分为9章:第1章主要介绍简单的C语言程序及程序编辑环境的应用,引导学生入门,使学生初步了解什么是C语言程序;第2章主要讲解C语言的基本数据类型,变量和常量的概念、分类、定义方法,运算符的分类和运算规则,表达式及其求值规则等内容;第3章主要讲解语句的种类及最常用的输入/输出语句及简单程序的设计方法;第4章主要讲解结构化程序设计中三种结构(顺序结构、选择结构和循环结构)的执行规律和使用原则,并讲述三种程序结构的编程方法;第5章主要讲解一维数组的定义和初始化、二维数组的定义和初始化、字符数组的定义和初始化、数组元素的引用、常用字符串处理函数等内容;第6章讲解用户如何建立自己定义的函数,用C语言易于实现结构化程序设计使程序的层次结构清晰,便于程序的编写、阅读、调试;第7章主要讲解地址和指针的概念、指针变量、指针与数组、指针与字符串、指针与函数等内容,学习指针是学习C语言中最重要的环节,能否正确理解和使用指针是我们能否掌握C语言的一个标志;第8章主要介绍结构体的定义、赋值和引用,并通过对结构体与数组、结构体与函数的结合来提高学生对结构体的综合应用能力;第9章主要介绍C语言中文件的概念,操作文件的库函数fopen()、getc()、putc()、fread()、fwrite()等,使学生掌握如何使用C语言的标准I/O函数系统处理文件、文件的打开与关闭、顺序和随机访问文件的功能等内容。

本书具有以下特点。(1)培养目标明确。本书根据计算机专业对学生的培养目标,侧重于学生程序设计思维能力的培养,使学生学会如何分析问题、如何通过程序语句的使用来解决问题,引导学生入门,为其他程序设计语言的学习奠定良好的基础。(2)理论和实践紧密结合。每个重要知识点都有案例详细分析、讲解,并配有包含知识和技能的综合实践练习,有利于学生思考和教师督促学生学习,有利于学生更快、更好地掌握所学知识点。

本书由山东农业工程学院高立丽担任主编,山东外事翻译职业学院袁哲、广东南方职业学院莫兴福、巴音郭楞职业技术学院宋丹、苏州旅游与财经高等职业技术学校平青担任副主编。高立丽编写第1~5章,宋丹编写第6章,袁哲编写第7章,莫兴福编写第8章,平青编写第9章。杨云、张晖也参加了部分章节的编写。

由于编者水平有限,书中难免有疏漏和不当之处,敬请广大读者不吝指正。需要教学资源和源代码的老师,请加编者的QQ:68433059。编者2018年1月  第1章初识C语言内容概述:

C语言是目前较为优秀的程序设计语言之一,它集高级语言和低级语言的功能于一体,既可用于系统软件的开发,也可用于应用软件的开发,同时它还具有高效、可移植性好等特点。本章主要介绍C语言的结构特点、程序组成、书写规则、上机运行过程和调试应用程序的方法。学习目标:

通过本章的学习,理解C语言程序的构成、C语言的词法规定和书写规范,掌握C程序的上机步骤和C程序的运行环境。1.1 程序设计语言

我们目前使用的计算机应用系统,如网上购物系统、办公系统、排版系统等,都是由计算机程序设计语言编写而成的。计算机程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。

1.程序设计语言的构成

语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记号的特定含义,也不涉及使用者;语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者;语用表示程序与使用者的关系。

2.程序设计语言的发展(1)机器语言。最初程序员使用的程序设计语言是一种用二进制代码“0”和“1”形式表示的、能被计算机直接识别和执行的语言,称为机器语言。它是一种低级语言,用机器语言编写的程序不便于记忆、阅读和书写。通常不用机器语言直接编写程序。(2)汇编语言。在机器语言的基础上,人们设计出了汇编语言,它可以将机器语言用便于人们记忆和阅读的助记符表示,如ADD、SUB、MOV等。计算机运行汇编语言程序时,首先将用助记符写成的源程序转换成机器语言程序才能运行。汇编语言适用于编写直接控制机器操作的低层程序,它与机器密切相关,汇编语言和机器语言都是面向机器的程序设计语言,称为低级语言。(3)高级语言。随着计算机应用的发展,出现了高级程序设计语言。它是一种与硬件结构及指令系统无关,表达方式比较接近自然和数学表达式的计算机程序设计语言。

C语言是一种具有很高灵活性的高级程序设计语言。1972—1973年,贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言,后来又对C语言做了多次改进。早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们所认识,到了20世纪80年代,C语言开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到了广泛使用,成为当代较优秀的程序设计语言。

3.C语言的特点(1)C语言简洁、紧凑,使用方便、灵活。只有32个关键字、9种控制语句,程序书写自由,主要用小写字母表示。(2)运算符丰富。共有34种。C语言把括号、赋值、逗号等都作为运算符处理。从而使C语言的运算类型极为丰富,可以实现其他高级语言难以实现的运算。(3)数据结构类型丰富。(4)具有结构化的控制语句。(5)语法限制不太严格,程序设计自由度大。(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能。(7)生成目标代码质量高,程序执行效率高。(8)与汇编语言相比,用C语言写的程序可移植性好。

但是,C语言对程序员要求也高,程序员用C语言写程序会感到限制少、灵活性大、功能强,但较其他高级语言在学习上要困难一些。1.2 简单的C程序介绍1.2.1 简单的C程序实例

用C语言语句编写的程序称为C程序或C源程序。下面先介绍两个简单的C程序,从中分析C程序的特性。【例1.1】 用C语言编写一个程序,输出“你好,我的朋友!”。

程序代码如下:

例1.1程序的运行结果如图1.1所示。图1.1 例1.1程序的运行结果

程序说明:(1)程序中的main()代表一个函数,其中main是函数名,void表示该函数的返回值类型。main()是一个C程序中的主函数,程序执行从主函数开始。一个C程序,有且只能有一个主函数main()。一个C语言的程序可以包含多个文件,每个文件又可以包含多个函数。函数之间是相互平行、相互独立的。执行程序时,系统先从主函数开始运行,其他函数只能被主函数调用或通过主函数调用的函数所调用。(2)函数体用{ }括起来。main()函数中的所有操作语句都在这一对{ }之间,即main()函数中的所有操作都在main()的函数体中。(3)#include 是一条编译预处理命令,声明该程序要使用stdio.h文件中的内容,stdio.h文件中包含了输入函数scanf()和输出函数printf()的定义。编译时系统将头文件stdio.h中的内容嵌入程序中该命令位置。C中编译预处理命令都以“#”开头。C提供了3类编译预处理命令:宏定义命令、文件包含命令和条件编译命令。例1.1中出现的#include <stdio.h>是文件包含命令,其中尖括号内是被包含的文件名。(4)printf()函数是一个由系统定义的标准函数,可在程序中直接调用,printf()函数的功能是把要输出的内容送到显示器去显示,双引号中的内容要原样输出。“\n”是换行符,即在输出完“你好,我的朋友!”后回车换行。(5)每条语句用“;”号结束。(6)/*……*/括起来的一部分是一段注释。注释只是为了改善程序的可读性,是对程序中所需部分的说明,向用户提示或解释程序的意义。/*是注释的开始符号,*/是注释的结束符号,它们必须成对使用。【例1.2】 输入两个正整数,计算并输出两数的和。

程序代码如下:

例1.2程序的运行结果如图1.2所示。图1.2 例1.2程序的运行结果

程序说明:(1)“int a,b,num;”是变量声明。声明了三个具有整数类型的变量a、b、num。C语言的变量必须先声明后使用。(2)程序中的scanf是输入函数的名字,程序中的scanf()函数的作用是输入a、b的值。&a、&b中的&的含义是取地址,此scanf()函数的作用是输入a、b的值。&a和&b中的&的含义是取地址,此scanf()函数的作用是将两个数值分别输入变量a和b的地址所标志的单元中,也就是输入给变量a和b。(3)“num=a+b;”是将a、b两变量内容相加,然后将结果赋值给整型变量sum。(4)“printf("相加结果是%d\n",num);”是调用库函数printf()输出num的结果。“%d”为格式控制,表示num的值以十进制整数的形式输出。(5)//之后的内容是注释语句,其作用同/*……*/。两种注释语句的区别是://后面的注释语句只能在一行中,不能跨行。若注释语句太长,需要占多行,则每行注释之前均需加//符号。/*……*/中的注释语句内容可跨行,无须每行均写/*……*/。1.2.2 C语言程序的构成和书写规则

1.C语言程序的构成(1)C程序是由函数构成的,函数是C程序的基本单位。一个源程序至少包含一个main()函数,即主函数,可以包含一个main()函数和若干个其他函数。被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己设计编写的函数。(2)main()函数是每个程序执行的起始点,一个C程序不管有多少个文件,有且只能有一个main()函数。一个C程序总是从main()函数开始执行,不管main()函数在程序中的位置。可以将main()函数放在整个程序的最前面,也可以放在整个程序的最后,或者放在其他函数之间。(3)源程序可以有预处理命令(include是其中的一种),预处理命令通常放在源文件或源程序的最前面。(4)每个语句都必须以分号结尾,但预处理命令、函数头和大括号“}”之后不加分号。(5)标识符和关键字之间至少加一个空格以示间隔,空格的数目不限。(6)源程序中需要解释和说明的部分,可用“/*……*/”或“//”加以注释。

2.C语言程序的书写规则(1)在C语言中,虽然一行可写多个语句,一个语句也可占多行,但是为了便于阅读,建议一行只写一个语句。(2)应该采用缩进格式书写程序,以便于增强层次感、可读性和清晰性。低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。(3)用{ }括起来的部分,通常表示程序的某一层次结构。(4)为便于程序的阅读和理解,在程序代码中应加上必要的注释。1.3 C语言的字符集和关键字1.3.1 C语言的字符集

程序是由命令、变量、表达式等构成的语句集合,而命令、变量等是由字符组成的,字符是组成语言的最基本的元素。任何一种语言都有其特定意义的字符集,C语言字符集由字母、数字、空格、标点和特殊字符组成。在字符常量、字符串常量和注释中还可以使用汉字或其他可表示的图形符号。(1)字母。小写字母为a~z,共26个;大写字母为A~Z,共26个。(2)数字。0~9共10个数字。(3)空白符。空格符、制表符、换行符等统称为空白符。空白符只在字符常量和字符串常量中起作用。在其他地方出现时,只起间隔作用,编译程序对它们忽略不计。因此在程序中使用空白符与否,对程序的编译不发生影响,但在程序中适当的地方使用空白符将增加程序的清晰性和可读性。(4)标点和特殊字符。包括“+、-、*、/”等运算符,“_、&、#、!”等特殊字符以及逗号、圆点、大括号等常用标点符号和括号。1.3.2 C语言的词汇

在字符集的基础上,C语言允许使用相关的词汇,以实现程序中的不同职能。在C语言中使用的词汇分为六类:标识符、关键字、运算符、分隔符、常量、注释符。

1.标识符

在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C语言规定,标识符只能是字母(A~Z、a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。

以下标识符是合法的。

a,b,aa1,b2,a_b,a_1,HE,HE_1

以下标识符是非法的。

1a 以数字开头

H$E 出现非法字符$

-1a 以减号开头

a-b 出现非法字符-(减号)

在使用标识符时还必须注意以下几点。(1)标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。例如在某版本C中规定标识符前八位有效,当两个标识符前八位相同时,则被认为是同一个标识符。(2)在标识符中,大小写是有区别的。例如aa和AA是两个不同的标识符。(3)标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,做到顾名思义。

2.关键字

关键字是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。C语言的关键字分为以下几类。(1)类型说明符。用于定义、说明变量、函数或其他数据结构的类型。如前面例题中用到的int、double等。(2)语句定义符。用于表示一个语句的功能。如以后要经常用到的if else就是条件语句的语句定义符。(3)预处理命令字。用于表示一个预处理命令。如前面各例中用到的include。

3.运算符

C语言中含有相当丰富的运算符。运算符与变量、函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。

4.分隔符

在C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中分隔各个变量;空格多用于语句各单词之间,作间隔符。在关键字、标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误,例如把“int a”;写成“inta;”,C语言编译器会把inta当成一个标识符处理,其结果必然出错。

5.常量

C语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。在后面章节中将专门介绍。

6.注释符

C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。当然,也可以用“//”对单行内容进行注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符括起来,使编译程序跳过不作处理,待调试结束后再去掉注释符。1.4 C语言的运行环境1.4.1 C语言程序的实现过程

本章所列举的两个实例,是已经编写好的符合C语言语法要求的程序,叫作源程序。一个C语言源程序从编写到最终实现结果,需要经过编辑、编译、连接和运行四个过程,如图1.3所示。图1.3 C语言程序的实现过程

1.编辑

对于一种计算机编程语言来说,编辑是在一定的编程工具环境下进行程序的输入和修改的过程。在编程工具提供的环境下,经过用某种计算机程序设计语言编写的程序,保存后生成源程序文件。C语言源程序也可以使用计算机所提供的各种编辑器进行编辑,比如通用编辑工具记事本、专业编辑工具Turbo C和Visual C++等。C源程序在Visual C++ 6.0环境下默认文件扩展名为“.cpp”,在Turbo C 2.0环境下默认文件扩展名为“.c”,本书所使用的实例都是在VC++环境下编辑和实现的。

2.编译

编辑好的源程序不能直接被计算机所理解,源程序必须经过编译,生成计算机能够识别的机器代码。通过编译器将C源程序转换成二进制机器代码的过程称为编译,这些二进制机器代码称为目标程序,其扩展名为“.obj”。

编译阶段要进行词法分析和语法分析,又称源程序分析。这一阶段主要是分析程序的语法结构,检查C源程序的语法错误。如果分析过程中发现有不符合要求的语法,就会及时报告给用户,将错误类型显示在屏幕上。

3.连接

编译后生成的目标代码还不能直接在计算机上运行,其主要原因是编译器对每个源程序文件分别进行编译。如果一个程序有多个源程序文件,编译后这些源程序文件还分布在不同的地方,因此,需要把它们连接在一起,生成可以在计算机上运行的可执行文件。即使源程序仅由一个源文件构成,在源程序中,输入输出等标准函数不是用户自己编写的,而是直接调用系统库函数库中的库函数。因此,必须把目标程序与库函数进行连接。

连接工作一般由编译系统中的连接程序来完成,连接程序将由编译器生成的目标代码文件和库中的某些文件连接在一起,生成一个可执行文件。可执行文件的默认扩展名为“.exe”。

4.运行

一个C源程序经过编译和连接后生成了可执行文件,可以在Windows环境下直接双击该文件运行程序,也可以在Visual C++ 6.0的集成开发环境下运行。

程序运行后,将在屏幕上显示程序的运行结果或提示用户输入数据的信息。用户可以根据程序的运行结果来判断程序是否有算法错误。在生成可执行文件之前,一定要保证编译和连接不出现错误和警告,这样才能正常运行。因为程序中有些警告虽然不影响生成可执行文件,但有可能导致结果错误。1.4.2 熟悉VisualC++6.0编程工具

Visual C++6.0(以下简称VC++6.0)是目前被广泛使用的可视化C++编程工具,同时也是良好的C语言编程工具。在VC++6.0编程环境下,需要首先建立工程,才能后建立、编辑和执行程序,存储的C语言源代码文件的扩展名是“.cpp”。如果在创建文件前没有创建相关工程,系统在编译时会提示是否要创建活动工程。本小节将主要介绍利用VC++6.0编程工具编辑和执行C语言程序的基本方法和步骤。

1.C语言程序的建立

在VC++6.0编程环境中,要想建立和执行C程序文件,首先启动编程工具,建立一个工程,之后才能建立C语言文件,具体步骤如下:(1)启动VC++6.0编程工具。单击【开始】→【所有程序】→Microsoft Visual Studio 6.0→Microsoft Visual C++6.0命令,可启动Visual C++ 6.0的集成开发环境,如图1.4所示。图1.4 VC++6.0编程环境(2)建立工程。建立工程是建立C语言程序的起始步骤,现在以在“C:\C_STUDY”文件夹下建立ex1_1工程为例,介绍建立工程的步骤。

①在VC++6.0编程环境下,选择【文件】→【新建】命令,打开【新建】对话框,单击【工程】标签,在左侧的工程选择区中选择Win32 Console Application(Win32控制台应用程序)项。然后通过【位置】文本框右侧的【路径选择】按钮选择(也可以在文本框中输入)指定新建工程的路径:“C:\C_STUDY\”。最后在【工程】文本框中输入新建工程的名称ex1_1,如图1.5所示。图1.5 新建工程

②单击【确定】按钮,系统显示“Win32 Console Application—Step 1 of 1”对话框(此处用于选择“创建控制台应用程序的种类”),选中An empty project(一个空工程)项,如图1.6所示。图1.6 选择控制台应用程序种类

③单击Finish按钮,会弹出New Project Information对话框,显示即将新建的Win32控制台应用程序的基本信息,如图1.7所示。此时说明当前的应用程序是空的控制台应用程序,无文件创建或添加到工程中。图1.7 新建工程信息

④单击OK按钮,空的工程就会创建完毕,此时系统会显示VC++6.0工作界面,在工作界面的右侧会显示工程中的基本内容,如图1.8所示。图1.8 创建工程之后的工作界面(3)建立C语言程序。工程创建完成之后,就可以在此工程下建立C语言程序了,具体步骤如下:

①选择【文件】→【新建】菜单命令,会弹出【新建】对话框,如图1.9所示。在该对话框中选择“C++ Source File”文件类型,然后在右侧的【文件】文本框中填写要建立的文件名称。图1.9 【新建】对话框

②单击【确定】按钮,系统即会显示程序编辑界面,在该界面下输入C语言程序,如图1.10所示。图1.10 文件编辑界面

③选择【文件】→【保存】菜单命令,将文件保存。

2.C语言程序的编译和执行

编辑好程序之后,接下来的操作就是要编译和执行程序,在编译之前,应该检查并避免程序代码的错误(当然在编译的时候,系统也会检查出程序中的所有错误)。

注意:在VC++6.0中编写C语言程序,当使用输出语句时,“#include <stdio.h>”命令是不能缺少的,这一点与Turbo C环境是不同的。(1)程序的编译。选择【编译】→Compile test.cpp菜单命令(也可以直接按组合键Ctrl+F7),即可对源程序进行编译。如果编译成功,则生成.obj文件,如图1.11所示;否则会显示程序中的错误和错误位置,如图1.12所示。图1.11 编译成功的界面图1.12 编译错误的界面(2)连接程序。连接过程就是将目标文件(.obj)生成可执行文件(.exe)的过程。选择【编译】→Build exe1_1.exe菜单命令(也可以直接按F7快捷键),即执行连接操作,操作后的结果如图1.13所示。图1.13 连接后的结果界面(3)执行文件。选择【编译】→Execute exe1_1.exe菜单命令(或直接按下Ctrl+F5组合键),即可以执行文件,看到程序的运行结果,如图1.14所示。

实际上,程序的编译、连接和执行过程可以直接通过该步骤来实现和完成。

上述操作完成之后,系统会在工程文件夹里创建一些文件,如图1.15所示,对这些文件简单介绍如下。(1).dsw文件:工作区(Workspace)文件,存放与工作区相关的文件夹等信息,可以用它直接打开工程。(2).dsp文件:项目(Project)文件,存放特定的应用程序的有关信息。如果没有dsw文件,可以用它直接打开工程。图1.14 程序的执行结果界面图1.15 C语言工程中的文件(3).opt文件:选项文件,是工程关于开发环境的选项设置。此文件被删除后会自动建立,若更换了机器环境,因开发环境变了,该文件也会重建。(4).ncb文件:无编译浏览(no compile browser)文件。当自动完成功能出问题时,可以删除此文件,用build命令后会自动生成。此时Debug文件夹下没有任何文件。(5).cpp文件:生成的C语言和C++源代码文件。图1.16 快捷工具按钮

为了便捷地进行编译、连接和运行操作,VC++还提供了一组快捷工具按钮,如图1.16所示。从左至右依次是Copmiles、Build、Stop Build、Executes Program、Go、Insert/Remove Breakpoint。

具体介绍如下。

Copmiles:编译C或C++源代码文件。

Build:创建可执行文件。

Stop Build:停止创建可执行文件。

Executes Program:执行程序。

Go:开始或继续执行程序。

Insert/Remove Breakpoint:设置或取消断点。

3.程序的调试

在编写程序的时候,程序可能会出现一些错误(对于初学者或者在编写大型程序的时候),这些错误分为语法错误和逻辑错误。对于语法错误,在对程序编译的时候系统会给出错误的描述、错误的位置和错误的个数,在编程环境下方的调试窗口,只需要双击错误信息的位置,系统会自动定位到程序中的错误位置并显示一个箭头符号,如图1.17所示。图1.17 程序的调试

在调试窗口中,会显示error(错误)和warning(警告),对于error型的错误,程序必须修改正确后才能进行编译;对于waring型的错误,也可以不用修改,继续进行正常地编译。

对于逻辑错误,一般是程序设计者思路方面的原因,需要认真思考和分析,找出思想上的错误。1.5 项目举例1.5.1 VC++6.0编程环境的使用

1.项目描述

利用VC++6.0编程工具建立一个工程,输入下面的程序,再编译、连接和执行。程序如下:

2.项目操作步骤

根据对1.4节的学习,确定该项目的操作步骤如下:(1)启动Visual C++ 6.0。依次选择【开始】→【程序】→Microsoft Visual Studio 6.0→Microsoft Visual C++6.0命令,进入Visual C++ 6.0的集成开发环境。(2)新建工程。在Visual C++工作界面中,依次选择【文件】→【新建】菜单命令,打开【新建】对话框。单击选中【工程】标签下的Win32 Console Application项。然后在【位置】文本框中指定新建工程的路径。最后在【工程名称】文本框中输入新建工程的名称(名称自定)。(3)新建源程序文件。在Visual C++6.0主窗口中,选择【文件】→【新建】菜单命令,打开【新建】对话框,选中【文件】标签,在列表框中选择C++ Source File选项,选中【添加到工程】复选框。然后在【文件名】文本框中输入文件名(名称自定)。(4)单击【确定】按钮,系统返回主界面,在代码编辑框中输入代码。(5)编译、连接和运行程序,程序的运行结果如图1.18所示。图1.18 程序的运行结果1.5.2 C语言程序的调试

1.项目描述

对一个有错误的C语言程序进行调试,出错程序如下:

2.项目调试及处理方法(1)操作步骤。

①新建工程。操作步骤与第一个项目相同,此处略。

②新建源程序文件。在新建的工程中,选择【文件】→【新建】菜单命令,打开【新建】对话框,选中【文件】标签,在列表框中选择C++ Source File选项,然后在【文件名】文本框中输入文件名(名称自定),最后单击【确定】按钮。

③在程序编辑界面下输入上述程序。

④按下Ctrl+F5组合键,开始执行程序,此时系统将依照编译、连接和执行的顺序进行程序的操作。由于此程序存在语法错误,在编译环节,执行程序的过程将停止,在调试窗口会显示错误的位置、原因和错误个数,如图1.19所示。图1.19 程序调试界面(2)调试和错误处理。查看调试窗口可以知道,当前程序有两处错误,分别处于程序的第5~7行,具体的错误原因介绍如下:

①C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\p1\p1\1.c(5):error C2146:syntax error:missing ';' before identifier 'printf',说明错误位置在第5行,错误描述是语法错误,在标识符printf前缺少分号。在第4行的末尾添加“;”,即可解决本错误。

②第6行括号中有双引号错误,应使用英文输入状态下的引号输入。

③C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\p1\p1\1.c(7):fatal error C1004:unexpected end of file found,说明错误位置在第7行,错误描述是严重错误,没有程序的结束,通过观察,可知在程序的末尾缺少“}”,添加一个大括号即可解决该错误。

修正错误的时候,在下方的编译窗口中双击错误信息,在程序中定位,然后进行修改,这种修改方法在语句较多的程序调试处理中非常适用。(3)运行程序。按照上述的错误处理方法改正错误,按下Ctrl+F5组合键执行程序,编译之后的调试结果如图1.20所示,程序执行结果如图1.21所示。图1.20 修正错误之后的编译界面图1.21 程序执行结果1.6 实训项目1.6.1 基本能力实训项目

1.实训题目(1)Visual C++6.0编程工具的使用。(2)简单C语言程序的创建、编辑、编译和执行。

2.实训目的(1)熟悉C语言编程环境的使用。(2)学会C语言程序的建立、执行和简单调试方法。

3.实训内容

在VC++6.0环境下创建C语言工程项目,输入下面的程序,再编译并执行,并观察程序的运行结果,体验输入函数的功能和效果。1.6.2 拓展能力实训项目

1.实训题目

简单C语言输出程序的编写。

2.实训目的

通过实训,学会简单C语言输出程序的编写方法。

3.实训内容

在VC++6.0环境下编写程序,输出下面的信息。本章小结

本章主要讲述程序设计语言,C语言的基本程序结构,C语言的字符集、标识符和关键字,以及C语言程序编程工具Visual C++ 6.0的使用方法和C程序的实现过程等内容。

每一个C语言程序都是由一个或若干个函数所组成,程序的执行总是从一个叫作main的主函数开始。一个C程序中有且仅有一个名为main的主函数,可以放在整个程序里的位置。C语言中的函数都由函数头和函数体两部分组成,函数头包含函数返回类型、函数名、函数参数及其类型说明表等,在函数头下方,用大括号“{ }”括起来的是函数体部分。

在C语言中,有其允许使用的字符集,标识符有字符集中的字符组成,必须符合C语言规定的命名规则,关键字是C语言系统保留的,用户命名的标识符不能与关键字同名。

Visual C++6.0是目前广泛使用的C++编程环境,也是编写和实现C语言程序的良好工具,在VC++6.0环境下编写和实现C语言程序,要在建立工程的前提下进行。

C源程序要经过编辑、编译、连接和运行4个环节,才能产生输出结果。习题

1.填空题(1)C程序是由_____构成的,一个C程序中至少包含_____。因此,_____是C程序的基本单位。(2)C程序注释是由_____和_____所界定的文字信息组成的。(3)开发一个C程序要经过编辑、编译、_____和运行4个步骤。(4)在C语言中,包含头文件的预处理命令以_____开头。(5)在C语言中,头文件的扩展名是_____。(6)C语言源程序文件的扩展名是_____;经过编译后,生成文件的后缀是_____;经过连接后,生成文件的扩展名是_____。

2.选择题(1)C程序由(  )组成。

A.子程序

B.主程序和子程序

C.函数

D.过程(2)所有C函数的结构都包括的三部分是(  )。

A.语句、大括号和函数体

B.函数名、语句和函数体

C.函数名、形式参数和函数体

D.形式参数、语句和函数体(3)下面属于C语言标识符的是(  )。

A.2ab

B.@f

C.?b

D._a12(4)C语言中主函数的个数是(  )个。

A.2

B.1

C.任意

D.10(5)下列关于C语言注释的叙述中错误的是(  )。

A.以“/*”开头并以“*/”结尾的字符串为C语言的注释内容

B.注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义

C.程序编译时,不对注释作任何处理

D.程序编译时,需要对注释进行处理(6)在Visual C++ 6.0环境下,C源程序文件名的默认后缀是(  )。

A..cpp

B..exe

C..obj

D..dsp

3.程序设计题(1)编写程序输出以下图案。(2)试编写一个C程序,输出以下信息。  第2章数据类型和表达式内容概述:

用C语言编写程序时,需要变量、常量、标识符、运算符、表达式、函数、关键字等,理解和掌握这些C语言的语言要素是学好C语言的前提和关键之一。本章主要介绍C语言的基本数据类型,变量和常量的概念、分类、定义方法,运算符的分类和运算规则,表达式及其求值规则等内容。学习目标:

通过本章的学习,要求掌握C语言的基本数据类型;理解变量和常量;掌握C语言的运算符和表达式。2.1 C语言的基本数据类型

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载