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