c語言升級二級考試題庫,c語言2級考試題庫

本文目錄一覽:

C語言二級考試都考什麼啊?那裡能找到題庫!

C語言二級複習綱要

一、基本知識

1.c是高級語言,結構化程序設計語言

2.程序設計的五個部分

二、變數、常量、表達式

1.常量的值是不能改變的

2.標識符的定義方法

3.c語言中二進位和八進位、十六進位的表示方法

4.算術運算符的優先順序別(++和–放在變數前後的區別)

5.c程序的基本構成結構(由函數構成,函數由基本結構構成)

三、順序結構

1.printf的格式控制串中的格式控制字元和後面的數據在數量上要一一對應,類型要匹配

2.scanf的格式控制串中不要有多餘字元,後面的數據是地址,如果是變數,前面要有(取地址符)

3.兩個%代表一個%

4.複合語句以及空語句

四、選擇結構

if (表達式) 語句1;

else 語句2;

switch (表達式)

{ case….:……..;

.

.

.

case…:…….;}

1.關係表達式及優先順序別

2.邏輯表達式及優先順序別

3.關係,邏輯,算術優先順序別的問題

4.if後面跟的表達式是判斷真假的,switch是計算值的

5.if表達式後只能跟一個語句,如果要跟多個語句,必須用{ }括起來構成複合語句

6.switch裡面的語句後面一定要跟break才能跳出switch,否則會一致執行下去

7.if語句中,語句1和語句2兩個語句裡面只能有一個語句被執行

五、循環結構

1.三種循環結構及其區別(while和do….while多用於循環次數未知的情況,for用於循環次數已知的情況)

2.循環中的三要素:初始值,結束條件,自增語句

3.break和continue的區別

六、字元

1.字元量是用單引號』引起來的一個字元,用雙引號」引起來的字元是字元串

2.字元量等同於整形量

3.要使用putchar和getchar這兩個函數,就必須在程序的開頭使用#include 「stdio.h」

4.連續輸入

七、函數

1. 函數可以沒有返回值,也可以有返回值,但是只能返回一個值,在函數中,一碰到return語句,函數立即結束,返回調用的地方

2. 函數的返回值也是有類型的,函數的首部要加以說明

3. 函數也必須遵循先定義後使用的原則

4. 函數的實際參數和形式參數必須一一對應,類型也要匹配,同時,參數是變數的,只能進行單向傳遞,即,參數值只能從主函數傳遞給函數,而不能從函數返回主函數,這種稱之為:傳值傳遞

八、指針

1. 存放地址的變數稱為指針

2. 「*」號在數據定義的時候作為指針定義符,在語句中作為間接引用

3. 指針一定要有指向,不能沒有指向,指向空是有意義的]

4. 通過把指針作為函數參數,可以在主函數和函數之間傳遞數據,稱之為:傳地址傳遞

5. 指針每次移動,都移動一個單元,每個單元的長度是由指針的基類型確定的

6. 指向指針的指針是指:這個變數中存放的是指針的地址

7. 函數也可以返回指針,同樣,要在函數首部定義

九、數組

1. 數組是一連串連續的存儲單元的集合,他們是連續的

2. 把數組傳遞給函數,並且希望能改變其值,那麼在函數的首部,用指針定義參數

3. 二維數組是一維數組的特殊形式,可以把二維數組看成每一個一維數組,每個元素都是一個一維數組。

4. 要把二維數組傳遞給函數,並且希望能改變其值,那麼,在函數的首部,用一個行指針{(*sp)[ ]}來定義參數

5. 行指針和指針數組是不同的

行指針 指針數組

十、字元串

1. 字元串其實就是字元數組,一維字元數組可以存放一行字,而二維字元數組可以存放若干行字

2. 字元串的結束標誌是\0,並且包含在字元串長度之內

3. 可以用字元指針指向一個字元串,其實就是指向字元數組的首地址

4. 字元串的輸入輸出使用puts和gets函數

十一、結構

1. 結構是一種特殊的用戶自定義數據類型,他由若干個成員構成

