期末复习 c

作者:@小萌新
专栏:@C语言复习
作者简介: 大二学生 希望能和大家一起进步!
本篇博客简介:回顾之前的分支循环以及一些题目博客
期末复习 c_第1张图片

@[TOC](这里写目录标题

  • 分支循环选择
    • switch case
    • getchar putchar 以及EOF
  • 三个C语言练习题
  • 总结

分支循环选择

switch case

这里面很多知识好像也没有什么好讲解的

大部分都是我们常用的知识 不管是写项目还是刷题的时候都一直在用

可能唯一需要讲解的就是一个switch case语句了吧

int main()
{
	int day = 0;
	cin >> day;
	switch (day)
	{
	case 1: 
		cout << "周内";
	case 2:
		cout << "周内";
	case 3:
		cout << "周内";
	case 4:
		cout << "周内";
	case 5:
		cout << "周内";
	case 6:
		cout << "周末";
	case 7:
		cout << "周末";
	default:
		cout << "出bug啦!!";
		break;
	}
	return 0;
}

期末复习 c_第2张图片
由于不常用所以它的一些特性也差不多快忘光了

期末复习 c_第3张图片
比如说上面这样子 就是因为没有加break出现的bug

getchar putchar 以及EOF

getchar是获取一个字符

putchar是输出一个字符

而eof是文件结束的标志 实际上它的值就是-1 我们可以使用ctrl+z来模拟它的实现

下面我们开始设计一个程序 如果它是一个小写字符就把他转化成大写字符并且输出

如果他是一个大写字符我们就把它转化成小写字符并且输出

int main()
{
	char ch;
	while ((ch = getchar())!=EOF)
	{
		if (ch >= 'a' && ch <= 'z')
		{
			ch -= 32;
			putchar(ch);
		}
		else if (ch >= 'A' && ch <= 'Z')
		{
			ch += 32;
			putchar(ch);
		}
		else
		{
			cout  << endl;
		}

	}


	return 0;
}

期末复习 c_第4张图片

代码并不难 这里主要主义的就是EOF的使用当我们要多次输入的时候我们可以使用EOF来解决这个问题

三个C语言练习题

两个题目都不难 当时老师出这俩题目应该是考验我们对于字符串的比较(strcmp)是否熟练

一个是输入密码三次 如果三次都输错就锁定 如果对了就打印成功进入

int main()
{
	char passward[] = "abcdef";
	char arr[20] = "";
	int i = 0;
	for ( i = 0; i < 3; i++)
	{
		cin >> arr;
		if (strcmp(arr,passward)== 0)
		{
			cout << "密码输入正确" << endl;
			break;
		}
		else
		{
			cout << "密码输入错误" << endl;
		}
	}

	if (i == 3)
	{
		cout << "连续输入错误三次 账号已锁定" << endl;
	}
	return 0;
}

期末复习 c_第5张图片
期末复习 c_第6张图片
说不上有什么难度 想想看很神奇 两个月自己的代码水平就进步了这么多

还有一个题目大同小异 在规定时间内输入密码 否则电脑就会关机

int main()
{
	char input[20] = "";

	cout << "注意!你的电脑将在一分钟内关机 请输入 123 以取消关机 " << endl;
	system("shutdown -s -t 60");
again:
	cin >> input;
	if (strcmp(input, "123") == 0)
	{
		system("shutdown -a");
	}
	else
	{
		cout << "输入错误请重新输入!" << endl ;
		goto again;
	}
	return 0;
}

期末复习 c_第7张图片

这段代码也没有什么难点 有需要注意的地方就是我们使用的system命令 还有一个goto的用法

还有几道求阶乘的题目实在是太简单了我就懒得写了

期末复习 c_第8张图片
还有一道比较有意思的题目是这样子的

int main()
{
	char arr1[12] = "hello world";
	char arr2[12] = "###########";

	int left = 0;
	int right = 10;

	cout << arr2 << endl;
	Sleep(1000);
	while (left <= right)
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		left++;
		right--;
		cout << arr2;
		Sleep(1000);
		system("cls");
	}
	cout << arr2;
	return 0;
}

代码表示如下

这道题目重做一遍还是比较有意义的

从这里我学会了sleep这个函数其实是包含在windows这个头文件下面的

以及使用system的cls命令

总结

期末复习 c_第9张图片

对于初步接触C语言时候的题目 现在做起来已经可以得心应手了

希望自己能够变得越来越强 在两个月后做现在学的题目也可以得心应手起来

你可能感兴趣的:(C语言复习,c语言,算法,c++)