大学C语言第3章 顺序结构_第1页
大学C语言第3章 顺序结构_第2页
大学C语言第3章 顺序结构_第3页
大学C语言第3章 顺序结构_第4页
大学C语言第3章 顺序结构_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

第3章顺序结构程序设计Hi,everyone!3.1

C程序的基本结构及C语句的种类3.2数据输入/输出的实现3.3标准输出函数——printf函数3.4标准输入函数——scanf函数3.5字符输入/输出函数3.6顺序结构程序设计举例第3章顺序结构程序设计3.1C程序的基本结构及C语句的种类

顺序结构:是由若干条按先后顺序执行的语句构成的。选择结构:是由一个或多个条件来确定所要执行的语句,又称为分支结构。根据实际情况可分为二支或多支。循环结构:是当满足某种循环条件时反复执行某段程序,直到不满足循环条件为止。3.1.1结构化程序的三种基本结构1.表达式语句和空语句表达式语句是由表达式加分号(;)构造的一种简单语句。任何一种合法的表达式加分号都可构成表达式语句。例如:inta=1,b=2;a*b+5; (算术表达式语句)a!=b*2; (关系表达式语句)!b||a&&b;(逻辑表达式语句)b=a-2; (赋值表达式语句)b<a?a:b; (条件表达式语句)a=5,b=7,a+b;(逗号表达式语句)空语句是一种只有分号而无表达式的特殊语句。空语句的功能是不做任何操作,它只是形式上的语句,它是C语句中最简单的语句。3.1.2C语句的种类3.1.2C语句的种类2.复合语句复合语句是由两条或两条以上的语句用花括号({})括起来的语句序列。复合语句是相对于单条语句而言的。复合语句通常可以出现在允许单语句出现的地方,复合语句可以等价于一条语句。{a=a+b;a=a*15;b=10;}3.分支语句分支语句可以实现选择结构,C语言提供了两种分支语句,一种是条件语句,另一种是开关语句,使用它们可以实现多种分支结构。3.1.2C语句的种类4.循环语句循环语句可以实现循环结构。C语言提供了三种循环语句:while循环语句、do-while循环语句和for循环语句。5.转向语句执行转向语句时,系统转去执行指定的语句。C语言提供的转向语句有推出语句break,继续语句continue,无条件转向语句goto。使用这些语句将给程序增加灵活性和方便性。3.2数据输入输出的实现C语言的输入输出是由输入和输出函数实现的,如printf和scanf函数,putchar和getchar函数,gets和puts函数。C函数库是由c语言自带的,并已编译成目标文件。连接时会与源程序编译得到的目标文件相连接,生成目标程序。使用C函数库时,用预编译命令#include将相关的“头文件”包括到用户的源文件中,放在程序的开头。

#include<stdio.h>

或#include“stdio.h”标准输入输出库函数的头文件是“stdio.h”3.3标准输出函数——printf函数printf函数(格式输出函数):按指定的格式向输出设备输出指定的数据,可以是若干个任意类型的数据。1.printf的一般格式

printf(“格式控制字符串”,输出项列表);

格式控制字符串总是由%和格式字符串构成并用双引号括起来,它指定了与其对应的输出表列项的输出格式,如数据类型、形式、长度、小数位数。形式为:

%格式字符串例如,“%d”,“%0.3f”,“%ld”

非格式字符串在输出时原样照印,在显示中起提示作用。3.3标准输出函数——printf函数1.printf的一般格式

printf(“格式控制字符串”,输出项列表);输出表列中给出了各个输出项,要求格式字符和各输出项在数量、类型上应该一一对应。例如:

printf(“%d%d”,a,b); 1066printf(“a=%d,b=%c”,a,b);a=10,b=B2.Printf常用格式字符串格式字符形式:%[标志][输出最小宽度][.精度][长度]类型例:%d%3c%-10.2f%5ld

方括号[]中的项为可选项。对不同类型的数据用不同的格式字符。格式字符形式:%[标志][输出最小宽度][.精度][长度]类型(1)类型类型字符用以表示输出数据的类型,其格式符和意义如下:

格式字符 字符意义

d以十进制形式输出带符号整数(正数不输出符号)

o以八进制形式输出无符号整数(不输出前缀O)

x以十六进制形式输出无符号整数(不输出前缀OX)

u以十进制形式输出无符号整数

f以小数形式输出单、双精度实数

e以指数形式输出单、双精度实数

g以%f%e中较短的输出宽度输出单、双精度实数

c输出单个字符

s输出字符串

3.3printf函数常用格式字符#include<stdio.h>voidmain(){printf("%d,%ld\n",10,10);printf("%o,%x\n",10,10);printf("%#o,%#x\n",10,10);printf("%f,%lf\n",12.5,12.5);printf("%g,%e\n",12.5,12.5);printf("1234567890\n");printf("-----------------\n");printf("%s,%c,%d\n","abcd",'A','A');}格式字符形式:%[标志][输出最小宽度][.精度][长度]类型(2)标志

标志字符标志意义

-

结果左对齐,右边填空格

+

输出符号

#

对c,s,d,u类无影响;对o类,在输出时加前缀0;对x类,在输出时加前缀0x;对e,g,f类当结果有小数时才给出小数点(3)输出最小宽度

