mainC语言解析Word格式文档下载.docx
《mainC语言解析Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《mainC语言解析Word格式文档下载.docx(57页珍藏版)》请在冰豆网上搜索。
1.函数scanf()的功能和使用格式
2.格式控制与输入数据格式的关系
3.地址表列的使用
∙C程序开发过程
1.编辑、编译、连接和执行
2.源程序、目标程序、可执行程序
§
1.1C语言简史
C语言是由D.M.Ritchie于1972年在B语言的基础上设计的,主要用于编写UNIX操作系统的。
1977年出现了可移植的C语言编译程序,使得用C语言编写的UNIX系统可以在各种计算机上使用。
随着UNIX的广泛应用,C语言得到了普及和推广,并最终独立于UNIX而成为世界上应用最广泛的计算机语言之一。
1983年美国国家标准化协会(ANSI)制订了C语言标准,即ANSIC。
目前流行的各种版本的C语言都是以它为基础的,如TurboC,MicrosoftC,QuickC等。
1.2C语言的特点
∙丰富的数据类型
C具有整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型等多种数据类型。
特别是C的指针类型,功能强大、灵活方便。
∙结构化的控制语句
C语言的控制结构语句符合结构化程序设计要求,并且用函数作为程序模块,使得程序结构清晰、可读性好、易于调试。
∙高效率的目标代码
C语言允许直接访问物理地址、直接对硬件操作,提供对字节、位、内存和寄存器操作,可以调用或嵌入汇编语言代码,并且经过C编译程序生成的目标代码质量高、执行效率高。
∙可移植性好
用C语言写的程序,基本上可以不加修改地用于各种计算机和操作系统上。
1.3C程序的基本结构
1.C程序是由一个主函数main()或一个主函数及其它函数组成。
C程序由函数构成,使用函数可以简化了主函数以及实现模块化程序设计,C语言的函数可以分为三类:
第一类:
主函数,名为main()。
每个程序中只能有一个、也必须有一个主函数。
无论主函数在什么位置,C程序总是从主函数开始执行。
第二类:
用户自定义函数,可有可无,数目不限。
第三类:
C语言提供的库函数,例如输出函数printf()和输入函数scanf()
2.每个函数的内容用大括号“{}”括起来。
3.每个语句后加“;
”。
1.4库函数printf()和scanf()的使用
printf()和scanf()函数是C语言中两个最基本的库函数,存在于TurboC所在目录的子目录include中的stdio.h头文件内,使用时应该在源程序中加入#include<
stdio.h>
(TurboC2.0可以缺省)。
一、函数printf()
功能:
通过标准输出设备(如屏幕)输出一组数据。
格式:
printf(格式控制,输出表列)
1.“格式控制”是用双引号括起来的部分,由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数学符号以外,还可以使用一些转义字符表示特殊的含义(如“\n”)。
转义字符功能见表1-1。
表1.1常用转义字符
转义字符
功能
\n
回车换行符,光标移到下一行行首
\r
回车不换行,光标移动到本行行首
\t
横向跳格(8位为一格,光标跳到下一格起始位置,如第9或17位等)
\b
退一格,光标往左移动一格
\f
走纸换页
\\
用于输出反斜杠字符“\”
\’
用于输出单引号字符“’”
\”
用于输出双引号字符“””
\ddd
三位八进制数ddd对应的ASCII码字符
\xhh
两位十六进制数hh对应的ASCII码字符
数据格式说明由“%”开头,形式为%<
数据输出宽度说明>
<
格式符>
,数据格式说明用在需要输出变量或运算数值结果的时候,它的个数与输出表列的个数一一对应。
数据宽度说明中如果实际数据小于宽度,则根据宽度是否大于零而左补空格或右补空格。
如果实际数据大于宽度,按实际位数输出。
如果缺省宽度说明,则按实际宽度输出(实数位数按照格式符默认位数输出)。
常用格式符见表1-2。
表1.2常用格式符
格式符
d
以带符号的十进制形式输出整数(正数不输出正号)
o
以不带符号的八进制形式输出整数
x
以不带符号的十六进制形式输出整数
u
以不带符号的十进制形式输出整数
c
以字符形式输出一个字符
s
输出一个或多个字符
f
以小数形式输出单、双精度数,默认输出6位小数
e
以标准指数形式输出单、双精度数,数字部分小数位数为6位
2.输出表列可以是变量、表达式或者是数值。
输出表列的类型决定了“格式控制”中使用的“数据格式符”,其个数决定了“数据格式说明”的个数。
二、函数scanf()
通过标准输入设备(如键盘)输入一组数据。
scanf(格式控制,地址表列)
格式控制同printf()函数的格式控制。
其中特别注意:
如果格式控制中加入了格式符以外的其它字符,则通过键盘等输入设备输入数据时这些字符也要同样输入,如果格式符中无其它字符间隔,输入时可以用空格、回车或跳格键Tab。
地址表列是由若干个地址组成的表列,变量的地址表示法是在变量前加上&
符(数组不用)。
函数scanf()是将输入设备输入的数据赋给地址表列中对应的变量。
地址表列的个数和变量类型,决定了格式控制中格式符的个数和形式。
1.5C程序的开发过程
开发一个C程序,一般要经历编辑、编译、连接和运行四个步骤。
一、源文件的编辑
用户通过编辑器,将自己开发的C语言程序输入计算机的过程称为C程序源文件的编辑。
编辑生成的文件以文本形式存储,扩展名为“.C”,也称为C的源程序。
源程序文件以ASCII码形式存储,不含任何格式和样式,计算机不能直接执行。
二、编译
计算机把C的源程序翻译成计算机可以识别的二进制形式的目标代码文件,这个过程称为编译,由C的编译程序完成。
C的编译程序在编译的同时,还对源程序的语法和程序的逻辑结构等进行检查。
当发现错误时,将会列出错误的位置和种类,此时需要重新编辑修改源程序。
如果编辑成功则生成目标文件,文件名同源程序文件名,扩展名为“.obj”。
编译生成的目标文件,不包含程序运行所需要的库函数等,计算机仍然不能直接执行。
三、连接
连接程序以将目标程序和其它目标程序模块,以及系统提供的C库函数等进行连接生成可执行文件的过程,称为“连接”。
连接生成的可执行文件的文件名同源程序文件名,扩展名为“.exe”。
连接生成的可执行文件,计算机可以直接执行。
四、运行
在DOS环境直接键入C程序的可执行文件名,或者在C的集成环境下选择“RUN”命令,以及在Windows的资源管理器内双击该可执行文件名,都可以获得运行结果。
如果运行结果有误,需要重新编辑源程序,再进行编译、连接、运行,直到得到满意的运行结果。
学以致用,作业
1.使用printf()函数显示下列菜单:
Menu
============================================
1.Inputthestudents’namesandscores
2.Searchscoresofsomestudents
3.Modifyscoresofsomestudents
4.Listallstudents’scores
5.Quitthesystem
Pleaseinputyourchoise(1-5):
2.参照例1.7和例1.8,选择一种方法编写一个程序,实现输入六个数输出最小数。
3.编写一个程序,从键盘上输入华氏温度,屏幕显示对应的摄氏温度。
华氏温度和摄氏温度的转换公式为:
c=(f-32)/1.8
第二讲基本数据类型
通过介绍C语言的数据类型和存储特点,要求了解C语言数值数据和文字数据的表示方法,掌握C语言基本数据类型的存储格式,掌握变量的定义和赋值,了解数据运算中类型的自动转换和强制转换。
∙C语言的数据类型
1.数据类型分类
∙数值数据的表示
1.整数数据的表示和存储形式
2.浮点小数的表示和存储形式
∙文字数据的表示
1.单个字符的表示和存储形式
2.字符串的表示和存储形式
∙变量的定义和赋值
1.变量的命名
2.变量的定义
3.变量的赋值
∙
C语言类型修饰符
1.long型修饰符的意义
2.unsigned型修饰符的意义
∙表达式中数据类型转换
1.自动类型转换
2.强制类型转换
2.1C语言的数据类型
C语言提供的数据类型分类如下:
2.2数值数据的表示
C语言中使用的数值数据有两种:
整数和浮点小数。
一、整数
整数可以用十进制数、八进制数和十六进制数形式表示。
除符号外,如果整数的第一位数字是0时为八进制数,前两位数字为0x时为十六进制数,其余的形式为十进制数。
一般整数的存储空间为2个字节,取值范围一般为-215~215-1,即-32768~32767。
如果超过这个范围,只有使用占4个字节的长整型数,即在整数后面加上一个字母L(大小写均可),此时取值范围可以扩大到-231~231-1,即-2147483648~2147483647。
二、浮点小数
C语言中的浮点小数描述的是实数,可以采用十进制小数形式或者指数形式表示。
十进制小数形式:
包含整数部分、小数点和小数部分。
其中小数点不能省略。
指数形式:
包含尾数部分、字母E或e和阶码。
例如2.78E12。
注意尾数部分不能省、阶码必须是整数。
浮点小数一般为单精度浮点类型,占用4个字节,有效位数6~7位,如果需要精度特别高,可以采用双精度浮点类型,有效位数可以达到16~17位。
2.3文字数据的表示
C语言把文字数据分为两种类型:
单个字符和字符串。
一、单个字符
单个字符的表现形式是由单引号括起来的一个字符,例如:
’a’。
其中单引号、双引号和反斜杠的表现形式比较特殊,分别是’\’’、’\”’、’\\’。
在C语言中转义字符被认为是具有特殊意义的单个字符,