第四讲 顺序结构和常用语句一,C语言语句二、格式输入输出
1、格式输出,printf( )函数
2、格式输入,scanf( )函数三、字符输入输出
1、字符输出,putchar( )函数
2、字符输入,getchar( )函数
C程序的语句有五种,分号,;,是 C语句结束的标志。
表达式语句:任何表达式加上分号构成如,x=1; y=x+y; - -x; y+1;
一,C语言语句
函数调用语句:由一次函数调用加上分号构成如,printf(,Very Good! \n");
复合语句,用 { }括起来组成的一个语句如,if ( a> b) { x=0; b=b+1; x=a; }
空语句:仅由一个分号构成的语句
控制语句:控制程序的流程如,if…else 语句,while语句,return
语句等。
C语言对数据的输入、数据的输出是通过函数实现的。存在于 C 所在目录的子目录 include中的头文件内。
其中最基本的有,printf( ) (格式输出 )
scanf( ) (格式输入 )
putchar( ) (字符输出 )
getchar( ) (字符输入 )
在调用上述基本库函数时,应在程序开始处使用文件包含命令,即:
#include,stdio.h"
功能:通过标准输出设备(如显示器)输出一组数据。
输出形式由“格式控制”字符串规定。
1、格式输出,printf( )函数
格式:
printf(,格式控制”,输出表列 );
二、格式输入输出
格式控制,由 双引号 括起来的字符串,用于指定要输出的数据的格式。
2)格式说明:用来指定需输出数据的输出格式的,其形式为:
% [<修饰符 >]格式字符格式字符用以说明输出数据的类型,形式,
长度,小数位数等。
它包括:
1)普通字符:按原样输出的字符;
输出表列,需要输出的数据列表,彼此间用 逗号 分隔。它可是任意合法的表达式。
DDDD·D DD DD
l
DDDDD¤DDDDDDDDDDDDDDDDDD
DDDDDDDDDD·Dd DDo DDx DDu DDf D°
m DDDDDD×DDDDíDD
n
DDDDDDDD±íDDDDDD n DDDDDD
DD×D·DDDDD±íDDDD×óDDDDDDDDn DD×D·D
DD DDDDDDDD×DDò×D·D×óDDDDDDDD±DDDDDDDDD
用于输出的修饰符用于输出的格式字符格式符 功 能 形 式
d 输出十进制整数 %d,%md,%ld,%mld
o 以八进制形式输出整数 %o,%mo,%lo
x 以十六进制形式输出整数 %x,%mx,%lx
u 以十进制形式输出一个无符号的数 %u
c 输出一个字符 % c
s 输出一个字符串 %s,% ms,% m.ns
f 以小数的形式输出实数 %f,%m.nf,%lf
e 以标准指数的形式输出实数 %e,%m.ne
g 根据实数的大小自动按 f或 e的形式选择输出格式 % g
例:格式输出,printf()函数
printf( " a+b = %5.2 f ",c );
附加格式符格式符输出表列普通字符格式说明符格式控制说明:
1,d格式字符
% d:按整型数据的实际长度输出
% md,m为指定的输出长度。如果数据位小于 m,
则左端补以空格 ;大于 m,则按实际位输出。
例,printf(,%4d,%4d”,a,b);
若 a=12,b=12345,则输出
12,12345
% ld:输出长整型数据。
% d的输出范围为- 32768~32767,输出超过该范围的整型数就会出错,此时用 %ld输出。
其输出格式和功能与 %d相同,如,% 8ld
2,o格式字符以八进制数形式输出整数,且不带符号。
对于长整数可用“% lo”输出。功能同十进制输出。
3,x格式字符以十六进制数形式输出整数,且不带符号。
对于长整数可用“% lx”输出。功能同十进制输出。
4,u格式字符用来输出 unsigned型数据,即无符号数,输出十进制数。
用% o,%x输出负数时会发生错误。
5,c格式字符一个整数,如果在 0~255之间,也可用字符形式输出,
系统会将该整数转换成相对应的 ASCII码字符;同时,一字符也可以用整数形式输出。
例,char c=?a?;
printf(“%c”,c);
用来输出一个字符。
int a=65;
printf (“%c”,a);
int c=?A?;
printf (“%d”,c);
输出 A 输出 65
如,printf(“%3c”,c),则输出
c格式字符也可以指定输出字数宽度
A
6,s格式字符
% s:用来输出一个字符串例,printf(“%s”,“Hello!”); 输出 Hello!,不包括,”
% ms:输出的字符串占 m列。如果字符串长度小于 m,则左端补以空格;长度大于 m,则输出整个字符串。
% -ms:如果串长小于 m,则字符串向左靠,右补空格,其余同上。
% m.ns:输出的字符串占 m列,但只取字符串中左端 n个字符,这 n个字符输出在 m列的右侧,
左端补空格。
% -m.ns:其他意义同 % m.ns,右补空格。
7,f格式字符
% f:不指定字段宽度,整数部分全部输出,小数部分输出 6位。
% m.nf:指定输出数据占 m列,其中有 n位小数。
若数值长度小于 m,则左端补以空格。
% -m.nf:功能同上,右端补以空格。
8,e格式字符
% e:不指定字段宽度,系统自动给出 6位小数,指数部分占 4位。其中,e”占 1位,指数符号占 1位,
指数占 2位。
例,printf(,%e”,123.456);
输出,1.234560e+02
6位小数部分 4位指数部分
% m.ne,% -m.ne,% me,中 m,-的意义和前相同,n
是指数据的小数部分输出的位数。
9,g格式字符用来输出实数,根据数值大小,自动选 f或 e
格式,且不输出无意义的零。
main()
{ int a=1234;
float f1=12.34567,f2=678.9;
printf("1) %d,%6d,%-6d,%2d;\n",a,a,a,a);
printf("2) %f,%10.4f,%3.2f;\n",f1,f1,f1);
printf("3) %e,%e;\n",f1,f2);
printf("4) %8e,%14e;\n",f1,f1);
printf("5) %10.7e,%10.3e;\n",f1,f1);
}
实例:
程序运行结果:
1) 1234,1234,1234,1234;
2) 12.345670,12.3457,12.35;
3) 1.23457e+01,6.78900e+02;
4) 1.23457e+01,1.23457e+01;
5) 1.234567e+01,1.23e+01;
2、格式输入,scanf( )函数
功能:从终端输入任何类型的多个数据
格式:
scanf("格式控制 ",地址表列 );
格式控制,由 双引号 括起来的字符串,用于指定要输入的数据的格式。
1)普通字符:按原样输入的字符;
2)格式说明:用来指定需输入数据的输入格式的,其形式为:
% [<修饰符 >]格式字符
地址表列,由若干个变量地址组成的表列。
地址是由”&”运算得到的。
“&”是取址运算符,单目运算符,右结合性。
例,&a,&chr,&i,分别表示变量 a,chr,i的地址,该地址是在编译连接时系统分配给变量 a,
chr,i的地址。
用于输入的修饰符
DT ê? 2¥?ü
l
ó? óú 3¤ Dí?¢è Dí êy?Y
é?ó?ú ·? ê? 2? d?¢ o?¢ x?¢ f?¢ e?°
h
ó? óú?ì Dí êy?Y
é?ó?ú ·? ê? 2? d?¢ o?¢ x?°
m £¨ó ò?í £|?·?¨ê? è? êy?Y?ù μí?è £¨á D êy £|
*
±í ê? ±? ê? èú?á è? 1ó
2o ·3 ·′ ó¥ μ? ±? á?
用于输入的格式字符
·? ê? 2¥?ü D? ê?
d ê? è? ê êy
%d?¢ %l d?¢ %h d
% md?¢ %ml d
o ê? è? ° êy %o?¢ %mo?¢ %l o
x ê? è? ê? áù êy %x?¢ %mx?¢ %l x
c ê? è? òo ·? 3? 2? %c
s ê? è? òo ·? 3? 2? ′? %s?¢ %ms
f %f?¢ %mf?¢ %l f
e %e?¢ %me?¢ %l e
ò? D? êy oò?· êy μ? D? ê? ê? è? êμ êy
á¥?ü?′ í? £é o¤ o
格式输入的使用与注意:
输入数据时采用的分隔符应与格式控制中的分隔符一致。
例 1,scanf( "%d%f%d",&a,&b,&c) ;
格式符中无普通字符时,可用空格,Tab键、回车键作分隔符。
如,12 3.45 678↙ 或 12( Tab) 3.45( Tab) 678↙
例 2,scanf( "%d,%f,%d",&a,&b,&c) ;
必须采用格式,12,3.45,678↙
例 3,scanf( "a=%d,b=%d",&a,&b) ;
必须采用格式,a=12,b=345↙
无符号数可用 %d,%o,%x格式输入。
输入格式符带有 *:表示该数据不赋值。
例,scanf( "%d%*d%d",&a,&c) ;
键入,12 34 567?
则 a=12,c=567,34未赋值。
数据输入时不可规定精度,但可确定宽度。
例,scanf(” %3f%3c”,&a,&b) ; 合法。
例,scanf(” %3.2f%3c”,&a,&b) ; 非法。
用 c格式符输入字符时,空格、转义字符均为有效字符 。
例 scanf( "%c%c%c",&a,&b,&c) ;
若键入 ABC?则 a=A,b=B,c=C
若键入 A B C?
则 a=A,b=,c=B
若键入 A? B?
则 C 未送,结果已出为,
a=A,b=
,c=B
在下列情况下可认为数据输入结束:
– 遇空格、回车、跳格键( Tab)时;
– 遇宽度结束;
– 非法输入。
main( )
{ int a; float b ; char c ;
printf("按格式 %%d%%f%%c送数,");
scanf("%d%f%c",&a,&b,&c);
printf("a=%d,b=%f,c=%c,\n",a,b,c);
printf("按格式 %%d,%%f,%%c送数,");
scanf("%d,%f,%c",&a,&b,&c);
printf("a=%d,b=%f,c=%c,\n",a,b,c);
printf("按格式 %%6d%%6f%%6c送数,");
scanf("%6d%6f%6c",&a,&b,&c);
printf("a=%d,b=%f,c=%c,\n",a,b,c);
}
程序运行结果:
按格式 %d%f%c送数,23◇ 4.5p?
a=23,b=4.500000,c=p,
按格式 %d,%f,%c送数,23,4.5,p?
a=23,b=4.500000,c=p,
按格式 %6d%6f%6c送数,
◇◇◇◇ 23◇◇◇◇ 4.5p◇◇◇◇◇?
a=23,b=4.500000,c=p,
程序实例 1:
main( )
{ char a,b,c,d,e ;
scanf("%c%c%c",&a,&b,&c);
scanf("%3c%3c",&d,&e);
printf("%c,%c,%c\n",a,b,c);
printf("%c,%c\n",d,e);
}
程序实例 2:
程序运行结果,
1234◇◇ 5◇◇?
1,2,3
4,5
程序运行结果 (错误 ):
123?
4◇◇ 5◇◇?
1,2,3
,
二、字符输入输出
1、字符输出,putchar( )函数
格式,putchar ( );
功能:向终端输出一个字符。
C为形式参数,它可以是字符型变量、整型变量,字符型常量或转义字符。
#include "stdio.h "
main( )
{ char a ;
int b ;
a='b';
b = 111;
putchar( a );
putchar( b );
putchar('y');
putchar('\n');
}
例,运用 putchar( )函数程序运行结果:
boy
“o” 的 ASCII码为 111
1、字符输入,getchar( )函数
格式,getchar ( );
功能:从终端输入一个字符。
getchar()只能接收一个字符,该字符可赋给字符变量、整型变量或作为表达式的一部分。
例,#include "stdio.h"
main( )
{ char c ;
c=gethar( );
putchar( c );
}
输入一个字符,
再将该字符输出例,鸡兔同笼问题。
已知鸡兔总头数为 H,总脚数为 F,求鸡兔各有多少只?
分析:
依题意设鸡有 x只,兔有 y只。
Fyx
Hyx
42
则方程:
)2(
)4(
2
1
2
1
HFy
FHx
解得,
定义变量 x,y,h,f
输入 h,f
x=(4*h-f)/2
y=(f-2*h)/2
输出 x,y
main ( )
{ int h,f,x,y; / * x为鸡的数量,y为兔的数量 * /
printf( "请输入鸡兔的总头数 h,") ;
printf( "总脚数 f,格式,%%d%%d\n") ;
scanf( "%d%d",&h,&f) ;
x=( 4*h – f) /2;
y=( f - 2*h) /2;
printf( "笼中有鸡 %d只,有兔 %d只。 \n",x,y );
}
例,将十进制数 407 转换为八进制数。
main()
{ int m,n1,n2,n3;
m=407;
n1=m%8; / * n1为个位 * /
n2=m/8%8; / * n2为十位 * /
n3=m/8/8%8; / * n3为百位 * /
printf
( "407=0%d\n",n3*100+n2*10+n1);
}
1、格式输出,printf( )函数
2、格式输入,scanf( )函数三、字符输入输出
1、字符输出,putchar( )函数
2、字符输入,getchar( )函数
C程序的语句有五种,分号,;,是 C语句结束的标志。
表达式语句:任何表达式加上分号构成如,x=1; y=x+y; - -x; y+1;
一,C语言语句
函数调用语句:由一次函数调用加上分号构成如,printf(,Very Good! \n");
复合语句,用 { }括起来组成的一个语句如,if ( a> b) { x=0; b=b+1; x=a; }
空语句:仅由一个分号构成的语句
控制语句:控制程序的流程如,if…else 语句,while语句,return
语句等。
C语言对数据的输入、数据的输出是通过函数实现的。存在于 C 所在目录的子目录 include中的头文件内。
其中最基本的有,printf( ) (格式输出 )
scanf( ) (格式输入 )
putchar( ) (字符输出 )
getchar( ) (字符输入 )
在调用上述基本库函数时,应在程序开始处使用文件包含命令,即:
#include,stdio.h"
功能:通过标准输出设备(如显示器)输出一组数据。
输出形式由“格式控制”字符串规定。
1、格式输出,printf( )函数
格式:
printf(,格式控制”,输出表列 );
二、格式输入输出
格式控制,由 双引号 括起来的字符串,用于指定要输出的数据的格式。
2)格式说明:用来指定需输出数据的输出格式的,其形式为:
% [<修饰符 >]格式字符格式字符用以说明输出数据的类型,形式,
长度,小数位数等。
它包括:
1)普通字符:按原样输出的字符;
输出表列,需要输出的数据列表,彼此间用 逗号 分隔。它可是任意合法的表达式。
DDDD·D DD DD
l
DDDDD¤DDDDDDDDDDDDDDDDDD
DDDDDDDDDD·Dd DDo DDx DDu DDf D°
m DDDDDD×DDDDíDD
n
DDDDDDDD±íDDDDDD n DDDDDD
DD×D·DDDDD±íDDDD×óDDDDDDDDn DD×D·D
DD DDDDDDDD×DDò×D·D×óDDDDDDDD±DDDDDDDDD
用于输出的修饰符用于输出的格式字符格式符 功 能 形 式
d 输出十进制整数 %d,%md,%ld,%mld
o 以八进制形式输出整数 %o,%mo,%lo
x 以十六进制形式输出整数 %x,%mx,%lx
u 以十进制形式输出一个无符号的数 %u
c 输出一个字符 % c
s 输出一个字符串 %s,% ms,% m.ns
f 以小数的形式输出实数 %f,%m.nf,%lf
e 以标准指数的形式输出实数 %e,%m.ne
g 根据实数的大小自动按 f或 e的形式选择输出格式 % g
例:格式输出,printf()函数
printf( " a+b = %5.2 f ",c );
附加格式符格式符输出表列普通字符格式说明符格式控制说明:
1,d格式字符
% d:按整型数据的实际长度输出
% md,m为指定的输出长度。如果数据位小于 m,
则左端补以空格 ;大于 m,则按实际位输出。
例,printf(,%4d,%4d”,a,b);
若 a=12,b=12345,则输出
12,12345
% ld:输出长整型数据。
% d的输出范围为- 32768~32767,输出超过该范围的整型数就会出错,此时用 %ld输出。
其输出格式和功能与 %d相同,如,% 8ld
2,o格式字符以八进制数形式输出整数,且不带符号。
对于长整数可用“% lo”输出。功能同十进制输出。
3,x格式字符以十六进制数形式输出整数,且不带符号。
对于长整数可用“% lx”输出。功能同十进制输出。
4,u格式字符用来输出 unsigned型数据,即无符号数,输出十进制数。
用% o,%x输出负数时会发生错误。
5,c格式字符一个整数,如果在 0~255之间,也可用字符形式输出,
系统会将该整数转换成相对应的 ASCII码字符;同时,一字符也可以用整数形式输出。
例,char c=?a?;
printf(“%c”,c);
用来输出一个字符。
int a=65;
printf (“%c”,a);
int c=?A?;
printf (“%d”,c);
输出 A 输出 65
如,printf(“%3c”,c),则输出
c格式字符也可以指定输出字数宽度
A
6,s格式字符
% s:用来输出一个字符串例,printf(“%s”,“Hello!”); 输出 Hello!,不包括,”
% ms:输出的字符串占 m列。如果字符串长度小于 m,则左端补以空格;长度大于 m,则输出整个字符串。
% -ms:如果串长小于 m,则字符串向左靠,右补空格,其余同上。
% m.ns:输出的字符串占 m列,但只取字符串中左端 n个字符,这 n个字符输出在 m列的右侧,
左端补空格。
% -m.ns:其他意义同 % m.ns,右补空格。
7,f格式字符
% f:不指定字段宽度,整数部分全部输出,小数部分输出 6位。
% m.nf:指定输出数据占 m列,其中有 n位小数。
若数值长度小于 m,则左端补以空格。
% -m.nf:功能同上,右端补以空格。
8,e格式字符
% e:不指定字段宽度,系统自动给出 6位小数,指数部分占 4位。其中,e”占 1位,指数符号占 1位,
指数占 2位。
例,printf(,%e”,123.456);
输出,1.234560e+02
6位小数部分 4位指数部分
% m.ne,% -m.ne,% me,中 m,-的意义和前相同,n
是指数据的小数部分输出的位数。
9,g格式字符用来输出实数,根据数值大小,自动选 f或 e
格式,且不输出无意义的零。
main()
{ int a=1234;
float f1=12.34567,f2=678.9;
printf("1) %d,%6d,%-6d,%2d;\n",a,a,a,a);
printf("2) %f,%10.4f,%3.2f;\n",f1,f1,f1);
printf("3) %e,%e;\n",f1,f2);
printf("4) %8e,%14e;\n",f1,f1);
printf("5) %10.7e,%10.3e;\n",f1,f1);
}
实例:
程序运行结果:
1) 1234,1234,1234,1234;
2) 12.345670,12.3457,12.35;
3) 1.23457e+01,6.78900e+02;
4) 1.23457e+01,1.23457e+01;
5) 1.234567e+01,1.23e+01;
2、格式输入,scanf( )函数
功能:从终端输入任何类型的多个数据
格式:
scanf("格式控制 ",地址表列 );
格式控制,由 双引号 括起来的字符串,用于指定要输入的数据的格式。
1)普通字符:按原样输入的字符;
2)格式说明:用来指定需输入数据的输入格式的,其形式为:
% [<修饰符 >]格式字符
地址表列,由若干个变量地址组成的表列。
地址是由”&”运算得到的。
“&”是取址运算符,单目运算符,右结合性。
例,&a,&chr,&i,分别表示变量 a,chr,i的地址,该地址是在编译连接时系统分配给变量 a,
chr,i的地址。
用于输入的修饰符
DT ê? 2¥?ü
l
ó? óú 3¤ Dí?¢è Dí êy?Y
é?ó?ú ·? ê? 2? d?¢ o?¢ x?¢ f?¢ e?°
h
ó? óú?ì Dí êy?Y
é?ó?ú ·? ê? 2? d?¢ o?¢ x?°
m £¨ó ò?í £|?·?¨ê? è? êy?Y?ù μí?è £¨á D êy £|
*
±í ê? ±? ê? èú?á è? 1ó
2o ·3 ·′ ó¥ μ? ±? á?
用于输入的格式字符
·? ê? 2¥?ü D? ê?
d ê? è? ê êy
%d?¢ %l d?¢ %h d
% md?¢ %ml d
o ê? è? ° êy %o?¢ %mo?¢ %l o
x ê? è? ê? áù êy %x?¢ %mx?¢ %l x
c ê? è? òo ·? 3? 2? %c
s ê? è? òo ·? 3? 2? ′? %s?¢ %ms
f %f?¢ %mf?¢ %l f
e %e?¢ %me?¢ %l e
ò? D? êy oò?· êy μ? D? ê? ê? è? êμ êy
á¥?ü?′ í? £é o¤ o
格式输入的使用与注意:
输入数据时采用的分隔符应与格式控制中的分隔符一致。
例 1,scanf( "%d%f%d",&a,&b,&c) ;
格式符中无普通字符时,可用空格,Tab键、回车键作分隔符。
如,12 3.45 678↙ 或 12( Tab) 3.45( Tab) 678↙
例 2,scanf( "%d,%f,%d",&a,&b,&c) ;
必须采用格式,12,3.45,678↙
例 3,scanf( "a=%d,b=%d",&a,&b) ;
必须采用格式,a=12,b=345↙
无符号数可用 %d,%o,%x格式输入。
输入格式符带有 *:表示该数据不赋值。
例,scanf( "%d%*d%d",&a,&c) ;
键入,12 34 567?
则 a=12,c=567,34未赋值。
数据输入时不可规定精度,但可确定宽度。
例,scanf(” %3f%3c”,&a,&b) ; 合法。
例,scanf(” %3.2f%3c”,&a,&b) ; 非法。
用 c格式符输入字符时,空格、转义字符均为有效字符 。
例 scanf( "%c%c%c",&a,&b,&c) ;
若键入 ABC?则 a=A,b=B,c=C
若键入 A B C?
则 a=A,b=,c=B
若键入 A? B?
则 C 未送,结果已出为,
a=A,b=
,c=B
在下列情况下可认为数据输入结束:
– 遇空格、回车、跳格键( Tab)时;
– 遇宽度结束;
– 非法输入。
main( )
{ int a; float b ; char c ;
printf("按格式 %%d%%f%%c送数,");
scanf("%d%f%c",&a,&b,&c);
printf("a=%d,b=%f,c=%c,\n",a,b,c);
printf("按格式 %%d,%%f,%%c送数,");
scanf("%d,%f,%c",&a,&b,&c);
printf("a=%d,b=%f,c=%c,\n",a,b,c);
printf("按格式 %%6d%%6f%%6c送数,");
scanf("%6d%6f%6c",&a,&b,&c);
printf("a=%d,b=%f,c=%c,\n",a,b,c);
}
程序运行结果:
按格式 %d%f%c送数,23◇ 4.5p?
a=23,b=4.500000,c=p,
按格式 %d,%f,%c送数,23,4.5,p?
a=23,b=4.500000,c=p,
按格式 %6d%6f%6c送数,
◇◇◇◇ 23◇◇◇◇ 4.5p◇◇◇◇◇?
a=23,b=4.500000,c=p,
程序实例 1:
main( )
{ char a,b,c,d,e ;
scanf("%c%c%c",&a,&b,&c);
scanf("%3c%3c",&d,&e);
printf("%c,%c,%c\n",a,b,c);
printf("%c,%c\n",d,e);
}
程序实例 2:
程序运行结果,
1234◇◇ 5◇◇?
1,2,3
4,5
程序运行结果 (错误 ):
123?
4◇◇ 5◇◇?
1,2,3
,
二、字符输入输出
1、字符输出,putchar( )函数
格式,putchar ( );
功能:向终端输出一个字符。
C为形式参数,它可以是字符型变量、整型变量,字符型常量或转义字符。
#include "stdio.h "
main( )
{ char a ;
int b ;
a='b';
b = 111;
putchar( a );
putchar( b );
putchar('y');
putchar('\n');
}
例,运用 putchar( )函数程序运行结果:
boy
“o” 的 ASCII码为 111
1、字符输入,getchar( )函数
格式,getchar ( );
功能:从终端输入一个字符。
getchar()只能接收一个字符,该字符可赋给字符变量、整型变量或作为表达式的一部分。
例,#include "stdio.h"
main( )
{ char c ;
c=gethar( );
putchar( c );
}
输入一个字符,
再将该字符输出例,鸡兔同笼问题。
已知鸡兔总头数为 H,总脚数为 F,求鸡兔各有多少只?
分析:
依题意设鸡有 x只,兔有 y只。
Fyx
Hyx
42
则方程:
)2(
)4(
2
1
2
1
HFy
FHx
解得,
定义变量 x,y,h,f
输入 h,f
x=(4*h-f)/2
y=(f-2*h)/2
输出 x,y
main ( )
{ int h,f,x,y; / * x为鸡的数量,y为兔的数量 * /
printf( "请输入鸡兔的总头数 h,") ;
printf( "总脚数 f,格式,%%d%%d\n") ;
scanf( "%d%d",&h,&f) ;
x=( 4*h – f) /2;
y=( f - 2*h) /2;
printf( "笼中有鸡 %d只,有兔 %d只。 \n",x,y );
}
例,将十进制数 407 转换为八进制数。
main()
{ int m,n1,n2,n3;
m=407;
n1=m%8; / * n1为个位 * /
n2=m/8%8; / * n2为十位 * /
n3=m/8/8%8; / * n3为百位 * /
printf
( "407=0%d\n",n3*100+n2*10+n1);
}