




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
School of Computer Science & Engineering, Xidian University, China,C程序设计 (Programming in C ),西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 2,这次课的主要内容,C程序的基本结构 C语言的基本符号 C语言的基本数据类型,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 3,C程序的基本结构,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 4,一个简单的C程序,#include int main(void) int inches, feet, fathoms; printf(“input fathoms:“); scanf(“%d“, ,英寻英寸的换算: 把英寻数赋给一个变量; 把英寻转换为英尺,并存到一个变量中; 把英尺转换为英寸,并存到一个变量中; 把不同单位的测量值整齐地显示在屏幕上。,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 5,函数是C程序的基本模块,在上面的例子中,有一个名称为“main”的函数,每一个独立运行的C程序有且仅有一个mian函数,C程序设计中的一部分主要工作就是编写函数。 我们将从一个函数的结构出发理解C程序中的基本要素。 函数内有对数据的声明和对数据的运算,例如,#include int main(void) int inches, feet, fathoms; printf(“input fathoms:“); scanf(“%d“, ,声明部分: 三个值将变化的整数,运算部分: 接收一个整数; 用乘运算进行单位换算,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 6,常量和变量是程序中的基本元素,常量和变量(constants and variables) 常量(constants) :在程序的运行过程中值保持不变。例如,下面程序中的“6”和“12” 变量(variables) :在程序的运行过程中值可以改变。例如,下面程序中的“fathoms”、 “feet”、 “inches”。,#include int main(void) int inches, feet, fathoms; printf(“input fathoms:“); scanf(“%d“, ,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 7,可以给程序中的常量命名,若一个数据元素的值在程序的运行过程中保持不变(是常量),则可以用一个符号为其命名。 例如,将下面程序中的6命名为“VALUE1”,12命名为“VALUE2”,#include int main(void) int inches, feet, fathoms; . feet = 6 * fathoms; inches = 12 * feet; . ,#include #define VALUE1 6 #define VALUE2 12 int main(void) int inches, feet, fathoms; . feet = VALUE1 * fathoms; inches = VALUE2 * feet; . ,常量定义,符号常量,字面常量 或字面值,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 8,程序中的符号形式,程序中出现的所有符号都必须有含义,有些符号的形式和含义是语言设计者规定的,例如下面例子中的“include”、 “define”、 “int”等。,#include #define VALUE1 6 #define VALUE2 12 int main(void) int inches, feet, fathoms; . feet = VALUE1 * fathoms; inches = VALUE2 * feet; . ,编程者还需要为程序中的某些对象用语言规定的形式命名,例如,在上例中为字面常量命名。,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 9,用在程序中的基本字符和符号,C语言程序中的基本字符如下,标识符是由字母、数字和下划线符号“_”组成的标记。标识符不能以数字开头。创建标识符是为了对程序中的对象进行唯一地命名。例如,在上一个例子中用“VALUE1”对字面量12进行命名,计算所得的英寸数保存在名称为“inches”的变量中。C语言对标识符是大、小写敏感的。,小写字母 a b c z 大写字母 A B C Z 数字 0 1 2 3 4 5 6 7 8 9 其他字符 - * / = ( ) “ ! # $ % : ? 空白字符 空格符 换行符 跳格符,关键字是程序语言中已经作了严格的含义规定的标识符,后面我们将逐渐了解并熟悉C语言的关键字及已经约定了含义的标识符。,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 10,C语言的关键字,下面是C语言中已经有定义的标识符,程序员为某种对象命名时不能使用,auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 11,变量(Variable),一个变量是一个用于存放值(value)的占位符(placeholder)。 内存的存储空间可看作是若干个从0开始编号的盒子。例如,若内存为128MB,则有12810241024个盒子(每个盒子可以存储一个8位的二进制数)。,存储单元,504,每个变量都有三个属性:名字,值和类型。变量名是一个存储单元的符号名,变量的值存储在存储单元中,inches,变量名,变量值,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 12,C语言的基本数据类型,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 13,C语言的基本数据类型,C语言的基本数据类型有 整数类型 实数类型 字符类型,对于基本数据类型,我们将从以下三个方面介绍其内容 每种类型数据的表示形式 数据的取值范围 数据的运算,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 14,整数类型,整数类型数据的表示形式: 十进制、八进制、十六进制 常量、变量,我们已经知道,机器中数据采用二进制表示,若规定用16位表示一个整数,则整数12的机内表示为,整数字面常量12在程序中的表示: 十进制:12 八进制:014 十六进制:0xC或0xc,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 15,整型变量,基本的整数类型变量用“int”进行声明 int feet, inches, i;,我们已经知道,若规定用16位补码表示一个带符号的整数,则表示范围为 -215 215-1(32768 32767),因此用“int”声明的整数类型变量的有效值在这个范围内。,类型符号“long”声明的整数类型用32位表示,其变量的取值范围为:-231 231-1,声明整数类型变量时还可以用符号“unsigned”进行修饰,目的是说明无符号的整数(正整数),例如 unsigned int feet, inches, i; unsigned long m;,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 16,整数类型及取值范围,ANSI标准定义的整数类型,类型符号,比特数,取值范围,-32768 32767 即 -215 215-1,signed int,16,0 65535 即 0 216-1,unsigned int,16,-32768 32767 即 -215 215-1,signed short int,16,0 65535 即 0 216-1,unsigned short int,16,long int,32,0 4294967295 即 0 232-1,unsigned long int,32,-2147483648 2147483647 即 -231 231-1,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 17,整型数据的运算,针对整数类型数据的运算有 算术运算:加(+)、减(-) 、乘(*) 、除(/) 、整除取余(%); 关系运算:等于(=)、不等于(!=)、大于() 、大于或等于(=) 、小于()、小于或等于(=) 函数,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 18,实数类型,实数类型数据的表示形式: 十进制小数表示形式,例如3.14、9.8 指数表示形式: E,其中E可用e代替,例如3.0E-5,基本的实数数据为float型,在内存占用4个字节(32位),按照指数形式存放,提供6位有效数字(小数点后五位)。float型为单精度,double为双精度型,还有长精度型long double,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 19,实型数据的舍入误差,在计算机中,实数运算中有误差 实数的表示采用近似值方式 例如,在float类型中,12345678848.0+20 1.0 / 3 * 3的运算结果取整数为0,C编译系统将实型常量作为双精度处理,例如: float f; f = 2.45678 * 4523.65; 系统将2.45678 和 4523.65按双精度数据存储和运算,最后取结果的前6(7)位有效数字保存。,TC2.0,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 20,实数的有效数据,#include main( ) float x1, y1; double x2, y2; x1 = 111111.111; y1 = 222222.222; printf(“ x1 = %f n“, x1); printf(“ y1 = %f n“, y1); printf(“ x1+y1 = %fnn“, x1 + y1); x2 = 111111.111; y2 = 222222.222; printf(“ x2 = %f n“, x2); printf(“ y2 = %f n“, y2); printf(“ x2+y2 = %fn“, x2 + y2); ,运行结果: x1 = 111111.109375 y1 = 222222.218750 x1 + y1 = 333333.328125,x2 = 111111.111000 y2 = 222222.222000 x2 + y2 = 333333.333000,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 21,实型数据的运算,针对实数类型数据的运算有 算术运算:加(+)、减(-) 、乘(*) 、除(/); 关系运算:等于(=)、不等于(!=)、大于() 、大于或等于(=) 、小于()、小于或等于(=) 函数,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 22,字符类型,字符类型数据的表示形式: 常量,用单撇号括起来,例如: a , D , ? 变量,char c1, c2;,一个字符在内存中占据一个字节的存储空间,字符编码采用ASCII码,以二进制形式存储。,#include main() int i; for(i = 0;i 128; i+) if (i % 16 = 0) printf(“n“); printf(“%c “,i); printf(“n“); ,数字字符、小写字母、大写字母集中编码,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 23,字符类型,C语言中允许将字符类型数据看作整数类型 字符类型数据既可以以字符形式输出,也可以以整数形式输出。 字符数据可以进行算术运算,#include main() char ch1,ch2; ch1=a; ch2=b; printf(“ch1=%c,ch2=%cn“,ch1,ch2); printf(“ch1=%d,ch2=%dn“,ch1,ch2); ,程序运行结果: ch1=a,ch2=b ch1=97,ch2=98,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 24,字符串常量,像“abc“这样的在双引号内的字符序列是串常量, 例如, “How do you do.“、 “Good morning.“等,都是字符串常量,其长度分别为14和13(空格也是一个字符)。,在C语言中,存储字符串常量时,系统在串尾自动增加一个符号0作为串的结束标志。例如,串“china“在内存中的实际存储如下所示。,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xidian University, China 25,特殊字符的表示,在程序中,有些特殊字符需要用转义字符表示,例如要表示单撇字符以及在串中表示双撇字符时需要用转义字符表示。,西安电子科技大学计算机学院 - School of Computer Science & Engineering, Xid
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人生小满胜万全 教学设计-2023-2024学年高中下学期心理健康主题班会
- 专利实施许可合同常用范文6篇
- 2025合同管理的关键注意事项
- 2025年个人私人车位租赁合同
- 第六课 温故知新说课稿-2025-2026学年高中心理健康北师大版2015高中二年级全一册-北师大版2015
- 大同事业单位笔试真题2025
- 2025混凝土购销合同
- 2025企业停薪留职员工合同
- 人教部编版道德与法治九年级上册5.2凝聚价值追求说课稿
- 油墨厂咬底控制制度
- 国际伤口治疗师汇报
- 《电工基础(第2版)》中职全套教学课件
- 河道清淤与水生态恢复方案
- 2024-2025大学英语考试六级汉译英中英对照
- 铂类化疗药物配置
- 2024-2025学年广东省深圳实验学校高中园高一(上)第一次段考数学试卷(含答案)
- 2024-2025学年天津市和平区双菱中学七年级(上)第一次月考数学试卷
- ISO9001-2015质量管理体系内审培训课件
- 《无线电失效程序》课件
- 新生儿注射用药并发症防治及管理课件
- 泸州市专业技术人员年度考核登记表
评论
0/150
提交评论