『壹』 c語言二級難考嗎誰能告訴我都有些什麼題目,C語言和C++那個比較有用,實用啊
你問C語言和C++那個比較有用,他們各有各的用處,C語言主要是針對硬體方面的,C++也可以做一引起驅動程序。但是學好了C++可以利用一些編程工具做大量的軟體。
看來你不是計算機專業的吧,如果你就是為了計算機等級考試,C語言二級考試是有點難。因為C語言比較難學。
『貳』 C語言二級的題
程序定義了一個結構體變數類型STU,每一個STU型變數包含兩個子變數:char型的num[10]和int型的s。
在fun函數中,有兩個參數,分別是STU型的數組變數a[]和STU型的指針變數s。
由於數組a是STU型的,數組a的每一個元素(如a[0])中都包含兩個子元素(num和s),c語言規定這兩個子元素分別用點號表示,如a[0].num、a[0].s。這就是.s的由來。
對於s這個指針,同樣它也是STU型的,當它指向數組a的某一個元素(如a[1])時,仍然可以選擇它指向的a[1]的哪一個子元素,c語言也規定了表示方法,那就是->,如用s->num代表num子元素(即a[1].num),s->s代表s子元素(即a[1].s)。
注意:變數用.號,指針用->號,不能用錯。
另外,你發的第三張圖是什麼意思?
『叄』 計算機二級C語言都有哪些題型
全國計算機二級C語言程序設計包括40個單選題(每題一分)和三道操作題(60分)。
單選題中1~10題為二級公共基礎知識,考試內容包括數據結構與演算法、程序設計基礎、軟體工程基礎、資料庫設計基礎四部分。單選題的11~40題是C語言的內容。
操作題包括程序填空(18分)、程序改錯(18分)和編程題(24分)各一題。
程序填空是將一個完整的程序,扣掉兩到三處,讓考生將它填寫完整。由於每位考生具體抽到的題目不同,程序填空有2到3個空要填。程序填空題以實際填寫的內容為評分依據,填寫正確一個空,給一個空的分。如果是2個空,每個空就是9分;如果是3個空每個空是6分。
程序改錯也是一個完整的程序,其中有2~3處錯誤要求考生將他們改正。與程序填空類似,2處錯誤的話,每處9分,3處錯誤的話,每處6分。程序改錯題的題目會提示每一處錯誤所在的行,在那一行的上一行有********found********標識。
編程題是要求考生編寫一個程序,然後運行出題干要求的結果。題目中主函數main()會完整給出,在主函數中將調用fun()函數,fun函數由考生自己編寫。編程題以運行結果給分,所編寫完成後必須運行,否則沒分。因此,大多數情況下,編程題要麼就是得24分滿分,要麼就是0分。
『肆』 C語言2級難題 求解惑
樓主你好~
首先聲明一點,樓主你這個程序運行時是會出錯的。原因在最後面說。
然後根據樓主給的代碼的期望目的,來分析下:
核心部分就是fun()中的
while(s1<S2)
{
t=*s1++; //(1)
*s1=*s2--; //(2)
*s2=t; // (3)
}
當s1指向的地址小於s2指向的地址時,進行了一次替換操作。
循環1,1234567
進行到(1)時,s1指向'1',t='1',s1自加1,指向'2'(第2位)。此時原始數據1234567。
進行到(2)時,s2指向'7',*s1='7',s2自減1,指向『6』(第6位)。此時原始數據1734567。
進行到(3)時,s2指向'6',*s2='1'。此時原始數據1734517。
循環2,1734517
進行到(1)時,s1指向'7',t='7',s1自加1,指向'3'(第3位)。此時原始數據1734517。
進行到(2)時,s2指向'1',*s1='1',s2自減1,指向『5』(第5位)。此時原始數據1714517。
進行到(3)時,s2指向'5',*s2='7'。此時原始數據1714717。
循環3,1714717
進行到(1)時,s1指向'1',t='1',s1自加1,指向'4'(第4位)。此時原始數據1714717。
進行到(2)時,s2指向'7',*s1='7',s2自減1,指向『7』(第4位)。此時原始數據1717717。
進行到(3)時,s2指向'7',*s2='1'。此時原始數據1711717。
循環4,判斷失敗,跳出。
最終得到結果1711717
這是這個程序想做到的狀態。
但是,這個程序會出錯的!
原因在於程序運行到(2)時,試圖修改一個常量字元型指針的內容,會報錯。
理由在於傳入的char* p="123456",這個字元型指針在聲明時聲稱成了字元串,在內存中分配在常量數據區,不能通過*(p+1) = 'a'這樣的方式進行修改內容,它是只讀的。
注意''單引號表示一個字元,而""雙引號表示字元串,'a'與"a"是不同的。
所以當程序想在"1234567"中把第二位的2賦值成第7位的7時,試圖修改了常量字元型指針的內容,這就報錯了。
而改進方法就是使用字元串的另一種表達,就是將char *p變為char p[7],這樣p指向的是這個字元型數組的頭元素,而數組聲明在內存的棧空間上,是可以改變的:
比如
char p[]="1234567";
p[1] = '7';
第一句聲明的時候,事實上右邊的"1234567"任然是常量,但是聲明是p數組創建了"1234567"的副本,也就是說p實際上是{'1','2','3','4','5','6','7'},當然是可以被改變的。
請追問~
『伍』 二級c語言 程序設計題難度很大嗎 為什麼說只是想考證的一般就放棄的
不難。
c語言需要熟練運用語法的基本類型、控制流程、函數、結構和常用函數等,c語言的特點也是重點,作為入門語言會考一些常識,比如ascii碼表占很大部分的分數,簡單計算和簡單演算法。掌握程序設計中簡單的數據結構和演算法並能閱讀簡單的程序,在 Visual C++集成環境下,能夠編寫簡單的C程序,並具有基本的糾錯和調試程序的能力。
(5)c語言二級最難的題擴展閱讀:
二級c語言注意事項:
用戶需要注意二級C語言每一年安排兩次或三次考試,前兩次分別在3月下旬和9月中旬,後一次在12月初,為可選,只有當報考數達到一定要求時考點才會開考。
直接解答法,多用在數理科的試題中,根據已知條件,通過計算、作圖或代選擇依次進行驗證等途徑,得出正確答案。
淘汰錯誤法,把選擇題各選擇項中錯誤的答案排出,餘下的便是正確答案。
『陸』 計算機二級c語言考試題型,急
書面測試分為多個問題,主要是測試的c語言的基本知識,包括演算法,函數陳述和一些概念問題。填空問題主要是編程問題。它通常很簡單,有些是讓填寫程序的結果。
主要問題是三個。第一個是填空問題。這是一個簡單的程序,可以填補一些空缺。這些通常並不困難。第二天是糾正錯誤,雖然最大的問題是告訴哪些代碼有錯誤,但通常這些錯誤通常在編程中被喜歡,所以找到它可能有點麻煩。
第三個問題,必須加油,需要寫一段代碼。但是,如果已經完成了正確的兩個問題,則符合條件並不是問題。建議在查看機器時進入計算機進行操作。
(6)c語言二級最難的題擴展閱讀
考試內容:
C語言程序的結構:
程序的構成,main函數和其他函數。
頭文件,數據說明,函數的開始和結束標志以及程序中的注釋。
源程序的書寫格式。
C語言的風格。
數據類型及其運算:
C的數據類型(基本類型,構造類型,指針類型,無值類型)及其定義方法。
C運算符的種類、運算優先順序和結合性。
不同類型數據間的轉換與運算。
C表達式類型(賦值表達式,算術表達式,關系表達式,邏輯表達式,條件表達式,逗號表達式)和求值規則。二級各科考試的公共基礎知識大綱及樣題見高等教育出版社出版的《全國計算機等級考試二級教程——公共基礎知識(2013年版)》的附錄部分。
基本語句:
表達式語句,空語句,復合語句。
輸出函數的調用,正確輸入數據並正確設計輸出格式。
『柒』 C語言二級問題
答案是3;
第一個if,括弧內是非a,因為a=0,所以不執行if語句,執行else
if,else
if
成立,但是後面是
;沒有語句塊,所以繼續執行後面if語句,c=0成立,所以x=3;
『捌』 C語言二級的幾道不會的題目麻煩解答來啊~~應該不難吧~~
1.題沒錯
x=0210,是八進制數,%x表示以十六進制輸出,0210化成十六進制就是88
2.初始定義c1為字元0,c2為字元9;進行for循環,每次循環c1加1,c2減1;直到不滿足c1<c2條件為止。所以最後的結果是c1=『5』,c2=『4』。
%c就是按字元格式輸出,c1輸出5,c2輸出4;合在一起就是54
3.這題不用計算啊
c=(a%11)+(b=3)
這句話中b=3就是把3賦值給b了,所以變數b的值是3
『玖』 c語言二級考試題目
第一題:\141的值是"a"(a的8進制ASCII碼值是141),\\的值是"\",所以s列印出來就是\141aabc,當然後面有一個\t,所以長度是9。
第二題:32位機器中,int值佔4個位元組,這里char佔4個位元組(由於32位機器按4位元組對齊,char佔一個位元組後,剩下的3個位元組不足以放下4個位元組的float,所以這里char後面的3個位元組會被浪費,看起來char佔了4個位元組),float佔4個位元組。
union裡面的所有數據一起佔用一塊內存,此內存為union內佔用內存最多的數據的大小,也就是int[2]的大小,所以union佔8個位元組。
加起來就是20個位元組。
不是你把題抄錯了,就是沒有正確答案,或者沒說明機器是多少位的機器。現在一般不說明機器的位數,默認情況下都是32位的。
第三題:ps=s後,ps會指向s的第一行第一列的位置,ps+1和*(ps+1)都等於s第二行第一列的地址,對ps的操作都是對內存地址的操作,答案中只有ps[ ][ ]能取到s中的元素。
第四題:因為pb比b1大3,所以while會循環3次,第一次因為*bp 從第三個字元開始,所以*bp = 「ddwer」,所以b2=「ddwer」,第二次b2=「oddwer」,第三次b2=「goddwer」,所以strlen(b2)最終等於7。
第五題:答案是3,ASCII值中「\08」表示空格,所以s實際上等於「012xy」,而n記錄字元值在0到9之間的字元的個數,所以n=3。