




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第三章第三章 最简单的最简单的C程序设计程序设计 C语句概述语句概述 程序结构的描述方法程序结构的描述方法 程序的三种基本结构程序的三种基本结构 数据的输出数据的输出 数据的输入数据的输入 程序举例程序举例上一章介绍了程序中上一章介绍了程序中用到的一些基本要素用到的一些基本要素(常量、变量、运算(常量、变量、运算符、表达式等),它符、表达式等),它们是构成程序的基本们是构成程序的基本成份。本章介绍为编成份。本章介绍为编写简单的程序所必须写简单的程序所必须的一些知识。的一些知识。23.1 C语句概述语句概述 C程序由若干个源程程序由若干个源程序文件组成,一个源序文件组成,一个源文件又由若干函数
2、和文件又由若干函数和预编译命令组成,一预编译命令组成,一个函数则由数据定义个函数则由数据定义部分和执行语句组成。部分和执行语句组成。 一个程序包括一个程序包括数据描数据描述述(用来定义数据结(用来定义数据结构和数据初值)和构和数据初值)和数数据操作据操作(对数据进行(对数据进行加工)。加工)。C程序程序源程序源程序文件文件i函数函数1执行部分执行部分说明部分说明部分源程序源程序文件文件n源程序源程序文件文件1函数函数n预编绎命令预编绎命令33.1 C语句概述语句概述一、控制语句一、控制语句l 控制语句控制语句完成一完成一定的控制功能,定的控制功能,语言有种控语言有种控制语句。其中制语句。其中(
3、 )表示一个条件;表示一个条件;表示内嵌的语表示内嵌的语句。句。 if( ) else (条件语句条件语句) for ( ) (循环语句循环语句) while ( ) (循环语句循环语句) do while ( ) (循环语句循环语句) continue(结束本次循环)(结束本次循环) switch (多分支选择语句多分支选择语句) break (中止执行中止执行switch或循环或循环语句语句) goto (转向语句转向语句) return (从函数返回语句从函数返回语句)43.1 C语句概述语句概述二、函数调用语句二、函数调用语句l 由一个函数调用加一个分号构成一个语句。由一个函数调用加一
4、个分号构成一个语句。printf(“This is a C statement.”);三、表达式语句三、表达式语句l 由一个表达式加一个分号构成一个语句,最由一个表达式加一个分号构成一个语句,最典型的是由赋值表达式构成一个赋值语句。典型的是由赋值表达式构成一个赋值语句。a = 3;l 任何表达式都可以加上分号而构成语句。任何表达式都可以加上分号而构成语句。i +;x + y; (无任何意义无任何意义)53.1 C语句概述语句概述四、空语句四、空语句l 只有一个分号的语句。它什么也不做。一般只有一个分号的语句。它什么也不做。一般用于循环语句中的循环体(循环体为空语句用于循环语句中的循环体(循环体
5、为空语句时,表示循环体中什么也不做)。时,表示循环体中什么也不做)。五、复合语句五、复合语句l 用把一些语句括起来构成复合语句。用把一些语句括起来构成复合语句。 z = x + y; t = z / 100; printf(“%f”,t);63.2 程序结构的描述方法程序结构的描述方法 带序号的自然语言描述:带序号的自然语言描述: 流程图:流程图:输入、输出输入、输出处理处理判断判断起止框起止框连接点连接点流程线流程线x 0打印x打印-xYN1232313易懂、不直观、不严格易懂、不直观、不严格灵活、自由、形象、直观、复杂灵活、自由、形象、直观、复杂73.2 程序结构的描述方法程序结构的描述方
6、法 N-S图(盒图):也属于一种流程图,但它完全去掉图(盒图):也属于一种流程图,但它完全去掉了带箭头的流程线,算法的所有处理步骤都写在一个了带箭头的流程线,算法的所有处理步骤都写在一个大矩形框内。大矩形框内。ABAB成立不成立PA当P1成立A直到P1成立 处理处理 判断判断 循环循环 伪代码描述:用介于自然语言与计算机语言之间的文伪代码描述:用介于自然语言与计算机语言之间的文字及符号来描述算法。字及符号来描述算法。表示简单、符合结构化思想表示简单、符合结构化思想方便、易懂、便于向计算机语方便、易懂、便于向计算机语言过渡,不直观,容易出现逻辑上的错误。言过渡,不直观,容易出现逻辑上的错误。83
7、.3 程序的三种基本结构程序的三种基本结构一、顺序结构一、顺序结构 A B A B二、选择结构二、选择结构PTFABABT FP93.3 程序的三种基本结构程序的三种基本结构三、循环结构三、循环结构A当P为TPTAF先判断,后执行先判断,后执行(当型,当型,while型型)A直到P为TPFAT先执行,后判断先执行,后判断(直到型,直到型,until型型)103.3 程序的三种基本结构程序的三种基本结构四、多分支选择结构四、多分支选择结构(由选择结构派生出来的由选择结构派生出来的)KA1A2AiAnk1k2kikn11举例举例例例1: 计算计算 ,写出其算法写出其算法1001001 1 n nn
8、 ns s自然语言描述自然语言描述1. 0 s单元单元2. 1 n单元单元3. s + n s4. n + 1 n5. 判断判断n 100 是,转是,转3;否则转;否则转66. 输出输出s的值的值流程图描述流程图描述开始开始0s1ns+nsn+1nn 100输出输出s结束结束TFN-S图描述图描述0s1nn 100s+nsn+1n输出输出s的值的值伪代码伪代码描述描述0s1nwhile n 100 s+ns n+1nprint s123.4 数据输出数据输出一、数据输入输出的概念及实现一、数据输入输出的概念及实现l输入:从外部设备输入:从外部设备(键盘、扫描仪等键盘、扫描仪等)输入数据输入数据
9、l输出:向外部设备输出:向外部设备(屏幕、打印机等屏幕、打印机等)输出数据输出数据lC语言本身没有输入输出语句,而是依赖输入语言本身没有输入输出语句,而是依赖输入输出函数实现输出函数实现l要用要用C预编译命令预编译命令#include将相关的头文件包将相关的头文件包括到用户的源文件中。括到用户的源文件中。# include # include “stdio.h”133.4 数据的输出数据的输出二、字符输出函数:二、字符输出函数: putcharl形式:形式: putchar( c )l作用:向输出设备输出一个字符作用:向输出设备输出一个字符lc为输出字符,可以是字符型或整型常量、变量、表达式为
10、输出字符,可以是字符型或整型常量、变量、表达式# include main()char c1, c2;c1 = a; c2 = 97; putchar(c1);putchar(c2); putchar(b);putchar(98); putchar(n);putchar(101); putchar();aabbA143.4 数据的输出数据的输出三、格式输出函数:三、格式输出函数: printfl作用:向输出设备输出多个任意类型的数据。作用:向输出设备输出多个任意类型的数据。l形式:形式:printf ( 格式控制符格式控制符, 输出项输出项)双引号引起来的字双引号引起来的字符串符串要输出的内容
11、,包括常要输出的内容,包括常量、变量及表达式量、变量及表达式l输出项:要输出的数据输出项:要输出的数据(可以没有可以没有, 多个时用逗号分开多个时用逗号分开)l格式控制符格式控制符: 包含两种信息包含两种信息格式说明格式说明:%修饰字符修饰字符格式字符,用于指定输出格式格式字符,用于指定输出格式普通字符普通字符(包括转义字符包括转义字符):原样输出原样输出printf(“a=%d, b=%d”, a, b);15例:例:# include main()int i = 5;float f = 32.345;printf(“i=%3df=%5.1fn”, i, f );printf(“End.n”
12、);格式控制符格式控制符i=%3df=%5.1fn普通字符普通字符格式说明格式说明 % 5 . 1 f引导符引导符宽度宽度小数位数小数位数精度精度格式字符格式字符数据类型数据类型i= 5f= 32.3End.16格式字符:指定输出数据的类型和输出格式格式字符:指定输出数据的类型和输出格式 d 十进制整数十进制整数 o 无符号八进制数无符号八进制数x(X) 无符号十六进制数无符号十六进制数 u 无符号的十进制数无符号的十进制数#include main() unsinged a=65535; int b=-2; printf(“a=%d, %o, %x, %un”,a,a,a,a); print
13、f(“a=%d, %o, %x, %un”,b,b,b,b);1111111111111111 a = 655351111111111111110 b = -2a=-1, 177777, ffff, 65535b=-2, 177776, fffe, 6553417#include main() char c=a; int i=97; printf(“%c, %dn”, c, c); printf(“%c, %dn”, i, i); printf(“%sn”,“china”);a, 97a, 97china格式字符:指定输出数据的类型和输出格式格式字符:指定输出数据的类型和输出格式 c 字符字符
14、 s 字符串字符串18#include main() printf(“%fn”,123.468); printf(“%en”,123.468); printf(“%gn”,123.468);123.4680001.23468e+02123.468格式字符:指定输出数据的类型和输出格式格式字符:指定输出数据的类型和输出格式e(E) 实数实数(指数形式指数形式) f 实数实数(小数形式小数形式)g(G) 实数实数(根据数据大小根据数据大小,自动选自动选f或或e格式格式,不输出不输出 无意义的无意义的0)19格式控制符完整的形式格式控制符完整的形式% - 0 m.n l 格式字符格式字符 指定输出数
15、据的类型指定输出数据的类型输出长度的修正输出长度的修正指定输出宽度和精度指定输出宽度和精度指定空格填指定空格填0指定输出数据左对齐指定输出数据左对齐引导符引导符修饰字符修饰字符20% - 0 m.n l 格式字符格式字符 m 宽度,对应输出项在输出设备上所占字符数,如果实宽度,对应输出项在输出设备上所占字符数,如果实际宽度大于际宽度大于m,则按实际宽度输出,否则补空格或,则按实际宽度输出,否则补空格或0。 n 精度,说明实数小数点位数或字符串中左精度,说明实数小数点位数或字符串中左n个字符。个字符。#include main() int a=1234; float f=123.456; sta
16、tic char s=“Hello, world!”; printf(%8d, %2dn”, a, a); printf(“%8f,%8.1f,%.2en”,f,f,f); printf(“%3cn”,a); printf(“%15sn”,s); printf(“%10.5sn”,s);1234,1234123.456000,123.5,1.2e+02aHello,world!Hello21% - 0 m.n l 格式字符格式字符 l 用于长整型数,用于长整型数,%ld %lo %lx %lu#include main() long a = 65536, b = 65537; float f=
17、123.456; printf(“%ld,%dn”, a, a); printf(“%8lx,%8xn”, b, b);65536,010001,122% - 0 m.n l 格式字符格式字符 - 输出的数据左对齐输出的数据左对齐 0 输出数字时,左边空位自动补输出数字时,左边空位自动补0#include main() int a = 1234; static char s=“Hello, world!”; float f=123.456; printf(“%-8d,%08dn”, a, a); printf(“%012.1fn”,f); printf(“%-12.5s,%7.3sn”, s,
18、s);1234,0000123400000000123.5Hello,Hel23几点说明几点说明格式字符与输出项个数应相同,按先后顺序一一对应格式字符与输出项个数应相同,按先后顺序一一对应格式字符与输出项类型不一致格式字符与输出项类型不一致,自动按指定格式输出自动按指定格式输出除除X、E、G可大写,其余必须小写可大写,其余必须小写用用%输出百分号输出百分号%对单精度数,用对单精度数,用%f输出时,仅前输出时,仅前7位为有效数,位为有效数,6位小数。位小数。输出项参数除了常数、变量外还可以是表达式、函数调用输出项参数除了常数、变量外还可以是表达式、函数调用printf(“%fn”,a + b);
19、 printf(“%fn”,sin(x);printf(“%f%”, 1.0/3); 0.333333%24l形式:形式:getchar();l作用:从输入设备输入一个字符作用:从输入设备输入一个字符#include stdio.hmain() char c; c=getchar(); putchar(c);注意:注意: 当输入多个字符时,多余字符作废当输入多个字符时,多余字符作废(按回按回车后才接收字符车后才接收字符) 用用getchar()得到的字符,可以赋给字符变得到的字符,可以赋给字符变量、整型变量或作为表达式的一部分。量、整型变量或作为表达式的一部分。c = getchar() +
20、32;putchar(c); getchar() 可以直接作为可以直接作为putchar的参数的参数putchar(getchar();3.5 数据的输入数据的输入一、字符输入函数:一、字符输入函数: getchar25形式:形式:scanf ( 格式控制符格式控制符, 变量地址列表变量地址列表)作用:按格式控制符要求,将数据从输入设备传送给变作用:按格式控制符要求,将数据从输入设备传送给变 量地址所指定的内存空间量地址所指定的内存空间l变量地址变量地址变量的地址通过对变量变量的地址通过对变量“求地址求地址”运算而得到运算而得到形式:形式:&变量名变量名#include stdio.h
21、main() int a; float b; scanf(“%d %f”,&a, &b); printf(“%d %fn”, a, b);&a(得到两字节的空间的首地址得到两字节的空间的首地址)&b(得到四字节的空间的首地址得到四字节的空间的首地址)ab2323.453.5 数据的输入数据的输入二、格式输出函数:二、格式输出函数:scanf26格式控制符完整的形式格式控制符完整的形式% * m l 格式字符格式字符 指定输入数据的类型和格式指定输入数据的类型和格式长度修正说明符长度修正说明符宽度说明符宽度说明符附加说明符附加说明符(表示输入项在读表示输入项在读入
22、后不赋值给相应变量入后不赋值给相应变量)引导符引导符修饰字符修饰字符27格式字符:指定输入数据的类型和输出格式格式字符:指定输入数据的类型和输出格式d,i 十进制整数十进制整数u 无符号十进制数无符号十进制数o 无符号八进制数无符号八进制数X,x 无符号十六进制数无符号十六进制数c 单个字符单个字符s 字符串字符串f,e,g 实数实数% * m l 格式字符格式字符 28scanf(“%4d%2d%2d”,&yy,&mm,&dd);输入输入 19991015 则则1999yy, 10 mm, 15 ddscanf(“%3c%2c”,&c1,&c2);输入
23、输入 abcde 则则ac1, d c2scanf(“%3d%*4d%f”,&k,&f);输入输入 12345678765.43 则则123k, 8765.43f scanf(“%2d %*3d %2d”,&a,&b); 输入输入 12 345 67 则则12a, 67b29输入数据的分隔输入数据的分隔采用隐含的分隔符:空格、回车、采用隐含的分隔符:空格、回车、Tab键键根据格式中指定的宽度分隔数据项根据格式中指定的宽度分隔数据项采用用户指定的分隔符采用用户指定的分隔符 例例 scanf(“%d%o%x”,&a,&b,&c); 输入输入
24、123 123 123 则则123 a, 83 b, 291 c scanf(“%3c%2c”,&c1,&c2); 输入输入 abcde 则则ac1, d c2 scanf(“%d:%d:%d”,&h,&m,&s); 输入输入 12:30:45 则则12 h, 30 m, 45 s scanf(“%d,%d”,&a,&b) 输入输入 3,4 则则3a, 4 b scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 输入输入 a=12,b=24,c=36 则则12 a, 24 b, 36 c30说明说明
25、输入数据时不能规定数据的精度;输入数据时不能规定数据的精度;用用“%c”格式符时,空格和转义字符作为有效字符输格式符时,空格和转义字符作为有效字符输入入输入数据时,遇以输入数据时,遇以非法输入则认非法输入则认为该数据结束:为该数据结束:scanf(“%4.1f”,&f); scanf(“%c%c%c”,&c1,&c2,&c3); 若输入若输入a b c 则则ac1, c2, b c3scanf(“%d%c%f”,&a,&b,&c);若输入若输入1234a123o.26 则则 1234 a, a b, 123 c31 例例1:输入三角形边长,求其面积:输入三角形边长,求其面积s = (a + b + c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年性病科性病常识及健康教育考核试题及答案解析
- 产业政策影响分析-第2篇-洞察及研究
- 2025年北京市农业科技合作项目合同范本
- 2025年用工单位是否强制要求签订劳动合同
- 2025临时工劳务合同新范文
- 2025企业运营指南合同管理范本
- 2025安全评估服务合同
- 2025车辆抵押合同
- 更期保健与荷尔蒙疗法2讲课文档
- 2025劳动合同协议方案协同保证契约书
- 青海2023届高校毕业生就业报告出炉:医学和法学就业率最高
- 汽车电控发动机构造与维修(第三版)
- GB/T 328.13-2007建筑防水卷材试验方法第13部分:高分子防水卷材尺寸稳定性
- 茶叶实践报告3篇
- 西门子低压电器快速选型手册
- 养羊与羊病防治技术课件
- 最新教科版五年级科学上册《第2课时 地球的结构》教学课件
- Q∕SY 05129-2017 输油气站消防设施及灭火器材配置管理规范
- 企业微信私域流量运营方案
- 中职学校《机械基础》第二学期全套电子教案(含教学进度计划)(配套教材:高教版中职统编)云天课件
- 《重性精神疾病管理治疗工作规范》综合解读
评论
0/150
提交评论