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