您好,欢迎访问三七文档
C语言程序设计(C99版)清华大学出版社第二章2020/9/201本书内容第1章基础知识第2章C语言的基本要素第3章变量名、数据类型、运算符和表达式第4章C程序基本控制结构第5章函数第6章数组和指针第7章递归第8章结构、联合、位运算和枚举类型第9章预处理命令第10章文件第11章高级话题第12章C89VsC99实验(待安排)C语言程序设计(C99版)清华大学出版社第二章2020/9/202变量定义、算术表达式、赋值语句和while语句本章主要内容ARMVectorTableFIQIRQ(Reserved)DataAbortPrefetchAbortSoftwareInterruptUndefinedInstructionReset0x1C0x180x140x100x0C0x080x040x00132第一个C语言程序C语言程序的开发过程4for循环语句、常量5字符的输入和输出操作、函数6字符、整型数组和外部变量C语言程序设计(C99版)清华大学出版社第二章2020/9/203本章的节本要求•本章主要介绍C语言的核心要素,通过本章的学习读者会对C语言有一个整体的基本概念,并能够编制基本的C程序。•本章将主要集中在以下基本内容上:变量、常量、运算符、表达式、控制流、函数、以及基本的输入输出库函数等。•让初学者快速建立对C语言程序设计的整体概念,并能够编制一些简单有趣的C程序。最常使用的20%元素C语言程序设计(C99版)清华大学出版社第二章2020/9/204•学习或者教学C语言最重要的第一步是让学习者能够动手。•动手能够增强学习者的信心,而信心对学好C语言来说是重要的。•在阅读过程中,作者希望初学者把主要精力放在基本要素上,感觉有难度的内容可以先放一放。C语言程序设计(C99版)清华大学出版社第二章2020/9/2052.1C语言程序的开发过程•第一步:编辑——得到源程序。•第二步:编译——得到目标码。•第三步:连接——得到可执行代码。•第四步:装载运行程序——得到结果。程序开发调试过程C语言程序设计(C99版)清华大学出版社第二章2020/9/2062.2第一个C语言程序•开发工具:VC++工具,或者Dev-C++工具等。•其次,学会该工具的基本使用方法。•下面以“HelloWorld”程序为例:•例题2.1输出“HelloWorld!”C语言程序设计(C99版)清华大学出版社第二章2020/9/207#includestdio.hintmain(void){printf(HelloWorld!\n);return0;}预处理命令主函数被调函数函数参数函数返回值C语言程序设计(C99版)清华大学出版社第二章2020/9/208•main()函数是特殊函数。•任何C程序必须有且只能有一个main()函数。•main()函数可以放在C程序的任意位置。•C程序的运行必须从main()函数开始,而且也在main()函数中结束。•通过main这个名字才能找到将要执行的程序入口。mainC语言程序设计(C99版)清华大学出版社第二章2020/9/209•函数就是组成C语言程序的一个一个的功能模块,就像房子是由一块块砖头搭建起来的一样,C程序就是由一个个的函数组建而来的。•函数是C程序的基本单位,一般一个函数完成某一个相对独立的功能。•在C语言中,满足函数定义格式要求的就是一个函数。•函数包括函数头和函数体两部分。C语言程序设计(C99版)清华大学出版社第二章2020/9/2010图2.1函数定义的基本形式及函数调用的传值过程intMax(intx,inty){intz;if(xy){z=x;}else{z=y;}return(z);}函数头函数体变量定义部分可执行语句部分c=Max(a,b)(函数调用时的复制传值过程)函数定义部分函数参数的对应关系C语言程序设计(C99版)清华大学出版社第二章2020/9/2011例题2.2比较两个整数的大小intMax(intx,inty);c=Max(a,b);intMax(intx,inty){……;}声明时有类型调用时无类型定义时有类型C语言程序设计(C99版)清华大学出版社第二章2020/9/2012C程序的基本结构•1.C语言程序的注释——/*和*/中间所包含的任何内容即为注释部分。•2.main()函数及其返回值——是主函数的函数名,main()函数名是操作系统调用C程序的入口。•3.函数参数和返回值——intMax(intx,inty)”则有两个参数,一个是x,一个是y。C语言程序设计(C99版)清华大学出版社第二章2020/9/2013intMax(intx,inty)函数返回值类型函数名函数参数表C语言程序设计(C99版)清华大学出版社第二章2020/9/2014•4.函数体——包含在函数名后面的一对大括弧“{}”之间的部分就是函数体。•构成函数体的基本要素,一般分为两种:一种是变量定义、声明语句;一种是可执行语句。•变量定义语句:•inta,b,c;•intz;函数体大括弧{}之间的内容。C语言程序设计(C99版)清华大学出版社第二章2020/9/2015C程序的运行过程•假设例题2-2的每一条语句所对应的机器指令都只占据一个字节。•那么程序编译、连接、装载以后所对应的程序内存空间将抽象为如图2.2所示的结构。•同时,假定:•1.假定计算机有两个读写头,一个是程序读写头;另一个是数据读写头。•2.假定变量定义语句也会在程序中产生可执行代码对应PC对应SPC语言程序设计(C99版)清华大学出版社第二章2020/9/2016printf();system();return0;}0x100000070x100000060x100000050x100000040x000000000xFFFFFFFFmain(void){inta,b,c;a=10;b=20;0x100000030x100000020x100000010x10000000程序读写头z}system(){y}0x1000101F0x3000FFFB0x100010080x100010070x3000FFFA0x10001000printf(){intz;if(xy)z=x;elsez=y;return(z);}0x100001040x100001030x100001020x100001010x10000100Max(x,y){主函数主自定义函数库函数数据区c=Max(a,b);xc0x3000FFFD0x3000FFFCba0x3000FFFF0x3000FFFE程序区堆栈区数据读写头图2.2程序和数据在内存中的抽象PCSPC语言程序设计(C99版)清华大学出版社第二章2020/9/2017变量定义、算术表达式、赋值语句和while语句•完成一段数据转换任务:•它按照公式m=(1+3n+3n2+n3),计算m的值。•当正整数n从0变化到99时,要求在终端上显示表格2.1的内容:C语言程序设计(C99版)清华大学出版社第二章2020/9/2018表2.1例题2.3的数值转换表nm=(1+3n+3n2+n3)01182273644125............9794119298970299991000000C语言程序设计(C99版)清华大学出版社第二章2020/9/2019例题2.3数值转换程序(第一版):•在程序中,设计了两个函数:•一个是必不可少的main()函数,•另一个是数据转换函数Convert(),它完成公式m=(1+3n+3n2+n3)的计算。注意结果的取值范围。C语言程序设计(C99版)清华大学出版社第二章2020/9/2020将int改为long有什么好处?intConvert(intx);intmain(void){while(n=bottom){m=Convert(n);}}intConvert(intx){intz;z=1+3*x+3*x*x+x*x*x;return(z);}C语言程序设计(C99版)清华大学出版社第二章2020/9/2021•变量定义语句:变量类型和变量名列表inttop;intbottom;intstep;inta,b,c;变量类型变量名列表C语言程序设计(C99版)清华大学出版社第二章2020/9/2022表2.2几种不同的数据类型类型在典型系统中占据的字节数意义C标准规定的最小取值范围char1字符型0~127或者0~255short2短整型-32768~32767long4长整型-231~231-1float4浮点型1E–37~1E+37,6位精度double8双精度浮点型1E–37~1E+37,10位精度C语言程序设计(C99版)清华大学出版社第二章2020/9/2023•赋值语句:top=0;bottom=99;step=1;n=top;将0赋值给top变量,并非代数运算的等于符号。C语言程序设计(C99版)清华大学出版社第二章2020/9/2024•算术表达式:•z=1+3*x+3*x*x+x*x*x;•/*算术表达式*/注意3x需要写为3*x。C语言中3x时错误的。C语言程序设计(C99版)清华大学出版社第二章2020/9/2025当…时•while循环语句:while(n=bottom){m=Convert(n);printf(%d\t%d\n,n,m);n=n+step;}当型循环结构。C语言程序设计(C99版)清华大学出版社第二章2020/9/2026•while循环操作步骤:•1.测试while后的条件表达式,如果条件不成立则退出while循环语句;•2.如果条件表达式成立,则执行while后面的循环体部分(也就是while后大括弧之间的内容,如果循环体只有一个语句,也可以去掉大括弧,此时循环体就是while后的第一条语句)。•3.转入1(进行下一次while循环)。C语言程序设计(C99版)清华大学出版社第二章2020/9/2027表2.3while循环时内存的变换过程循环次数第1次第2次第3次......第98次第99次第100次退出m1827......94119297029910000001000000n012......979899100step111......1111C语言程序设计(C99版)清华大学出版社第二章2020/9/2028•显示输出函数printf()•printf()是一个通用的格式输出函数。它有两个输出参数,第一个参数是格式输出控制字符串,第二个参数是输出项,第二个参数可以缺省,也可以有多个输出项。•在第一个参数中的%是格式控制字符,它控制后面参数中对应的输出项以%后面字符对应的格式输出。C语言程序设计(C99版)清华大学出版社第二章2020/9/2029%dn\t表示跳8个空格C语言程序设计(C99版)清华大学出版社第二章2020/9/2030表2.4常用的输出格式控制字符%d以整数形式输出%6d以整数形式输出,且输出域宽为6位。%f以浮点数形式输出%6f以浮点形式输出,且输出域宽为6位。%.2f以浮点形式输出,且小数点后2位。%6.2f以浮点形式输出,6位宽度,小数点后2位。数字表示输出的域宽字母表示输出数据类型C语言程序设计(C99版)清华大学出版社第二章2020/9/20312.4for循环语句用for()循环实现while。如下:for(n=top;n=bottom;n=n+step){m=Convert(n);printf(%d\t%d\n,n,m);}For型循环C语言程序设计(C99版)清华大学出版社第二章2020
本文标题:C语言的基本要素
链接地址:https://www.777doc.com/doc-7029049 .html