2. 要引用成員,就要看使用什麼來引用。用數據的話:結構體變數名.成員名。是指針的話:結構體指針-〉成員名

3. 成員符優先順序別問題:高於++ ――

4. 傳遞結構體變數給函數,並且希望能改變其值,那麼把該結構體變數的地址傳遞給函數,函數用該類型指針來接受結構體

5. 鏈表:在定義結構體變數的時候,在其中增加指向自己的指針,使得這種結構體變數能夠指向同類型結構體變數,由這種變數首尾相連,就能構成鏈表。

6. 鏈表的建立、刪除節點、增加節點,查找節點都要使用動態內存分配malloc和calloc,區別在於前者動態分配一個單元,而後者動態分配一系列單元

十一、文件

1. 文件的打開方法和打開方式及如何關閉

2. 如何對文件進行輸入和輸出

3. 文件指針及其操作函數

c語言計算機二級考試選擇題如圖?

全國計算機二級考試試題題庫(附答案)

下列各題 A) 、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項在答題

卡相應位置上塗黑,答在試卷上不得分。

(1) 應用軟體是指

A) 所有能夠使用的軟體 B) 能被各應用單位共同使用的某種軟體

C) 所有微機上都應使用的基本軟體 D) 專門為某一應用目的而編製的軟體

(2) 下列述敘中錯誤的是

A) 計算機要經常使用不要長期閑置不用

B) 為了延長計算機的壽命,應避免頻繁開關計算機

C) 在計算機附近應避免磁場干擾

D) 計算機用幾小時後,應關機一會兒再用

(3) 下列字元中,ASCII碼值最小的是

A) A B) a C) Z D) x

(4) 用晶體管作為電子器件製成的計算機屬於

A) 第一代 B) 第二代 C) 第三代 D) 第四代

(5) 下列各不同進位的四個無符號數中,最小的數是

A) ()2 B) (37)8 C) (75)10 D) (2A)16

(6) 二進位數轉換成十六進位數是

A) B) C) D)

(7) 下列各無符號十進位數中,能用八位二進位表示的是

A) 296 B) 333 C) 256 D) 199

(8) 計算機的軟體系統可分類為

A) 程序與數據 B) 系統軟體與應用軟體

D) 操作系統與語言處理程序 D) 程序、數據與文檔

(9) 486機中的CPU同時能處理的二進位位數為

A) 8 B) 16 C) 32 D) 64

(10) 在使用計算機的過程中,需要重新啟動DOS,則要

A) 按Ctrl+Break鍵 B) 按^C鍵 C) 按Ctrl+Alt+Del鍵 D) 按^H鍵

(11) 現要從軟盤啟動DOS(軟盤中已存有DOS系統),設有如下一些操作:①打開計算機

電源;②將該軟盤插入A驅動器;③關好A驅動器門。則冷啟動的操作順序應為

A) ①→②→③ B) ③→②→① C) ②→①→③ D) ②→③→①

(12) 設當前盤中某一文件路徑為\A\C\B\,當前目錄為\A。下列命令中錯誤的是

A) CD.. B) RD \A\C\B

C) TYPE \A\C\B\ D) TYPE C\B\

(13) 設當前盤中的根目錄下有一子目錄AB,在子目錄AB下有一文件。現要查看文件

的內容,應使用命令

A) TYPE \AB B) TYPE \AB\

C) TYPE \ D) DIR \AB\

(14) 自動批處理文件必須放在

A) C盤根目錄中 B) A盤根目錄中

C) 啟動盤的任一個目錄中 D) 啟動盤的根目錄中

(15) 設當前盤當前目錄為C:\USER\XY\P,且當前盤當前目錄為空,則下列命令中能正

確執行的是

A) RD C:\USER\XY\P B) RD USER\XY\P

C) MD \USER\XY\P\USER D) MD \USER\XY\P\X\Y

(16) 下列DOS命令中,合法的是

A) DISKCOMP B) TYPE

C) COMP A: B: D) COMP A: A:

(17) 設當前盤為C盤,所用的所有軟盤已格式化,且容量相同,則下列DOS命令中錯

誤的是

A) DISKCOPY A: A: B) COPY A:*.* C) COPY *.* D) COPY A:*.* C:

