谭浩强C语言程序设计代码示例第4章(笔记)

 谭浩强C语音程序设计代码示例第四章(新手入门笔记)

第一章包含参考书,在线编译工具,代码,注释等。

遵循共享互助原则

谭浩强C语言程序设计代码示例(1-3章)

#include <stdio.h>
/*----------------------------(第四章 顺序程序设计)--------------------------*/
/****************************************************************************
C语言九种控制语句,可分为三类:
		1)条件判断语句:if语句、switch语句。
		2)循环执行语句:do while语句、while语句、for语句。
		3)转向语句:break语句、goto语句、continue语句、return语句。
******************************************************************************/

#if 0
/*空语句理解:只有分号“;”组成的语句为空语句,如下*/
int main(void)
{
	int i = 0;
	while(getchar() != '\n')//只要从键盘上输入的字符不是回车,则重新输入
	{
		printf("%d ",i++);//输出输入的字符个数
	}
	return 0;
}
#endif

#if 0
/*eg4.1,输出单个字符,p67*/
int main(void)
{
	char a = 'B',b = 'o',c = 'k';
	putchar(a);putchar(b);putchar(b);putchar(c);putchar('\t');//book
	putchar(a);putchar(b);
	putchar('\n');
	putchar(b);putchar(c);
	return 0;
}
#endif

#if 0
/*eg4.2,输入单个字符,p68*/
int main(void)
{
	char c;
	printf("input a character\n");//输入提示(打印功能)
	c = getchar();//输入单个字符
	putchar(c);//输出单个字符
	return 0;
}
#endif

#if 0
/*eg4.3,printf函数(格式输出函数用法),p70*/
int main(void)
{
	int a = 88,b = 89;
	printf("%d %d\n",a,b);//88 89
	printf("%d,%d\n",a,b);//88,89
	printf("%c,%c\n",a,b);//X,Y
	printf("a=%d,b=%d\n",a,b);//a=88,b=89
	return 0;
}
#endif

#if 0
/*eg4.4,按照不同要求输出结果,p70*/
int main(void)
{
	int a = 15;
	float b = 123.1234567;
	double c = 123455678.1234567;
	char d = 'p';
	printf("a=%d,%5d,%o,%x\n",a,a,a,a);
	printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);
	printf("c=%lf,%f,%8.4lf\n",c,c,c);
	printf("d=%c,%8c\n",d,d);
	return 0;
}
#endif

#if 0
/*eg4.5,p70*/
int main(void)
{
	int i = 8;/*有错误,与之前的原因一致eg3.17*/
	printf("%d\n%d\n%d\n%d\n%d\n",++i,--i,i++,i--,-i++,-i--);//9,8,8,9,-8,-9
	return 0;
}
#endif

#if 0
/*eg4.6,解决方法如下,p70*/
int main(void)
{
	int i = 8;
	printf("%d\n",++i);//9,++i先自加,后运算
	//printf("%d\n",i);//9
	printf("%d\n",--i);//8,--i先自减,后运算
	//printf("%d\n",i);//8
	printf("%d\n",i++);//8,i++先运算,后自加
	//printf("%d\n",i);//9
	printf("%d\n",i--);//9,i--先运算,后自减
	//printf("%d\n",i);//8
	printf("%d\n",-i++);//-8,
	//printf("%d\n",i);//9
	printf("%d\n",-i--);//-9
	//printf("%d\n",i);//8
	return 0;

}
#endif

#if 0
/*eg4.7,scanf用法,p71*/
int main(void)
{
	int a,b,c;
	printf("Input a,b,c\n");
	scanf("%d%d%d",&a,&b,&c);//输入整型数据0则输出整型数据,输入字符则转为响应的ASICC码值
	printf("a=%d,b=%d,c=%d\n",a,b,c);
	return 0;
}
#endif

#if 0
/*eg4.8,scanf不带空格,p73*/
int main(void)
{
	char a,b;
	printf("Input character a,b\n");
	scanf("%c%c",&a,&b);//由于scanf函数"%c%c"中无空格,输入M N,则输出M 。而输入MN时则可输出MN
	printf("%c%c\n",a,b);
	return 0;
}
#endif

#if 0
/*eg4.9,scanf带空格,p73*/
int main(void)
{
	char a,b;
	printf("Input character a,b\n");
	scanf("%c %c",&a,&b);//输入的两个字符之间不管带不带空格都可以输出
	printf("\n%c %c\n",a,b);
	return 0;
}
#endif

#if 0
#if 0
/*eg4.10,p73*/
int main(void)
{
	short int a;
	printf("Input a number\n");
	scanf("%d",&a);//由于输入的数据类型为整型,而输出的语句为长整型,输入输出结果不符,所以需对其进行改动
	printf("%ld",a);
	return 0;
}
#else
/*eg4.11,p74*/
int main(void)
{
	long a;
	printf("Input a long number\n");
	scanf("%ld",&a);//当输入数据改为长整型后,输入输出数据相等
	printf("%ld",a);
	return 0;
}
#endif
#endif

#if 0
/*eg4.12,输入三个小写字母输出ASCII码值,p74*/
int main(void)
{
	char a,b,c;
	printf("input character a,b,c\n");//输入提示
	scanf("%c %c %c",&a,&b,&c);
	printf("ASCII:%d,%d,%d\n小写字符:%c,%c,%c\n大写字符:%c,%c,%c\n",a,b,c,a,b,c,a-32,b-32,c-32);
	return 0;
}
#endif

#if 0
/*e4.13,输出各种数据类型的字节长度,p75*/
/*想查啥自行添加*/
int main(void)
{
	short int e;	//2 byte
	int a;			//4 byte
	long b;			//8 byte
	float f;		//4 byte
	double d;		//8 byte
	char c;			//1 byte
	unsigned int u_int;//4 byte
	long long ll;//8 byte
	printf("short int:%lu\n",sizeof(e));
	printf("int:%lu\nlong:%lu\nfloat:%lu\ndouble:%lu\nchar:%lu\n",sizeof(a),sizeof(b),sizeof(f),sizeof(d),sizeof(c));
	printf("unsigned int:%lu\n",sizeof(u_int));
	printf("long long:%lu\n",sizeof(ll));
	return 0;
}
#endif

#if 0
/*eg4.14,输入三角形三边长,求三角形面积*/
/* 三角形面积公式area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s=1.0/2*(a+b+c) */
#include "math.h"//调用开方公式
int main(void)
{
	float a,b,c,s,area;
	printf("Input a,b,c:");
	scanf("%f,%f,%f",&a,&b,&c);//例如输入7,8,9
	s = 1.0/2*(a+b+c);
	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",area);
	return 0;
}
#endif

#if 0
/*eg4.15,求ax^2+bx+c=0方程的根,a,b,c由键盘输入,设b^2-4ac>0,p75*/
#include <math.h>
int main(void)
{
	float a,b,c,disc,x1,x2,p,q;
	printf("input a,b,c:");//求x^2+4x+4=0
	scanf("%f,%f,%f",&a,&b,&c);//输入1,4,4
	disc = b*b-4*a*c;
	p = -b/(2*a);
	q = sqrt(disc)/(2*a);
	x1 = p + q;
	x2 = p - q;
	printf("x1=%5.2f,x2=%5.2f\n",x1,x2);//x1=2.00,x2=-2.00
	return 0;
}
#endif

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值