c语言写我爱你中国编程,c程序设计案例汇编课件.ppt

C程序设计案例汇编 2011 4 第二章初识C语言程序设计 学习目标通过本章的学习 学会 1 在屏幕上输出显示需要的信息 2 给予简单的数据 进行处理 输出结果 3 输入输出函数的简单使用 4 简单的分支操作 5 简单的循环操作 C语言程序设计 本章内容2 1在标准输出设备上显示2 2简单数据处理2 3有选择条件的数据处理2 4有重复操作的数据处理 2 1在标准输出设备 屏幕 上显示 案例2 1 一个精典的输出使用C语言编写程序 输出 我爱你 中国 程序运行结果的输出示例如图2 1 1 案例2 1的源程序 显示 我爱你 中国 注释文本 include 编译预处理命令 intmain void 主函数main printf 我爱你 中国 n 调用printf函数输出文字 return0 返回1个整数0 2 归纳分析 用 和 包含或用 开头的文本部分称为程序注释 include这是一个编译预处理命令 用于包含头文件stdio h 即标准输入输出函数的头文件 在源程序中调用的printf 函数是C语言库函数 在系统头文件stdio h中声明 因此在源程序开头用 include把它包含进来 main 函数是C语言的主函数 每个C语言程序都是从main 开始执行的 它是启动函数的入口 必须有且只有一个main 函数 n 是转义字符 表示换行 说明 双引号 分号必须使用半角状态下的符号 案例2 2 控制输出内容使其显示在不同的行 在屏幕上输出两句话 刚刚开始学习C语言 不要着急 每句显示在不同的行上 程序运行结果的输出示例如图2 2 1 案例2 2的源程序 输出显示在不同行上 版本1 includeintmain void 主函数main printf 刚刚开始学习C语言 n不要着急 n 调用函数输出文字 return0 返回1个整数0 2 归纳分析 printf 函数调用中按原样输出的字符串部分 在两句话中间增加换行符 此处用转义字符 n 来实现 也可以用两个函数调用语句来完成此功能 输出显示在不同行上 版本2 includeintmain void printf 刚刚开始学习C语言 n 调用函数输出文字 printf 不要着急 n return0 返回1个整数0 转义字符 n 在printf 中起到了控制输出显示内容在不同行上的功能 它使得光标移到下一行的开始位置 如果连续使用 就可以得到空行的显示效果 2 2简单数据处理 案例2 3 计算实际销售价格 某百货商场让利促销 某品牌的衣服打折销售 每件衣服原价为358元 每件衣服的现售价格为原价的5 8折 即 其中 price为现价 old price为原价 编写程序 计算衣服的实际销售价格 结果精确到元 运行结果示例如图2 3 1 案例2 3的源程序 计算现价 includeintmain void intprice old price 定义2个整型变量 price表示现价 old price表示原价 空行 用于分隔变量定义和可执行语句 old price 358 对变量old price赋值 price 5 old price 8 计算衣服的现价 printf 原价 d元 现价 d元 n old price price 输出结果 return0 2 归纳分析 intprice old price 定义了两个整型变量price和old price 分别表示衣服的现价和原价 在C语言中对变量一定要依照 先定义后使用 的原则 在定义时确定其数据类型 C语言中在函数外面定义的全局变量或在函数内定义的静态局部变量 它们存放在程序的静态数据区 C语言中在函数内定义的自动变量即局部变量存放在程序的动态数据区 它们的有效范围只局限于所在的函数内部 old price 358 price 5 old price 8 上述两个语句均为赋值语句 把值赋给赋值号 的左边的变量中 函数printf 的一般格式为printf 格式控制字符串 输出参数1 输出参数2 输出参数n 其中 格式控制字符串用双引号括起来 双引号中包括两部分 格式控制说明和普通字符 普通字符按原样输出 格式控制说明则对输出数据指定具体输出格式 本案例中 d为输出整型数据 类似地 还有 f输出float和double型数据 c输出字符型数据 等等 输出参数序列的次序与在双引号里的格式控制说明要一致 即输出参数的类型 个数和位置要一一对应 案例2 4 计算顾客的消费金额 某百货商场让利促销 某品牌的衣服打折销售 每件衣服的现售价格为原价的5 8折 输入两件衣服原价 计算这两件衣服共需要花费的总金额 即 其中 consume为消费金额 old price1和old price2分别为两件衣服的原价 编写程序 计算顾客的消费金额 结果保留两位小数 运行结果示例如图2 4 1 案例2 4的源程序 计算顾客的消费金额 includeintmain void 定义3个双精度变量 consume表示消费金额 old price1 old price2表示原价 doubleconsume old price1 old price2 空行 用于分隔变量定义和可执行语句 printf 请输入两件衣服的原价 n 输入提示scanf lf lf 2 归纳分析 基本数据类型包括整型 表示为int 字符型 表示为char 实型 表示为单精度float 双精度double 枚举类型 表示为enum 构造类型包括数组 结构体和共同体 函数scanf 通过键盘输入数据 和printf 都是输入输出库函数中的函数 在系统文件stdio h中声明 该函数的格式与printf 类似 scanf 格式控制字符串 输入参数1 输入参数n 其中 格式控制字符串表示输入的格式 输入参数是变量的地址 需要在变量名前加上 格式控制字符串与printf 一样 包括两部分内容 格式控制说明和普通字符 普通字符在输入时要原样输入的字符 为了减少不必要的输入 输入时尽量不要出现普通字符的原样输入 如果意图要作为提示的话 尽量依照本案例的方式 在scanf 语句前增加一个函数printf 语句作为提示之用 强制类型转换即在要进行转换的数据 或表达式 前用括号里表示其要转换的类型关键字 这样就使该数据或表达式拥有了指定的数据类型参与运算 而此转换只是这次运算的临时行为 对数据定义时的类型并没有改变 2f表示对double型数据输出时保留两位小数 案例2 5 字符和字符串的输出 从键盘输入车牌号 以字符接收 再输出它们 运行结果示例如图2 5 1 案例2 5的源程序 从键盘输入车牌号 再输出它们 includeintmain void charc1 c2 c3 c4 c5 c6 定义6个字符型变量 接收六位车牌号 printf 请输入车牌号 后六位 n 输入提示scanf c c c c c c 2 归纳分析 字符类型的格式说明符为 c 字符常量是用单引号括起来的单个字符 字符串常量是由一对双引号括起来的字符序列组成 字符常量只占一个字节的内存单元 而字符串常量占的内存字节数等于字符串中字符个数加1 增加的一个字节中存放字符串的结束标志 0 格式控制说明符 s 表示输出一个字符串 案例2 6 把大写字母转换为小写字母输出 通过键盘输入一个大写字母 把其转换为小写字母后输出 运行结果示例如图2 6 1 案例2 6的源程序 大写字母转换为小写字母 includeintmain void 定义字符型变量 lower letter表示小写字母 upper letter表示大写字母 charlower letter upper letter 空行 用于分隔变量定义和可执行语句 printf 请输入一个大写字母 n 输入提示upper letter getchar 调用函数getchar 从键盘接收一个字符 lower letter upper letter A a 把大写字母转换为小写字母 调用printf函数输出结果 printf 大写字母 c转换为小写字母 c n upper letter lower letter return0 2 归纳分析 函数getchar 和putchar 也是输入输出函数 使用它们时需要在程序的开头给出编译预处理命令 include 函数getchar 的功能是从键盘上输入一个字符 由它接收 无论是大写字母还是小写字母以及数字字符 在ASCII码中它们是以相邻次序排列的 lower letter upper letter A a upper letter lower letter a A 2 3有选择条件的数据处理 案例2 7 给苹果箱贴标签 苹果园中的苹果按等级装箱 若苹果的重量大于等于1 5斤放入特级箱 每公斤价格为5 8元 否则放入普通箱 每公斤价格为3 5元 编写程序 从每箱抽样 根据苹果等级给苹果箱帖上价格标签 运行结果示例如图2 7 1 案例2 7的源程序 苹果箱贴标签 includeintmain void doubleapple price 定义2个双精度浮点型变量 printf 请输入苹果的重量 n 输入提示 scanf lf 2 归纳分析 If else语句 如果括号中的条件表达式apple 1 5为真 则执行其后的语句 如果括号中的条件表达式apple 1 5为假 则执行else后的语句 if apple 1 5 price 3 5 printf 此箱每个苹果重量小于 1f斤 n apple else price 5 8 printf 此箱每个苹果重量大于等于 1f斤 n apple 由于特级苹果是少数 因此把它的处理放到else分支 条件表达式为假 而普通级苹果较多 因此放在if分支 条件表达式为真 处理 选择结构有三种基本形式 if结构 单选择 if else结构 双分支选择 和switch 多重选择 案例2 8 谁是优胜者 在运动会的立定跳远比赛中 还有两名运动员甲和乙在角逐 根据两个人的最后成绩决定谁是冠军 假设两个人的成绩不同 请输出冠军的成绩 成绩保留两位小数 单位为米 运行结果示例如图2 8 1 案例2 8的源程序 输出冠军成绩 includeintmain void 定义distance 1 distance 2分别表示两名运动员的成绩 max表示冠军成绩 doubledistance 1 distance 2 doublemax 空行 用于分隔变量定义和可执行语句 printf 请输入两名运动员的成绩 n 输入提示scanf lf lf 2 归纳分析 条件运算符为三目运算符 这是C语句中唯一的三目运算符 其格式如下 表达式1 表达式2 表达式3条件运算符的运算过程是 若表达式1 判断条件 的结果为真 则运算的结果是表达式2的值 若表达式1的结果为假 则运算的结果为表达式3的值 Y N 2 4有重复操作的数据处理 案例2 9 统计调查参赛人员的平均年龄 某模特大赛共有10人进入决赛 统计参赛人员的平均年龄 运行结果示例如图2 10 1 案例2 9的源程序 统计参赛人员的平均年龄 includeintmain void inti age sum aver age sum 0 置累加和sum的初值为0 for i 1 i 10 i 循环执行10次 printf 请输入第 d个人的年龄 i 输入提示scanf d 2 归纳分析 for语句的一般形式为 for 表达式1 表达式2 表达式3 循环体语句 for语句的功能是 首先计算表达式1 然后把表达式2作为条件进行判断 若其值为真 则执行循环语句 接着计算表达式3 然后继续循环 若其值为假 则结束循环 执行for语句的下一条语句 for语句的循环体语句如果超过一条 则需要用花括号把它们括起来形成复合语句 说明 赋值语句sum sum age 中赋值号 右侧的表达式中的sum与左侧的变量sum意义是不同的 右侧的sum是取其值与age求和运算 运算的结果 和 再赋给变量sum 这时sum里有了新值 在循环体中反复这样做 就使得变量sum里存放了多次累加的和 因此称sum为累加器 自增或自减运算符是单目运算符 其操作对象必须是变量 不能是常量或表达式 i 或 i 的运算规则 先执行i i 1 或i i 1 再将i的值作为表达式 i 或 i 的值 i 或i 的运算规则 先将i的值作为表达式i 或i 的值 再执行i i 1 案例2 10 超市收银台的收款程序 某小超市的收银台要求对每位顾客购买的商品进行验收 同时计算出顾客的消费金额 编写程序 完成对每个商品价格的输入 输入完成时输入 1 计算该顾客的消费总金额 运行结果示意图如图2 11 1 案例2 10的源程序 计算顾客的消费金额 输入完成时输入 1 includeintmain void doublegoods price sum printf 提示 没有商品输入时 请输入 1 n 输入提示 printf 请输入商品的价格 提示输入 scanf lf 2 归纳分析 while 循环语句与在案例2 9中使用的for 语句类似 是循环语句的三种表示形式之一 while 语句的格式为 while 表达式 循环体语句 while 语句的执行过程是 先计算while后面的括号中的表达式 如果表达式的值为真 执行循环体语句 然后 再判断表达式的值 如果仍为真 重复执行循环体 这样反复下去 直到表达式的值为假 循环结束 并继续执行while 的下一条语句 说明 在本案例中使用了 1 作为循环结束的特殊值 这种方法在程序设计中经常使用 当输入值的个数不一定的时候 经常使用while 语句 而结束输入时的控制条件往往会选择一个与输入值不相关的一个值 比如本例中商品的价格不可能为 1 所以可以用它来标识结束

展开阅读全文

你可能感兴趣的:(c语言写我爱你中国编程)