第4讲-顺序结构和常用语句_第1页
第4讲-顺序结构和常用语句_第2页
第4讲-顺序结构和常用语句_第3页
第4讲-顺序结构和常用语句_第4页
第4讲-顺序结构和常用语句_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第4讲--顺序结构和常用语句.C程序的语句有如下五种:表达式语句:任何表达式加上分号构成。

如:x=1;y=x+y;--x;y+1;函数调用语句:由一次函数调用加上分号构成

如:printf("VeryGood!\n");复合语句:用{}括起来组成的一个语句。

如:if(a>b){x=0;b=b+1;x=a;}空语句:仅由一个分号构成的语句。

控制语句:控制程序的流程

如:if…else语句,while语句,return语句。

二、C语言语句(P54)

C语言对数据的输入、数据的输出是通过函数实现的。其中最基本的有:格式输出函数printf(),格式输入函数scanf(),字符输出函数putchar(),字符输入getchar()。

注意:在调用putchar(),字符输入getchar()函数时,应在程序开始处使用文件包含命令,即:#include<stdio.h>顺序结构程序中的语句一般按照三步编写:输入参数、根据参数计算、输出计算结果。三、顺序结构(补充)1.字符输出:putchar()函数格式:putchar(c);功能:向终端(屏幕)输出一个字符c。

说明:1)c为参数,它可以是字符型变量、字符型常量或转义字符。2)程序中需要增加包含命令:

#include<stdio.h>

或者:#include"stdio.h"四、字符输入输出(P65)#include"stdio.h"main(){ chara; intb; a='b'; b=111; putchar(a); putchar(b); putchar('y'); putchar('\n');}例:putchar()函数例题(写出执行结果)程序运行结果:

boy说明:

"o"的ASCII码为111。

2.字符输入函数getchar()(P68)格式:getchar();功能:从终端(键盘)接收(读入)一个字符。

说明:getchar()只能接收一个字符,该字符可赋给字符变量。

#include<stdio.h>voidmain(){ charc;

c=getchar();putchar(c);}功能:输入一个字符,再将该字符输出。

功能:通过标准输出设备(如显示器)输出一组数据。输出形式由"格式控制"字符串规定。

1.格式输出:printf()函数格式:printf("格式控制",输出表列);格式控制:由双引号括起来的字符串,用于指定要输出的数据的格式。

输出列表:需要输出的数据表列,彼此间用逗号分隔。它可是任意合法的表达式。

五、格式输入输出函数(P57)格式符功

能形

式d输出十进制整数%d、%md、%ld、%mldo以八进制形式输出整数%o、%mo、%lox以十六进制形式输出整数%x、%mx、%lxu以十进制形式输出一个无符号的数%uc输出一个字符%cs输出一个字符串%s、%ms、%m.nsf以小数的形式输出实数%f、%m.nf、%lfe以标准指数的形式输出实数%e、%m.neg根据实数的大小自动按f或e的形式选择输出格式%g用于输出的格式字符(P58)printf("a+b=%5.2f",c);附加格式符格式符输出表列普通字符格式说明符格式控制输出结果:普通字符原样输出,输出表列根据格式控制符号来输出,即格式控制符控制输出表列的输出结果。

格式输出函数printf()的格式说明:格式字符说明:1)d格式字符。%d:按整型数据的实际长度输出。

%md:m为指定的输出长度。如果数据位小于m,则左端补以空格;大于m,则按实际位输出。

例:printf("%4d,%4d",a,b);若a=12,b=12345则输出为:12,12345%ld:输出长整型数据。

TC2.0中的%d的输出范围为-32768~32767,输出超过该范围的整型数就会出错,此时用%ld输出。其输出格式和功能与%d相同,如:%8ld。

2)o格式字符以八进制数形式输出整数,且不带符号。对于长整数可用"%lo"输出。功能同十进制输出。

3)x格式字符以十六进制数形式输出整数,且不带符号。对于长整数可用"%lx"输出。功能同十进制输出。

4)u格式字符用来输出unsigned

int数据,即无符号整数,输出十进制数。

#include<stdio.h>main(){ inta; a=20; printf("a=%d\n",a); printf("a=%o\n",a); printf("a=%x\n",a);}例:写出下面程序的执行结果。

执行结果:a=20a=24a=14#include<stdio.h>main(){ inta,b,c; a=20;b=020;c=0x20; printf("a=%d,b=%d,c=%d\n",a,b,c); printf("a=%o,b=%o,c=%o\n",a,b,c); printf("a=%x,b=%x,c=%x\n",a,b,c);}例:写出下面程序的执行结果。

程序的执行结果:a=20,b=16,c=32a=24,b=20,c=40a=14,b=10,c=20#include<stdio.h>main(){ shortinta,b; a=-1;b=65535; printf("a=%d,b=%d\n",a,b); a=-2;b=65534; printf("a=%d,b=%d\n",a,b); a=-9;b=65527; printf("a=%d,b=%d\n",a,b);}例:写出下面程序的执行结果。

