c语言第二章Word格式.docx

上传人:b****7 文档编号:22968881 上传时间:2023-02-06 格式:DOCX 页数:15 大小:165.35KB
下载 相关 举报
c语言第二章Word格式.docx_第1页
第1页 / 共15页
c语言第二章Word格式.docx_第2页
第2页 / 共15页
c语言第二章Word格式.docx_第3页
第3页 / 共15页
c语言第二章Word格式.docx_第4页
第4页 / 共15页
c语言第二章Word格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

c语言第二章Word格式.docx

《c语言第二章Word格式.docx》由会员分享,可在线阅读,更多相关《c语言第二章Word格式.docx(15页珍藏版)》请在冰豆网上搜索。

c语言第二章Word格式.docx

if((a=b)>

0)t=a;

正确

问题:

c语言中的赋值语句于其他高级语言的赋值语句有什么不同点?

1:

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

2:

其他大多数高级语言没有“赋值表达式”这一概念.

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

(一).所谓输入输出是以计算机主机为主体而言的

输出:

从计算机向外部输出设备(显示器,打印机)输出数据

输入:

从输入设备(键盘,鼠标,扫描仪)向计算机输入数据

(二).C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的

例如:

字符输入函数:

getchar字符输出函数:

putchar

格式输入函数:

scanf格式输出函数:

printf

字符串输入函数:

gets字符串输出函数:

puts

(三).在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中.

例如:

在调用标准输入输出库函数时,文件开头应该有:

#include“stdio.h”或:

#include<

stdio.h>

4.4字符数据的输入输出

(一).字符输出函数

•一般形式:

putchar(c)(c可以是字符型变量,也可以是整型变量)

•函数作用:

向终端输出一个字符

例4.1输出单个字符。

#include<

voidmain()

{chara,b,c;

a='

B'

;

b='

O'

c='

Y'

putchar(a);

putchar(b);

putchar(c);

putchar('

\n'

);

}运行结果:

BOY

(二).字符输入函数

getchar()

从终端(或系统隐含指定的输入设备)输入一个字符。

•函数值:

从输入设备得到的字符。

例4.2输入单个字符。

{charc;

c=getchar();

putchar('

}

运行程序:

从键盘输入字符‘a’按Enter键屏幕上将显示输出的字符‘a’aa

键盘缓冲区

例4.2输入多个字符。

{charch1,ch2;

ch1=getchar();

ch2=getchar();

putchar(ch1);

4.5格式输入与输出

(一).格式输出函数

向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。

•一般格式:

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

%d:

以带符号的十进制形式输出整数

%o:

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

%x:

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

%u:

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

%c:

以字符形式输出,只输出一个字符

%s:

输出字符串

%f:

以小数形式输出单,双精度数,隐含输出六位小数

%e:

以指数形式输出实数

%g:

选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0

几种常见的格式符的修饰符:

L:

用于长整型整数,可加在格式符d,o,x,u前面

M(代表一个正整数):

数据最小宽度

N(代表一个正整数):

对实数,表示输出n位小数;

对字符串,表示截取的字符个数

—:

输出的数字或字符在域内向左靠

(1)d格式符。

用来输出十进制整数。

几种用法:

2%d:

按十进制整型数据的实际长度输出。

②%md:

m为指定的输出字段的宽度。

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

例:

printf(″%4d,%4d″,a,b);

若a=123,d=12345,则输出结果为123,12345

3%ld:

输出长整型数据。

4longa=135790;

/*定义a为长整型变量*/

printf(″%ld″,a);

(2)o格式符。

以八进制整数形式输出。

输出的数值不带符号,符号位也一起作为八进制数的一部分输出。

inta=-1;

printf("

%d,%o"

,a,a);

-1在内存单元中的存放形式(以补码形式存放)如下:

111111*********1

输出为:

-1,177777

不会输出带负号的八进制整数。

对长整数(long型)可以用“%lo”格式输出。

还可以指定字段宽度,

printf("

%8o"

,a);

177777。

(数字前有2个空格)

(3)x格式符。

以十六进制数形式输出整数。

同样不会出现负的十六进制数。

inta=-1;

printf(″%x,%o,%d″,a,a,a);

输出结果为:

ffff,177777,-1

可以用“%lx”输出长整型数,也可以指定输出字段的宽度

“%12x”

(4)u格式符,用来输出unsigned型数据.一个有符号整数(int型)也可以用%u格式输出;

一个unsigned型数据也可以用%d格式输出。

unsigned型数据也可用%o或%x格式输出。

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

如:

char d=′a′;

printf(″%c″,d);

输出字符′a′.

一个整数,只要它的值在0~255范围内,可以用“%c”使之按字符形式输出,在输出前,系统会将该整数作为ASCII码转换成相应的字符;

一个字符数据也可以用整数形式输出。

例4.3无符号数据的输出。

{unsignedinta=65535;

intb=-2;

a=%d,%o,%x,%u\n"

a,a,a,a);

b=%d,%o,%x,%u\n"

b,b,b,b);

}

运行结果:

a=-1,177777,ffff,65535

b=-2,177776,fffe,65534

例4.4字符数据的输出。

{charc='

a'

inti=97;

%c,%d\n"

c,c);

i,i);

a,97

指定输出字数的宽度,printf(“%3c”,c);

则输出:

a

(6)s格式符输出字符串.

①%s。

printf(″%s″,″CHINA″)

输出字符串“CHINA”(不包括双引号)。

②%ms,输出的字符串占m列,若串长大于m,则全部输出,若串小于m,则左补空格。

③%-ms,若串长小于m,字符串向左靠,右补空格。

④%m.ns,输出占m列,只取字符串中左端n个字符,输出在m列的

