如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
10.1.1单个字符的输入输出[例10.2]下面程序读进两个字符并按相反的次序显示,两个字符由制表符隔开。#include<stdio.h>main(){intc,d;c=getchar();d=getchar();putchar(d);putchar(‘\t’);putchar(c);putchar(‘\n’);}10.1.2行输入和行输出gets(string):从标准输入上接收一个字符串string是一个指向字符串的指针。gets从用户终端上取得那个串的内容,并返回指向该字符串的指针。该函数从用户终端上取得一个以换行符结束的字符串,并用‘\0’代替该换行符。如果gets碰上一个出错条件,它就返回一个空串。如果仅仅在终端上敲一次回车键,它也返回一个空串。[例10.3]从标准输入设备上读进许多字符行,直到遇见空行为止。然后输出最长行。假设一行不能超过80个字符。#include<stdio.h>main(){charlongest[81],current[81];intcurlen,lonlen;if(gets(longest)==NULL)return;lonlen=strlen(longest);while(gets(current)!=NULL&&(curlen=strlen(current)))if(curlen>lonlen){strcpy(longest,current);lonlen=curlen;}puts(longest);}10.1.3按格式输入和输出“输出列表”是需要输出的一些数据,可以是任意表达式。对于printf而言,可以输出多个表达式的值,按控制输出的格式符的出现次序,依次输出各个表达式的值。有以下几种格式字符:d格式符,用来输出十进制整数。有以下几种用法:%d:按整型数据的实际长度输出。%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。%ld:用于输出长整型数据。输出长整型数据时,采用%d格式就会发生错误。o格式符,按八进制数形式输出整数,输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。对长整型数可以用“%lo”格式输出。可以指定字段宽度。x格式符,按十六进制数形式输出整数。不会出现负十六进制数。可以采用“%lx”输出长整型数,可以指定输出字段的宽度。u格式符,以十进制的形式输出unsigned型数据。c格式符,用来输出一个字符、一个整数(0~255,以用字符形式输出);一个字符数据也可以用整数形式输出。可以规定输出字符的场宽,输出时左端补以空格。s格式符,用来输出一个字符串。有几种用法:%s,输出一个字符串,不输出‘\0’。%ms,输出的字符串占m列,如果字符串本身长度大于m,则突破m的限制,将字符串全部输出。若串长小于m,则左补空格。%-ms,如果字符串长小于m,则在m列范围内,字符串向左靠,右补空格。%mns,输出占m列,但只取字符串左端n个字符。这n个字符输出在m列的右侧,左补空。%-mns,其中m,n的含义同上,字符串左端n个字符输出在m列范围的左侧,右补空格。如果n>m,则保证n个字符正常输出。f格式符,用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:%f,不指定字段宽度,由系统自动指定,使整数部分全部输出,并输出6位小数。应当注意,并非全部数字都是有效数字。%mnf,指定输出的数据共占m列,其中有n位小数。如果数值长度小于m,则在左端补空格。%-mnf,与%mnf基本相同,只是使输出的数据向左端靠,右端补空格。e格式符,以指数形式输出实数。形式如下:%e,不指定输出数据所占的宽度和数字部分小数位数,由系统自动给出6位小数,指数部分占4位,其中“e”占1位,指数符号占1位,指数占2位。数值按标准化指数形式输出,即小数点前必须有而且只有一位非零数字。%mne和%-mne,m,n和“-”的含义与前述相同。n指数据的尾数位数。g格式符,用来输出实数,根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。例如:main(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%d\n”,a,b,c);}345(输入a,b,c的值)3,4,5(输出a,b,c的值)10.1.3按格式输入和输出10.1.3按格式输入和输出scanf的格式说明以%开始,以一个格式字符结束,标准C在scanf中不使用%u说明符,对unsigned型数据,以%d或%o、%x格式输入。可以指定输