点击蓝字
关注我们
FOCUS ON US
“与君初相识,犹如故人归。天涯明月新,朝暮最相思”
系列文章
写在前面
如何用C语言画一个爱心呢?本期小编将带着大家一起探索奇妙的C语言,喜欢本篇内容的小伙伴可以给小编点个赞嘛!
C语言是什么
C语言是一种通用的高级程序设计语言,是由美国贝尔实验室的Dennis Ritchie在20世纪70年代早期开发的。C语言不仅是一种流行的计算机编程语言,还是许多其他编程语言的基础。它的设计目标是提供一种简洁、高效、可移植性强的语言,以便可以方便地编写系统软件、应用软件及其他嵌入式软件。
C语言有许多优点。它的语法简洁、清晰,易于学习和理解,可以通过它来实现复杂的算法和数据结构。C语言的可移植性非常高,可以在不同的操作系统和硬件上编写程序,这也是它成为学习编程的第一门语言的一个重要原因。此外,C语言之所以广泛使用,是因为它编写的程序效率高、使用灵活。
C语言也有一些缺点,比如它相对于其他编程语言来说比较底层,需要程序员自己管理内存,容易出现指针错误等问题。编写大型程序时,如果程序员不小心,很容易造成代码混乱、难以维护的问题。但是,这些缺点都可以通过编写良好的代码、使用工具进行调试和优化来解决。
对于初学者来说,C语言是一门很好的入门语言。通过学习C语言,可以帮助其掌握基本的编程概念和技能。除此之外,C语言还有广泛的应用领域,包括操作系统、嵌入式系统、游戏开发、网络编程和图形编程等。不管是从事计算机相关职业还是只为了兴趣爱好学习编程,学习C语言都是一个非常好的选择。
总之,C语言是一门重要的编程语言,不仅是计算机行业的重要组成部分,还是软件开发的基石。通过学习C语言,可以帮助我们更好地理解和掌握编程技术,提高我们的编程能力和职业竞争力。
C语言爱心代码
运行结果
完整程序
#include<stdio.h>
#include<Windows.h>
//写字
char love[20][43] = {
"111111111111111111111111111111111111111111",
"111111111111110000111111100001000111111111",
"110000000000000000011111100011000111111111",
"110000111001110001111111000110001111111111",
"111100010000110000111111100011000000000011",
"111100001000100011111110000100011111100011",
"100000000000000000001110000100011111000111",
"100000000000000000011100000000110001000111",
"100011100011111000110000000000110001111111",
"111011100011111100111111000111110001111111",
"111000000000000000111111000110000000001111",
"111111000111111111111111000110000000000111",
"111110001111111111111111000100010001000111",
"111000000000000001111111000000010001100011",
"111000000011000011111111000000110001100001",
"110001110000000111111111000001110001110111",
"100011111000011111111111000111110001111111",
"111110000000000000011111000111000001111111",
"111000000111110000011111000111000011111111",
"111111111111111111111111111111111111111111"
};
void gotoxy(int x, int y) {
HANDLE hout = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos = { x,y };
SetConsoleCursorPosition(hout, pos);
}
void SetColor(int color) {
if (color == 0)color = 0x04;
HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hCon, color);
}
int main() {
system("color 0c"); //设计程序颜色
printf("\n\t与君初相识,犹如故人归。天涯明月新,朝暮最相思\n"); //打印文字
HWND consoleHandle = GetConsoleWindow();
// 获取系统屏幕分辨率
int screenWidth = GetSystemMetrics(SM_CXSCREEN);
int screenHeight = GetSystemMetrics(SM_CYSCREEN);
// 获取窗口大小
RECT consoleRect;
GetWindowRect(consoleHandle, &consoleRect);
int consoleWidth = consoleRect.right - consoleRect.left;
int consoleHeight = consoleRect.bottom - consoleRect.top;
// 计算窗口应该出现的位置
int x = (screenWidth - consoleWidth) / 2;
int y = (screenHeight - consoleHeight) / 2;
// 使用SetWindowPos函数设置新的窗口位置
SetWindowPos(consoleHandle, 0, x, y, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
float x1,y1,a; //定义变量x,y,a
int i, j;
int x2, y2 = 3;
for(y1=1.5f; y1>-1; y1-=0.1f) { //爱心函数
for(x1=-1.5f; x1<1.5f; x1+=.05f) {
a=x1*x1+y1*y1-1;
putchar(a*a*a-x1*x1*y1*y1*y1<0.0f?'*':' ');
}
Sleep(150); //停顿1.5秒钟
putchar('\n'); //换行
}
for (i = 0; i < 19; i++, y2++) {
x2 = 60;
for (j = 0; j < 42; j++, x2++) {
gotoxy(x2, y2);
if (love[i][j] == '1') {
putchar(' ');
} else {
SetColor(0x04);
putchar('*');
}
}
}
putchar('\n');
putchar('\n');
putchar('\n');
putchar('\n');
putchar('\n');
return 0;
}
程序分析
这个程序主要实现了一个用“*”符号组成的爱心图案和一些文字。下面跟着小编一起来看一下程序的具体实现吧:
NO. 1
爱心
程序中使用了一个双重循环来输出一个爱心图案。其中外层循环控制y坐标的变化,内层循环控制x坐标的变化。在每次循环中,先计算该点坐标的函数值,判断是否应该输出星号或者空格,然后用putchar函数逐个输出。
NO. 2
“爱你”
程序中定义了一个二维字符数组来存储用“1”和“0”组成的爱心图案。然后使用双重循环来遍历数组,根据数组中各个位置的值来决定是否输出星号或者空格。需要注意的是,输出星号时需要先使用SetColor函数设置输出颜色。
NO. 3
文字
程序中使用了printf函数输出一段文字,作为程序的开场白。
NO. 4
窗口位置
程序中还使用了一些Windows API函数来调整窗口的位置。首先使用GetSystemMetrics函数获取系统屏幕的分辨率,然后使用GetWindowRect函数获取当前窗口的大小。根据这些参数计算出新的窗口位置,并使用SetWindowPos函数将窗口移动到新的位置。这样就可以让窗口居中显示。
总的来说,这个程序实现了一个比较简单的动态效果,结合爱心图案和文字输出,营造出一种浪漫的氛围。同时,窗口位置调整的功能也增加了程序的美观程度和用户体验。
写在后面
❤
我是一只有趣的兔子,感谢你的喜欢!