(18) 下列DOS命令中錯誤的是

A) TYPE PRN B) TYPE PRN

C) COPY *.TXT PRN D) COPY CON PRN

(19) 下列四組DOS命令中,互相等價的一組是

A) COPY A:*.* B:與DISKCOPY A: B:

B) COPY +與TYPE

C) COPY + 與COPY +

D) TYPE *.FORCON與COPY *.FOR CON

(20) 設C盤目錄結構如下:

且C盤根目錄下文件的內容為

CD FORTRAN

CD \TC

如果在A驅動器中插入一張根目錄中只有擴展名為.C的若干文件(即A盤中無DOS系統

文件)的軟碟片,則由C盤啟動DOS系統後,第一次鍵入下列命令中,正確的是

A) COPY A:\*.C B) COPY A:\*.C TC

C) COPY A:\*.C FORTRAN D) CD USER

(21) C語言提供的合法的數據類型關鍵字是

A) Double B) short C) integer D) Char

(22) 在C語言中,合法的長整型常數是

A) 0L B) 4962710 C) D)

(23) 表達式:10!=9的值是

A) true B) 非零值 C) 0 D) 1

(24) 合法的C語言中,合法的長整型常數是

A) ‘\t’ B) “A” C) 65 D) A

(25) 若有說明和語句:

int a=5;

a++;

此處表達式a++的值是

A) 7 B) 6 C) 5 D) 4

(26) 在下列選項中,不正確的賦值語句是

A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;

(27) 若有說明:int i,j=7, *p=i;,則與i=j;等價的語句是

A) I= *P; B) *P=*J; C) i=j; D) i=* *p;

(28) 不能把字元串:Hello!賦給數組b的語句是

A) char b[10]={‘H’,’e’,’l’,’l’,’o’,’!’};

B) char b[10];b=”Hello!”;

C) char b[10];strcpy(b,”Hello!”);

D) char b[10]=”Hello!”;

(29) 若有以下說明:

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

char c=’a’,d,g;

則數值為4的表達式是

A)a[g-c] B)a[4] C)a[‘d’-‘c’] D)a[‘d’-c]

(30) 若有以下說明:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

則數值為6的表達式是

A) *p+6 B) *(p+6) C) *p+=5 D) p+5

(31) 若有以下說明:

int w[3][4]o={{0,1},{2,4},{5,8}};

int(*p)[4]=w;

則數值為4的表達式是

A) *w[1]+1 B) p++,*(p+1) C) w[2][2] D) p[1][1]

(32) 若程序中有下面的說明和定義

struct abc

{int x;char y;}

struct abc s1,s2;

則會發生的情況是

A) 編譯進錯 B) 程序將順利編譯`連接`執行

