最简单的C程序设计-顺序程序设计 c语言程序设计 谭浩强_第1页
最简单的C程序设计-顺序程序设计 c语言程序设计 谭浩强_第2页
最简单的C程序设计-顺序程序设计 c语言程序设计 谭浩强_第3页
最简单的C程序设计-顺序程序设计 c语言程序设计 谭浩强_第4页
最简单的C程序设计-顺序程序设计 c语言程序设计 谭浩强_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

第三章

最简单的C程序设计--顺序程序设计C

程序设计任课教师:赵玉萍第三章最简单的C程序设计--顺序程序设计3.1顺序程序设计举例3.2数据的表现形式及其运算3.3C语句3.4数据的输入输出3.1顺序程序设计举例

例3.1有人用温度计测量出用华氏法表示的温度〔如64。F〕,今要求把它转换为以摄氏法表示的温度〔如。C)。例3.2计算存款利息。

有1000元,想存一年。有三种方法可选:〔1〕活期,年利率为r1;〔2〕一年期定期,年利率为r2;〔3〕存两次半年定期,年利率为r3;请分别计算出一年后按3种方法所得的本息和。3.2.1常量和变量1.常量:在程序运行过程中,其值不能被改变的量称为常量。常量的分类:〔1〕整型常量〔2〕实型常量〔3〕字符常量〔普通字符、转义字符〕〔4〕字符串常量〔5〕符号常量3.2数据的表现形式及其运算实型常量即实数,在C语言中又称浮点数,其值有两种表达形式:允许用e31.99935×103错误记法如:e2.5.e8e8e1.E之前必须有数字;2.E之后的指数必须是整数规定:2、转义字符:以“\〞开头的特殊字符字符 含义ASCII码\n换行10\t横向跳格(即跳到下一个输出区)9\b退格8\r回车13\f走纸换页12\\反斜杠92\’输出单引号39\〞输出双引号34\ddd1~3位八进制所代表的字符\xhh1~2位十六进制所代表的字符2、变量:程序运行中其值可以改变的量a30变量名变量值存储单元2000变量地址注意!变量必须“先定义、后使用〞3、常变量eg:constinta=3;想一想:常变量与符号常量有什么不同?4、标识符:在计算机语言中,用来对变量名、函数、数组、类型等命名的有效字符序列统称为标识符。标识符命名规那么:以字母或下划线开头,其后的字符必须是字母、数字和下划线3.2.2数据类型3.2.3整型数据1、整型数据的分类〔1〕根本整型〔int〕:编译系统分配给int型数据2个字节或4个字节。〔2〕短整型〔shortint〕:编译系统分配给短整型数据2个字节。短整型变量的值的范围是-32768~32767〔3〕长整型〔longint或long〕:visualc++编译系统分配给long型数据4个字节。〔4〕双长整型〔longlongint或longlong〕:编译系统一般分配给双长整型数据8个字节。2、整型变量的符号属性见表3.2〔p45〕int标识short(int)long(int)类型名短整型长整型整型字节数242或4Unsignedlong4Unsignedshort2Unsignedint23、关于整型数据的修饰符unsigned和signed说明:〔1〕只有整型数据可以加修饰符unsigned和signed,实型数据不能加;〔2〕对无符号整型数据用“%u〞格式输出。%u表示用无符号十进制数的格式输出。字符型数据1、字符与字符代码并不是任意写一个字符,程序都能识别。目前大多数系统采用ASCII字符集,ASCII字符集包括了127个字符。所有的127个字符都可以用7个二进制位表示。所以在C中,指定用一个字节存储一个字符。字节的第一位置为0。!!注意区分‘1’和整数12、字符变量字符变量的定义:

charc1,c2;字符变量的赋值:

c1=‘A’; c2=‘b’;字符数据的存储形式和使用方法字符数据以ASCII码的形式存放c1=‘a’;c2=‘b’;0110000101100010c1c29798c1c2结论:字符数据和整型数据的存储从形式上没有什么区别,这样就使得字符型数据和整型数据之间可以通用。注意:赋给字符变量的整数范围为0~127在输出字符变量的值时,可以选择以十进制整数形式输出,或以字符形式输出。如:charc=“?〞;printf(“%d%c\n〞,c,c);3.2.5浮点型数据实数的指数形式称为浮点数。实数在计算机内存中按照标准化指数形式存储〔把小数局部中小数点前的数字为0、小数点后第1位数字不为0的表现形式〕。浮点数类型分类:类型定义字节范围单精度实型floatf;41.2*10-38~

