当前位置:主页 > 查看内容

【C语言学习笔记——4】

发布时间:2021-07-09 00:00| 位朋友查看

简介:声明由于作者水平有限本文难免有错误和不准确之处本人也很想知道这些错误恳望读者批评指正。 【联系方式】1583598623qq.com 【更新记录】2021年4月14日第一次更新 【勘误记录】暂无 文章目录 1.看看如下switch函数输出什么3016还是0 2.给定两个数求这两个数……

声明:由于作者水平有限,本文难免有错误和不准确之处,本人也很想知道这些错误,恳望读者批评指正。

【联系方式】1583598623@qq.com
【更新记录】2021年4月14日(第一次更新 )
【勘误记录】暂无




1.看看如下switch函数输出什么?30?16?还是0?

int func(int a)
{
    int b;
    switch (a)
    {
    case 1: b = 30;
    case 2: b = 20;
    case 3: b = 16;
    default: b = 0;
    }
    return b;
}
int main()
{
    printf("%d\n", func(1));

    return 0;
}

因为没有添加break,所以一直执行下去,结果b返回0。

调试的时候F11是逐语句,F10是逐语句。




2.给定两个数,求这两个数的最大公约数(俩种方法都自己敲敲)

//解法1
int main()
{
	int m = 0;
	int n = 0;
	scanf("%d%d", &m, &n);//24 18
	int max = 0;
	//假设最大公约数max就是m和n的较小值
	if (m > n)
		max = n;
	else
		max = m;

	while (1)
	{
		if (m % max == 0 && n % max == 0)
		{
			printf("最大公约数就是:%d\n", max);
			break;
		}
		max--;
	}

	return 0;
}


//解法2
//辗转相除法

int main()
{
	int m = 0;
	int n = 0;
	scanf("%d%d", &m, &n);//24 18
	int t = 0;

	while (t=m%n)
	{
		m = n;
		n = t;
	}
	printf("最大公约数:%d\n", n);

	//最小公倍数 = m*n/最大公约数;

	return 0;
}



3.goto语句

C语言提供了可以随意滥用的goto语句和标记跳转的标号。

在某些场合下goto语句还是用的着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程,例如一次跳出俩层或多层循环,这种情况下使用break是达不到目的的(只能从最内层循环退回上一层循环,没法直接跳出所有循环)

//死循环
int main()
{
flag:
	printf("hehe\n");
	printf("haha\n");

	goto flag;
	return 0;
}


关机程序(应用goto)与运行结果
//只要运行起来,电脑就在1分钟内关机,如果输入:我是猪,就取消关机!
//
//shutdown -s -t 60   设置60s内关机
//shutdown -a  取消关机
int main()
{
	//关机
	//C语言提供了一个函数:system()- 执行系统命令的

	char input[20] = { 0 };//存放输入的信息
	system("shutdown -s -t 60");//system - stdlib.h

again:
	printf("请注意,你的电脑在1分钟内关机,如果输入:我是猪,就取消关机\n");
	scanf("%s", input);
	//string.h
	if (strcmp(input, "我是猪") == 0)
        //两个字符串比较是不能使用==的,应该使用strcmp() string compare
        
	{
		system("shutdown -a");
	}
	else
	{
		goto again;
	}
	return 0;
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dDBi0HMc-1618333107402)(C:\Users\以北往南称南城\AppData\Roaming\Typora\typora-user-images\image-20210414005100004.png)]


goto 语句只能在一个函数范围内跳转,不能跨函数
void test()
{
flag:
	printf("test\h");
}

int main()
{
	goto flag;
	return 0;
}



4.函数是什么?

在计算机科学中,子程序是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。 一般会有输入参数并且有返回值提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。


C语言中函数的分类:

1.库函数(方便用户使用)
2.自定义函数(这才是我们该多加练习的)

C语言各种库函数:

查询地址

例如memset:

//
int main()
{
	char arr[] = "hello bit";
	memset(arr, 'x', 5);
	
	printf("%s\n", arr);

	return 0;
}

在这里插入图片描述




5.实现一个函数,判断一个数是不是素数。利用上面实现的函数打印100到200之间的素数。

int Su(int a)
{
	int b = 2;
	for (b = 2; b < a; b++)
	{
		if (a % b == 0)
			break;
		//else
		if (a == (b+1 ))

			printf("%d是素数\n", a);
	}
	return 0;
}

int main()
{
	int a;
	
	for (a = 100; a <= 200; a++)
		 Su(a);
	return 0;
}
;原文链接:https://blog.csdn.net/weixin_48953972/article/details/115683759
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