C语言有什么比较神奇的函数么sound 不是标准函数,有个windows 的 Beep 函数可用:
#include stdio.h
#include stdlib.h
#include windows.h
main()
{
Beep(523,500); Beep(587,500); Beep(659,500);
Beep(698,500); Beep(784,500);
Sleep(500);
Beep(523,500); Beep(587,500); Beep(659,500);
Beep(698,500); Beep(784,500);
}
这个唱多来米发少,多来米发少 。
------------------------
比较神奇的函数是: system(命令字符串);
命令字符串可以是字符串常量,也可以是变量,通过它你可以调用各式各样系统命令,或运行其它程序 。
keybd_event()函数 也是比较神奇的windows 的函数,调用它可以代替做“按键盘”的工作 -- 按下程序指定的键,抬起程序指定的键 。
C语言常用的函数有哪些C语言库函数,常用库函数有:
1、scanf格式输入函数
2、printf格式输出函数
3、systemdos命令函数
4、sort排序
5、main主函数
6、fgets文件读取字符串函数
7、fputs文件写入字符串函数
8、fscanf文件格式读取函数
9、fprintf文件格式写入函数
10、fopen打开文件函数
11、getchar输入字符函数
12、putchar输出字符函数
13、malloc动态申请内存函数
14、free释放内存函数
15、abs求绝对值数学函数
16、sqrt求平方根数学函数
扩展资料
语言组成:
1、数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型 。
2、常量与变量
常量其值不可改变 , 符号常量名通常用大写 。
变量是以某标识符为名字,其值可以改变的量 。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名 。变量在编译时为其分配相应存储单元 。
3、数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明 。字符串也是一种数组 。它们以ASCII的NULL作为数组的结束 。要特别注意的是,方括内的索引值是从0算起的 。
4、指针
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量 。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 *,下同 。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容 。指针是 C 语言区别于其他同时代高级语言的主要特征之一 。
参考资料来源:百度百科-函数
c语言好玩的函数桌面下雪程序:#includewindows.h
#includetime.h
#includestdlib.h
#includeiostream.hconst int SnowNumber=500; //雪点数量struct SnowNode
{
POINT postion;//雪点位置
intiColor; //先前的颜色
intiSpeed; //下落速度
intiMove; //下落距离
intiStick; //粘贴度
};SnowNode SnowNodes[SnowNumber]; //雪点数组
inthTimer=0;
intCrWind=0;
intCrStep=0; //当前循环步数(用于限速)
intScreenWidth=0;//屏幕宽度
intScreenHeight=0;//屏幕高度void GetScreenSize();
void CALLBACK TimerProc(HANDLE hWnd,UINT uMsg,UINT idEvent,DWORD dwTime);
void InitSnowNodes();
void MoveSnowNodes();int WINAPIWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTRlpCmdLine,
intnCmdShow
)
{
MSG msg; //标准windows消息
LARGE_INTEGER Frequency; //高性能定时器频率
LARGE_INTEGER StartCt,EndCt;//高性能定时器计数
float ElapsedTime;//时间间隔
srand((unsigned)time(NULL));
GetScreenSize();
InitSnowNodes();
QueryPerformanceFrequency(Frequency);
hTimer=SetTimer(0,0,rand()%5*500,(TIMERPROC)TimerProc);
if(hTimer==0)
{
MessageBox(0,TEXT("创建定时器失败"),TEXT("提示"),MB_OK|MB_ICONINFORMATION);
return -1;
}
RegisterHotKey(0,0,MOD_CONTROL,(int)'L');
while(1)
{
QueryPerformanceCounter(StartCt); //执行运算前计数值
if(PeekMessage(msg,0,0,0,1))
{
switch(msg.message)
{
case WM_TIMER: TimerProc(0,0,0,0);
break; //预设风向改变时间已到
case WM_HOTKEY: KillTimer(0,hTimer);//删除随机风向定时 器
UnregisterHotKey(0,0);//删除退出热键
InvalidateRect(0,NULL,true);
exit(1);
break;
case WM_DISPLAYCHANGE:
GetScreenSize(); //重新取屏幕的尺寸
InitSnowNodes(); //初始化雪点的数组
break;
}
}
MoveSnowNodes();
QueryPerformanceCounter(EndCt);//执行运算后的计数值
ElapsedTime=(EndCt.QuadPart-StartCt.QuadPart)/Frequency.QuadPart;
if((ElapsedTime0.0005))
Sleep(2); //简单限速
else if(ElapsedTime0.0010)
Sleep(1);
else if(ElapsedTime0.0015)
Sleep(3);
}
//MessageBox(0,TEXT(“消息“),TEXT(“消息“),MB_OK|MB_ICONINFORMATION);
return 0;
}
void GetScreenSize()
{
ScreenWidth=GetSystemMetrics(SM_CXSCREEN);
ScreenHeight=GetSystemMetrics(SM_CYSCREEN);
return ;
}void CALLBACK TimerProc(HANDLE hWnd,UINT uMsg,UINT idEvent,DWORD dwTime)
{
// MessageBox(0,TEXT(“消息“),TEXT(“消息“),MB_OK|MB_ICONINFORMATION);
srand((unsigned)time(NULL));
if(hTimer==0)
{
MessageBox(0,TEXT("创建定时器失败"),TEXT("提示"),MB_OK|MB_ICONINFORMATION);
return ;
}
SetTimer(0,hTimer,((rand()' 4)*500),(TIMERPROC)TimerProc); //// 重设下次风向改变时间
//修改风向
if(CrWind!=0)
CrWind=0;
else
CrWind=rand()%3-1;
return ;
}void InitSnowNodes()
{
HDC hScreenDC=0;
int j=0;
hScreenDC=CreateDC("DISPLAY",NULL,NULL,NULL);
if(hScreenDC==NULL)
{
MessageBox(0,"获取屏幕DC失败!","信息",MB_OK|MB_ICONERROR);
return ;
}
srand((unsigned)time(NULL));
for(j=0;jSnowNumber;j)
{
SnowNodes[j].postion.x=rand()%ScreenWidth;
SnowNodes[j].postion.y=rand()%ScreenHeight;
SnowNodes[j].iColor=GetPixel(hScreenDC,SnowNodes[j].postion.x,SnowNodes[j].postion.y);
SnowNodes[j].iSpeed=(rand()%5 1);//每次下落距离(1-5)
SnowNodes[j].iStick=(30-rand()%SnowNodes[j].iSpeed); //粘贴度(几次循环作一次粘贴连判断
//cout〈〈SnowNodes[j].postion.x〈〈“Y:“〈〈SnowNodes[j].postion.y〈〈endl;
}
DeleteDC(hScreenDC);
}void MoveSnowNodes()
{
// MessageBox(0,TEXT(“消息“),TEXT(“消息“),MB_OK|MB_ICONINFORMATION);
HDC hScreenDC=0;
srand((unsigned)time(NULL));
int x=0,y=0,i=0;
hScreenDC=CreateDC("DISPLAY",NULL,NULL,NULL);
if(hScreenDC==NULL)
{
MessageBox(0,"获取屏幕DC失败!","信息",MB_OK|MB_ICONERROR);
return ;
}
// TextOut(hScreenDC,0,0,“虽然大检查顺顺藤摸瓜克格勃呀加“,0);
for(i=0;iSnowNumber;i)
{
//控制雪点下降速度
if((CrStep%SnowNodes[i].iSpeed)!=0)
continue;
//恢复上次被覆盖点
if((GetPixel(hScreenDC,SnowNodes[i].postion.x,SnowNodes[i].postion.y))==0XFFFFFF)
SetPixel(hScreenDC,SnowNodes[i].postion.x,SnowNodes[i].postion.y,SnowNodes[i].iColor);
//根据几向作随机飘落
x=SnowNodes[i].postion.x rand()%3 CrWind;
y=SnowNodes[i].postion.y SnowNodes[i].iMove;
//积雪(停留)效果处理
if(( (CrStep%SnowNodes[i].iStick)==0)
( (GetPixel(hScreenDC,x,y))!=(GetPixel(hScreenDC,x,y 1)))
( (GetPixel(hScreenDC,x-1,y))!=(GetPixel(hScreenDC,x-1,y 1)))
( (GetPixel(hScreenDC,x 1,y))!=GetPixel(hScreenDC,x 1,y 1))
)
{
//稍稍调整坐标
if(GetPixel(hScreenDC,x,y-1)==GetPixel(hScreenDC,x,y-2))
{
y--;
}
else
{
if(GetPixel(hScreenDC,x,y-1)==GetPixel(hScreenDC,x,y-2))
y;
x =CrWind;
}
//画三个雪花点
SetPixel(hScreenDC,x,y,0XFFFFFF);
SetPixel(hScreenDC,x 1,y 1,0XFFFFFF);
SetPixel(hScreenDC,x-1,y 1,0XFFFFFF);
//重生雪点
SnowNodes[i].postion.x=rand()%ScreenWidth;
SnowNodes[i].postion.y=rand();
SnowNodes[i].iColor=GetPixel(hScreenDC,SnowNodes[i].postion.x,SnowNodes[i].postion.y);
}
else
{
if( (x0) || (xScreenWidth) || (yScreenHeight))
{
SnowNodes[i].postion.x=(rand());
SnowNodes[i].postion.y=(rand()%ScreenWidth);
SnowNodes[i].iColor=GetPixel(hScreenDC,SnowNodes[i].postion.x,SnowNodes[i].postion.y);
}
else
{
//保存颜色并绘制雪点
SnowNodes[i].iColor=GetPixel(hScreenDC,x,y);
SetPixel(hScreenDC,x,y,0XFFFFFF);
//此时保存新雪点位置
SnowNodes[i].postion.x=x;
SnowNodes[i].postion.y=y;
}
}
}
DeleteDC(hScreenDC);
CrStep;
}
【c语言有哪些好玩的函数 c语言常用的数学函数】c语言有哪些好玩的函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言常用的数学函数、c语言有哪些好玩的函数的信息别忘了在本站进行查找喔 。
推荐阅读
- 临沂网站模板搭建,临沂网站制作方案
- 买鱼小程序怎么做,做小程序需要买服务器吗
- 美女奥特曼游戏格斗破解版,女生奥特曼游戏
- 解谜小游戏三顾茅庐怎么过,解谜小游戏三顾茅庐怎么过关的
- 关于vb.net空tif的信息
- oracle删除所有连接,oracle删除连接的用户
- nct少儿编程考试python,NCT编程考试含金量
- php输出数据库换行转换 php输出结果换行
- java代码编写日志,圆的面积java代码编写