3.4*1038

(6位)双精度实型doubled;82.3*10-308~

1.7*10308(15位)长双精度实型longdoubleld;8或163.4e-4932~1.1e4932(19位)由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的。在有效位以外的数字将被舍去,由此可能会产生一些误差。3.2.6怎样确定常量的类型

---从常量的表示形式判断其类型整型常量:不带小数点的数值是整型常量。浮点型常量:凡以小数点形式或指数形式出现的实数,都是浮点型常量,在内存中都以指数形式存储。C编译系统把浮点型常量都按双精度处理,分配8个字节。特别说明:可以在整数的末尾加大写字母L或小写字母l,表示它是长整型。如123L,234l可以在实型常量后面加字母F或f,表示是float型常量;也可以在实型常量后面加字母L或l,表示是longdouble型常量。3.2.7运算符和表达式算术运算符

+、-、*、/、%、++、--关系运算符>、>=、<、<=、==、!=逻辑运算符!(非)&&(与)||(或)赋值运算符=、+=、-=、*=、/=、%=C运算符分类1、根本的算术运算符+、-、*、/、%〔求余〕其中:/——假设两个操作数均为整型,那么为整除运算。%——两个操作数只能为整数如:8/3=2而8.0/3=2.666…10%4=2而10.0%4出错!2、自增、自减运算符++--作用:使变量值加1或减1种类:前置:++i,--i(先执行i+1或i-1,再使用i值〕后置:i++,i--(先使用i值,再执行i+1或i-1〕例1:设inti=3,j;执行:j=++i;i=i+1;j=i;j=4i=4执行:j=i++;j=i;i=i+1;j=3i=4例2:设intx=5;执行:printf(“%d”,++x);x=x+1;printf(“%d”,x);输出:6x的值为6执行:printf(“%d”,x++);printf(“%d”,x);x=x+1;输出:5x的值为6注1:++、--运算只能用于变量,不能用于常量和表达式!〔i+1〕++;×5++;×注2:++、--运算优先级高于+、-、*、/-i++;-〔i++〕i+++j;〔i++〕+j注3.++、--运算不易理解,使用是尽量防止复杂使用。3、算术表达式和运算符的优先级与结合性C算术表达式:运算符的优先级:运算符的结合性:4、不同类型数据间的混合运算程序中不同类型的数据可以进行运算。如果一个运算符的两侧的数据类型不同,那么先自动进行类型转换,使二者具有同一种类型,然后进行运算。转换规律为〔见p54〕5、强制类型转换一般形式:〔类型名〕〔表达式〕例(int)(x+y)(int)x+y(double)(3/2)(int)3.6说明:强制转换得到所需类型的中间变量,原变量类型不变例main(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d〞,x,i);}结果:x=3.600000,i=3语言程序设计第二章C6、C运算符C运算符算术运算符:(+-*/%++--)关系运算符:(<<===>>=!=)逻辑运算符:(!&&||)位运算符:(<<>>~|^&)赋值运算符:(=及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符:(*&)求字节数:(sizeof)强制类型转换:(类型)分量运算符:(.->)下标运算符:([])其它:(())3.3C语句C程序源程序文件1源程序文件2源程序文件n预处理命令全局变量声明函数1函数n函数首部函数体局部变量声明执行语句…………C语句分类控制语句①if()~else~ 〔条件语句〕②for()~ 〔循环语句〕③while()~ 〔循环语句〕④do~while()~〔循环语句〕⑤continue 〔结束本次循环〕⑥break 〔中止switch或循环语句〕⑦switch 〔多分支选择语句〕⑧goto 〔转向语句〕⑨return 〔从函数返回语句〕函数调用语句 printf("Thisisacstatement.");表达式语句 i=i+1 〔不是语句〕 i=i+1; 〔是语句〕 x+y; 〔是语句,但无实际意义〕空语句;复合语句 {z=x+y; t=z/100; printf("%f",t); }C语句〔续〕3.3.2最根本的语句---赋值语句例3.4给出三角形的三边长,求三角形的面积。解题思路---编写程序---运行结果---程序分析1、赋值运算符格式:变量名=数值或表达式作用:变量:值将等号右边的值传给左边的变量例a=3;d=func();c=d+2;注:等号的左边不可以是常量或表达式!例3=x-2*y;×a+b=3;×2、复合赋值运算符+=、-=、*=、/=、%=格式:变量

(运算符)=表达式如:a*=2等价格式:变量

=变量

(运算符)表达式如:a=a*2又如:有:a=2;b=3;c=5;a+=b;a=a+b;a=52)a*=b+c;=>a=a*(b+c);=>a=2*(3+5)=163)a%=c+2;=>a=a%(c+2);=>a=2%(5+2)=23、赋值表达式格式:<变量><赋值运算符><表达式>如:x=1表达式的值=变量的值如:a=b=5中有两个赋值表达式:b=5b的值为5

