2018年1月23日 cpp P.244--253

cpp P.244-253
cpp还是熟悉的配方还是熟悉的味道,时不时的小幽默,严谨工整的代码,一个字,perfect。
函数是一个看不见内部构造的黑盒子,只要输入参数就能见效。今天学的很顺畅啊,如果可以真想好好研究这本ccp感觉就是好,但很可惜只能算作初级知识。

好,书好导致没什么好吐槽的,干活吧!

1.P.244 lethead1.c

#include <stdio.h> 
#define NAME "GIGATHINK,INC."
#define ADDRESS "101 Megabuck Plaza"
#define PLACE "Megapolis, CA 94904" 
#define WIDTH 40

void starbar (void);	//函数原型  有封号 

int main (void)
{
	starbar ();
	printf ("%s\n",NAME);
	printf ("%s\n",ADDRESS);
	printf ("%s\n",PLACE);
	starbar();	//使用函数 
	
	return 0; 
}

void starbar(void)	//定义函数  无封号 
{
	int count;
	
	for (count=1;count<=WIDTH;count++)
		putchar('*');
	putchar('\n');
}
 
注意:
1.每个函数三处:函数原型(有分号),函数调用(有分号),函数定义(无分号)。
2.void starbar(void); 第一个void说明没有返回值,第二个说明没有参数。
3.starbar中的count是局部变量,相当于再在两个不同的程序里编译,即可以在main()里使用count并没有关系,但使用前要重新定义。

2.P.247 lethead2

#include <stdio.h>
#include <string.h> 	//strlen() 
#define NAME "GIGATHINK,INC."
#define ADDRESS "101 Megabuck Plaza"
#define PLACE "Megapolis, CA 94904" 
#define WIDTH 40
#define SPACE ' '

void show_n_char(char ch, int num);

int main(void)
{
	int spaces;
	
	show_n_char('*',WIDTH);	//用符号常量做参数 
	putchar('\n');
	show_n_char(SPACE,12);	//用符号常量做参数
	printf ("%s\n",NAME);
	spaces=(WIDTH-strlen(ADDRESS))/2;			//计算要跳过多少个空格 
	
	show_n_char(SPACE,spaces);	//用一个变量做参数 
	printf ("%s\n",ADDRESS);
	show_n_char(SPACE,(WIDTH-strlen(PLACE))/2);
	
	printf ("%s\n",PLACE);	//用一个表达式做参数 
	show_n_char('*',WIDTH);
	putchar('\n');
	
	return 0;
}

void show_n_char(char ch, int num)
{
	int count;
	
	for (count=1;count<=num;count++)
		putchar(ch);
}
注意:
1.void abc (int x,int y,int z)说明使用三个参数且都为整形(可以省略x,y,z),另外(int x,y,z)错误,必须分别定义。除非void abc(x,y,z)再下一行int x,y,z。

3.lesser P.250

#include <stdio.h>
int imin (int, int);

int main(void)
{
	int evil1,evil2;
	
	printf ("Enter a pair of integers (q to quit):\n");
	while (scanf("%d %d",&evil1,&evil2)==2)
	{
		printf ("The lesser of %d and %d is %d.\n",
				evil1,evil2,imin(evil1,evil2));
		printf ("Enter a pair of integers (q to quit):\n");
	}
	printf ("Bye.\n");
	
	return 0;
}

int imin (int n,int m)
{
	int min;
	
	if (n<m)
		min=n;
	else
		min=m;
		
	return min;
}
注意:
1.int imin说明返回int。
2.可以将imin(evil1,evil2)直接看成一个常量,可以直接用在其他运算式子里。
3.imin 第二个版本

int imin (int n,int m)
{
	return (n<m)?n:m;
}

 3.imin 第三个版本

int imin (int n,int m)
{
	if (n<m)
		return n;
	else
		return m;
}
即可以使用多个return
4.imin第四个版本(密)

int imin (int n,int m)
{
	if (n<m)
		return n;
	else
		return m;
	printf("Kevin is likely totally fail in love with the little little girl.")
}
return语句导致printf()语句永远不会执行,那个little little girl应该也永远不会知道Kevin先生的小小心思吧。

咳咳,蓝桥杯什么的,不存在的,溜了溜了。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值