c語言二級操作題
① 計算機二級c語言模擬題及答案
2017年計算機二級C語言模擬題及答案
1.1 單選題
1.下列變數名中,非法的是( C )。
A.A25 B.My_car
C.My-str D.abc
2.下列常量中,十六進制int型常量是( A )。
A.0x5f B.x2a
C.046 D.7a
3.下列常量中,不是字元常量的是( B )。
A.' ' B."y"
C.'x' D.'7'
4.在函數體內定義了下述變數a,a的存儲類為( D )。
int a;
A.寄存器類 B.外部類
C.靜態類 D.自動類
5.下列關於變數存儲類的描述中,錯誤的是( C )。
A.任何變數定義後都具有一個確定的存儲類
B.變數的存儲類確定了變數的作用域和壽命
C.定義變數時沒有存儲類說明符者一律為自動類
D.內部靜態類變數和外部靜態類變數的存儲類說明符都是static
6.下列關於變數數據類型的描述中,錯誤的是( A )。
A.定義變數時int型數據類型可以省略
B.變數的數據類型可以決定該變數占內存的位元組數
C.變數的數據類型是可以被強制的
D.變數的數據類型是有高低之分的
7.長雙精度浮點型常量的後綴是( C )。
A.U B.F
C.L D.無
8.下列運算符中,不能用於浮點數操作的是( D )。
A.++ B.+
C.*= D.&(雙目)
9.下列運算符中,優先順序最高的是( A )。
A.*(雙目) B.||
C.>> D.%=
10.下列運算符中,優先順序最低的是( B )。
A.== B.?:
C.| D.&&
11.已知:int a(3);下列表達式中,錯誤的是( C )。
A.a%2==0 B.a--+2
C.(a2)++ D.a>>=2
12.已知:int b(5),下列表達式中,正確的是( D )。
A.b="a" B.++(b1)
C.b%2.5 D.b=3,b+1,b+2
6
13.下列關於類型轉換的'描述中,錯誤的是( C )。
A.類型轉換運算符是(<類型>)
B.類型轉換運算符是單目運算符
C.類型轉換運算符通常用於保值轉換中
D.類型轉換運算符作用於表達式左邊
1.1 判斷題
×1.C++語言和C語言都是面向對象的程序設計語言。
√2.面向對象方法具有封裝性、繼承性和多態性。
√3.C語言是C++語言的一個子集。C++語言繼承了C語言。
×4.C++語言程序與C語言程序一樣都是函數串。
×5.C++語言支持封裝性和繼承性,不支持多態性。
√6.C++語言比C語言對數據類型要求更加嚴格了。
√7.C++語言對C語言進行了一次改進,使得編程更加方便了。
×8.C++源程序在編譯時可能出現錯誤信息,而在連接時不會出現錯誤信息。
√9.編譯C++源程序時,出現了警告錯(Warning)也可以生成可執行文件。
√10.C++語言程序的實現也要經過編輯、編譯連接和運行3個步驟。
通過對1.5題中3個程序的修改,回答下列問題
從1.5題中第1題程序的修改中,總結出編程應該注意哪些問題。
答:C++程序要包含iostraem.h,main()函數前應加類型說明符void。
C++程序中所出現的變數是否必須先說明後使用?在函數體內說明變數時是否都要放在函數體的開頭?
答:C++程序中所出現的變數必須先說明後使用。在函數體內說明變數時不一定要放在函數體的開頭。
使用cout和插入符(<<)輸出字元串常量時應注意什麼?
答:可輸出一個字元串常量,也可輸出多個字元串常量。每輸出一個字元串常量要使用一次插入符(<<)。
程序中定義過的變數,但沒有賦值,也沒有默認值,這時能否使用?
答:不能使用。因為它的值不確定。
5.一個程序編譯通過並已生成執行文件,運行後並獲得輸出結果,這一結果是否一定正確?
答:不一定正確。可能還有演算法錯。
;② 全國計算機二級c語言的的操作題一定要運行嗎
一定要運行的,不然可能會沒有分,因為找不到輸出文件。全國計算機二級採用電腦閱卷,閱卷系統事先設計好問題和答案,然後運行你設計的程序來閱卷。
快捷鍵:
編譯:F7,執行:Ctrl+F5。
如果編譯時出現對話框的話,點「是」就是了。
/iknow-pic.cdn.bcebos.com/359b033b5bb5c9ea6f67e6c0d839b6003af3b379"target="_blank"title="點擊查看大圖"class="illustration_alink">/iknow-pic.cdn.bcebos.com/359b033b5bb5c9ea6f67e6c0d839b6003af3b379?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="//www.ultimate-communications.com/img_359b033b5bb5c9ea6f67e6c0d839b6003af3b379"/>
資料拓展
全國計算機二級考試
級別:程序設計、辦公軟體高級應用級。考核內容包括計算機語言與基礎程序設計能力,要求參試者掌握一門計算機語言,可選類別有高級語言程序設計類、資料庫程序設計類、Web程序設計類等;二級還包括辦公軟體高級應用能力,要求參試者具有計算機應用知識及MSOffice辦公軟體的高級應用能力,能夠在實際辦公環境中開展具體應用。
科目:語言程序設計類(C、C++、Java、VisualBasic、Web、Python)、資料庫程序設計類(Access、MySQL)、辦公軟體高級應用(MSOffice高級應用)共九個科目。
於九個科目中選擇一個參加考試並過關即可。
形式:完全採取上機考試形式。各科上機考試時間均為120分鍾,滿分100分。
獲證條件:總分不低於60分
③ 下半年計算機二級c語言基礎試題
下半年計算機二級c語言基礎試題
任何設計活動都是在各種約束條件和相互矛盾的需求之間尋求一種平衡,程序設計也不例外。下面是我收集的關於計算機二級c語言基礎試題,希望大家認真閱讀!
下半年計算機二級c語言基礎試題1
一、選擇:
1.給出以下定義:
char acX[ ]= "abcdefg";
char acY[ ]= {'a','b','c','d','e','f','g'};
則正確的敘述為( )
A) 數組acX和數組acY等價 B) 數組acX和數組acY的長度相同
C) 數組acX的長度大於數組acY的長度 D) 數組acX的長度小於數組acY的長度
答案:C
2.
void example(char acHello[])
{
printf("%d", sizeof(acHello));
return;
}
void main()
{
char acHello[] = "hello";
example(acHello);//數組名稱作參數,傳的是地址,一個地址佔四個位元組
return;
}
的輸出是
A 4 B 5 C 6 D不確定
答案:A
3. 有以下程序段
char acArr[]= "ABCDE";
char *pcPtr;
for(pcPtr = acArr; pcPtr < acArr + 5; pcPtr++)
{
printf("%s/n", pcPtr);
}
return;
輸出結果是( )
A) ABCD B) A C) E D) ABCDE
B D BCDE
C C CDE
D B DE
E A E
答案:D
4.在中斷中,不能同步獲取信號量,但是可以釋放信號量。
A.正確 B.錯誤
答案:A
5.以下敘述中不正確的是( )
A) 在不同的函數中可以使用相同名字的變數
B) 函數中的形式參數是局部變數
C) 在一個函數內定義的變數只在本函數范圍內有效
D) 在一個函數內的復合語句中定義的變數在本函數范圍內有效(復合語句指函數中的成對括弧構成的代碼)
答案:D
6.設有如下定義:
unsigned long pulArray[] = {6, 7, 8, 9, 10};
unsigned long *pulPtr;
則下列程序段的輸出結果為( )
pulPtr = pulArray;
*(pulPtr + 2) += 2;
printf ("%d,%d/n", *pulPtr, *(pulPtr + 2));
A)8,10 B)6,8 C)7,9 D)6,10
答案:D
7. 定義結構體時有下面幾種說法,請指出正確的(多選):______
A、結構體中的每個部分,最好進行四位元組對齊;
B、結構體的總長度最好是四位元組對齊;
C、結構中成員的存放不用考慮位元組對齊情況;
答案:A、B
8.void example()
{
int i;
char acNew[20];
for(i = 0; i < 10; i++)
{
acNew[i] = '0';
}
printf("%d/n", strlen(acNew));
return;
}
的輸出為( )
A 0 B 10 C 11 D不確定
答案:D
9.switch(c)中的c的數據類型可以是char、long、float、unsigned、bool. ( )
A. 正確 B. 錯誤
答案:B
10. 網路上傳輸的位元組序默認是大位元組的,如果主機是小位元組序,在網路通信時則須進行位元組序轉換;如果主機是
大位元組序,為了程序的一致性及可移植性,最好也在程序中加上位元組序轉換的操作(空操作)。
A. 正確 B.錯誤
答案:A
二、 填空題
1、 C語言函數返回類型的默認定義類型是
2、 函數的實參傳遞到形參有兩種方式: 和
3、在一個函數內部調用另一個函數的調用方式稱為 。在一個函數內部直接或間接調用該函數成為函數 的調用方式
4、C語言變數按其作用域分為 和
5、凡在函數中未指定存儲類別的局部變數,其默認的存儲類別為
三、 看程序寫結果
1、#include
Int abc(int u,int v);
Void main()
{int a=24,b=16,c;
c=abc(a,b);
printf(「value=%d」,c);
}
Int abc(int u, int v)
{int w;
While(v)
{w=u%v;
u=v;
v=w;
}
Return u;
}
2、#include
int x1=30,x2=40;
main()
{int x3=10,x4=20;
sub(x3,x4);
sub(x2,x1);
printf(「%d,%d,%d,%d 」,x3,x4,x1,x2);
}
sub(int x,int y)
{x1=x;x=y;y=x1;}
3、#include
Main()
{int i=5;
Printf(「%d 」,sub(i));
}
sub(int n)
{int a;
If(n==1) return 1;
a=n+sub(n-1);
return (a);
}
4、#include
Void fun()
{static int m;
m+=2;
printf(「%d 」,m);
}
Main()
{int a;
For(a=1;a<=4;a++) fun();
Printf(「 」);
}
四、 編程題
1、 編寫一個函數,判斷任一整數是否為素數,用main()函數調用並測試之。
2、 用遞歸方法求n!
3、 有一個一維數組,內放10個學生成績,寫一個函數,求出平均分,最高分和最低分
下半年計算機二級c語言基礎試題2
1.下列敘述中正確的是( )。
A. 所有數據結構必須有根結點
B. 所有數據結構必須有終端結點(即葉子結點)
C. 只有一個根結點,且只有一個葉子結點的數據結構一定是線性結構
D. 沒有根結點或沒有葉子結點的數據結構一定是非線性結構
【答案】D
【解析】D項正確,線性結構的特點是:
①集合中必存在「第一個元素"且惟一;
②集合中必存在「最後一個元素」且惟一;
③除最後一個元素外,其他數據元素均有惟一的「後繼;
④除第一個元素外,其他數據元素均有惟一的「前驅」。所以沒有根結點或沒有葉子結點的數據結構一定是非線性結構。AB兩項錯誤,不是所有數據結構都必須有根結點和葉子結點;C項錯誤,數據結構中若有中間結點不滿足只有一個前件或者後件的條件,就不是線性結構。答案選擇D選項。
2. 以下敘述中錯誤的是( )。
A. C語言中的每條可執行語句和非執行語句最終都將被轉換成二進制的機器指令
B. C程序經過編譯、鏈接步驟之後才能形成一個真正可執行的二進制機器指令文件
C. 用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中
D. C語言源程序經編譯後生成後綴為.obj的目標程序
【答案】A
【解析】A項錯誤,注釋語句不會被翻譯成二進制的'機器指令。C源程序經過C編譯程序編譯之後生成後綴為.obj的二進制文件(稱為目標文件),然後由「鏈接程序」(Link)的軟體把.obj文件與各種庫函數連接起來生成一個後綴為.exe的可執行文件。答案選擇A選項。
3. C語言主要是藉助以下( )功能來實現程序模塊化的。
A. 定義函數
B. 定義常量和外部變數
C. 三種基本結構語句
D. 豐富的數據類型
【答案】A
【解析】C程序的模塊化主要通過函數來實現。C語言允許對函數單獨進行編譯,從而可以實現模塊化。答案選擇A選項。
4. 有以下程序段:
char ch;
int k;
ch='a';
k=12;
print("%c,%d,",h,ch,k);
printf("k=%d ",k);
已知字元a的ASCII碼十進制值為97,則執行上述程序段後輸出的結果是( )。
A. 因變數類型與格式描述符的類型不匹配輸出無定值
B. 輸出項與格式描述符個數不符,輸出為零值或不定值
C.a,97,12k=12
D. a,97,k=12
【答案】D
【解析】字元變數的值是該字元的ASCII碼值,可以參與整型變數所允許的任何運算。"ch='a",%c表示以字元格式輸出ch的值,所以輸出為a;%d表示以十進制代碼的形式輸出ch的值,為97;k沒有對應的輸出格式,不輸出。在第二個語句中,首先輸出"k=",然後以十進制代碼輸出k的值,為12。答案選擇D選項。
5. 下列敘述中正確的是( )。
A. 棧是「先進先出」的線性表
B. 隊列是「先進後出"的線性表
C. 循環隊列是非線性結構
D. 有序線性表既可以採用順序存儲結構,也可以採用鏈式存儲結構
【答案】D
【解析】有序的線性表既可採用順序存儲結構,也可以採用鏈式存儲結構。A項錯誤,棧是「先進後出"的線性表B項錯誤,隊列是「先進先出"的線性表;C項錯誤,循環隊列是線性結構的,有序的線性表既可採用順序存儲結構,也可採用鏈式存儲結構。
答案選擇D選項。
6. 某二叉樹的中序序列為DCBAEFG,後序序列為DCBGFEA,則該二叉樹的深度(根結點在第1層)為( )。
A. 5
B. 40
C.3
D. 2
【答案】B
【解析】二叉樹的後序序列為DCBGFEA,則A為根結點。中序序列為DCBAEFG,則DCB為左子樹結點,EFG為右子樹結點。同理B為C父結點,C為D父結點。根據分析,可畫出左子樹,同理E為F父結點,F為G父結點。根據分析,可畫出右子樹,故二叉樹深度為4層。答案選擇B選項。
7. 設有定義:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};,則以下賦值語句中正確的是( )。
A. s[0]=m[1];
B. s=m;
C.s.n=m.n;
D. s[2].x=m[2].x;
【答案】A
【解析】定義了結構體類型數組s,長度為2,結構體類型數組m,長度為2,並對數組m進行了初始化。同類型的結構體可以直接用變數名實現賦值,A項正確;數組名為數組首地址,地址常量之間不可以相互賦值,B項錯誤;數組名為地址常量不是結構體變數,不能引用成員,C項錯誤;s[2]與m[2]數組越界,D項錯誤。答案選擇A選項。
8. 關於C語言標識符,以下敘述錯誤的是( )。
A. 標識符可全部由數字組成
B. 標識符可全部由下劃線組成
C. 標識符可全部由小寫字母組成
D. 標識符可全部由大寫字母組成
【答案】A
【解析】C語言標識符只能由字母、數字、下劃線構成,且只能以字母、下劃線開頭,故答案選擇A選項。
9. 以下程序段中的變數已定義為int類型,則
sum=pAd=5;
pAd=sum++,++pAd,pAd++;
printf("%d ",pAd);
程序段的輸出結果是( )。
A. 6
B. 4
C. 5
D. 7
【答案】D
【解析】自增和自減運算符的兩種用法:前置運算,運算符放在變數之前,規則是先使變數的值增(或減)1,然後以變化後表達式的值參與其他運算;後置運算,運算符放在變數之後,規則是變數先參與其他運算,然後再使變數的值增(或減)1。執行pAd=sum++,sum++是後置自增,執行完後,pAd=5,sum=6。++pAd和pAd++語句中沒有其他運算,即效果相同,pAd分別加1,兩句執行完後,pAd7。答案選擇D選項。
;