- 相關(guān)推薦
下半年計算機二級c語(yǔ)言基礎試題
任何設計活動(dòng)都是在各種約束條件和相互矛盾的需求之間尋求一種平衡,程序設計也不例外。下面是小編收集的關(guān)于計算機二級c語(yǔ)言基礎試題,希望大家認真閱讀!
下半年計算機二級c語(yǔ)言基礎試題1
一、選擇:
1.給出以下定義:
char acX[ ]= "abcdefg";
char acY[ ]= {'a','b','c','d','e','f','g'};
則正確的敘述為( )
A) 數組acX和數組acY等價(jià) B) 數組acX和數組acY的長(cháng)度相同
C) 數組acX的長(cháng)度大于數組acY的長(cháng)度 D) 數組acX的長(cháng)度小于數組acY的長(cháng)度
答案:C
2.
void example(char acHello[])
{
printf("%d", sizeof(acHello));
return;
}
void main()
{
char acHello[] = "hello";
example(acHello);//數組名稱(chēng)作參數,傳的是地址,一個(gè)地址占四個(gè)字節
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) 在一個(gè)函數內定義的變量只在本函數范圍內有效
D) 在一個(gè)函數內的復合語(yǔ)句中定義的變量在本函數范圍內有效(復合語(yǔ)句指函數中的成對括號構成的代碼)
答案: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. 定義結構體時(shí)有下面幾種說(shuō)法,請指出正確的(多選):______
A、結構體中的每個(gè)部分,最好進(jìn)行四字節對齊;
B、結構體的'總長(cháng)度最好是四字節對齊;
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的數據類(lèi)型可以是char、long、float、unsigned、bool. ( )
A. 正確 B. 錯誤
答案:B
10. 網(wǎng)絡(luò )上傳輸的字節序默認是大字節的,如果主機是小字節序,在網(wǎng)絡(luò )通信時(shí)則須進(jìn)行字節序轉換;如果主機是
大字節序,為了程序的一致性及可移植性,最好也在程序中加上字節序轉換的操作(空操作)。
A. 正確 B.錯誤
答案:A
二、 填空題
1、 C語(yǔ)言函數返回類(lèi)型的默認定義類(lèi)型是
2、 函數的實(shí)參傳遞到形參有兩種方式: 和
3、在一個(gè)函數內部調用另一個(gè)函數的調用方式稱(chēng)為 。在一個(gè)函數內部直接或間接調用該函數成為函數 的調用方式
4、C語(yǔ)言變量按其作用域分為 和
5、凡在函數中未指定存儲類(lèi)別的局部變量,其默認的存儲類(lèi)別為
三、 看程序寫(xiě)結果
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、 編寫(xiě)一個(gè)函數,判斷任一整數是否為素數,用main()函數調用并測試之。
2、 用遞歸方法求n!
3、 有一個(gè)一維數組,內放10個(gè)學(xué)生成績(jì),寫(xiě)一個(gè)函數,求出平均分,最高分和最低分
下半年計算機二級c語(yǔ)言基礎試題2
1.下列敘述中正確的是( )。
A. 所有數據結構必須有根結點(diǎn)
B. 所有數據結構必須有終端結點(diǎn)(即葉子結點(diǎn))
C. 只有一個(gè)根結點(diǎn),且只有一個(gè)葉子結點(diǎn)的數據結構一定是線(xiàn)性結構
D. 沒(méi)有根結點(diǎn)或沒(méi)有葉子結點(diǎn)的數據結構一定是非線(xiàn)性結構
【答案】D
【解析】D項正確,線(xiàn)性結構的特點(diǎn)是:
、偌现斜卮嬖凇暗谝粋(gè)元素"且惟一;
、诩现斜卮嬖凇白詈笠粋(gè)元素”且惟一;
、鄢詈笠粋(gè)元素外,其他數據元素均有惟一的“后繼;
、艹谝粋(gè)元素外,其他數據元素均有惟一的“前驅”。所以沒(méi)有根結點(diǎn)或沒(méi)有葉子結點(diǎn)的數據結構一定是非線(xiàn)性結構。AB兩項錯誤,不是所有數據結構都必須有根結點(diǎn)和葉子結點(diǎn);C項錯誤,數據結構中若有中間結點(diǎn)不滿(mǎn)足只有一個(gè)前件或者后件的條件,就不是線(xiàn)性結構。答案選擇D選項。
2. 以下敘述中錯誤的是( )。
A. C語(yǔ)言中的每條可執行語(yǔ)句和非執行語(yǔ)句最終都將被轉換成二進(jìn)制的機器指令
B. C程序經(jīng)過(guò)編譯、鏈接步驟之后才能形成一個(gè)真正可執行的二進(jìn)制機器指令文件
C. 用C語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序,它以ASCII代碼形式存放在一個(gè)文本文件中
D. C語(yǔ)言源程序經(jīng)編譯后生成后綴為.obj的目標程序
【答案】A
【解析】A項錯誤,注釋語(yǔ)句不會(huì )被翻譯成二進(jìn)制的機器指令。C源程序經(jīng)過(guò)C編譯程序編譯之后生成后綴為.obj的二進(jìn)制文件(稱(chēng)為目標文件),然后由“鏈接程序”(Link)的`軟件把.obj文件與各種庫函數連接起來(lái)生成一個(gè)后綴為.exe的可執行文件。答案選擇A選項。
3. C語(yǔ)言主要是借助以下( )功能來(lái)實(shí)現程序模塊化的。
A. 定義函數
B. 定義常量和外部變量
C. 三種基本結構語(yǔ)句
D. 豐富的數據類(lèi)型
【答案】A
【解析】C程序的模塊化主要通過(guò)函數來(lái)實(shí)現。C語(yǔ)言允許對函數單獨進(jìn)行編譯,從而可以實(shí)現模塊化。答案選擇A選項。
4. 有以下程序段:
char ch;
int k;
ch='a';
k=12;
print("%c,%d,",h,ch,k);
printf("k=%d ",k);
已知字符a的ASCII碼十進(jìn)制值為97,則執行上述程序段后輸出的結果是( )。
A. 因變量類(lèi)型與格式描述符的類(lèi)型不匹配輸出無(wú)定值
B. 輸出項與格式描述符個(gè)數不符,輸出為零值或不定值
C.a,97,12k=12
D. a,97,k=12
【答案】D
【解析】字符變量的值是該字符的ASCII碼值,可以參與整型變量所允許的任何運算。"ch='a",%c表示以字符格式輸出ch的值,所以輸出為a;%d表示以十進(jìn)制代碼的形式輸出ch的值,為97;k沒(méi)有對應的輸出格式,不輸出。在第二個(gè)語(yǔ)句中,首先輸出"k=",然后以十進(jìn)制代碼輸出k的值,為12。答案選擇D選項。
5. 下列敘述中正確的是( )。
A. 棧是“先進(jìn)先出”的線(xiàn)性表
B. 隊列是“先進(jìn)后出"的線(xiàn)性表
C. 循環(huán)隊列是非線(xiàn)性結構
D. 有序線(xiàn)性表既可以采用順序存儲結構,也可以采用鏈式存儲結構
【答案】D
【解析】有序的線(xiàn)性表既可采用順序存儲結構,也可以采用鏈式存儲結構。A項錯誤,棧是“先進(jìn)后出"的線(xiàn)性表B項錯誤,隊列是“先進(jìn)先出"的線(xiàn)性表;C項錯誤,循環(huán)隊列是線(xiàn)性結構的,有序的線(xiàn)性表既可采用順序存儲結構,也可采用鏈式存儲結構。
答案選擇D選項。
6. 某二叉樹(shù)的中序序列為DCBAEFG,后序序列為DCBGFEA,則該二叉樹(shù)的深度(根結點(diǎn)在第1層)為( )。
A. 5
B. 40
C.3
D. 2
【答案】B
【解析】二叉樹(shù)的后序序列為DCBGFEA,則A為根結點(diǎn)。中序序列為DCBAEFG,則DCB為左子樹(shù)結點(diǎn),EFG為右子樹(shù)結點(diǎn)。同理B為C父結點(diǎn),C為D父結點(diǎn)。根據分析,可畫(huà)出左子樹(shù),同理E為F父結點(diǎn),F為G父結點(diǎn)。根據分析,可畫(huà)出右子樹(shù),故二叉樹(shù)深度為4層。答案選擇B選項。
7. 設有定義:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};,則以下賦值語(yǔ)句中正確的是( )。
A. s[0]=m[1];
B. s=m;
C.s.n=m.n;
D. s[2].x=m[2].x;
【答案】A
【解析】定義了結構體類(lèi)型數組s,長(cháng)度為2,結構體類(lèi)型數組m,長(cháng)度為2,并對數組m進(jìn)行了初始化。同類(lèi)型的結構體可以直接用變量名實(shí)現賦值,A項正確;數組名為數組首地址,地址常量之間不可以相互賦值,B項錯誤;數組名為地址常量不是結構體變量,不能引用成員,C項錯誤;s[2]與m[2]數組越界,D項錯誤。答案選擇A選項。
8. 關(guān)于C語(yǔ)言標識符,以下敘述錯誤的是( )。
A. 標識符可全部由數字組成
B. 標識符可全部由下劃線(xiàn)組成
C. 標識符可全部由小寫(xiě)字母組成
D. 標識符可全部由大寫(xiě)字母組成
【答案】A
【解析】C語(yǔ)言標識符只能由字母、數字、下劃線(xiàn)構成,且只能以字母、下劃線(xiàn)開(kāi)頭,故答案選擇A選項。
9. 以下程序段中的變量已定義為int類(lèi)型,則
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++語(yǔ)句中沒(méi)有其他運算,即效果相同,pAd分別加1,兩句執行完后,pAd7。答案選擇D選項。
【下半年計算機二級c語(yǔ)言基礎試題】相關(guān)文章:
計算機二級C語(yǔ)言沖刺試題及答案10-29
2016最新計算機二級C語(yǔ)言試題06-28
計算機二級C語(yǔ)言考試試題及答案10-09
計算機二級C語(yǔ)言預測試題10-25
2017下半年計算機二級考試C語(yǔ)言考試試題06-04