中图网文创礼盒,买2个减5元
欢迎光临中图网 请 | 注册
> >>
C语言程序设计简明教程(本科教材)

C语言程序设计简明教程(本科教材)

出版社:清华大学出版社出版时间:2018-08-01
开本: 16 页数: 422
本类榜单:教材销量榜
中 图 价:¥49.0(7.2折) 定价  ¥68.0 登录后可看到会员价
加入购物车 收藏
运费6元,满69元免运费
?快递不能达地区使用邮政小包,运费14元起
云南、广西、海南、新疆、青海、西藏六省,部分地区快递不可达
本类五星书更多>

C语言程序设计简明教程(本科教材) 版权信息

C语言程序设计简明教程(本科教材) 本书特色

理论精,案例多且具有代表性,适合层次化教学,且将一定量的二级试题融入教材中。

C语言程序设计简明教程(本科教材) 内容简介

C语言是一种结构化的计算机程序设计语言,具有使用灵活、表达能力强,兼具高级语言和低级语言双重功能等特点,是各大院校计算机程序设计入门课程的语言之一。本书以应用性为中心,以培养程序设计思想和程序设计能力为本位,坚持基础理论与应用实践并重的指导思想。 全书理论内容分析透彻严谨、详略得当,案例丰富生动,内容简洁、衔接自然、层层深入,共分为11章,全面讲解C语言的数据类型和表达式、三种基本结构的程序设计、模块化程序设计、数组、指针、结构体和文件等内容,每章后均附有重点内容小结和多种类型的习题,同时第11章为每章设置了相应的实验指导,与教学内容紧密衔接,相辅相成。本书配有电子课件、例题和实验的程序源码、习题答案等丰富的教学资源。 本书适合作为高等院校C语言程序设计等相关课程的教材,也可供C语言程序设计爱好者或参加各种C语言考试的读者学习使用。

C语言程序设计简明教程(本科教材) 目录

第1章初识C语言11.1什么是C语言1

1.1.1计算机语言1

1.1.2C语言的由来2

1.2为什么学习C语言2

1.2.1C语言的特点3

1.2.2C语言的应用4

1.3认识C语言程序5

1.3.1计算机程序5

1.3.2C语言程序的基本结构5

1.4运行C程序的步骤和方法8

1.4.1C程序的一般运行步骤8

1.4.2使用集成开发环境Visual C++6.0 实现C程序10

1.4.3C程序的调试方法15

1.5重点内容小结18

习题18

第2章C程序设计基础20

2.1C数据类型概述20

2.1.1C数据类型20

2.1.2为什么设置数据类型 21

2.2数据表现形式21

2.2.1常量21

2.2.2变量23

2.2.3C标识符23

2.3基本数据类型24

2.3.1整型数据24

2.3.2实型数据27

2.3.3字符型数据28

2.4C语言的运算符与表达式312.4.1概述31

2.4.2算术运算符及其表达式32

2.4.3赋值运算符及其表达式35

2.4.4强制类型转换运算符38

2.4.5自增自减运算符及其表达式38

2.4.6逗号运算符及其表达式42

2.4.7位运算符及其表达式44

2.5算法概念及其描述46

2.5.1算法及其特性47

2.5.2算法的常用描述方法47

2.5.3结构化程序设计48

2.6重点内容小结50

习题52

第3章顺序结构程序设计55

3.1C语句概述55

3.1.1说明语句55

3.1.2执行语句56

3.2字符数据的输入输出函数59

3.2.1字符输出函数putchar59

3.2.2字符输入函数getchar60

3.3数据的格式化输入输出函数63

3.3.1数据的格式化输出函数printf63

3.3.2数据的格式化输入函数scanf69

3.4顺序结构应用举例78

3.5重点内容小结80

习题81

第4章选择结构程序设计86

4.1选择结构与条件判断86

4.1.1逻辑值的约定87

4.1.2关系运算符及其表达式87

4.1.3逻辑运算符及其表达式89

4.2if语句的基本格式90

4.2.1if语句的单分支结构90

4.2.2if语句的双分支结构91

4.2.3if语句的多分支结构93

4.2.4if语句的使用说明95

4.2.5if语句间的关系97

4.3条件运算符和条件表达式104

4.3.1条件运算符104

4.3.2条件表达式104

4.4switch语句105

4.5选择结构应用举例110

4.6重点内容小结114

习题115

第5章循环结构程序设计120

5.1为什么需要循环控制120

5.2while语句121