用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。

3.3printf函数常用格式字符格式字符形式:%[标志][输出最小宽度][.精度][长度]类型(4)精度

精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

(5)长度

长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。如:%d,%5d,%o,%x,%f,%lf,%5.4lf,%e,%c,%8c

3.3printf函数常用格式字符例3.1printf函数应用举例#include<stdio.h>voidmain(){printf("a=%-3d,a=%+3d\n",2+3,5);printf("%6.3s,%3s\n","abcde","KKK");printf("%-6.3s,%3s\n","abcde","KKK");printf("%.3s,%3s\n","abcde","KKK");printf("%-.3s,%3s\n","abcde","KKK");printf("x=%4.2f%%\n",0.5);}1.格式控制字符串中,格式说明与输出项从左到右在类型上必须一一对应匹配。如不匹配,将使数据不能正确输出,且此时系统并不报错。特别要注意长整型数据输出时,一定要使用%ld格式说明,不能遗漏字母“l”。2.在格式控制字符串中,格式说明与输出项的个数应该相同。如果格式说明的个数少于输出项的个数,多余的输出项不予输出;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0值)。3.在格式控制字符串中,除了合法的格式说明外,可以包含任意的合法字符(包括转义字符),这些字符在输出时将“原样输出”。3.调用Printf函数时注意事项4.printf中各输出表达式的求值是从右向左进行的。例如,有以下语句:inti=0;printf("%d,%d,%d\n",i+=3,i+=2,i+=1);i先赋值为0,由于printf中各输出表达式的求值是从右向左进行,所以输出为:6,3,13.调用Printf函数时注意事项scanf函数(格式输入函数):按用户指定的格式从键盘上把数据输入到指定的变量之中。格式:scanf(“格式控制字符串”,输入项地址列表)“格式控制字符串”通常只包含格式转换说明符,含义与printf类似。输入项地址列表中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。3.4标准输入函数——scanf函数3.4标准输入函数——scanf函数格式:scanf(“格式控制字符串”,输入项地址列表)例如:scanf("%d%c%f",&x,&y,&z);voidmain(){inta,b,c;

printf("inputa,b,c:\n");scanf("%d%d%d",&a,&b,&c);

printf("a=%d,b=%d,c=%d",a,b,c);

}

输入数据时,两个数之间以一个或多个空格间隔,也可以用回车键Enter、跳格键Tab。(1)scanf函数中“格式控制”后面应是变量地址,而不仅是变量。(2)如果“格式控制”字符串中还有其它字符,输入时应原样输入。如语句:scanf(“a=%d,b=%d”,&a,&b);输入:a=12,b=23(3)在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入。

scanf(“%c%c%c”,&c1,&c2,&c3);abc /*实际上只输入了ab(a空格b)*/调用scanf函数时注意事项

(4)在输入数据时,遇以下情况该数据认为结束:①空格、回车或“跳格”Tab。②遇宽度结束,如“%3d”,只取3列。③遇非法输入。例:scanf(“%d%c%f”,&a,&b,&c);输入:1234a123o.26结果:1234→a‘a’→b123→c(5)”*”格式符表示:本输入项在读入后不赋给相应的变量。例:scanf(“%d%3d,%c,%*d,%f”,&a,&b,&c,&d,&e);调用scanf函数时注意事项3.5字符输入/输出函数例:#include<stdio.h>voidmain(){chara,b,c;a=’B’;b=’O’;c=’Y’;putchar(a);putchar(b);putchar(c);putchar(‘\101’);putchar(‘\’’);putchar(‘\015’);}1.

putchar函数(字符输出函数)

功能:在显示器上输出一个字符。一般形式:putchar(参数);

参数可是字符型或整型变量、常量(转义符)输出结果:BOYA’回车例:#include<stdio.h>voidmain(){charc;

c=getchar();putchar(c);putchar(getchar());}2.

getchar函数(字符输入函数)功能:从键盘输入一个字符。形式:getchar();

/*无参数*/用法:构成赋值语句,将输入的字符赋给一个变量。可将getchar()函数置于程序中,实现暂停功能。如:..getchar();..3.6顺序结构程序设计举例#include<stdio.h>voidmain(){floatC,F;printf(“请输入一个华氏温度\n”);scanf(“%f”,&F);C=(5.0/9)*(F-32);printf(“华氏温度%f转换为摄氏温度为:%.2f\n”,F,C);}不用5.0而用5会使结果为0,为什么?例1

输入一个华氏温度,输出摄氏温度。公式为:C=(5/9)(F-32)3.6顺序结构程序设计举例#include<stdio.h>voidmain(){charc1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1+32;printf("%c,%d\n",c2,c2);}例3.6

由键盘输入一个大写字符,要求改用小写字符输出。#include“stdio.h”voidmain(){inta,b,temp;printf(“Inputaandb:”);scanf(“%d%d”,&a,&b);printf(“olda=%d,b=%d\n”,a,b);temp=a;a=b;b=temp;printf(“newa=%d,b=%d\n”,a,b);}运行结果:Inputaandb:69回车Olda=6,b=9Newa=9,b=6互换的另一种方法:a=a+b;b=a-b;a=a-b;例

温馨提示

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

评论

0/150

提交评论