[例 1.1]打印一个语句.
main()
{
printf("Hello!\n");
}
[例 1.2]求两数中的最大值.
main()
{int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}
int max(int x,int y)
{int z;
if(x>y)z=x;
else
z=y;
return(z);
}
[例 1.8]求 10! 的值.
main()
{int i;long t;
t=1;
i=2;
while(i<=10)
{
t=t*i;
i=i+1;
}
printf("%1d",t);
}
1.7.2 例题分析
1.有下面程序,程序运行结果.
# include
main()
{
printf("%d\n",NULL);
}
2.下面程序中错误的语句有________.
main();
{ INT a,b,c,sum;
第 1页
a:=1:b:=2:c:=3;
SUM=A+B+C;
printf("SUM=%d\n",SUM);
}
完!
孙骞——2006 年 3 月 9 日。
#define PI 3.14159
void main()
{float s,r;
r=5.0;
s=PI*r*r;
printf("s=%f\n",s);
}
[例 2.3.4].
void main()
{ float PI=3.14159;
int s,r=5;
s=r*r*PI;
printf("s=%d\n",s);
}
[例如].
main()
{ float f=5.75;
printf("(int)f=%d,f=%f\n",(int)f,f);
}
[例 2.1]有如下程序:
void main()
{ int i=5;
printf("%d\n",++i);
printf("%d\n",--i);
printf("%d\n",i--);
printf("%d\n",-i++);
printf("%d\n",-i--);
}
[例如 2.2]有如下程序:
void main()
{ int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
第 2页
printf("%d,%d,%d,%d",p,q,i,j);
}
例如:有如下程序:
void main()
{ int a=1,b=2,c=3,x,y;
y=((x=a+b),(b+c));
printf("y=%d,x=%d",y,x);
}
[例 2.4]分析下面程序的运行结果.
main()
{
int m,n,k;
m=5;n=10;
k=(--m)+(--n);
printf("m=%d,n=%d,k=%d\n",m,n,k);
m=5;n=10;
k=(m--)+(n--);
printf("m=%d,n=%d,k=%d\n",m,n,k);
}
[例 2.5]分析下面程序的运行结果.
main()
{int c=5;
printf("%d,%d,%d\n",c+=c++,c+8,++c);
c=5;
printf("%d\n",c+=c++,c+8,++c);
}
[例 2.6]分析关系表达式.
main()
{int a=5,b=3;
float x=3.14,y=6.53;
printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));
}
[例 2.7]分析逻辑表达式.
main ()
{char c;
int i,j,k,m,n;
c='3';
i=5;j=7;k=0;
m=4;n=6;
第 3页
printf("%d,%d,%d\n",i&&K,i||j,i||k);
printf("%d,%d\n",c>='0'&&c<='9',i<=j-1||c!='3');
printf("%d\n",(m=i>j)&&(n=j>=k));
}
[例 2.8]分析下面的程序,程序运行的结果.
main()
{
char a,b,c,d;
a=15;
b=a;c=-a;d=!a;
printf("a=%d\tb=%d\t",a,b);
printf("c=%d\td=%d\t",c,d);
}
[例 2.9]分析双目逻辑运算.
main()
{
unsigned char a,b;
a=53;b=11;
printf("%d&%d=%d\n",a,b,a&b);
printf("%d|%d=%d\n",a,b,a|b);
printf("%d^%d=%d\n",a,b,a^b);
}
[2]下面程序,程序运行结果.
#include
main()
{int a,b=68;
a=-3;
printf("\t a=%d\n\t b=%c\n",a,b);
}
[3]下面程序,程序运行结果.
#include
main()
{int a,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
[13]下列程序的输出结果为_________.
#include
第 4页
main()
{int m=oio,n=10;
printf("%d,%d\n",++m,n--);
}
完~!
孙骞--06 年 3 月 10 号
[例 3.1]有如下程序:
void main()
{ int a=5,b=2;
float c=2.5;
print("OK,%ld/%ld is %3.1f!",,a,b,c);
}
例 3.2]有如下程序
void main()
{ int a=12;
float b=123.12345678;
double c=12345678.1234567;
char d='p';
printf("a=%d,%5d,%o,%x\n",a,a,a,a);
printf("b=%f,%lf,%5.4lf,%e\n",c,c,c);
printf("d=%c,%8c\n",d,d);
[例 3.3]有如下程序
void main()
{ int a=65;
char b='a';
printf("%d %d\n",a,b);
printf("%c,%c\n",a,b);
printf("%d,%c\n",a,b);
printf("%c,%d\n",a,b);
}
[例 3.4]有如下程序
void main()
{ int i=5;
printf("%d,%d,%d,%d,%d\n",++i,--i,i--,i++,-i--);
}
[例 3.5]有如下程序
void main()
{ int a,b,c;
printf("input a,b,c:");
scanf("%d%d%d",&a,&b,&c);
printf("\na=%d,b=%d,c=%d",a,b,c);
}
[例 3.6]有如下程序
第 5页
void main()
{ int a;
scanf("%d",&a);
printf("%ld",a);
}
[例 3.7]字符数据的输出。
#include
main()
{ char a,b;
a='Y';b='e';
putchar(a); putchar(b);
putchar('s'); putchar('\n');
putchar('\141');
}
[例 3.8]字符数据的输入
#include
main()
{ char c;
c=getchar();
putchar(C);
/*输入任意可打印字符给字符变量 a*/
}
[例 3.9]将输入的小写字母转换成大写字
#include
main()
{ int c;
c=getchar();
return(c>='a'&&c<='z'? putchar(c+'A'-'a'):putchar(c));
/*从键盘输入 a~z 间的任意字符*/
}
[例 3.10]
#include
main()
{ int x,y,t;
printf("ENTER x & y:\n");
scanf("%d %d",&x,&y);
printf("x=%d y=%d\n",x,y);
t=x;x=y;y=t;
printf("x=%d y=%d\n",x,y);
}
[例 3.11]输入一个 double 类型的数,使该数保留小数后两位,对第三位小数进行四舍五入处
理,以便验证处理是否正确。
main()
{ double x;
printf("ENTER x:");
scanf("%lf",&x);
第 6页
printf("(l)x=%f\n",x);
x=x*100;
x=x+0.5;
x=(int)x;
x=/100;
printf("(2)x=%f\n",x);
}
[例 3.12]编程显示由键盘输入的一个英文字母,并显示其对应的大写字母。
方法 1:main()
{
}
char ch;
printf("Enter a letter:");
scanf("%C",&ch);
printf("%c\t%c\n",ch,ch+'A'-'a');
方法 2:include
main()
{
char ch;
printf("Enter a letter:");
ch=getchar();
putchar(ch); putchar('\t');
putchar(ch-32);
}
[例 3.13]为使例一个的程序更具通用性,在每次程序运行中,可由用户从键盘输入半径 r 的
值,计算并打印该半径所对应的圆的周长 C、面积 A、球的表面积 S 和球的体积 V,这样,
输入不同的半径值,就会得到不同的运行结果。
程序:#include
main()
{float r,c,a,s,v;
printf("input value of r:");
scanf("%f",&r:");
c=2*3.141593*r;
a=*3.141593*r*r;
s=4*a;
v=s*r/3;
printf("r=%f\t",r);
printf("c=%f\n",c);
printf("a=%f\t",a);
printf("s=%f\t",s);
printf("v=%f\n",v);
}
[例 3.14]从键盘输入一个小写字母,打印该字母及其对应的十进制 ASC||代码值。
main()
第 7页
{char ch1,ch2;
scanf("%c",&ch1);
printf("%c,%d\n",ch1,ch1);
ch2=ch1-32;
printf("%c,%d\n",ch2,ch2);
}
[例 3.15]用 putchar 函数输出一个字符。
#include
main()
{int c;
char d;
c=65;d='A';
putchar(c);
putchar(d);
putchar('A');
putchar(65);
}
[例 3.16]用 getchar()输入一个字符。
#include
main()
{char c;
c=getchar();
printf("%c\n",c);/*printf()函数按字符格式显示 c 的值*/
printf("%D\n",c);/*printf()函数按整数格式显示 c 的值*/
}
完!
徐桂林-2006-3-12
[例 4.1]输入两个整数,输出其中的大数。
void
{int a,b,nmax;
scanf("%d%d",&a,&b);
nmax=a;
if(nmaxb)
printf("max=%d\n",a);
else
printf("max=%d\n",b);
第 8页