5.3dowhile语句122

5.4for语句126

5.5break和continue语句129

5.5.1break语句129

5.5.2continue语句133

5.6循环的嵌套134

5.7循环结构应用举例137

5.8重点内容小结142

习题143

第6章模块化程序设计148

6.1为什么引入函数 148

6.2函数的定义及调用150

6.2.1函数的定义150

6.2.2函数的调用形式152

6.2.3函数的声明155

6.3函数调用过程中的参数传递156

6.4函数的嵌套调用和递归调用159

6.4.1函数的嵌套调用159

6.4.2函数的递归调用161

6.5变量的作用域和存储类别164

6.5.1变量的作用域164

6.5.2变量的存储类别167

6.6内部函数和外部函数172

6.6.1内部函数172

6.6.2外部函数173

6.7重点内容小结173

习题177

第7章使用数组处理批量数据182

7.1为什么引入数组182

7.2数值型数组183

7.2.1一维数值数组的定义和初始化183

7.2.2二维数值数组的定义和初始化193

7.3字符数组204

7.3.1一维字符数组的定义和初始化204

7.3.2一维字符数组的输入和输出205

7.3.3二维字符数组的定义和初始化207

7.4字符串处理函数208

7.5向函数传递一维数组212

7.5.1用数组元素作函数实参212

7.5.2用数组名作函数实参215

7.6向函数传递二维数组219

7.7重点内容小结221

习题222

第8章指针226

8.1指针的含义226

8.2指针与变量227

8.2.1指针变量的定义227

8.2.2指针变量的引用228

8.3指针与数组231

8.3.1指针与一维数组231

8.3.2指针与二维数组236

8.3.3指针与字符串240

8.3.4指针数组和指向指针的指针242

8.4指针与函数246

8.4.1简单指针变量作为函数参数246

8.4.2指向数组的指针变量作为函数参数248

8.4.3指针数组作为函数参数249

8.4.4返回值为指针的函数与函数指针变量251

8.5重点内容小结255

习题257

第9章用户自定义数据类型261

9.1为什么引入结构体261

9.2结构体类型263

9.2.1结构体类型的定义263

9.2.2用typedef命名数据类型264

9.3结构体类型变量的定义及初始化265

9.3.1结构体变量的定义和初始化265

9.3.2结构体数组的定义和初始化272

9.3.3结构体指针的定义及初始化277

9.4向函数传递结构体279

9.4.1结构体变量作函数参数279

9.4.2结构体指针作函数参数281

9.4.3结构体数组作函数参数282

* 9.5共用体287

* 9.6枚举数据类型291

* 9.7动态数据结构——单向链表293

9.8重点内容小结298

习题299

第10章文件308

10.1为什么引入文件308

10.2文件的打开与关闭310

10.2.1文件的打开310

10.2.2文件的关闭312

10.3文件的读写314

10.3.1文件的字符读写314

10.3.2文件的字符串读写316

10.3.3文件的格式化读写318

10.3.4文件的数据块读写321

10.4文件的定位和文件的随机读取323

10.5重点内容小结329

习题330

第11章实验安排335

11.1实验1熟悉Visual C++6.0集成开发环境和运行过程335

11.2实验2基本数据类型和运算符337

11.3实验3顺序结构程序设计341

11.4实验4选择结构程序设计345

11.5实验5循环结构程序设计350

11.6实验6函数程序设计357

11.7实验7数组程序设计365

11.8实验8指针程序设计375

11.9实验9用户自定义数据类型385

11.10实验10文件操作399

附录AC语言关键字406

附录B标准ASCII码表407

附录CC语言运算符408

附录DC语言常用的函数库410

附录EVisual C++ 6.0常见错误中英对照表及分析416

参考文献422


展开全部

C语言程序设计简明教程(本科教材) 节选

