第四章 顺序设计.docx

上传人:b****4 文档编号:24873414 上传时间:2023-06-02 格式:DOCX 页数:15 大小:44.89KB
下载 相关 举报
第四章 顺序设计.docx_第1页
第1页 / 共15页
第四章 顺序设计.docx_第2页
第2页 / 共15页
第四章 顺序设计.docx_第3页
第3页 / 共15页
第四章 顺序设计.docx_第4页
第4页 / 共15页
第四章 顺序设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

第四章 顺序设计.docx

《第四章 顺序设计.docx》由会员分享,可在线阅读,更多相关《第四章 顺序设计.docx(15页珍藏版)》请在冰豆网上搜索。

第四章 顺序设计.docx

第四章顺序设计

第四章最简单的C程序设计——顺序程序设计

4.1C语句概述

和其他高级语言一样,C语言的语句用来向计算机系统发出操作命令。

一个语句经编译后产生若干条机器指令。

声明部分的内容不应称为语句,如:

inta;不是一个C语句,它不产生机器操作,而只是对变量的定义。

执行部分即由语句组成。

C语句可以分为以下5类:

控制语句,完成一定的控制功能。

函数调用语句。

表达式语句。

空语句。

可以用{}把一些语句括起来成为复合语句,又称分程序。

4.2赋值语句

C语言中的赋值号“=”是一个运算符,在其他大多数语言中赋值号不是运算符。

关于赋值表达式与赋值语句的概念,其他多数高级语言没有“赋值表达式”这一概念。

作为赋值表达式可以包括在其他表达式之中,例如:

if((a=b)>0)t=a;

4.3数据输入输出的概念及其在C语言中的实现

C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。

在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。

在使用C语言库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中。

在头文件中包含了与用到的函数有关的信息。

例如使用标准输入输出库函数时,要用到“stdio.h”文件。

文件后缀“h”是head的缩写,#include命令都是放在程序的开头,因此这类文件被称为“头文件”。

在调用标准输入输出库函数时,文件开头应有以下预编译命令:

#include

#include"stdio.h"

考虑到printf和scanf函数使用频繁,系统允许在使用这两个函数时可不加#include命令。

4.4字符数据的输入输出

4.4.1putchar函数(字符输出函数)

putchar函数的作用是向终端输出一个字符。

例如:

Line10Col3InsertIndentTabFillUnindent*C:

C4-1.C

#include

main()

{chara,b;intc;

a='B';b='O';c='Y';

putchar(a);putchar(b);putchar(c);putchar('\n');

putchar(a);putchar('\n');

putchar(b);putchar('\n');

putchar(c);putchar('\n');

putchar('\101');putchar('\'');putchar('\015');

}

运行结果:

BOY

B

O

Y

A'

4.4.2getchar函数(字符输入函数)

此函数的作用是从终端(或系统隐含指定的输入设备)输入一个字符。

没有参数,其一般形式为

getchar()

Line6Col3InsertIndentTabFillUnindentC:

C4-2.C

#include"stdio.h"

main()

{charc,d;

c=getchar();putchar(c);

putchar(getchar());putchar('\n');

}

运行结果:

ab

ab

xy

xy

4.5格式输入与输出

4.5.1printf函数(格式输出函数)

1.printf函数的一般格式为

printf(格式控制,输出表列)

如:

C:

C4-51.C

main()

{inta;floatb;charc;

a=56;b=56.7;c='H';

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

}

运行结果为:

a=56,b=56.700001,c=H

括弧内包括两部分:

(1)“格式控制”是用双引号括起来的字符串,也称“转换控制字符串”,它包括两种信息:

①格式说明,由“%”和格式字符组成,如%d,%f等。

它的作用是将输出的数据转换为指定的格式输出。

格式说明总是由“%”字符开始的。

②普通字符,即需要原样输出的字符。

例如printf函数中双引号内的逗号、空格、换行符等。

(2)“输出表列”是需要输出的一些数据。

可以是表达式。

2.格式字符

对不同类型的数据用不同的格式字符。

常用的有以下几种格式字符:

(格1)d式符。

用来输出十进制整数。

有以下几种用法:

①%d,按整型数据的实际长度输出。

②%md,m为指定的输出字段的宽度。

如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。

如若a=123,b=12345

printf(“%4d,%4d”,a,b);

则输出结果为:

□123,12345

  ③%ld或%mld,输出长整型数据。

例如:

C:

C4-52.C

main()

{inta,b;longc;

a=123;b=12345;c=135790;

printf("a=%4d,b=%4d,\nc=%ld,c=%4ld,c=%8ld\n\n",a,b,c,c,c);

}

运行结果为:

a=123,b=12345,

c=135790,c=135790,c=135790

(2)o格式符,以八进制数形式输出整数。

(3)x格式符,以十六进制数形式输出整数。

(4)u格式符,用来输出unsigned型数据,即无符号数,以十进制数形式输出整数。

例如:

C:

C4-3.C

main()

{unsigneda=65535;intb=-2,c=-1;

printf("a=%d,%o,%x,%u\n",a,a,a,a);

printf("b=%d,%o,%x,%u\n",b,b,b,b);

printf("c=%d,%o,%x,%u\n\n",c,c,c,c);

}

运行结果为:

a=-1,177777,ffff,65535

b=-2,177776,fffe,65534

c=-1,177777,ffff,65535

-1的原码:

-1的反码:

-1的补码:

(5)c格式符,用来输出一个字符。

(6)s格式符,用来输出一个字符串。

例如:

C:

C4-5.C

main()

{charc='a';inti=97;

printf("%c,%d\n",c,c);

printf("%c,%d\n",i,i);

printf("%3s,%7.2s,%.4s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");

}

