C语言程序的组成部分.pptx_第1页
C语言程序的组成部分.pptx_第2页
C语言程序的组成部分.pptx_第3页
C语言程序的组成部分.pptx_第4页
C语言程序的组成部分.pptx_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,第2章 C语言程序的组成部分,徐秋红 办公地点:主楼西配楼(信息学院)310室 办公电话:01062336516 E-mail:,主要的内容,了解一个C程序的构成main()函数 理解什么是变量 理解什么是常量 掌握从键盘输入数据的语句写法 掌握将运算结果送到显示器显示的语句写法,2,3,了解C程序的组成部分,一个简短的C语言程序,#include int main(void) int a = 3; printf(a的平方是 %d.n, a*a); return 0; ,说明: 如果使用标准I/O库函数,则在程序开头要加入包含文件的编译预处理指令。 每个C程序必须有一个主函数main(),

2、main表示主函数名;名字前面的int表示该函数执行后将有一个整型数据的返回值;名字后面一对圆括号中的void表示该函数无自变量参数。 一对花括号“”、“ ”是函数开始和结束的标志。 每个C语句以分号结束。 每个函数的最后一条语句是return语句。,4,可以在程序中加入注释信息,说明: /*/表示注释。注释只起说明作用,不参与程序的编译和运行,因此注释可以由汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。,5,C程序的组成部分,(2) 每一个函数都是由两个部分组成: 函数的首部 例如: int main(void) 函数体 一对花括号括起的若干语句。,(1)一个C程序可以包

3、含一个或多个函数,其中一个是main() 。,#include double ep(double x) double y; y = x * x * x ; return (y) ; int main(void) double x ; printf(Input a data: ); scanf(%lf, ,了解C程序的组成部分,1:#include 2: 3:float area(float r); 4: 5:int main(void) 6: float r; 7: printf(“Input radius: ”); /*提示输入半径*/ 8: scanf(%f, 19:,7,C程序的组成部分

4、,下面是就设计计算器程序初期时,对一个计算器功能进行简单设计和描述的源程序。,void add(double,double) /*加法函数*/ 。 ,void sub(double,double) /*减法函数*/ 。 ,void mut(double,double) /*乘法函数*/ 。 ,void div(double,double) /*除法函数*/ 。 ,int main(void) . add(x,y); sub(a,y); mut(x,y); div(x,y); . return 0; ,C程序常见符号分类,关键字(Keyword) 又称保留字 C语言中具有特殊含义的单词 标识符(

5、Identifier) 系统预定义标识符 有特殊含义,但可以被重新定义的单词(但是,一般不建议去重新定义) 用户自定义标识符 变量名,函数名,,#include double ep(double x) double y; y = x * x * x ; return (y) ; int main(void) double x ; printf(Input a data: ); scanf(%lf, ,9,关键字与标识符,关键字(C语言的保留字),10,C语言的标识符,标识符 (用户自定义标识符) 设计者根据需要而定义的名称,如变量名、数组名、自定义函数名。 标识符建立的规则: (1)由若干个英

6、文字母、数字和下横线组成。 (2)头一个字符必须是字母或是下横线“_”。 相同字母的大写和小字是有区别的。 count、Count、coUNT、CoUnT 都是不同的 不能使用关键字做标识符。,C程序常见符号分类,运算符(Operator) 算术、关系、逻辑 分隔符(Separator) 空格、回车/换行、逗号等 其他符号 和标识函数体或语句块 /*和*/是程序注释的定界符 双引号、单引号,#include double ep(double x) double y; y = x * x * x ; return (y) ; int main(void) double x ; printf(In

7、put a data: ); scanf(%lf, ,12,C程序中最重要的对象变量,执行程序的目的是进行数据运算操作,运算中经常使用的一种对象就是变量。 什么是变量?,计算机内存中一个被命名的、可以存储数据的区域(或存储单元)称作变量,13,变量,变量的特点: 有名变量名 可以在变量中存储一个数据变量的值 因为变量存储在内存的存储单元中,所以变量都有一个唯一的存储地址 不同的变量还可以有不同的类型 变量名由一个或若干个字符组成,字符的构成形式必须符合C语言标识符的规定。,14,声明变量,声明变量的语句形式: 例: int x, y, age=19; float data1, data2=10

8、.009; double price_1, price_2=13.5; char a, b = $;,类型名变量名1, 变量名2,;,可以在声明变量时, 为变量初始化,变量的性质 变量必须声明后才可以引用。 程序运行过程中,通过执行赋值操作,变量中存储的值可以改变。,15,每个变量都有数据类型,单精度实型 双精度实型,变量的类型,字符型 整型 实型,char short int int float double,16,变量的数据类型决定了该变量存储于内存时将占用内存空间的大小(或多少),一个字符型(char)的变量 1个字节 一个短整型(short)变量 2个字节 一个基本整型(int)变量

9、4个字节 一个单数度实型(float)变量 4个字节 一个双数度实型(double)变量 8个字节,不同的数据类型的变量可以表示的数据大小也不同。 换句话说,不同类型的变量具有不一样的数据范围。,17,例如:,数据位的不同,能表示数据的大小也不同。,不同类型占用的内存字节数不同,同种类型在不同的平台其占字节数不尽相同 如int在16位、32位和64位系统上分别占2、4和8个字节 不要对变量所占的内存空间字节数想当然 用sizeof获得变量或者数据类型的长度 现象与危害 在平台间移植时会出现问题,导致数据丢失或者溢出,注意!,sizeof到底是什么?,C语言的运算符,并非函数 计算类型占用的字节

10、数 两种运算形式 sizeof(类型) 结果为类型占用的字节数 sizeof(表达式) 结果为表达式值所属类型占用的字节数 一般都使用 sizeof(变量名),用程序查看当前编译器的各种变量类型的字节数,#include #include int main(void) printf(Data type Number of bytesn); printf(- -n); printf(char %dn, sizeof(char); printf(int %dn, sizeof(int); printf(short int %dn, sizeof(short); printf(long int %d

11、n, sizeof(long); printf(float %dn, sizeof(float); printf(double %dn, sizeof(double); system(Pause); reutrn 0; ,21,可以通过赋值操作来改变变量的值,向变量中存储信息的常用方法 赋值表达式和赋值语句:,变量 = 数据,赋值运算符 不是等号,将一个数值存入一个内存单元,x = 90,;,22,?,?,?,?,?,a,b,c,d,e,0,a=0,a=6,a=2+a,6,8,d=10,d=d-a,10,2,int a,b,c,d,e;,未初始化的 变量不能直接使用,因为其内部的值不知道是什么

12、。,结果会是什么?,#include int main(void) int x, y, sum; sum = x + y ; printf(“sum=%dn”,sum); return 0; ,如何在显示器上显示 我想让计算机显示的内容?,23,24,输出函数 printf() 标准库函数,printf(格式字符串,输出列表);,需要输出的数据,可以是常量、变量或表达式,描述要输出的数据有哪些类型,以及它们将以什么格式输出,int x=29, y=40; (打算输出x+y的结果) printf(%d, x+y); printf(%d+%d=%d, x, y, x+y);,25,举例,#incl

13、ude int main(void) int x=29, y=40; printf(%d n, x+y); printf(%d+%d=%d n, x, y, x+y); return 0; ,2-5.c,例:在屏幕上显示一个加法算式: 29+40=?,26,常用的转换说明符,格式(转换)说明符: 由“”和一个字符组成,27,输出格式中经常引用的转义序列,28,由键盘向变量中存入数据的操作函数 scanf(),读取键盘输入的数据,将数据存(写)入对应变量在内存的存储位置。,scanf(格式字符串,(内存)地址表);,int x; scanf(“%d”,int x, y; scanf(“%d%d”

14、,29,举例,#include int main(void) int data1, data2; printf(“Enter two number: ”); scanf(“%d%d”, ,2-5.c,例:编写一个执行整数相加的加法程序。,30,算术运算中参加运算的另一对象 常量,在程序执行过程中其值不变的数据 例如 int y = 7; x = y 100; y = -0.63 + x; 常量在程序中直接使用。,C程序可中参加运算的数据有两种 变量 常量,数值常量 字符常量 字符串常量,31,常量的写法,十进制数 -39.9 +708 156.02 0 八进制数 -037 0156 +0100

15、 (以数字0开头 ) 十六进制数 0 x61 -0X2A0C 0 x6d (以0 x或0X开头),无符号数 15U 760u,32,常量的写法,指数形式的常量 指数形式是指:尾数、字母e或E、幂值等三个部分组成的实数。 -1.023e-2 (即 -1.02310-2) 尾数是十进制整数或带小数点的实数常量 幂值部分为十进制整型常量;幂值可以带有正号“+”或负号“-”,正号一般省略不写。,33,常量,整型常量:无小数位的数值 实型常量:可带小数的数值(包括指数形式的实数) 例如:-0.05 21.400 3.206e-4 3.206E-4 字符型常量:由一对英文单引号括起的一个字符 A + 5

16、n 字符串常量:一对英文双引号括起一个或多个字符(即多个字符形成的文本字符串) Hello No.35 6,34,符号常量,符号常量:为常量建立一个标识符(也就是给该常量取一个名字)。系统约定用大写字母的形式。 C程序是通过#define编译预处理指令来定义符号常量。 例如,在程序的开始处可以添加若干行编译预处理指令去为常量建立符号名: #define 符号名 常量值,例如:#definePI3.14159 #defineER2 #defineIDCODE35,符号常量的使用实例,#include #define PI 3.14 /* PI 将代表圆周率

17、 */ #define R 6 /* R 将代表半径值6 */ int main(void) double girth, area; girth = 2 * R * PI; area = R * R * PI; printf(girth = %f , area = %f n , girth,area); return 0; ,girth = 2 * 6 * 3.14; area = 6 * 6 * 3.14;,编译前的预处理 做自动替换,36,信息读写基础,系统的输入输出函数都属于C编译器的标准库函数,2-4.c,向屏幕输出文本信息 向屏幕输出数据、文本信息 读取键盘输入的数据 向屏幕输出个一

18、个字符 读取键盘输入的一个字符,printf() 输出函数,puts() 输出函数,scanf() 输入函数,putchar() 输出函数,getchar() 输入函数,37,信息读写基础,2-4.c,在使用标准库函数时,要用编译预处理指令 “#include”将有关的“头文件”包括到用户的源文件中。 标准输入输出函数对应的头文件是stdio.h,所以在程序的开头应该写有如下文件包含指令: #include ,38,输出文本信息的函数,puts()的用法: puts(转义字符和字符文本);,#include int main(void) puts(Hellon world!); system(

19、Pause); return 0; ,39,程序中输出数据的函数,2-4.c,输出函数的一般格式为: printf(转义字符和字面文本); printf(格式字符串,输出列表);,“格式字符串”包括三种信息: 字面文本:为任何文本信息,它将按原本形式直接显示 格式说明符:由“”和一个字符组成,如%d、%f等。它的作用是将输出的数据以指定的格式输出。它总是由“”字符开始。 转义序列。能提供特殊格式控制的控制符号。 “输出表”: 需要输出的一些数据,可以是常量、变量或表达式。,40,常用的转换说明符,41,#include int main(void) int i; for(i = 10; i10

20、00; i += 10) sleep(200); printf( rHello world: %d,i); system(Pause); return 0; ,42,使用输出函数put()或printf(),#include int main(void) 第一行显示I am a student. 第二行显示自己的姓名 第三行显示自己的学号 第四行显示自己的E-mail return 0; ,2-4.c,例:实现执行程序去输出个人基本信息。,43,#include int main(void) int a,b,c,d; a = 3; c = b = a; a = b = c = d = 6; a

21、 = c + (d = 3 * (b = 5); printf(a=%d, b=%d, c=%d, d=%d n,a,b,c,d); printf(a=%d, b=%d, r c=%d, d=%d n,a,b,c,d); return 0; ,44,程序中数据的输入,2-6.c,scanf()函数作用: 读取键盘输入的数据,按照变量在内存的地址将变量的值存进去。 一般格式:scanf(格式字符串,变量地址表);,%f %d %c %lf %s,r, printf(n Enter your number: ); scanf(%d, ,练习,46,#include int main(void) f

22、loat x; do printf(Input x = ); scanf(%f, ,2-6.c,“ 用getchar()函数接收从键盘输入的一个字符 getchar函数(字符输入函数)的作用是接收来自标准输入设备(键盘)输入的一个字符。 getchar函数没有参数,一般形式为 c = getchar(); 函数执行后,返回一个函数值为从键盘输入的字符,48,#include int main(void) char my_c; puts(请输入一个字符:); my_c = getchar(); puts( nn你刚才输入的字符是:); putchar(my_c); printf(nn该字符的AS

23、CII是:%d nn,my_c); system(Pause); return 0; ,2-8.c,例如:查看一个字符的ASCII码。,#include int main(void) char once; /*声明一个字符变量*/ printf(“请输入一个小写字母: n ); once = getchar(); /*接收来自键盘的输入*/ ? putchar(once); system(Pause); return 0; ,例如:将小写字母转换为大写字母,/* 如何做转换 */,50,#include int main(void) char my_c; int asc; printf(nnP

24、lease enter a character: ); my_c=getchar(); printf(Input a character: %c. n Output the ASCII: %d nn, my_c,my_c); printf(Please enter a ASCII number of the character: ); scanf(%d, ,例:查看一个字符及其对应的ASCII码。,2-8.c,练习,51,作业,作业见作业1发布.pdf文件。 以后每次上课开始的15分钟里做课堂练习,请两位同学到黑板上书写程序,其他人要将程序写在一张纸上,同时填写自己的班级、学号、姓名。时间一到,将由各班的课代表负责收集,并立即上交。,52,小结,C语言程序的组成形式 C程序的基本内容: 语句用的关键字、标识符 定义的变量名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论