第3章顺序结构程序设计【内容导读】 本章首先从顺序结构定义出发,介绍C语句,进而结合顺序结构程序示例,介绍C程序中*常用的键盘输入与屏幕输出操作,包括字符数据的输入输出函数和数据的格式化输入输出函数,均通过调用系统标准函数库stdio.h中的输入输出函数实现。 【学习目标】 (1) 掌握赋值语句的使用及变量的初始化操作; (2) 熟练掌握不同类型数据的输入与输出操作; (3) 熟练掌握顺序结构程序设计方法。通过第2章的学习,我们对C语言中的数据、算法及程序结构已经有了初步认识,本章主要学习*简单的顺序结构程序的编写。顺序结构就是围绕一个问题,将语句一条一条按照自上而下的顺序排列,该顺序也是程序的执行顺序。可见,程序的构成离不开语句。 3.1C语句概述 C语言中的语句大致可以分为以下两大类: 说明语句和执行语句。 3.1.1说明语句 说明语句就是对程序中使用的变量、数组、函数等操作对象进行定义或声明的语句,它只是为了说明程序中所用操作对象的名称、类型、所带参数个数及参数类型等信息,并不产生可执行的二进制指令代码。 例如,前面介绍过的变量定义语句就属于说明语句。如变量定义语句: int a,b;说明程序中定义了两个变量,名称为a和b,二者类型均为int型,系统会根据定义分别为它们分配4个字节的存储空间。3.1.2执行语句 执行语句就是对程序中使用的变量、数组、函数等操作对象进行赋值、输入输出、运算等各种操作的语句,产生可执行的二进制指令代码。 执行语句根据其构成方式的不同,又可分为表达式语句、函数调用语句、空语句、控制语句和复合语句。 1. 表达式语句 C语言中,各种类型的C合法表达式后面加一个分号,就构成表达式语句。例如,下列语句都为合法的表达式语句:3+52; n=3; a=9,a+5;*常用的表达式语句就是赋值语句,即赋值表达式后面加分号,如上例中的n=3;。 赋值语句通常实现对变量的赋值及各操作对象运算结果的保存。如例25中的赋值语句: ch1='A';//用于变量赋值 ch2=ch1+32;//用于保存计算结果说明: ① 关于变量赋值可以通过赋值语句实现,也允许在定义变量的同时赋以初值(称为变量的初始化),这样可以使程序更简练。如: int a=3;//定义变量a为整型,同时为其赋初值3 float x=3.14;//定义变量x为实型,同时为其赋初值3.14也可以只为被定义变量的一部分赋初值。如: int a,b=3,c=3;//定义变量a,b,c为整型,但只对变量b赋初值3,变量c赋初值3但应注意,以下语句是不合法的: int b=c=3;变量必须先定义再赋初值,此时系统将给出编译错误: 未定义的标识符c(error C2065: 'c' : undeclared identifier)。 ② 注意表达式与表达式语句的区别就在于是否以分号结尾,若有分号则为表达式语句,否则为表达式。仍以赋值操作为例,如: a=b=c//赋值表达式 a=b=c;//赋值语句2. 函数调用语句 函数调用后面加一个分号构成函数调用语句。如: scanf("%d,%d",&a,&b); printf("a=%d,b=%d\\n",a,b);这是两条用于完成数据输入输出的函数调用语句,其中“scanf("%d,%d",&a,&b)”和“printf("a=%d,b=%d\\n",a,b)”分别是数据输入与数据输出的函数调用,后加分号就成为函数调用语句。 由此也可以看出,C语言中的数据输入与输出操作,均是通过函数实现的。 3. 空语句 由前面各类语句的构成不难看出,分号是C语句必不可少的构成部分。因此,C语言允许出现空语句: ;该语句中只有一个分号,它的特点是什么都不做,那它有什么用呢?主要用于程序的延时操作,即将空语句作为循环语句的循环体,该循环虽什么都不做,但可以耗费机器时间,从而达到延时的目的。 4. 控制语句 控制语句用于完成一定的控制功能。C语言中,只有9种控制语句,可以实现不同的程序结构,它们的形式如下: (1) 用于实现选择结构的控制语句if()...else...(条件语句) switch(){...}(多分支选择语句)(2) 用于实现循环结构的控制语句for(){...}(for循环语句) while()...(while循环语句) do...while()(do-while循环语句)(3) 其他控制语句break(中止switch或循环语句的执行) continue(结束本次循环语句) return(函数值返回语句) goto(无条件跳转语句,尽量不使用)5. 复合语句 用一对花括号“{}”括起来的若干条语句称为一条复合语句。花括号中的语句可以是任意合法的说明语句、执行语句,也可以再次为复合语句。复合语句中如果有说明语句,应放在执行语句的前面。例如: { float r,s;//变量定义语句 r=5;//赋值语句 s=3.14rr;//赋值语句 printf("s=%f\\n",s);//函数调用语句,用于计算结果的输出 }这是一条复合语句,由四条C语句构成,其中**条语句为说明语句,其余三条均为执行语句。 【思考】若该复合语句改成下列形式,则它由几条C语句构成?{ float r,s;//变量定义语句 { r=5;//赋值语句 s=3.14rr;//赋值语句 printf("s=%f\\n",s);//函数调用语句,用于计算结果的输出 } }【提示】复合语句的特点: 可使若干条C语句成为一条C语句(即构成一条复合语句)。 说明: ① 由于复合语句具有“多条变一条”的特点,故其常用在这样的位置: C语法规则要求该位置只能出现一条语句,但为实现算法功能此处又需要使用多条语句。这时,就可将这若干条语句用花括号括起来成为一条复合语句,如if语句的内嵌语句或循环语句的循环体语句。 ② 由于复合语句可以嵌套使用,所以编程时一定要注意花括号的配对使用,否则会引起编译错误。事实上,C程序中会用到很多标点符号,如小括号、方括号、花括号、单引号、双引号等,它们都应配对使用。这也是初学者常犯错误之一。 由算法特性可知,一个正确的算法可以没有输入但不能没有输出,然而没有输入的算法是缺乏灵活性的。因为程序在多次运行时,用到的数据可能是不同的。如例25的程序功能为求大写字母A对应的小写字母。但若为了验证大写字母向对应小写字母转换算法的正确性,用户希望程序每次运行时,提供不同的大写字母,如果都能得到相应的小写字母,则证明算法正确。然而,例25若想满足上述需求,只能在每次运行程序前,先修改用于存放大写字母的变量初值。这不仅增加了用户调试程序的负担,而且对于没有学过C语言编程的普通用户而言,也是不现实的。那么如何在不修改程序的情况下,就可使之适用于任何大写字母呢?就是通过键盘输入的方法来提供数据。这样每次运行程序时,用户可从键盘上输入任意所需数据(如A或B或C等大写字母),屏幕输出则可跟随输入数据的改变而改变(如a或b或c等小写字母)。可见,引入键盘输入操作后,可以提高程序的通用性和灵活性。 综上,键盘输入与屏幕输出也是编写C程序时*常用、*重要的操作。不过要特别提醒读者注意的是,C语言中没有提供专门用于输入输出操作的语句,而是利用系统标准输入输出函数库stdio.h中的输入输出函数来实现的。因此,在使用输入输出函数时,一般先在程序的开始位置写一条编译预处理命令: #include C语言中提供了多种输入输出函数,但本章只讨论使用*广泛的两组输入输出函数: 字符数据的输入输出函数和数据的格式化输入与输出函数。 3.2字符数据的输入输出函数〖1〗3.2.1字符输出函数putchar1. putchar函数调用的一般形式 putchar(c)其中,putchar是函数名,c是函数参数,可以是字符型或整型表达式(含单一常量或变量)。 2. 功能 在标准输出设备(即显示器屏幕)上输出一个字符。 3. putchar函数使用形式 构成一条独立的函数调用语句。 在C程序中,该函数调用一般以语句的形式出现,即在函数调用格式后加分号。如下面两条putchar函数调用语句: putchar('A');//在屏幕上输出一个大写字母A putchar(97);//在屏幕上输出一个小写字母a当putchar函数的参数为整型数据时,该函数输出的并不是整数本身,而是与它对应的ASCII值字符,故此处的整型数据应在0~127范围内。putchar('\\n');//在屏幕上输出一个回车换行符,使光标由当前位置移到下一行的行首位置当putchar函数的参数为转义字符时,输出的不是转义字符本身,而是其含义。 如上例,在屏幕上看到的并不是转义字符\\n本身,而是该转义字符的含义“回车换行”,即光标由当前位置移到下一行的行首位置。 【思考】分析下列putchar函数调用语句的输出结果。putchar(97-32); putchar('\\x20'); putchar('\\040');【例31】利用putchar函数改写例25,求大写字母A对应的小写字母a。 C程序代码如下: #include int main() { char ch1,ch2; ch1='A'; ch2=ch1+32; putchar(ch1);//输出大写字母A putchar(ch2);//输出小写字母a putchar('\\n');//输出一个换行字符,使光标由当前位置移到下一行的行首位置 return 0; }运行结果: 【程序分析】 本例与例25的运行结果一致,都输出了三个字符A、a和回车换行。但本例中三个字符的输出是通过三条putchar函数调用语句实现的。 可见,一个putchar函数只能输出一个字符。切记不能以putchar(ch1,ch2,'\\n')的形式输出多个字符,这与putchar函数调用格式中只能出现一个参数相违背,会出现编译错误。 3.2.2字符输入函数getchar 1. getchar函数调用的一般形式 getchar()其中,getchar为函数名,没有参数,但函数名后面的小括号不能省略。 2. 功能 在标准输入设备(即键盘)上输入一个字符,以回车键确认,并将该字符作为函数的返回值。 3. getchar函数使用形式 在C程序中,getchar函数有以下三种使用形式。 (1) 函数调用出现在赋值语句中,如: ch=getchar();其含义是: getchar函数读入键盘上输入的字符,并将该字符赋值给字符型或整型变量ch后,继续执行后续程序。 (2) 函数调用出现在其他语句中,如: putchar(getchar());其含义是: getchar函数读入键盘输入的字符,并将该字符进行输出后,继续执行后续程序。 这两种使用形式一般适用于getchar函数所读入字符需要进行后续处理的情况。 (3) 构成一条独立的函数调用语句,如: getchar();其含义是: getchar函数读入键盘输入的字符后,继续执行后续程序。 这种使用形式可用于实现程序的暂停或读入输入数据缓冲区中的无用字符。 其中,**种使用形式是*为常用的,对于其他两种使用形式,读者可在后续的学习应用中慢慢体会,不必在此处过分深究。 4. 数据输入方法 对于输入函数而言,掌握函数调用格式和函数使用形式固然重要,但若不能掌握正确的数据输入方法,也可能会导致程序运行结果的错误。因此,下面分两种情况讨论如何正确地为getchar函数输入数据。 (1) 程序中只有一个getchar函数,如: char ch; ch=getchar();若希望getchar函数接收到字符5,则正确的数据输入形式为: 5(代表回车)注意: 此处的5并非是数值5,而是字符5,其ASCII值为53。因getchar函数只能读入字符型数据,故在输入数据时是不需要输入界定符单引号的,此时系统默认输入的所有信息都是字符型的。一旦输入界定符单引号,也会将其看作字符型数据进行读入。如输入数据格式如下: '5'则getchar函数读入的数据为单引号“'”,而不再是字符5。多余的数据将驻留在输入数据缓冲区,等待被其他输入函数接收。 (2) 程序中连续使用多个getchar函数,如: char ch1,ch2,ch3; ch1=getchar(); ch2=getchar(); ch3=getchar(); 若希望三个getchar函数依次接收到字符A、字符B和字符C,则正确的数据输入形式为: ABC 而不能采用下列方式输入: A B C(事实上,在执行程序时,这组数据是来不及输入的)此时,**个getchar函数接收字符A,第二个getchar函数接收字符回车换行,第三个getchar函数接收字符B,很显然与用户期望数据不符。 数据C之所以没有机会输入,是因为输入到字符B时,所有的getchar函数都已得到数据,程序将解除暂停继续向下执行。 注意: 从键盘输入信息时,并不是在键盘上输入一个数据,该数据就被立即送到计算机中,而是先暂存到输入数据缓冲区,只有按Enter键后才把这些数据一起送入到计算机中,然后按先后顺序依次赋给相应变量。 【例32】改写例31,使之适用于任意大写字母。从键盘输入一个大写字母,在屏幕上显示对应的小写字母。 C程序代码如下: #include int main() { char ch1,ch2; ch1=getchar();//从键盘输入一个大写字母,按Enter键确认结束输入,将该字符赋值给变量ch1 ch2=ch1+32; putchar(ch1); putchar(ch2); putchar('\\n'); return 0; }运行结果: **次运行第二次运行【程序分析】 ① getchar函数的使用形式: 本例采用了getchar使用形式的**种,即函数调用出现在赋值语句中(如: ch1=getchar();)。原因很简单,getchar函数读入大写字母后,还需利用该大写字母参与运算,以得到它对应的小写字母。所以,需要通过赋值的方式,将getchar函数读入的字符保存起来。以后自己编程遇到类似情况时,也可以考虑采用getchar函数的这种使用形式。 ② 程序执行过程: 当程序执行到输入函数getchar所在的赋值语句时,程序会停下来等待用户从键盘输入数据,直到用户输入一个字符并按Enter键结束输入后,程序才继续向下执行。可见,一个getchar函数只能接收一个字符,且具有暂停程序执行的作用。 ③ 程序中引入输入函数的好处: 由程序的两次运行结果可以看出,通过在程序中使用字符输入函数getchar为变量ch1提供数据,用户可在不修改程序的情况下,根据自己的需要从键盘输入任意一个大写字母,经计算后,程序输出与其对应的小写字母。与例25和例31中通过赋值语句为变量ch1提供数据相比(只要不修改赋值语句中ch1的初值,程序多次的运行结果都是一样的),大大提高了程序的灵活性。因此,提倡在程序中使用输入函数。 ④ 运行结果分析: 由程序运行结果截图发现,每次运行,图中都有两个大写字母(如A),而只有一个小写字母(如a)。以**次运行结果为例,其中**行的A,是用户从键盘上输入的A,以便为getchar函数提供数据,而第二行出现的Aa才是程序真正的输出结果,即由程序中的输出函数putchar实现。对于初学者而言,不能正确区分输入与输出信息是很正常的,只要多多练习就很容易掌握。 不过为了更好地符合人们的认知习惯,可以利用输入数据回显的特点,而去掉变量ch1的输出语句putchar(ch1);,则运行结果如下: 3.3数据的格式化输入输出函数 格式化输入输出函数与上组函数相比,格式上稍显复杂,但功能更全面,可用于多种类型数据的输入与输出,且一次使用可实现多个数据的读入与输出,故使用频率非常高。希望读者在学习过程中认真体会、总结,以掌握其正确的使用方法。 3.3.1数据的格式化输出函数printf 1. printf函数调用的一般形式printf(格式控制字符串\[,输出项列表\])其中,printf是函数名,函数名后小括号内的“格式控制字符串”与“输出项列表”是printf函数的两个参数,二者以逗号隔开,方括号括起来部分表示可选。 2. 功能 按格式控制字符串所指定格式,在标准输出设备上输出各个输出项的值。 3. printf函数使用形式 构成一条独立的函数调用语句。 在C程序中,该函数调用一般以语句的形式出现,即在函数调用格式后加分号。如printf函数调用语句: printf("%d %d\\n",3,5+7);执行后,输出结果为: 3 12 4. printf函数的参数解释 (1) 输出项列表。 输出项列表由零个或多个输出项构成,各个输出项间以逗号分隔,每个输出项可以是任意类型的C合法表达式(含单一常量或变量)。形如: 表达式1,表达式2,…,表达式n(2) 格式控制字符串是用双引号引起来的字符串,也称为转换控制字符串。一般情况下,它包含三部分内容: ① 格式说明: 以%开头,后跟格式字符,二者间不能有空格,用于约定各个输出项的输出格式。C语言规定每个输出项必须用一个格式说明指定其输出格式(即输出项与格式说明一一对应),且输出项的类型应与格式说明相匹配。当没有输出项时,格式控制字符串中不再需要格式说明。执行printf函数时,各格式说明将被各输出项按序替代。 格式说明及其含义和所指定的输出项类型见表31所示。表31printf函数中使用的格式说明 格式字符格式说明含义指定输出项类型d或i%d或%i以有符号十进制形式输出整数,正数的符号省略o或O%o或%O以无符号八进制形式输出整数(不输出前导字符0)x或X%x或%X以无符号十六进制形式(小写的af或大写的AF)输出整数(不输出前导字符0x)u%u以无符号十进制形式输出整型数c%c输出一个字符整型或字符型f%f以十进制小数形式输出单精度、双精度实数,隐含输出6位小数。e或E%e或%E以指数形式(小写e或大写E)输出单精度、双精度实数g或G%g或%G自动选取f或e格式中输出宽度较小的一种使用,且不输出无意义的0实型s%s输出一个字符串(不输出字符串结尾标志\\0)字符数组或指针%%%输出一个%其他例如,设有变量定义语句如下:int a=73; float x=6.78; char ch='A';则实现各变量正确输出的printf函数调用语句为: 本例的输出项列表中有三个输出项,分别是变量a、x和ch。按C语言语法规则,在格式控制字符串中也需有三个格式说明与之按序对应,且应确保格式说明与输出项类型匹配。如整型变量a对应输出整数的格式说明%d,变量x对应输出实数的格式说明%f,变量ch对应输出字符的格式说明%c,故该printf函数调用语句能实现各数据的正确输出。若整型变量a对应格式说明%f,则会出现如图3.1所示的运行时错误。 图3.1整型变量对应格式说明%f的运行时错误提示 【思考】printf函数调用语句若改为如下格式,是否正确?若正确,各输出项的输出形式如何?printf("%c,%e, %d\\n",a,x,ch);本例printf函数的格式控制字符串中,除了三个格式说明,还存在如“\\n”“,”等信息,这就是构成格式控制字符串的另外两部分内容。

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服