该表达式的值为5a=(b=5)a的值为5(表达式b=5的值)

该表达式的值为5

注意区分:变量的值和表达式的值2.a=(b=4)+(c=6)赋值表达式1值为4赋值表达式2值为6赋值表达式3值为4+6=10故:表达式的值=10a=10b=4c=63.a+=a-=a*a赋值表达式1赋值表达式2假设:a=3那么:a-=a*aa=a-a*a=-6a的值为-6,表达式的值为-6a+=(a-=a*a)

a=a+(…)=-6+(-6)=-12a的值为-12,表达式的值为-12小结:尽量使用简单赋值!4、赋值过程中的类型转换

如果赋值运算两侧的类型一致,那么直接赋值。如果赋值运算符两侧的类型不一致,但都是数值型或字符型,在赋值时要进行类型转换。类型转换是由系统自动转换的。规那么如下:p625.赋值表达式和赋值语句注意:1.要区分赋值表达式和赋值语句。

2.赋值表达式的末尾没有分号,赋值语句的末尾必须有分号。

3.在一个表达式中可以包含一个或多个赋值表达式,但绝不能包含赋值语句。6.变量赋初值---定义变量的同时赋值inta=3;doublef=3.56;charc=‘a’;1.可以对被定义的变量中的一局部赋初值;inta,b,c=5;2.可以对几个变量赋予同一个初值;inta=3,b=3,c=3;√Inta=b=c=3;×3.4数据的输入输出3.4.1输入输出举例例3.5求ax2+bx+c=0方程的根。a,b,c由键盘输入,设b2-4ac>03.4.2数据的输入输出的概念…输入…输出数据输入输出3.6字符数据的输入输出1.用putchar函数输出一个字符格式:putchar(字符变量)功能:向显示器输出一个字符准备工作:使用时必须将库文件“〞包含到用户源文件中。预编译语句:#include“〞放在源文件开头例3.1输出几个字符#include<>main(){chara,b,c;a=‘B’;b=‘O’;c=‘Y’;putchar(a);putchar(b);putchar(c);}

BOY注:putchar()函数一次只能输出一个字符!#include<>main(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);}运行结果:AB例格式:getchar()功能:从计算机终端〔一般是显示器的键盘〕输入一字符返值:正常,返回读取的代码值;出错,返回EOF(-1)2用getchar函数输入一个字符例3.2输入单个字符#include<>main(){charc;c=getchar();putchar(c);}aa运行结果:P65例:区分不同情况下的输入产生的输出?P66例:getchar的其他使用形式。3.7简单的格式输入与输出3.7.1printf函数〔格式输出函数〕printf函数的一般格式 printf(格式控制,输出列表)例: … printf("%d%d",a,b); printf("a=%db=%d",a,b); …格式声明输出列表按原样输出1011a=10b=11如果a为10,b为11输出结果如下112.printf格式字符sd,iox,Xufe,Eg,Gc输出一个字符串格式符说明用带符号十进制数形式输出整数(正数前的"+"号不输出)用8进制无符号形式输出整数(不输出前导符0)用16进制无符号形式输出整数(不输出前导符0x)用无符号十进制形式输出整数用小数形式输出单,双精度数(缺省输出6位小数)用标准指数形式输出单,双精度数选用%f,%e格式中输出宽度较短的一种输出一个字符s√√√√√3.7.2scanf函数〔格式输入函数〕1.scanf的一般形式:

scanf(格式控制,地址列表)例:main(){inta,b,c;scanf("%d%d%d",&a,&b,&c);printf("%d,%d,%d\n",a,b,c);}acb5845,8,4548的格式字符格式字符说明d,i输入有符号的十进制整数u输入无符号的十进制整数

温馨提示

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

评论

0/150

提交评论