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版)》