资源目录
压缩包内文档预览:(预览前5页/共41页)
编号:74277575
类型:共享资源
大小:3.20MB
格式:ZIP
上传时间:2020-04-19
上传人:独**
认证信息
个人认证
王**(实名认证)
江苏
IP属地:江苏
20
积分
- 关 键 词:
-
乔林
计算机
程序设计
基础
- 资源描述:
-
乔林-计算机程序设计基础(第2版),乔林,计算机,程序设计,基础
- 内容简介:
-
计算机程序设计基础 第一章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 include zylib h 使用双引号而不是尖括号包含配套库intmain STRINGname printf Theprogramreadsuser sname 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 开头的0 9 A a F f序列例 0 x55 0X1F 0 x2a0 x5516 8510八进制表示 逢八进一 无正负号以 0 开头的0 7序列例 0550558 4510注意不要与十进制混淆 浮点数类型文字 一般形式 小数表示法由整数部分 小数点与小数部分组成例 3 1416 2 718281828指数形式 科学计数法由尾数部分 字符 E e 与指数部分组成例 3 14e3 3 14 103 2 7E 2 2 7 10 2 字符串类型文字 双引号引起来的字符序列例 ProgramminginC HelloWorld n 双引号是字符串文字的界定符 不是字符串的内容 转义序列字符串不仅可以包含可打印字符 也可以包含表示特殊活动的特殊字符格式 使用反斜杠开始转义序列 后跟一个或多个字符转义序列整体作为单个字符进行处理 样式固定例 n C语言预定义的转义序列 常量 常量的定义 程序执行期间其值不可改变的量格式 const数据类型常量名称 初始值 例 constintzero 0 常量的意义解决直接出现的文字无法解释其意义的问题文字 魔数也 常量与变量常量不可改变值 其他与变量同定义常量时必须进行初始化 常量初始值必须能够在编译期间计算出来 赋值与初始化 赋值表达式格式 变量名称 表达式例 a 0赋值语句 赋值表达式加分号格式 变量名称 表达式 例 a b c 变量的初始化在定义变量时直接设定初始值例 inta 0 赋值流程 赋值流程 a 1 赋值流程 a 1 b 2 赋值流程 a 1 b 2 sum a b 操作符与操作数 操作符分类一元操作符 只有单个操作数 例如负号二元操作数 带有两个操作数 例如加减乘除等三元操作数 带有三个操作数 例如条件表达式 仅在C语言中存在惟一一种 操作符的优先级与结合性优先级确定计算顺序 结合性确定计算方向操作符的优先级仅具有参考价值 C语言对于特殊表达式的计算有特别规定 并不完全遵照该规则 如果拿不准 使劲加括号 混合运算与类型转换 编写程序 询问用户姓名 向用户问好 然后请求用户输入一整数和一实数 输出加法运算结果 include include zylib h 使用双引号而不是尖括号包含配套库intmain STRINGname intn doubled sum printf Theprogramreadsuser sname 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 lf n 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语句 简单语句格式 表达式后跟分号例一 sum n d 例二 n GetIntegerFromKeyboard 例三 printf d lf lf n 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 f n a b sum 例四 printf d lf lf n 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 include zylib h intmain 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 2lf n province1 area1 pop1 printf 13 13s 9 2lf 2lf n province2 area2 pop2 printf 13 13s 9 2lf 2lf n province3 area3 pop3 printf 13 13s 9 2lf 2lf n province4 area4 pop4 printf 13 13s 9 2lf 2lf n province5 area5 pop5 printf n return0 格式化输入函数scanf 格式化输入函数scanf调用格式格式 scanf 输入格式规约字符串 输入项列表 例 scanf d d 特别说明输入格式码与输出格式码基本相同用户在终端输入的数据逐一存放到输入项列表中变量所在的地址空间 对于普通变量 变量名前需添加取址操作符 多个输入项的分隔 格式描述串中其他字符需在输入数据时一并输入 无分隔字符的相连项在输入时使用空格 Tab或回车键分隔不要使用scanf 使用zylib库中的三个函数代替 整数输入 GetIntegerFromKeyboard浮点数输入 GetRealFromKeyboard字符串输入 GetStringFromKeyboard 1 5程序设计风格 注释命名规范宏与常量赋值语句的简写形式源代码的排版 注释 注释的目的 增强程序的可读性 可维护性注释的格式格式一 与 对 注释其中的部分 可出现在程序代码的任意地方例一 int 此处内容为注释 a 格式二 注释从此字符序列开始直至本文本行结束例二 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。