版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 C语言程序入门,第一章 C语言程序入门,目录: 1.1 程序 1.2 程序操作的对象-数据 1.3 C程序的基本操作 1.4 顺序结构的程序,思考题,C语言程序的构成? 程序中2个重要部分、3个重要划分? 回顾程序的表达方法? 程序的结构? 程序编写的思路?,1.4.1 程序结构, 1 预编译命令 2 函数1 程序若干源程序 函数2 函数名 . 函数 说明部分 . 执行部分 n 函数n (语句),1.4.2 C语句,C语句:以“;”作分隔符,编译后产生机器指令. C语句分类 表达式语句:表达式加分号构成。 空语句: ; 声明语句:定义变量,声明函数等。 程序控制语句(9种):,如 to
2、tal=total+limit; a=3; func( ); printf(“Hello,world!n”);,C语句块,复合语句:用 括起来的一组语句 一般形式: 数据说明部分; 执行语句部分; 说明: “”后不加分号 语法上和单一语句相同 复合语句可嵌套,格式 赋值表达式; 即 变量 表达式; 或 变量 表达式; 操作 计算表达式的值,将该值赋予变量。,例 a=r*r*3.1415926; 注 赋值语句与赋值表达式的不同概念 例 if(a=b)0) t=a; 其中a=b是表达式而不是语句 上句相当于 a=b; if(a0) t=a; 可见使用了赋值语句能使程序得到简化。,赋值语句,1.4.
3、3 算法的概念与程序结构,利用计算机求解问题的一般过程 (1)问题分析阶段 (2)数据结构设计阶段 (3)算法设计阶段 (4)编码与调试阶段,1、算法概念,算法就是解决某一具体问题的方法和步骤。 从广义上来说,算法早就融于人们的生活中,例如,上学走哪条路、坐哪趟车,如果堵车怎么办等,其中就包含有“算法”。 在计算机中,算法是指为解决具体的问题而采取的确定的方法和步骤,设计好了算法,就可以将它用具体的语言进行描述,最终转化为解决问题的程序。,2、算法特点,1)、有穷性:操作步骤有限 2)、确定性:每一步都应确定 3)、有零个或多个输入 4)、有一个或多个输出 5)、有效性:每一步都能有效执行并得
4、到确定结果,3、算法描述,1)、自然语言 2)、传统流程图 3)、结构化流程图(NS) 4)、伪代码:用介于自然语言和计算机语言之间的文字和符号来描述算法。 5)、用计算机语言表示算法,4、结构化程序设计方法,一个结构化算法由一些基本结构(顺序、分支、循环)顺序组成的; 每个基本结构又可包含其他的基本结构; 在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构之内; 一个非结构化算法可以转化为一个结构化算法; 一个结构化程序就是用高级语言表示的结构化算法 采用以下方法可得到结构化程序: 自顶向下、逐步细化、模块化设计、结构化编码。,在计算机科学的发展过程中,人们已经提出了很多种
5、类的算法描述方法。 一种是自然语言的描述方法。鉴于自然语言本身过于灵活且又缺乏严谨性,所以容易产生理解上的歧义。 还有一种算法的图形描述方式流程图。它采用一些标准的图形符号描述算法的操作过程,从而避免了人们对非形式化语言的理解差异。,5、算法描述,起止框,I/O框,处理框,判断框,调用框,连接框,有向边,常用流程图符号,程序的三种基本结构 结构化程序设计 基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto) 结构化程序:由三种基本结构反复嵌套构成的程序叫 优点:结构清晰,易读,提高程序设计质量和效率 三种基本结构 顺序结构,选择结构,二分支选择结构,多分支选择结构,循
6、环结构,当型循环结构,直到型循环结构,注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构,案例分析 从键盘输入大写字母,用小写字母输出,/*ch3_13.c*/ #include stdio.h main() char c1,c2; c1=getchar(); printf(%c,%dn,c1,c1); c2=c1+32; printf(%c,%dn,c2,c2); ,输入:A 输出:A,65 a,97,算法步骤(文字描述): 1、输入一个大写字母给变量; 2、转换为小写字母; 3、输出小写字母。 流程图描述: 程序描述:,案例分析,输入两个整数给变量a、b,交换后再输出; 根据给
7、定圆的半径,计算周长和面积; 通过键盘输入一个字符,输出字符的ASCII码; 逆序输出一个3位正整数的每位数字; 给定a,b,c, 计算一元二次方程的实根;,1.4.4 输入与输出,一般每个程序都要用到数据的输入输出。 数据输入:通过外设将数据输入内存。 数据输出:将内存的数据通过外设输出。,C语言的输入输出通过调用函数实现,这些输入输出函数一般存于stdio.h和io.h(TURBO C)库文件。使用输入输出函数要用编译预处理命令指出连接的库文件,程序编译连接时将其与用户程序相连。 如: #include 或 #include stdio.h,1.4.4.1 基本的输入输出函数 1、字符的非
8、格式化输入 getchar( ) 基本执行过程为:等待用户从标准输入设备键盘输入一个字符。如果输入成功,函数返回这个字符的ASCII编码。 例如: char ch; ch = getchar( ); 2、字符的非格式化输出 putchar( ) putchar(ch),输出参数ch代表的字符 。,案例1.8:通过键盘输入一个字符,分别在两行上显示这个字符,每行显示2次。,#include main( ) char ch; /* 定义变量ch */ ch = getchar(); /* 通过键盘输入一个字符 */ putchar(ch); /* 在屏幕上显示2次输入的字符 */ putchar(
9、ch); putchar(n); /* 在屏幕上显示一个回车换行符 */ putchar(ch); /* 继续在屏幕上显示2次输入的字符 */ putchar(ch); ,例题分析,例 #include main() char a,b,c; a=B;b=O;c=Y; putchar(a);putchar(b);putchar(c); ,输出结果 BOY,例 putchar(n); 输出换行 putchar(101); putchar(A); putchar(65);,输出 AAA,案例1.9:从键盘输入一个小写字母,输出该字母的大写。,#includestdio.h main() char c
10、; printf(input a char:); c=getchar(); c-=32; putchar(c); putchar(n); ,3、格式输入函数,格式: scanf(“格式控制串”,地址表) 功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中,并按回车键结束 返值:正常,返回输入数据个数,地址表:变量的地址,常用取地址运算符 char ch; scanf(“%d”, 执行:123 输出:x=123,ch=10,例 int x; char ch; scanf(“%d”, 执行:123 输出:x=123,ch=10,解决方法: (1)用getchar()清除 (2)用函数ff
11、lush(stdin)清除全部剩余内容 (3) 用格式串中空格或“%*c”来“吃掉” (4) 用%1s代替%c,因为它完全忽略空格和回车符,例 int x; char ch; scanf(“%d”,格式:printf(“格式控制串”,输出表) 功能:按指定格式向显示器输出数据 返值:正常,返回输出字节数;出错,返回EOF(-1),4. 格式输出函数,输出表:要输出的数据(可以没有,多个时以“,”分隔) 格式控制串:包含两种信息 格式说明: %修饰符格式字符 ,用于指定输出格式 普通字符或转义序列:原样输出 格式字符,例 int a=3,b=4; printf(“%d %dn”,a,b); pr
12、intf(“a=%d , b=%dn”,a,b); 输出结果: 3 4 a=3, b=4,int a=567;printf ( “%d”,a);,int a=255;printf(“%x”,a);,int a=65;printf(“%o”,a);,int a=567;printf(“%u”,a);,char a=65;printf(“%c”,a);,printf(“%s”,“ABC”);,float a=567.789;printf(“%e”,a);,float a=567.789;printf(“%f”,a);,float a=567.789;printf(“%g”,a);,printf(“
13、%”);,567,ff,101,567,A,ABC,5.67789e+02,567.789000,567.789,%,说明:除X、E、G外,格式字符要用小写 格式字符与输出项个数应相同,按先后顺序一一对应,否则,若格式字符少,按其个数自左向右输出值,若格式字符多,多出的将输出不确定值. 输出转换:格式字符与输出项类型不一致,自动按指定格式输出,但int与float不能互用.,例 main() unsigned int u=65535; printf(”u=%dn,u); 输出结果:u=-1,例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d ,
14、b=%dn”,a,b);,例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b); 输出结果: 3 4 a=3, b=4,int a=-1 printf(“%d,%x,%o,%u”,a,a,a,a); 结果:-1,ffff,177777,65535,char c=a int i=97; printf(“%c,%d”,c,c); printf(“%c,%d”,i,i);,e:数值按规范化指数输出,有的编译系统自动指定为6位小数,指数部分占5位(如VC+) f: 整数部分全部输出,并输出6位小数,可四舍五入。 g:自动选择e或
15、f,不输出无意义的0。,附加格式说明符(修饰符),例 int a=1234; float f=123.456; char ch=a; printf(“%8d,%2dn”,a,a); printf(“%f,%8f,%8.1f,%.2f,%.2en”,f,f,f,f,f); printf(“%3cn”,ch);,运行 1234,1234 结果: 123.456000,123.456000, 123.5,123.46,1.23e+02 a,例 static char a=“Hello,world!” printf(“%sn%15sn%10.5sn%2.5sn%.3sn”,a,a,a,a,a);,运行
16、结果:Hello,world! Hello,world! Hello Hello Hel,例 m.n,例 int a=1234; float f=123.456; static char c=“Hello,world!”; printf(“%8d,%-8dn”,a,a); printf(“%10.2f,%-10.1fn”,f,f); printf(“%10.5s,%-10.3sn”,c,c);,运行结果:1234,1234 123.46,123.5 Hello,Hel,例 -,例 int a=1234; float f=123.456; printf(“%08dn”,a); printf(“%
17、010.2fn”,f); printf(“%0+8dn”,a); printf(“0+10.2fn”,f);,例 0 、+,例 int a=123; printf(“%o,%#o,%X,%#Xn”,a,a,a,a);,例 #,例 long a=65536; printf(“%d,%8ldn”,a, a);,例 l,/00001234,/0000123.46,/000+1234,/000+123.56,/173,0173,7B,0X7B,/0, 65536,案例1.10:将输入的角度转换成弧度。,#include main( ) int degree; float radian; printf(Enter degree:); scanf(%d, ,案例1.11:输入两个字符,输出用这两个字符绘制的三角形。,#include main( ) char ch1, ch2; printf(Enter 2 characters:); scanf(%c%c, ,例1.12:逆序输出一个三位正整数的每一位数字。,#include main( ) int d1, d2, d3, value; printf(nEnter 3 integers:); scanf(%d, /* 输出结果 */ ,例1.13:将连续输入的4个数字字符拼成一个int类型的数值。,#inclu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国季节限定松饼套餐行业前景趋势预测及发展战略咨询报告
- 2026年全过程传感器部署合同
- 个性化内容定制服务的发展路径
- 2025河南洛阳市人社人力公司工程施工辅助业务岗位招聘7人笔试历年参考题库附带答案详解
- 2025河南城发利浦环保科技有限公司招聘2人笔试历年参考题库附带答案详解
- 餐饮采摘住宿方案范本
- 2025江西省中赣投勘察设计有限公司招聘6人笔试历年参考题库附带答案详解
- 2025广东湛江市首善城市发展集团有限公司招聘员工10人笔试历年参考题库附带答案详解
- 2025年湖北事业单位统一公开招聘工作人员笔试历年典型考题及考点剖析附带答案详解
- 2025吉林长春市榆树市城市发展集团有限公司社会招聘7人笔试历年参考题库附带答案详解
- 新药研发毒理学安全性评价
- 2022北京西城区初二地理一模试卷及答案
- 抗真菌药物课件
- 2023年潍坊市初中学业水平考试地理试题附答案
- 《张国庆 公共行政学 第4版 笔记和课后习题 含考研真题 详》读书笔记思维导图PPT模板下载
- 2022年上海市初中学业考试地理中考试卷真题(含答案详解)
- 皮影教学反思
- YY/T 1511-2017胶原蛋白海绵
- GB/T 7631.2-2003润滑剂、工业用油和相关产品(L类)的分类第2部分:H组(液压系统)
- 船舶吃水差解析课件
- 乙醇-水精馏浮阀塔设计化工原理课程设计
评论
0/150
提交评论