c语言防呆
❶ 电脑出问题了,急救!!!
下面是一个高手作品
我觉得不错
粘上给楼主试试
【实例1】:主板不启动,开机无显示,有内存报警声("嘀嘀"地叫个不停)
故障原因:内存报警的故障较为常见,主要是内存接触不良引起的。例如内
存条不规范,内存条有点薄,当内存插入内存插槽时,留有一定的缝隙;内存条
的金手指工艺差,金手指的表面镀金不良,时间一长,金手指表面的氧化层逐渐
增厚,导致内存接触不良;内存插槽质量低劣,簧片与内存条的金手指接触不实
在等等。
处理办法:打开机箱,用橡皮仔细地把内存条的金手指擦干净,把内存条取
下来重新插一下,用热熔胶把内存插槽两边的缝隙填平,防止在使用过程中继续
氧化。注意:在拔插内存条时一定要拔掉主机折电源线,防止意外烧毁内存。
【实例2】:主板不启动,开机无显示,有显卡报警声(一长两短的鸣叫)
故障原因:一般是显卡松动或显卡损坏。
处理办法:打开机箱,把显卡重新插好即可。要检查AGP插槽内是否有小异物
,否则会使显卡不能插接到位;对于使用语音报警的主板,应仔细辨别语音提示
的内容,再根据内容解决相应故障。
如果以上办法处理后还报警,就可能是显卡的芯片坏了,更换或修理显卡。
如果开机后听到"嘀"的一声自检通过,显示器正常但就是没有图像,把该显卡插
在其他主板上,使用正常,那就是显卡与主板不兼容,应该更换显卡。
【实例3】:主板不启动,开机无显示,无报警声
故障原因:原因有很多,主要有以下几种。
处理办法:针对以下原因,逐一排除。要求你熟悉数字电路模拟电路,会使
用万用表,有时还需要借助DEBUG卡检查故障。
(1)CPU方面的问题
CPU没有供电:可用万用表测试CPU周围的三个(或一个)场管及三个(或一个)
整流二极管,检查CPU是否损坏。
CPU插座有缺针或松动:这类故障表现为点不亮或不定期死机。需要打开CPU
插座表面的上盖,仔细用眼睛观察是否有变形的插针。
CPU插座的风扇固定卡子
断裂:可考虑使用其他固定方法,一般不要更换CPU
插座,因为手工焊接容易留下故障隐患。SOCKET370的CPU,其散热器的固定是通
过CPU插座,如果固定弹簧片太紧,拆卸时就一定要小心谨慎,否则就会造成塑料
卡子断裂,没有办法固定CPU风扇。
CMOS里设置的CPU频率不对:只要清除CMOS即可解决。清除CMOS的跳线一般在
主板的锂电池附近,其默认位置一般为1、2短路,只要将其改跳为2、3短路几秒
种即可解决问题,对于以前的老主板,如找不到该跳线,只要将电池取下,待开
机显示进入CMOS设置后再关机,将电池安装上去也可让CMOS放电。
(2)主板扩展槽或扩展卡有问题
因为主板扩展槽或扩展卡有问题,导致插上显卡、声卡等扩展卡后,主板没
有响应,因此造成开机无显示。例如蛮力拆装AGP显卡,导致AGP插槽开裂,即可
造成此类故障。
(3)内存方面的问题
主板无法识别内存、内存损坏或者内存不匹配:某些老的主板比较挑剔内存
,一旦插上主板无法识别的内存,主板就无法启动,甚至某些主板还没有故障提
示(鸣叫)。另外,如果插上不同品牌、类型的内存,有时也会导致此类故障。
内存插槽断针或烧灼:有时因为用力过猛或安装方法不当,会造成内存槽内
的簧片变形断裂,以致该内存插槽报废。注意:在插拔内存条时,应垂直用力,
不要左右晃动。在拔插内存条前,一定要拔去主机的电源,防止使用STR功能时内
存带电,烧毁内存条。另外,内存不要安装反了,以免加电后烧毁内存条。不过
现在的主板,一般有防呆设计、不会插反。
❷ c语言五子棋胜利判断式
按照五子棋规则,当一方的棋子,在横向,纵向或斜向连续五个均为同一用户的棋子时,代表胜利。
另外,胜利判断只需要在一个新子落子时判断,且仅需要判断新子所在的四条线上(纵横加两个斜线)是否满足条件即可。
所以,可以以新子坐标为基准点,判断四次。
比如横向的,需要判断左侧和右侧连续的同类棋子个数,如果左侧+右侧+1(自身)总数>=5,则为胜利。
参考代码如下:
staticintmap[100][100];//全局变量棋盘。未下子时值为0,下子时值为1或2,区分下子人。
intcheck_win(intm,intn)
{
inttotal=1;
inti;
for(i=m-1;i>=0;i--)//统计同行左侧连续同样棋子个数。
if(map[i][n]==map[m][n])total++;
elsebreak;
for(i=m+1;i<100;i++)//统计同行右侧连续同样棋子个数。
if(map[i][n]==map[m][n])total++;
elsebreak;
if(total>=5)return1;//胜利。
return0;//没有胜利。
}
其它类似。
❸ c语言 为什么fopen函数被认为不安全,要用fopen_s替代
这个提示一般出现于VS里面,但是不代表不安全。按照我的理解可能是后边这个函数不需要显示的关闭文件描述符。
❹ 请求解释C语言
楼主你要别人解释什么?
❺ C#(csharp)这门语言的优势在哪
性能强,有些时候可以达到甚至超过编译性语言的性能。
发展历史
C语言诞生于美国的贝尔实验室,由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普逊和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到了不断的完善。
为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的1989年,诞生了第一个完备的C标准,简称“C89”,也就是“ANSI C”,截至2020年,最新的C语言标准为2018年6月发布的“C18”。
C语言之所以命名为C,是因为C语言源自Ken Thompson发明的B语言,而B语言则源自BCPL语言。
1967年,剑桥大学的Martin Richards对CPL语言进行了简化,于是产生了BCPL(Basic Combined Programming Language)语言。
以上内容参考:网络-C语言
❻ c语言屏蔽符是//吗
//是单行注释,编译器不会管//后面的内容,只在本行有效,换行了就不行了;/**/是吧/*和*/之间的内容全部注释掉,编译器不理会里面的内容,即使换行也可以注释。
❼ C语言五子棋
我浏览了一下你的代码,你对胜利的判断采用的是检查整个棋盘的方式,这样做的最大弊端自然是低效,而且在编写斜方向判断的时候比较复杂。我建议你采用下子后判断的方式,即玩家1下了一个字后,像该子周围8个方向检查是否存在5子的情况,只需要一个判断方法,而且较为简单。
void chooseONE()
{
printf("第一玩家请选择下棋位置\n");
printf("第几个直的\n");
scanf("%d",&co);
printf("第几个横的\n");
scanf("%d",&ro);
while(arr[ro][co]==1||arr[ro][co]==2)
{
printf("重复了!!!\n");
printf("第几个直的\n");
scanf("%d",&co);
printf("第几个横的\n");
scanf("%d",&ro);
}
arr[ro][co]=1;
//这里加判断代码,建议用一个判断函数,我给你写个吧
}
//我这里这个方法写了个大概,你看一下和你的代码结合一下就可以了,我用i和j作为for循环的变量,你用来做最大的长宽值,这些你都要改一下。
flag作为判断是否胜利的标志,playerNum是玩家的标志,分1和2,这个函数只写了左和左上的判断,其他方向楼主仿照着写
int win(int row, int col, int playerNum){
int i = 0,j = 0;
int flag = 1;
if(row - 4 >= 0){
flag = 1;
for(i = row; i >= 0; i--){
if(arr[i][j] != playerNum){
flag = 0;
break;
}
}
if(flag == 1){
return 1;
}
}
if(row - 4 >= 0 && col - 4 >= 0){
flag = 1;
for(i = row ,j = col ; i >= 0&&j>=0; i--,j--){
if(arr[i][j] != playerNum){
flag = 0;
break;
}
}
if(flag == 1){
return 1;
}
}
}
❽ C语言学不会怎么办
你好,本人计算机专业学生,很高兴为你解答这个问题,C语言是计算机学习过程中入门级的一门编程语言,学习和掌握C语言,既可以增进对于计算机底层工作机制的了解,又为进一步学习其他高级语言打下了坚实的基础。
作为过来人呢,想告诉你,C语言其实很简单,只要学习态度端正,学习方法正确,掌握C语言还是比较容易的,对于计算机专业的同学,C语言是大部分学校给同学们开设的编程第一课,对于非计算机专业的同学,学习C语言主要是掌握一些基本的编程方法,C语言本身是一门很基础的很简单的语言。
好的书籍、好的课程、好的老师是C语言学习的关键,初学者学习C语言很容易放弃,但是越想要放弃的时候就正是进步的时候,建议大家在学习的时候建立起自己的学习框架,有意识建立思维导图,从框架去学习,逐步去掌握C语言的特性及程序设计的基本方法。最后推荐几本C语言相关书籍,希望对你有所帮助。
1、《C标准库》
2、《谭浩强C语言》
3、《C和指针》
4、《C专家编程》
5、《C陷阱与缺陷》
6、《C语言接口与实现》
7、《C程序设计语言(第2版)》