右侧,左补空格。

5%-m.ns,n个字符输出在m列的左侧,右补空格,若n〉m,m自

动取n值。

例4.5字符串的输出。

{

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

CHINA,CH,CHIN,CHI

 

(7)f格式符。

用来以小数形式输出实数(包括单双精度)

有以下几种用法:

①%f。

不指定字段宽度,由系统自动指定字段宽度,使整数

部分全部输出,并输出6位小数。

应当注意,在输出的数字中

并非全部数字都是有效数字。

单精度实数的有效位数一般为7位。

②%m.nf。

指定输出的数据共占m列,其中有n位小数。

如果

数值长度小于m,则左端补空格。

③%-m.nf与%m.nf基本相同,只是使输出的数值向左端

靠,右端补空格。

例4.6输出实数时的有效位数。

#include<

voidmain()

{floatx,y;

  x=111111.111;

y=222222.222;

  printf(″%f″,x+y);

333333.328125

例4.7输出双精度数时的有效位数。

{doublex,y;

x=1111111111111.111111111;

y=2222222222222.222222222;

printf(“%f”,x+y);

3333333333333.333010

例4.8输出实数时指定小数位数。

  {

floatf=123.456;

printf(“%f%10f%10.2f%.2f%-10.2f\n”,f,f,f,f,f);

运行结果:

123.455994123.455994123.46123.46123.46

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

可用以下形式:

①%e。

不指定输出数据所占的宽度和数字部分的小数位数.

printf(″%e″,123.456);

输出:

1.234560e+002

6列5列

所输出的实数共占13列宽度。

(注:

不同系统的规定略有不同)

②%m.ne和%-m.ne。

 m、n和“-”字符的含义与前相同。

此处n指拟输出的数据的小数部分(又称尾数)的小数位数。

若f=123.456,则:

printf("

%e%10e%10.2e%.2e%-10.2e"

,f,f,f,f,f);

输出如下:

1.234560e+0021.234560e+0021.23e+0021.23e+002

13列13列10列9列

1.23e+002

10列

说明:

未指定n,自动使n=6.

超过给定的10列,乃突破10列的限制,按实际长度输出。

第3个数据共占10列,小数部分占2列。

只指定n=2,未指定m,自动使m等于数据应占的长度。

第5个数据应占10列,数值只有9列,由于是“%-10.2e”,

数值向左靠,右补一个空格。

有的C系统的输出格式与此略有不同)

(9)g格式符,用来输出实数.

它根据数值的大小,自动选f格式或e格式(选择输出时占宽度

较小的一种),且不输出无意义的零。

若f=123.468,则

printf(″%f%e%g″,f,f,f);

123.4680001.234680e+002123.468

10列13列10列

用%f格式输出占10列,用%e格式输出占13列,用%g

格式时,自动从上面两种格式中选择短者(今以%f格式为短)

故占10列,并按%f格式用小数形式输出,最后3个小数位为

无意义的0,不输出,因此输出123.468,然后右补3个空格。

%g格式用得较少。

说明:

•除了X,E,G外,其他各式字符必须用小写。

•可以在printf函数中的“格式控制”字符串中包含转义字符。

•一个格式说明必须以“%”开头,以9个格式字符之一为结束,中间可以插入附加格式字符。

•想输出%,则应该在格式控制字符串中用连续两个%表示

(一).格式输入函数

按照变量在内存的地址将变量值存进去。

scanf(格式控制(同printf函数),地址表列(是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址))

例4.9用scanf函数输入数据。

{inta,b,c;

scanf("

%d%d%d"

&

a,&

b,&

c);

a在内存中的地址&

是地址运算符

%d,%d,%d\n"

a,b,c);

运行情况:

345(输入a,b,c的值)

3,4,5(输出a,b,c的值)

•对unsigned型变量所需要的数据,可以用%u,%d或%o,%x格式输入。

•可以指定输入数据所占的列数,系统自动按它截取所需数据。

•如果在%后有一个“*”附加说明符,表示跳过它指定的列数。

输入数据时不能规定精度。

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

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

是变量名。

(2)如果在“格式控制”字符串中除了格式说明以外还有其他字符,

则在输入数据时在对应位置应输入与这些字符相同的字符。

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

有效字符输入

(4)在输入数据时,遇以下情况时认为该数据结束。

①遇空格,或按“回车”或“跳格”(Tab)键;

②按指定的宽度结束,如“%3d”,只取3列;

开始

输入三边长

计算s

计算面积

结束

③遇非法输入。

例4.10输入三角形的三边

长,求三角形面积。

假设:

三个边长a,b,c能构

成三角形。

已知面积公式:

area=

s=(a+b+c)*0.5

math.h>

(数学函数库因为要用到其中的sqrt函数)

{floata,b,c,s,area;

%f,%f,%f"

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

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

a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n"

a,b,c,s);

area=%7.2f\n"

area);

3,4,6

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

area=5.33

例4.11从键盘输入一个大写字母,要求改用小写字母输出。

#include<

stdio.h>

voidmain()

{charcl,c2;

 cl=getchar();

 printf(″%c,%d\n″,cl,cl);

 c2=cl+32;

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

A↙

A,65

a,97

4.6顺序结构程序设计举例

voidmain()

floata,b,c,disc,x1,x2,p,q;

a=%f,b=%f,c=%f"

disc=b*b-4*a*c;

p=-b/(2*a);

q=sqrt(disc)/(2*a);

x1=p+q;

x2=p-q;

\n\nx1=%5.2f\nx2=%5.2f\n"

x1,x2);

a=1,b=3,c=2↙

x1=-1.00

x2=-2.00

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

当前位置:首页 > 外语学习 > 法语学习

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

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