最简单的C程序设计1.ppt_第1页
最简单的C程序设计1.ppt_第2页
最简单的C程序设计1.ppt_第3页
最简单的C程序设计1.ppt_第4页
最简单的C程序设计1.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章 最简单的C程序设计顺序程序设计,4.1 C语句概述 C语言的语句用来向计算机系统发出操作指令。一个语句经编译后产生若干条机器指令。一个实际的程序应当包含若干语句。 C语句都是用来完成一定操作任务的。声明部分的内容不应称为语句。如:int a;不是一个C执行语句,它不产生机器操作,而只是对变量的定义。 一个函数包含声明部分和执行部分,执行部分即由语句(分别进行编译的文件模块)组成。 一个C程序可以由若干个源程序文件组成,一个源文件可以由若干个函数和预处理命令以及全局变量声明部分组成。 一个函数由数据定义部分和执行语句组成。,4.1 C语句概述,C程序的组成:,C程序,源程序文件1,全局变量声明,函数1,预处理命令,源程序文件2,源程序文件n,函数n,函数首部,函数体,局部变量声明,执行语句,C语句的分类:,1. 控制语句 if() else ;(条件语句) for() ;(循环语句) while() ; (循环语句) do while(); (循环语句) continue;(结束本次循环语句) switch;(多分支选择语句) break;(终止执行swith或循环语句) goto;(转向语句) return (从函数返回语句) 例:if (xy) z=x; else z=y; 2. 函数调用语句 (由一个函数调用加一个分号构成) printf(“This is C statement.”); 3. 表达式语句 (由一个表达式加一个分号构成) a=3 赋值表达式 a=3; 赋值语句,C语句的分类:,4. 空语句 ; 可作为流程的转向点或循环语句的循环体。 5. 复合语句 (用 把一些语句括起来成为复合语句) z=z+y; t=z/100; printf(%f”,t); ,赋值语句是由赋值表达式加上一个分号构成。 a=b; 赋值语句 C语言的赋值语句具有其他高级语言的赋值语句的一切特点和功能。但也应当注意到它们的不同: (1) C语言中的赋值号“=”是一个运算符,在其他大多数语言中赋 值号不是运算符。 (2) 其他多数高级语言没有“赋值表达式”一概念。作为赋值表达 式可以包括在其他表达式之中,例如: if (a=b)0) t=a; 其中a=b是赋值表达式 在if语句中的“a=b”不是赋值语句更不是条件表达式,而是赋值表达式,但不能表示为: if (a=b;)0) t=a;,4.2 赋值语句,4.3 数据输入输出的概念及在C语言中的实现,1. 输入输出是以计算机主机为主体而言的。即通过输入设备向计算机提供数据称为数据输入,计算机向外部设备输出数据称为数据输出。 2. C语言本身不提供输入输出语句,输入输出是由函数实现。 如:printf(),scanf(),putchar(),getchar(),puts(), gets()等。 系统不提供输入输出语句就可以避免在编译阶段处理与硬件有关的问题,使编译系统简化,而且通用性强,可移植性好,对各种型号的计算机都适用,便于在各种计算机上实现。 3. C语言函数库中提供了“标准输入输出函数”,但使用C语言函数库时,要用预编译命令“include”将有关”头文件”包含到用户源文件中。 例如: # include 或 # include “stdio.h”,4.4 字符数据的输入输出,4.4.1. putchar函数(字符输出函数) 功能:向终端输出一个字符,例如: # include void main() char a,b,c; a=B;b=O;c=Y; putchar(a); putchar(b); putchar(c); 运行结果: BOY putchar函数除了可以输出能在屏幕上显示的字符外,也可以输出控制字符,例如: putchar(n); 换行 putchar(101); 输出A putchar(007) 响铃,4.4 字符数据的输入输出,4.4.2. getchar函数(字符输入函数) 功能:从终端输入一个字符,例如: # include void main() char c; c=getchar()-32; putchar(c); 运行结果: a A,4.5 格式输入与输出,C语言提供了一组完整的输入和输出格式,可以满足各种不同的输入输出的需求,实际使用中重点掌握一些常用的规则即可。 4.5.1. printf 函数(格式输出函数) 1. printf函数的一般格式: printf(格式控制,输出表列) 例如:printf(“i=%d c=%cn”,i,c); “格式控制”由“格式说明”和“普通字符”两部分组成。 格式说明:由“%”和格式字符组成 普通字符:需要原样输出的字符 “输出表列”是需要输出的一些数据。 由于printf是函数,因此“格式控制”字符串和“输出表列”实际上都是函数的参数,printf函数的一般形式表示为: printf (参数1,参数2,参数3,参数n),4.5 格式输入与输出,2. 格式字符 对不同类型的数据应使用不同的格式字符 d格式符,用来输出十进制整数 %d,按整型数据实际长度输出 %md,m为指定输出宽度,如果数据位数小于m,左端补空格 %ld,输出长整型数据 例:printf(“%d,%4d,%ld,%8ld”,a,b,c,d); 若a=12,b=123,c=123456,d=56789 则输出结果为: 12,123,123456,56789 o格式符,以八进制数形式输出整数(包含%o,%mo,%lo等) 例:printf(“%d,%o”,a,a); 输出结果:12,14 x格式符,以十六进制数形式输出整数(包含%x,%mx,%lx等) 例:printf(“%d,%x”,b,b); 输出结果:123,7B,4.5 格式输入与输出, u格式符,以十进制形式输出无符号整数(包含%u,%mu,%lu等) unsigned型数据也可以用%d,%o,%x格式输出。 例: #include void main() unsigned int a=65535; int b=-2; printf(“a=%d,%o,%x,%un“,a,a,a,a); printf(“b=%d,%o,%x,%un“,b,b,b,b); 运行结果为 (65535表示16位全部为“1”) a=-1,177777,ffff,65535 b=-2,177776,fffe,65534,4.5 格式输入与输出, c格式符,用来输出一个字符(包含%c,%mc) 例: char c=a; printf(“%c,%dn”,c,c); 运行结果:a,97 一个整数,只要它的值在0255范围内,也可以用“%c”输出,但输出的是该整数作为ASCII码对应的字符。 s格式符,用来输出一个字符串(包含%s,%ms,%-ms,%m.ns,%-m.ns) 例: printf(“%3s,%7.2s,%.4s,%-5.3sn”,”CHINA”,”CHINA”,”CHINA”,”CHINA”); 输出结果:CHINA,CH,CHIN,CHI,4.5 格式输入与输出, f格式符,用来以小数形式输出实数(包含%f,%m.nf,%-m.nf等) 例:printf(“%f%10f%10.2f%.2f%-10.2fn”,f,f,f,f,f); 若f=123.456 则 输出结果: 123.456001123.456001123.46123.46123.46 e格式符,用来以指数形式输出实数(包含%e,%m.ne,%-m.ne等) 例:printf(“%e%10e%10.2e%.2e%-10.2en”,f,f,f,f,f); 若f=123.456 则 输出结果: 1.234560e+0021.234560e+0021.23e+0021.23e+0021.23e+002 13列 13列 10列 9列 10列 g格式符,根据数值大小,自动选f格式或e格式输出实数 例: printf(“%f%e%g”,f,f,f); ( f=123.468 ) 输出结果:123.4680001.234680e+002123.468 f格式输出10列,e格式输出13列,g格式自动选择两种格式中的短格式。,4.5 格式输入与输出,printf函数的9种格式符见(p81表4-1)和附加说明符(表4-2)。 使用printf函数的有关说明: (1) 除了X、E、G外,其他格式字符必须用小写。 (2) 可以在printf函数中的“格式控制”字符串内包含“转义字符”, 如“n”、“t”、“377”等。 (3) 格式控制符必须使用“%”开头,以格式字符之一为结束,中间 可以插入附加格式字符。例如: printf (“c=%c f=%f s=%s”,c,f,s); (4) 如果想输出字符“%”,则应该在“格式控制”字符串中用连续两 个%表示。 例如:printf(“%5.2f%”,1.0/3); 输出:0.33%,4.5 格式输入与输出,4.5.2. scanf 函数(格式输入函数) 1. scanf函数的一般格式: scanf(格式控制,地址表列) 例如:scanf(“%d %d”, ,数据输入: 345 数据输出: 3,4,5,数据输入也可采用 345 或:3 45 或:3(按Tab)4 5 但不允许:3,4,5 ,4.5 格式输入与输出,2. 格式说明 (见p83,表4-3和表4-4) 对unsigned型变量所需数据,可以用%u,%d,%o,%x格式输入。 可以指定输入数据的列数,系统自动按它截取所需数据。 例:scanf(“%3d%3d”, 不合法,4.5 格式输入与输出,3. 使用scanf函数时应注意的问题 scanf函数中的“格式控制”后面应当是变量地址,而不是变量名。 如果在“格式控制”字符串中包含其他字符,输入时应输入相同字符。 例:scanf(“%d,%d”, 输入:abc a赋给c1, 赋给c2,b赋给c3 在输入数据时,遇到以下情况数据认为结束: 空格、回车和tab 按指定宽度结束 遇非法输入,4.6 顺序结构程序设计举例,例4.10 输入三角形的三边长,求三角形面积 #include #include void main() float a,b,c,s,area; scanf(“%f,%f,%f”, 运行情况如下:3,4,6 输出:a=3.00,b=4.00,c=6.00,s=6.50 area=5.33,例4.11从键盘输入一个大写字母,要求改用小写字母输出。,#include void main() char c1,c2; c1=getchar(); pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论