C) 能順利通過編譯`連接`但不能執行 D) 能順利通過編譯`但連接出錯

(33) 能正確表示a≥10或a≤0的關係表達式是

A)a=10 or a=0 B)a=10│a=0

C)a=10││a=0 D)a=10 ││a=0

(34) 下面程序的輸出是

main()

{ int x=3,y=6,a=0;

while(x++!=(y+=o1))

{ a+o=1;

if(y

#include

main()

{ char ss[10]=”12345″;

strcat(ss,”6789″);

gets(ss);printf(“%s\n”,ss);

}

A) ABC B) ABC9 C) 123456ABC D) ABC456789

(35) 下面程序的輸出是

main()

{ char *a=””;

int v1=0,v2=0,v3=0,v4=0,k;

for(k=0;s[k];k++)

switch(s[k])

{ default:v4++;

case ‘1’: v1++;

case ‘3’: v3++;

case ‘2’: v2++; }

printf(“v1=%d,v2=%d,v3=%d,v4=%d\n”,v1,v2,v3,v4); }

A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1

C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8

(36) 下面程序的輸出是

main()

{int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);}

A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=b

(37) 若有以下程序段,w和k都是整型變數:

w=k;

LB: if(w==0) go to LE;

w–;

printf(“*”);

goto LB;

LE: ┆

則不能與上面程序段等價的循環語句是

A)for(w=k;w!=0;w–) printf(“*”); B)for(w=k;w;–w)printf(“*”);

C)w=k; D)w=k;

while(w–!=0)printf(“*”);w++; do{ w–;printf(“*”);}while(w!=0);

(38) 若有說明,double *p,a;則能通過scanf語句正確給輸入項讀入數據的程序段是

A)*p=a; scanf(“%lf”,p); B)p=(double *)malloc(8);scanf(“%f”,p);

C) p=a;scanf(“%lf”,a); D)p=a; scanf(“%le”,p);

(39) 當執行下面程序且輸入:ABC時,輸出的結果是

#include

#include

main()

{ char ss[10]=”12345″;

gets(ss);printf(“%s\n”,ss); }

A) ABC B) ABC9 C) 123456ABC D) ABC456789

(40) 若有以下的說明和語句:

main()

{int t[3][2], *pt[3],k;

fpr(k=o; k3;k++)pt[k]=t[k];

}

則以一選項中能正確表示t數組元素地址的表達式是

A) t[3][2] B) *pt[0] C) *(pt+1) D) pt[2]

(41) 下面程序輸出數組中的最大值,由s指針指向該元素.

main()

{ int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;

flr(p=a, s=a; p-a10; p++)

if(—?—)s=p;

printf(“The max:%d”,*s):

}

則在if語句中的判斷表達式應該是

A) ps B) *p*s C) a[p]a[s] D) p-ap-s

(42) 下面程序的輸出是

#include

main()

{ char*a=”abcdefgh”;

fun(a);puts(a); }

fun (char * s)

{ int x=0,y;char c;

for(y=strlen(s)-1;x

A)abcdefgh B)hgfdecba C)dcbahgfe D)hgfedcba

(43) 若有以下函數調用語句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函數調用語句

中實參的個數是

A)3 B)4 C)5 D)6

(44) 下面程序的輸出是

main()

{ int t=1; fun(fun(t));}

fun(int h)

{ static int a[3]={1,2,3};

int k;

for(k=0;k3;k++) a[k]+=a[k]-h;

for(k=1;k3;k++) printf(“%d”,a[k]);

printf(“\n”); return(a[h]);}

A)1,2,3, B)1,3,5, C) 1,3,5, D) 1,3,5,

1,5,9, 1,3,5, 0,4,8, -1,3,7,

(45) C語言中,函數的隱含存儲類別是

A)auto B)static C)extern D)無存儲類別

(46) 下面程序的輸出是

int w=3;

main()

{ int w=10; printf(“%d\n”,fun(5)*w); }

計算機二級c語言考試題型及分值

計算機二級c語言考試題型有單項選擇題、程序填空題、程序改錯題、程序設計題四大類題型。

各題型分值如下:

一、單項選擇題

單項選擇題共四十題,四十分,每一個選擇分值為1分,其中單項選擇中含公共基礎知識,該部分十道題,佔10分。

二、程序填空題

程序填空題有2-3個空,佔比分值18分,該題型為上機題,其三個空佔比18分,可想而知其重要性。

三、程序改錯題

程序改錯題有2-3處錯誤,該題型分值佔比也是18分,難度比程序填空題略難。該題型也為上機題,也許重視該類題型。

四、程序設計題

程序設計題是計算機二級C語言考試重點,該題為一大題,佔比分值24分,該題型也為上機題,為考試重點,需多加練習。

註:二級公共基礎知識在各科考試選擇題中體現。程序設計部分,主要考查考生對程序設計語言使用和編程調試等基本能力,在選擇題和操作題中加以體現。

計算機二級c語言考試考試要求:

一、熟悉Visual C++2010 Express集成開發環境。

二、掌握結構化程序設計的方法,具有良好的程序設計風格。

三、掌握程序設計中簡單的數據結構和演算法並能閱讀簡單的程序。

四、在Visual C++2010 Express集成環境下,能夠編寫簡單的C程序,並具有基本的糾錯和調試程序的能力。

以上便是計算機二級c語言考試題型及分值說明。

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。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/183232.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 16:27
下一篇 2024-11-24 16:28

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論