已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机程序设计基础,第一章C语言基本语法元素,提纲,1.1数据类型1.2量与表达式1.3语句1.4基本输入输出函数1.5程序设计风格本章小结,1.1数据类型,整数类型使用int定义整数类型的数据对象整数类型具有取值范围,仅能表示特定区间内整数值浮点数类型使用double或float表示小数同样具有取值范围首选double字符串类型字符序列以整体的形式作为数据对象使用本书配套zylib库中的STRING类型表示字符串,易于使用,整数类型,整数类型定义a为整数:inta;整数的符号:确定是否表示负数signed、unsigned定义b为无符号整数:unsignedintb;整数的长短:确定整数取值范围的大小long、short定义c为短整数:shortintc;,浮点数类型:double,编写程序,计算用户输入的两个浮点数之和,#includeintmain()doublea,b,sum;printf(Theprogramaddstworealnumbers.n);printf(Thefirstrealnumber:);scanf(%lf,浮点数类型:float,编写程序,计算用户输入的两个浮点数之和,#includeintmain()floata,b,sum;printf(Theprogramaddstworealnumbers.n);printf(Thefirstrealnumber:);scanf(%f,字符串类型:STRING,接受用户输入的用户名,向用户问好,#include#includezylib.h/使用双引号而不是尖括号包含配套库intmain()STRINGname;printf(Theprogramreadsusersname,andprintsagreeting.n);printf(Yourname:);name=GetStringFromKeyboard();/*配套库已实现的函数,获取用户输入的字符串,以用户输入的文本行为单位*/printf(Hello,%s.n,name);/使用s输出字符串return0;,工程项目的设置,基本步骤创建新工程,设置好工程项目中文件的目录,程序代码可能位于工程项目目录下的子目录中将文件“zylib.h”与“zylib.c”拷贝到程序目录下在工程项目中添加上述文件在程序代码中使用双引号包含头文件“zylib.c”特别说明工程项目的意义:将程序组织成一个项目整体进行开发和管理,一般需要创建单独的工程才能开发程序不同编译器的工程项目设置并不相同,1.2量与表达式,表达式变量文字与常量赋值与初始化操作符与操作数混合运算与类型转换,表达式,表达式的定义操作数与操作符序列,表达运算过程操作数:文字、量、函数调用、括号操作符:运算逻辑表达式值:运算结果表达式求值:计算表达式值的过程类比:按普通四则运算理解表达式求值过程,逐一计算表达式中所有操作符,直至完成,变量,先定义再使用定义格式:变量类型变量名称,变量名称;单独定义例:inta;同时定义例:doubleb,c;变量名称应既有惟一性:不允许重名变量的四大基本特征(VANT)变量总是具有值(value)变量总是与内存中的地址(address)相对应变量总是具有名称(name)变量总是具有确定的类型(type),文字,定义:程序中单独出现的值例:3.14、100等整数类型文字十进制、十六进制、八进制浮点类型文字字符串类型文字,整数类型文字,十进制表示:普通整数表示十六进制表示:逢十六进一,无正负号以“0 x”或“0X”开头的09、A/aF/f序列例:0 x55、0X1F、0 x2a0 x5516=8510八进制表示:逢八进一,无正负号以“0”开头的07序列例:0550558=4510注意不要与十进制混淆!,浮点数类型文字,一般形式:小数表示法由整数部分、小数点与小数部分组成例:3.1416、2.718281828指数形式:科学计数法由尾数部分、字符E/e与指数部分组成例:3.14e3=3.14103、2.7E2=2.7102,字符串类型文字,双引号引起来的字符序列例:ProgramminginC、HelloWorld!n双引号是字符串文字的界定符,不是字符串的内容!转义序列字符串不仅可以包含可打印字符,也可以包含表示特殊活动的特殊字符格式:使用反斜杠开始转义序列,后跟一个或多个字符转义序列整体作为单个字符进行处理,样式固定例:n、,C语言预定义的转义序列,常量,常量的定义:程序执行期间其值不可改变的量格式:const数据类型常量名称初始值;例:constintzero0;常量的意义解决直接出现的文字无法解释其意义的问题文字?魔数也!常量与变量常量不可改变值,其他与变量同定义常量时必须进行初始化!常量初始值必须能够在编译期间计算出来,赋值与初始化,赋值表达式格式:变量名称表达式例:a=0赋值语句:赋值表达式加分号格式:变量名称表达式;例:a=b+c;变量的初始化在定义变量时直接设定初始值例:inta=0;,赋值流程,赋值流程,a=1;,赋值流程,a=1;b=2;,赋值流程,a=1;b=2;sum=a+b;,操作符与操作数,操作符分类一元操作符:只有单个操作数,例如负号二元操作数:带有两个操作数,例如加减乘除等三元操作数:带有三个操作数,例如条件表达式(仅在C语言中存在惟一一种)操作符的优先级与结合性优先级确定计算顺序,结合性确定计算方向操作符的优先级仅具有参考价值,C语言对于特殊表达式的计算有特别规定,并不完全遵照该规则!如果拿不准,使劲加括号,混合运算与类型转换,编写程序,询问用户姓名,向用户问好,然后请求用户输入一整数和一实数,输出加法运算结果,#include#includezylib.h/使用双引号而不是尖括号包含配套库intmain()STRINGname;intn;doubled,sum;printf(Theprogramreadsusersname,andprintsagreeting,n);printf(andaddsanintegerandarealnumber.n);printf(Yourname:);name=GetStringFromKeyboard();/*获取输入字符串,以用户输入的文本行为单位*/printf(Hello,%s.n,name);/输出字符串printf(Pleaseinputaninteger:);n=GetIntegerFromKeyboard();/*获取输入整数,以回车确认输入*/printf(Pleaseinputarealnumber:);d=GetRealFromKeyboard();/*获取输入浮点数,以回车确认输入*/sum=n+d;printf(%d+%lf=%lfn,n,d,sum);return0;,隐式类型转换与显式类型转换,隐式类型转换程序自动进行,程序员不需要干预转换原则:一般以不损失精度为前提赋值时右边表达式值先转换为变量类型后再进行显式类型转换程序员手工进行的类型转换格式:(转换后的数据类型)原表达式例:设inta;doubleg=9.80665;a=g;/进行隐式类型转换,小数部分舍弃,a值为9a=(int)g*4;/进行显式类型转换,a值为4*9=36a=(int)(g*4);/进行显式类型转换,a值为39,1.3语句,简单语句格式:表达式后跟分号例一:sumn+d;例二:n=GetIntegerFromKeyboard();例三:printf(%d+%lf=%lfn,n,d,sum);复合语句格式:花括号对括起来的语句序列例:a=1;b=a+1;空语句格式:单独出现的分号目的:满足程序特定语法规则的要求;作为未来添加程序代码的占位标记,1.4基本输入输出函数,基本事实输入输出是语言与算法必须具备的功能C语言本身没有输入输出语句或命令,输入输出需使用标准库函数输入输出函数原型位于头文件“stdio.h”中典型输入输出函数格式化输出函数printf格式化输入函数scanf,格式化输出函数printf,格式化输出函数printf调用格式格式:printf(输出格式规约字符串,输出项列表);例一:printf(Theprogramprintsagreeting.n);例二:printf(Hello,%s.n,name);例三:printf(%f+%f=%fn,a,b,sum);例四:printf(%d+%lf=%lfn,n,d,sum);%y:格式描述符%d:十进制整数%f:float类型浮点数;%lf:double类型浮点数%c:单个字符%s:字符串%u:无符号整数,printf函数示例,编写程序,按照下列格式输出截止2005年底的部分省市统计数据。所有数据均来自各地政府官方网站,面积仅包括陆域(单位:平方公里),人口仅包括户籍人口(单位:万人),其中部分数据为约数。,左右对齐,场宽、精度与对齐,输出格式%对齐标志场宽.精度格式描述符对齐标志:确定每列左侧还是右侧对齐缺省右对齐,左对齐使用减号例:%-d表示按照左对齐格式输出整数场宽:确定每列占用多少字符宽度,数据输出一般不会截断确定输出最小宽度,超出部分照常输出例:%3d表示按照右对齐、占三位格式输出整数,若整数长度超出三位,则照常输出数据,场宽、精度与对齐,精度:确定输出多少位数据以保证其精度精度数字前有小数点标志,在场宽中占用一位!例:%-5.2f表示按照左对齐、整体占五位且小数点后两位格式输出浮点数数据的截断例一:按%-5.2f格式输出12.3456,结果为12.35,注意四舍五入例二:按%-5.2f格式输出123.456,结果为123.46,注意截断后的数据仍然超出了场宽,照常输出字符串截断输出特例:%13.13s表示按照整体占13位且多余部分截断的方式输出字符串,程序代码,#include#includezylib.hintmain()STRINGprovince1,province2,province3,province4,province5;doublearea1,area2,area3,area4,area5;doublepop1,pop2,pop3,pop4,pop5;province1=Anhui;area1=139600;pop1=6461;province2=Beijing;area2=16410.54;pop2=1180.70;province3=Chongqing;area3=82400;pop3=3144.23;province4=Shanghai;area4=6340.50;pop4=1360.26;province5=Zhejiang;area5=101800;pop5=4894;printf(-n);printf(ProvinceArea(km2)Population(10K)n);printf(-n);printf(%-13.13s%9.2lf%-.2lfn,province1,area1,pop1);printf(%-13.13s%9.2lf%-.2lfn,province2,area2,pop2);printf(%-13.13s%9.2lf%-.2lfn,province3,area3,pop3);printf(%-13.13s%9.2lf%-.2lfn,province4,area4,pop4);printf(%-13.13s%9.2lf%-.2lfn,province5,area5,pop5);printf(-n);return0;,格式化输入函数scanf,格式化输入函数scanf调用格式格式:scanf(输入格式规约字符串,输入项列表);例:scanf(%d,%d,特别说明输入格式码与输出格式码基本相同用户在终端输入的数据逐一存放到输入项列表中变量所在的地址空间;对于普通变量,变量名前需添加取址操作符“格式二:“/”,注释从此字符序列开始直至本文本行结束例二:inta;/此处内容为注释特别说明同一种注释标记不可以嵌套“/”不跨行,“/*”与“*/”对可跨行,命名规范,字符集:ASCII字符集大小写英文字母、数字、部分特殊符号标识符以下划线或字母开头,由下划线、字母、数字组成,表示常量、变量、函数、类型等名称,区分大小写!关键字:系统专用的具有特定意义的标识符预定义标识符:编译命令与库函数名,具有特定意义,一般不能重新定义用户定义标识符:用户根据需要定义,主要是为了使程序容易阅读、理解与维护,宏与常量,宏定义#define指令:预处理命令例:#definePI3.14一旦定义,可以代替常量使用宏定义不是常量!程序中应优先使用常量而不是宏目的与意义增强程序可读性使用有意义的名字命名增强程序的可维护性将值定义为符号常量,则程序中仅需要修改一次,#include#definePI3.14intmain()doubler,area;r=3.0;area=PI*r*r;printf(%f,area);return0;,赋值语句的简写形式,加赋:x+=a等价于x=x+a减赋:x-=a等价于x=x-a乘赋:x*=a等价于x=x*a除赋:x/=a等价于x=x/a除法作用于整数上时,结果也为整数余赋:x%=a等价于x=x%a:两个整数进行整数除法,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水利施工项目成本控制方案
- 2025年煤矿矿山救护队员换证复审安全培训试卷及答案:救护与救援
- 2025年煤矿电气焊工三级安全教育培训试卷及答案:焊接作业安全防护措施
- 2025年煤矿紧急救援演练评估试卷及答案
- 医院精神科护理操作流程标准
- 幼教中心亲子活动策划与效果评价
- 销售数据分析在客户管理中的应用
- 园林绿化工程施工预算规范
- 企业物流管理流程优化实务指导
- 小学语文重点教学设计案例
- 五花肉课件教学课件
- 2025中数联物流科技(上海)有限公司招聘考试参考试题及答案解析
- 小学感恩教育主题班会 课件
- 新媒体营销推广案例分析
- 道路客运驾驶员从业资格年度考核报告
- 制药设备改造协议书
- 2025年大学《历史学》专业题库- 中国古代史的专题研究
- 隧道下穿燃气管道爆破施工技术方案
- DG-TJ08-401-2025 公共厕所规划和设计标准
- 个人信息保护规则及制度
- 大学生护理生涯规划书
评论
0/150
提交评论