执行结果:a=-1,b=-1a=-2,b=-2a=-9,b=-9思考:如果a=32768;b=-32768程序的执行结果?#include<stdio.h>main(){ inta; a=-1; printf("a=%d,a=%o,a=%x,a=%u\n",a,a,a,a);}例:写出下面程序的执行结果。

在Vc++6.0下,程序的执行结果为:a=-1,a=37777777777,a=ffffffff,a=4294967295在Turboc2.0下,程序的执行结果为:a=-1,a=17777,a=ffff,a=65535思考:为什么会出现上述两种不同的执行结果?5)c格式字符

说明:一个整数,如果在0~255之间,也可用字符形式输出,系统会将该整数转换成相对应的ASCII码字符;同时,一字符也可以用整数形式输出。

作用:用来输出一个字符。intx=65;printf("%c",x);intx=‘A’;printf("%d",x);输出:A输出:65如:printf("%3c",c),则输出为:

c格式字符也可以指定输出字数宽度A6)s格式字符用来输出一个字符串。例:printf("%s","Hello!");输出为:Hello。

%ms:输出的字符串占m列。如果字符串长度小于m,则左端补以空格;否则输出整个字符串。

%-ms:如果串长小于m,则字符串向左靠,右补空格,其余同上。

%m.ns:输出的字符串占m列,但只取字符串中左端n个字符,字符输出在m列的右侧,左端补空格。

%-m.ns:-是左对齐,即右补空格。

#include<stdio.h>main(){ charstr1[]="abcdefg"; printf("1234567890\n"); printf("%s\n",str1); printf("%10s\n",str1); printf("%5s\n",str1); printf("%10.5s\n",str1); printf("%-10.5s\n",str1);}例:写出下面程序的执行结果。

执行结果为:1234567890abcdefgabcdefgabcdefgabcdeabcde7)f格式字符

%f:不指定字段宽度,整数部分全部输出,小数部分输出6位。

%m.nf:指定输出数据占m列,其中有n位小数。若数值长度小于m,则左端补以空格。

%-m.nf:功能同上,右端补以空格。

8)e格式字符

%e:不指定字段宽度,系统自动给出6位小数,指数部分占4位。其中"e"占1位,指数符号占1位,指数占2位。

#include<stdio.h>main(){floatx=123.456;printf("1234567890\n");printf("%f\n",x); printf("%e\n",x);printf("%10.3f\n",x);printf("%-10.3f\n",x);}例:写出下面程序的执行结果。

执行结果为:1234567890123.4560001.234560e+002123.456123.456#include<stdio.h>intmain(){ intv=10;printf("%d,%d,%d\n",v++,v++,v++);}例:写出下面程序的执行结果。

在Vc++6.0下,程序的执行结果为:10,10,10在DevC++下,程序的执行结果为:12,11,10思考:为什么会出现上述两种不同的执行结果?9)函数中的输出项按照从右向左的顺序输出(P65)2.格式输入函数scanf(P66)函数功能:从终端输入任何类型的多个数据

函数格式:scanf("格式控制",地址表列);格式控制:与printf相同,但普通字符按原样输入。

地址表列:由若干个变量地址组成的表列。

地址是由"&"运算得到的。"&"是取址运算符,单目运算符,右结合性。

例如:&a,&chr分别表示变量a,chr,i的地址,该地址是在编译连接时系统分配给变量a,chr的地址。

例1:scanf("%d%d",&a,&b);可以采用格式:12

678↙例2:scanf("%d,%d",&a,&b);

必须采用格式:12,678↙例3:scanf("a=%d,b=%d",&a,&b);

必须采用格式:a=12,b=678↙如果要使a、b的值为12和678,则:1)普通字符应该原样输入,格式符中无普通字符时,可用空格、Tab键、回车键作分隔符。

2)无符号数可用%d、%o、%x格式输入。

3)输入格式符带有*:表示该数据不赋值。

例:scanf("%d%*d%d",&a,&c);

键入:1234567

则a=12,c=567,34未赋值。

5)数据输入时不可规定精度,但可确定宽度。

例:scanf("%3f%3c",&a,&b);合法。

例:scanf("%3.2f%3c",&a,&b);非法。

4)用c格式符输入字符时,空格均为有效字符。

例:scanf("%c%c%c",&a,&b,&c);

若键入ABC

则a=A,b=B,c=C

若键入ABC

则a=A,b=空格,c=B/*参考程序*/#include<stdio.h>voidmain(){ inta,b,temp; scanf("%d,%d",&a,&b); temp=a; a=b; b=temp; printf("a=%d,b=%d\n",a,b);}六、顺序结构程序设计例(P69)例:

温馨提示

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

评论

0/150

提交评论