① 學會了c語言都可以做什麼呢
C語言是一門通用性的語言,並沒有針對某個領域進行優化,在實際項目中,C語言主要用於較底層的開發,例如:
Windows、Linux、Unix 等操作系統的內核90%以上都使用C語言開發;
開發硬體驅動,讓硬體和操作系統連接起來,這樣用戶才能使用硬體、程序員才能控制硬體;
單片機和嵌入式屬於軟硬體的結合,有很多使用C語言的地方;
開發系統組件或服務,用於支撐上層應用;
編寫PHP擴展,增強PHP的功能;
如果對軟體某個模塊(例如演算法和搜索部分)的效率要求較高,也可以使用C語言來開發。
② 如何吸引人關注C語言
我的建議是搞一個嵌入式方面的展覽,可以是實物加上圖片的方式。
一方面,嵌入式領域與電子的聯系比較緊密(電子、電路在嵌入式領域很多時候都是需要自己設計和製作的),另一方面,嵌入式方面最多使用的編程語言就是C了(包括基於Linux等嵌入式系統的產品的開發)。
通過展示這些產品及其開發過程,可以讓人知道:光是電子領域,只是有一個軀殼,而C語言則是賦予 這個軀売智慧。
至於是哪方面的嵌入式,就看你的能力了,最簡單的如洗衣機、微波爐等家電的的控制板,復雜一點的如手機、機器人、太空梭等的設計。此外,嵌入式開發已經是目前電子領域最具活力的行業之一。
③ 學習C語言可以做什麼
1. 後端開發
主流的後端開發語言就那麼幾種,以Java、C/C++領銜,Python和Go緊跟其後。
2. 游戲開發
掌握了C/C++基本語法之後,開發游戲也依然是一個不錯的選擇,目前工業級別的3D游戲引擎仍然是用C或C++編寫的。
雖然以個人能力無法去完成一個龐大的網路游戲,但是從簡單開始,編寫一些小游戲,然後逐漸深入,循序漸進並最終加入大型游戲開發團隊還是非常好的一個選擇。與之相應的就業崗位主要有游戲開發工程師、游戲引擎架構工程師等。
3. 客戶端開發
畢竟C/C++已經是一個很成熟的語言了,所以除了後端開發其實它還有很多其它的開發崗位可以選擇。自然而然的,就是客戶端開發了。
相信大多數學C/C++的同學都用過C/C++寫桌面軟體吧。那時候估計還是用MFC,照著代碼書上敲一遍就能寫一個比較簡單的界面了。所以如果不想做後端,完全可以靠C/C++找一份客戶端開發的工作。做客戶端同樣也需要扎實的編程基礎和計算機理論基礎,同時可能還要熟悉Windows/C++編譯鏈接機制、QT客戶端開發技術體系、Windows消息機制等技術。
4. 多媒體開發
目前多媒體技術同樣滲入到人們的日常生活中,音視頻已經成為人們獲取信息的一個非常重要的手段。音視頻在傳輸過程中都是經過壓縮並且按照一定規則打包過的。視頻的編碼技術從最開始的H.261到如今的H.265,經歷了30多年的發展,而且實現代碼全部是由C或C++實現。
5. 嵌入式開發
上面幾種崗位選擇都是偏軟體方向想的,而C/C++還有一類非常大的就業方向,就是去做嵌入式。嵌入式本身可能是偏硬體一點,但是現在做個什麼事,都是軟硬不分家的。
嵌入式的開發同樣也會涉及到網路編程、並發編程等方面。通俗點解釋可能就是,嵌入式代碼是運行在別的小系統上,而不是傳統意義的計算機上。這個方向除了需要編程能力,還需要基本的電路理論素養。
6. 人工智慧
人工智慧、機器學習等方向也少不了C或C++語言的身影。
需要強調的是雖然C/C++語言可以從事的方向非常廣泛,但是僅僅掌握C/C++語法是遠遠不夠的,上述的應用領域C/C++語言是基礎,進入這些領域還需要進一步深入系統學習相關領域的知識以及去接觸真實企業項目的內容。
④ 比較好的大學生C語言競賽編程題 或者比較有檔次的競賽有哪些(本科、研究生可以參加的)
1:C語言競賽編程題很多,你可以去北大的ACM網上測評系統JudgeOnline上做題,它能檢查你的代碼是否正確。
網址:http://acm.pku.e.cn/JudgeOnline/
可以注冊一個賬號,它會保存你每次提交正確的代碼,上面的題比較多,范圍廣,各種難度試題都有。當然還有其他大學的一些JudgeOnline,如上海交大的。
2:有檔次的競賽首推ACM/ICPC(國際大學生程序設計競賽),當然也有全國大學生程序設計大賽。每年有的網站和機構也會舉辦編程競賽,如這幾年網路舉辦的網路之星程序設計大賽也很有影響力。在給出的樣題第一例有對ACM的詳細介紹,樣題是我們學校某屆程序大賽初試題,比較簡單。(此外ACM程序大賽也可以用C++編程,本科生、研一可參加)
3:一些簡單的ACM樣題(因為是國際性比賽,ACM試題都是E文的,下面部分是翻譯過來的)
H-acm規則
Description
ACM/ICPC(國際大學生程序設計競賽)是由ACM(Association for Computing Machinery,美國計算機協會)組織的年度性競賽,始於1976年,是全球大學生計算機程序能力競賽活動中最有影響的一項賽事,是全世界公認的規模最大、規格最高的大學生程序設計競賽,是參賽選手展示計算機才華的廣闊舞台,是著名大學計算機教育成果的直接體現,是信息企業與世界頂尖計算機人才對話的最好機會。ACM/ICPC採用賽區選拔的方式產生參加世界決賽學校的資格,2001年,來自全球超過25個地區1141所大學的2362支隊伍參加了第26屆ACM/ICPC的賽區競賽。在2002年3月,來自世界各地的約60支隊伍,200多名選手參加了夏威夷總決賽的角逐。
在 ACM/ICPC 比賽中,均使用自動判題系統,這不僅減輕了ACM/ICPC比賽的舉辦方的負擔,同時也使競爭更加的公正公平。 因為在比賽中,比賽成員就可以看到自己排名情況,這使的比賽更加的透明。
ACM/ICPC 比賽中排名是按如下方法排名的:
1: 解題數目最多的隊伍排在前面。
2: 如果解題數目相等的隊伍,總用時最少的排在前面。
註: 在比賽中,每道試題用時將從競賽開始到試題解答被判定為正確為止,期間每一次錯誤的運行將被加罰20分鍾時間,未正確解答的試題不計時。 那麼所有解答出來題目的用時和罰時加起來為:該隊伍所花的總用時。
現在,需要你寫一個程序來給比賽隊伍進行排名(假設不超過200支隊伍)。
Input
多行測試數據,每行包含各個隊伍的比賽信息。
每個隊伍格比賽信息表示格式為:
string n m 分別表示隊名、解題數量、總用時(其中:隊名為長度不超過30的字元串,解題數量為1…10之間的整數,罰時的范圍不超過int的范圍)
當輸入end時,表示輸入結束。
Output
按先後名次輸出各個隊伍的比賽信息。
每個比賽隊伍佔一行。
每行格式為:
string n m 分別代表 隊名 解題數量 總用時。
Example Input
amstl 3 65
danoniao 2 50
lutedan 3 60
end
Example Output
lutedan 3 60
amstl 3 65
danoniao 2 50
G-我想我需要一隻船屋
Description
佛瑞德最近正在考慮在路易斯安那洲買一片土地來蓋一棟房子.在進行調查研究土地的過程中佛瑞德發現,路易斯安那洲的土地由於密西西比河的侵蝕會以每年50平方英里的速度縮減.佛瑞德計劃後半生都在該地度過,所以他不希望在自己的有生之年房屋受到河水的侵蝕.現在他需要知道自己是否會受到河水的侵蝕.
在做了更多的調查之後,佛瑞德得知這里的土地沿河岸以半圓形方式侵蝕,這個半圓以(0,0)為圓心的,被X軸分成上下兩部分,位於X軸下邊的是河水,上面是河岸.在第一年開始的時候這個半圓范圍為0,也就是說河岸未被河水侵蝕.(半圓如下圖所示)
Input
第一行的一個正整數N指出下邊有多少組數據需要計算.下邊N行,每行包含兩個實數X和Y,指出佛瑞德考慮的房子以(0,0)為原點的坐標系內的位置.以英里為單位.Y為非負數.
Output
計算在X,Y位置佛瑞德的房子在第幾年會被河水侵蝕.與輸入數據相對應每行以如下形式輸出你的計算結果:「Property N: This property will begin eroding in year Z.」, 其中N為第N組數據,Z為你計算出的開始侵蝕的年數.在最後輸出一句「END OF OUTPUT.」,表示計算結束.
Example Input
2
1.0 1.0
25.0 0.0
Example Output
Property 1: This property will begin eroding in year 1.
Property 2: This property will begin eroding in year 20.
END OF OUTPUT.
Hint
• 房屋的位置不會正好在半圓邊界上,要不在內,要不在外。
• 你所提交的程序計算輸出會由系統自動判斷。你的結果要和輸出要求精確匹配,字母大小寫、標點符號和空格 。包括最後一行的語句也要精確匹配。
• 所有給定數據都以英里為單位。
F-N!的計算
Description
N!=N×(N-1)×(N-2)×(N-3)×....
Input
輸入第一行為一正整數m,表示下邊要計算幾個 N!
下一行開始為m個正整數( 1 ≤ N ≤ 11 , m ≤ 9)
Output
輸出這m個正整數的階乘結果,每個一行.
Example Input
3
1
2
5
Example Output
1
2
120
I-Vertical Histogram
Description
Write a program to read four lines of upper case (i.e., all CAPITAL LETTERS) text input (no more than 72 characters per line) from the input file and print a vertical histogram that shows how many times each letter (but not blanks, digits, or punctuation) appears in the all-upper-case input. Format your output exactly as shown.
Input
* Lines 1..4: Four lines of upper case text, no more than 72 characters per line.
Output
* Lines 1..??: Several lines with asterisks and spaces followed by one line with the upper-case alphabet separated by spaces. Do not print unneeded blanks at the end of any line. Do not print any leading blank lines.
Example Input
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
THIS IS AN EXAMPLE TO TEST FOR YOUR
HISTOGRAM PROGRAM.
HELLO!
Example Output
*
*
* *
* * * *
* * * *
* * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
J-白棋勝?還是黑棋勝?
Description
Cinderalla最近迷上了玩五子棋.可是在和其它的小夥伴一起玩時她老是輸,於是她想用計算機來幫她判斷棋局是那方獲勝.為了簡便,我們先去掉一些規則.我們認為棋盤上只要有一方的棋有五個棋子相連就確定那一方獲勝.你的任務是編寫一個程序來判斷我們給出的棋局是那一方獲勝.
Input
輸入數據只有一組.第一行有兩個正整數m,n(5 ≤ m,n ≤ 10),分別代表棋盤的行數和列數.緊接著的2*n+1行是棋盤的描述,棋盤由"+","-","|"構成,其中"*"代表白棋,"#"代表黑棋. "+","-","|"的ASCII碼分別為43、45、124
Output
輸出數據只有一組,如果白棋獲勝則輸出White Win!,如果黑棋獲勝則輸出Black Win!
Example Input
5 10
+-+-+-+-+-+-+-+-+-+-+
| |*| | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+
| | |*|#| | | | | | |
+-+-+-+-+-+-+-+-+-+-+
| | |#|*|#|#| | | | |
+-+-+-+-+-+-+-+-+-+-+
| | | | |*|#| | | | |
+-+-+-+-+-+-+-+-+-+-+
| | | | | |*| | | | |
+-+-+-+-+-+-+-+-+-+-+
Example Output
White Win!
Hint
給出的棋局必有一方是獲勝的.
⑤ C語言活動
選C,X--是執行後減一,那麼Z被附的值就是2。
⑥ c語言能用來做什麼
C語言是許多高級計算機語言的基礎,學好C語言,能更好地學習其他語言,為以後學習打基礎。它既具有高級語言的特點,又具有匯編語言的特點。它的應用廣泛,具備很強的數據處理能力,各類科研都需要用到C語言。它是面向過程的語言。學好是語言再學習使用其他語言也會有很大的幫助。
⑦ c語言的主要用途
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。
基本特性
1、C是高級語言:它把高級語言的基本結構和語句與低級語言的實用性結合起來。工作單元。
2、C是結構式語言:結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰,便於使用、維護以及調試。C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
3、C語言功能齊全:具有各種各樣的數據類型,並引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大,可以實現決策目的的游戲。
4、C語言適用范圍大:適合於多種操作系統,如Windows、DOS、UNIX等等;也適用於多種機型。C語言對編寫需要硬體進行操作的場合,優於其它高級語言,有一些大型應用軟體也是用C語言編寫的。
5、C語言應用指針:可以直接進行靠近硬體的操作,但是C的指針操作不做保護,也給它帶來了很多不安全的因素。C++在這方面做了改進,在保留了指針操作的同時又增強了安全性,受到了一些用戶的支持,但是,由於這些改進增加語言的復雜度,也為另一部分所詬病。Java則吸取了C++的教訓,取消了指針操作,也取消了C++改進中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機中運行,運行效率低於C++/C。一般而言,C,C++,java被視為同一系的語言,它們長期占據著程序使用榜的前三名。
⑧ 求c語言程序設計比賽活動策劃書
範例:
XXX(2009-10-05 22:57:35)標簽:雜談
重慶郵電大學09年程序設計大賽策劃書
一、活動名稱:重慶郵電大學09年程序設計大賽
二、活動目的:為了推動和促進計算機軟體技術在校園內的推廣與普及,有助於提高在校生的創新能力,協作精神和理論聯系實際的學風;有助於在校生實踐素質的培養,提高在校生針對實際問題進行設計製作的能力;有助於吸引,鼓勵廣大在校生踴躍參加課外科技活動,為優秀人才的脫穎而出創造條件
三、參賽對象:重慶郵電大學在校本科生、研究生。以對為單位參賽,每隊隊員1至3人。
四、活動的主題及要求
1.大賽主題:設計小程序,激發大智慧
2.作品要求:
⑴參賽作品應健康,積極向上。
⑵作品功能最好要實用,使用要快捷方便。
⑶作品使用的設計語言必須為C語言,為保證及時開發出軟體作品參加比賽,建議設計中、小規模的作品。
⑷作品題材不限,可自行確定。
⑸作品主要內容必須為原創,不得抄襲,如有引用他人作品的部分,須在文檔中詳細註明,否則視為抄襲。
⑹作品必須有規范詳細的設計報告。
⑺提交的作品內容中不得含有參賽者的個人信息,否則取消參賽資格。
五、參賽報名形式及作品遞交方式
1、報名流程
⑴報名表下載:報名表可從http://www.cqupt.e.cn/下載。
⑵報名表填寫:認真如實填寫報名表相關信息,之後准備電子稿與紙制稿各一份。
⑶報名表提交:報名表可提交到http://www.cqupt.e.cn/。
⑷報名時間:2009年XX月XX日--2009年XX月XX日。
2、作品提交流程
⑴作品完整內容:完整的作品包括規范的技術文檔、程序源代碼。
⑵作品提交方式:作品將以上所有內容打包以後,以電子檔的形式通過郵件發送至大賽制定郵箱。
⑶作品提交時間:2009年XX月XX日--2009年XX月XX日。
六、比賽方式
1、初賽
評審老師通過審閱技術文檔及作品,審定出額定數量的隊伍參加比賽。
2、決賽
⑴決賽時間:2009年XX月XX日
⑵決賽地點:重慶郵電大學風雨操場
⑶決賽形式:
①作品宣講
決賽當天由各參賽隊上台進行作品解說,解說時間為5分鍾。解說時可使用PPT及作品的功能演示。
②評委提問
由主委會專家組成的評審團,評審團針對作品的相關問題進行提問,參賽隊伍必須正面回答評委提出的問題。
評委評分
根據以上兩個環節以及作品的文檔等評委進行評分,評審過程按照公平、公正、公開的原則。
統計得分
根據各位評委的評分,工作人員會現場統計各個參賽隊伍的得分情況。
證書及獎品的發放
根據評委評分的結果按照從高到低的順序評出本次比賽的各個基本獎項。評出各個獎項後由嘉賓現場對獲獎隊伍進行頒獎。
⑨ 與C語言相關的工作
與C相關的工作很多,畢竟C功能很強大,可應用范圍廣。
具體有:
1、嵌入式系統開發(如手機等);
2、游戲開發,讓別人玩自己設計出來的游戲是很不錯的感覺;
3、企業應用程序開發,如銀行管理系統、公司財政或人員管理系統等等(最為廣泛);
4、如果閣下您實力足夠強大,寫操作系統,寫驅動程序。
......
當然還有很多很多,而前提是您足夠牛,在較為精通C的情況下還要掌握一些資料庫、匯編語言等知識,要與時俱進。要真那麼不濟,做個教師也毫不遜色的,呵呵。是金子終將發亮的,祝您成功!
⑩ C語言能用來做什麼
學完C編程能力有一定提高,以後學java、C#等也快了。最好還是要有個人教你入門,網上的各種語言的學習視頻也不少,可以看相關教學視頻,多做上機試驗。要做軟體開發,還得自己的腦子轉得快,遇到問題查資料看書結合自己知識解決問題。工作中不只是只有C方面的工作,也要學其他語言(如果新項目要用到),不是計算機專業的沒關系,但是要看比較過關於這方面的知識,上網查資料是學習新知識比較好的方法,比如用網路、google就ok
要想讓c語言為你所用,你要用他解決問題,而程序的基礎是演算法和數據結構,比如你要搞嵌入式,你要了解硬體,做音視頻編解碼,你要了解各種音視頻編解碼演算法,總是語言本身並不算什麼,你能用他解決問題了,才能算你入門。你可以先選個方向,然後找一份用c語言的工作,學習幾年之後就有認識了