运行结果为:

a,97

a,97

CHINA,CH,CHIN,CHI

(7)f格式符,用来输出实数(包括单、双精度),以小数形式输出。

(8)e格式符,以指数形式输出实数。

(9)g格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。

例如:

C:

C4-6.C

main()

{floatx,y,f=123.456;doublea,b;

x=111111.111;y=222222.222;

a=1111111111111.111111111;

b=2222222222222.222222222;

printf("x+y=%f\n",x+y);

printf("a+b=%f\n",a+b);

printf("f=%f%10f%10.2f%.2f%-10.2f\n\n",f,f,f,f,f);

}

运行结果为:

x+y=333333.328125

a+b=3333333333333.333010

f=123.456001123.456001123.46123.46123.46

又例如:

C:

C4-8.C

main()

{floatf=123.456;

printf("f=%e%10e%10.2e%.2e%-10.2e\n",f,f,f,f,f);

printf("f=%f%e%g\n\n",f,f,f);

}

运行结果为:

f=1.23456e+021.23456e+021.2e+021.2e+021.2e+02

f=123.4560011.23456e+02123.456

再例如:

C:

C4-100.C

main()

{intk;

k=8567;

printf("|%-06d|\n",k);

}

运行结果为:

|8567|

C:

C4-101.C

main()

{longa=0xabcdef;

doubleb=1.0E40;

printf("\n%5.2e,%-6x",b,a);

}

运行结果为:

1.0e+40,cdef

C:

C4-111.C

main()

{intn1=683;

longn2=0xabcdef;

doublen3=1.0E40;

printf("\n\n|n1=%d|,|%o|,|%x|",n1,n1,n1);

printf("\n|n3=%5.2e|,|%5.3E|,|%8.2E|",n3,n3,n3);

printf("\n|n2=%d|,|%10d|,|%8.2d|",n2,n2,n2);

printf("\n|n2=%ld|,|%10ld|,|%8.2ld|",n2,n2,n2);

printf("\n|n2=%-6x|,|%6X|,|%x|,|%10X|",n2,n2,n2,n2);

printf("\n|n2=%-6lx|,|%6lX|,|%lx|,|%10lX|",n2,n2,n2,n2);

}

运行结果为:

|n1=683|,|1253|,|2ab|

|n3=1.0e+40|,|1.00E+40|,|1.0E+40|

|n2=-12817|,|171|,|-12817|

|n2=11259375|,|11259375|,|11259375|

|n2=cdef|,|AB|,|cdef|,|AB|

|n2=abcdef|,|ABCDEF|,|abcdef|,|ABCDEF|

C:

C4-30.C

main()

{inta=32767,b=-32767,c=-32768,d=-0,e=-1,f=-2;

printf("\n\n|a=%d||%x|",a,a);

printf("\n|b=%d||%x|",b,b);

printf("\n|c=%d||%x|",c,c);

printf("\n|d=%d||%x|",d,d);

printf("\n|e=%d||%x|",e,e);

printf("\n|f=%d||%x|",f,f);

}

运行结果为:

|a=32767||7fff|

|b=-32767||8001|

|c=-32768||8000|

|d=0||0|

|e=-1||ffff|

|f=-2||fffe|

a=32767(0111111111111111)原7fff

a

b=-32767(1111111111111111)原(1000000000000000)反

(1111111111111111)原(1111111111111110)反

b

c=-32768

(1000000000000000)原(1111111111111111)反

c

d

e=-1(1000000000000001)原(1111111111111110)反

f=-2(1000000000000010)原(1111111111111101)反

f

4.5.2scanf函数(格式输入函数)

1.一般格式

scanf(格式控制,地址表列)

“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。

2.格式说明

例如:

C:

C4-9.C

main()

{inta;floatb;charc;

printf("inputa(i),b(f),c(c):

");

scanf("%d,%f,%c",&a,&b,&c);

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

}

运行结果为:

inputa(i),b(f),c(c):

8,123.456,m

a=8,b=123.456001,c=m

C:

C4-91.C

main()

{charc,d;

printf("inputc(c)d(c):

");

scanf("%c%c",&c,&d);

printf("c=%cd=%c\n\n",c,d);

}

运行结果为:

inputc(c)d(c):

mn

c=md=n

3.使用scanf函数时应注意的问题

(1)scanf函数中的“格式控制”后面应当是变量地址,而不应是变量名。

(2)如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。

(3)在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入。

C4-93.C

main()

{charc1,c2,c3;

printf("inputc1(c)c2(c)c3(c):

");

scanf("%c%c%c",&c1,&c2,&c3);

printf("c1=%cc2=%cc3=%c\n\n",c1,c2,c3);

}

运行结果为:

inputc1(c)c2(c)c3(c):

abc

c1=ac2=c3=b

inputc1(c)c2(c)c3(c):

x/n

c1=xc2=/c3=n

4.6顺序结构程序设计举例

例:

C:

C4-10.C

#include

main()

{floata,b,c,s,area;

printf("a,b,c(f)");

scanf("%f,%f,%f",&a,&b,&c);

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);

printf("area=%7.2f\n\n",area);

}

运行结果为:

a,b,c(f)3,4,6

a=3.00,b=4.00,c=6.00,s=6.50

area=5.33a,b,c(f)3,4,6

例:

C:

C4-11.C

#include

main()

{

charc1,c2;

printf("inputachar:

");c1=getchar();

printf("%c,%d\n",c1,c1);

c2=c1+32;

printf("%c,%d\n",c2,c2);

}

运行结果为:

inputachar:

A

A,65

a,97

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1