




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
二級(jí)C語言筆試-148(總分66,做題時(shí)間90分鐘)一、選擇題
在下列各題的A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的。1.
有以下程序
#include
<stdio.h>
main0
int
y=9;
for(;y>0;y--)
if(y%3==0)
printf("%d",--y);
程序的運(yùn)行結(jié)果是A
741B
963C
852D
875421
分值:1答案:C[解析]本題考查變量的自加“++”和自減“--”問題。當(dāng)y的值為9、6或3時(shí),if語句的條件成立,執(zhí)行輸出語句,輸出表達(dá)式--y的值,y的自減要先于輸出語句執(zhí)行,故輸出結(jié)果為852。2.
下面程序的輸出結(jié)果是
#include<stdio.h>
main()
inta[]=1,2,3,4,5,6,7,8,9,0,*p;
p=a;
printf("%d\n",*p+9);A
0B
1C
10D
9
分值:1答案:C[解析]此題考查了指針引用一維數(shù)組元素的方法。*p+9因?yàn)檫\(yùn)算符“*”的優(yōu)先級(jí)高于“+”,所以輸出結(jié)果為p指向的元素1,然后加9,值為10。3.
下列敘述中正確的是A
程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)B
程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)C
程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D
以上三種說法都不對(duì)
分值:1答案:A[解析]程序執(zhí)行的效率與很多因素有關(guān),如數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)、程序所處理的數(shù)據(jù)量、程序所采用的算法等。順序存儲(chǔ)結(jié)構(gòu)在數(shù)據(jù)插入和刪除操作上的效率比鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的效率低。4.
有以下程序
#include
<stdio.h>
main()
inti,j,m=55;
for(i=1;i<=3;i++)
for(j=3;j<=i;j++)m=m%j;
printf("%d\n",m);
程序的運(yùn)行結(jié)果是A
0B
1C
2D
3
分值:1答案:B[解析]本題考查循環(huán)語句的嵌套以及條件的判斷問題。在程序中,內(nèi)層循環(huán)判斷條件為“j<=i”,而j的初值為3,故當(dāng)i的值為1和2時(shí),內(nèi)層循環(huán)體都不會(huì)被執(zhí)行。只有當(dāng)i和j都等于3時(shí)才會(huì)執(zhí)行一次。m的值為55對(duì)3取模,計(jì)算結(jié)果為1。5.
在16位IBM-PC機(jī)上使用C語言,若有如下定義
structdata
inti;
charch;
doublef;
b;
則結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)是A
1B
2C
7D
11
分值:1答案:D[解析]結(jié)構(gòu)體變量所占用內(nèi)存的字節(jié)數(shù)是其所有成員所占用內(nèi)存字節(jié)數(shù)之和。本題中整型變量i所占用的內(nèi)存是2字節(jié),字符型變量ch所占用的內(nèi)存是1字節(jié),雙精度型變量f所占用的內(nèi)存是8字節(jié),三者相加即可。6.
假定當(dāng)前盤符下有兩個(gè)如下文本文件:
文件名
a1.txt
a2.txt
內(nèi)容
123#
321#
則下面程序段執(zhí)行后的結(jié)果為
#include"stdio.h"
voidfc(FILE*p)
charc;
while((c=fgetc(p))!='#')putchar(c);
main()
FILE*fp;
fp=fopen("a1.txt","r");
fc(fp);
fclose(fp);
fp=fopen("a2.txt","r");
fc(fp);
fclose(fp);
putchar('\n');A
123321B
123C
321D
以上答案都不正確
分值:1答案:A[解析]本題的功能是順序的讀兩個(gè)文本文件;依次輸出。當(dāng)打開文件時(shí)出現(xiàn)錯(cuò)誤,fopen函數(shù)將返回NULL。7.
以下選項(xiàng)中不屬于字符常量的是A
'C'B
"C"C
'\xCC'D
'\072'
分值:1答案:B[解析]在C語言程序中,用單引號(hào)把一個(gè)字符或反斜線后跟一個(gè)特定的字符括起來表示一個(gè)字符常量。選項(xiàng)A)、C)和D)為正確的字符常量,而選項(xiàng)B)是用雙引號(hào)括起來的字符,表示一個(gè)字符串常量。8.
下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格要求的是A
程序的效率第一,清晰第二B
程序的可讀性好C
程序中要有必要的注釋D
輸入數(shù)據(jù)前要有提示信息
分值:1答案:A[解析]當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格是“清晰第一,效率第二”的觀點(diǎn)。結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率,而在實(shí)際應(yīng)用中,人們更注重程序的可理解性。9.
設(shè)有定義:charp[]='1','2','3',*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是A
sizeof(p)B
sizeof(char)C
sizeof(*q)D
sizeof(p[0])
分值:1答案:A[解析]在本題中,p和q同為指向字符類型數(shù)據(jù)的指針。*q和p[0]同為字符型數(shù)據(jù)。選項(xiàng)B)、C)和D)都符合題目的要求;選項(xiàng)A)計(jì)算得出的是指針類型數(shù)據(jù)所占的內(nèi)存字節(jié)數(shù)。10.
以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是A
均占4個(gè)字節(jié)B
根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C
由用戶自己定義D
由C語言編譯系統(tǒng)決定
分值:1答案:D[解析]在ANSI標(biāo)準(zhǔn)中,long、int和short分別占用4、2和2個(gè)字節(jié)。但實(shí)際上對(duì)于某些C編譯系統(tǒng),int和short都占用4個(gè)字節(jié),所以說各種類型數(shù)據(jù)占用內(nèi)存大小是由選擇何種C編譯系統(tǒng)決定的。11.
下列程序的運(yùn)行結(jié)果為
#include<stdio.h>
voidabc(char*str)
inta,b;
for(a=b=0;str[a]!='\0';a++)
if(str[a]!='c')
str[b++]=str[a];
str[b]='\0';
voidmain()
charstr[]="abcdef";
abc(str);
printf("str[]=%s",str);A
str[]=abdefB
str[]=abcdefC
str[]=aD
str[]=ab
分值:1答案:A[解析]本題考查了用字符指針引用字符數(shù)組中的字符及對(duì)字符的操作。函數(shù)abc()的for語句執(zhí)行過程是:從字符指針str所指向的字符數(shù)組的第一個(gè)元素開始,逐一判斷字符是否為“c”,若不是就執(zhí)行一次數(shù)組元素的賦值過程,若字符為“c”就不執(zhí)行。12.
有以下程序
#include
<stdio.h>
main()
int
s[12]=1,2,3,4,4,3,2,1,1,1,2,3,c[5]=0,i;
for(i=0;i<12;i++)
c[s[i]++;
for(i=l;i<5;i++)
printf("%d",c[i]);
printf("\n");
程序的運(yùn)行結(jié)果是A
1234B
2344C
4332D
1123
分值:1答案:C[解析]在for(i=0;i<12;i++)c[s[i]]++中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo),當(dāng)退出循環(huán)時(shí),數(shù)組c的4個(gè)元素的值分別為4、3、3、2。13.
若變量已正確定義并賦值,以下符合C語言語法的表達(dá)式是A
a:=b+1B
a=b=c+2C
int18.5%3D
a=a+7=c+b
分值:1答案:B[解析]選項(xiàng)A)中包含一個(gè)不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個(gè)表達(dá)式:a+7=c+b和a=a+7,其中第一個(gè)是錯(cuò)的,因?yàn)镃語言規(guī)定賦值號(hào)的左邊只能是單個(gè)變量,不能是表達(dá)式或常量等。因此,正確答案是選項(xiàng)B),它實(shí)際上相當(dāng)于a=(b=c+2),進(jìn)而可分解為兩個(gè)表達(dá)式:b=c+2和a=b。14.
有以下程序
#include
<stdio.h>
main()
FILE
*fp;
inta[10]=1,2,3,i,n;
fp=fopen("d1.dat","w");
for(i=0;i<3;i++)
fprintf(fp,"%d",a[i]);
fprintf(fp,"\n");
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp,"%d",&n);
fclose(fp);
printf("%d\n",n);
程序的運(yùn)行結(jié)果是A
12300B
123C
1D
321
分值:1答案:B[解析]在函數(shù)中首先把整型數(shù)組a[10]中的每個(gè)元素寫入文件d1.dat中,然后再次打開這個(gè)文件,把文件d1.dat中的內(nèi)容讀入到整型變量n中,最后輸出變量n的值。15.
數(shù)據(jù)處理的最小單位是A
數(shù)據(jù)B
數(shù)據(jù)元素C
數(shù)據(jù)項(xiàng)D
數(shù)據(jù)結(jié)構(gòu)
分值:1答案:C[解析]數(shù)據(jù)處理的最小單位是數(shù)據(jù)項(xiàng);由若干數(shù)據(jù)項(xiàng)組成數(shù)據(jù)元素;數(shù)據(jù)是指能夠被計(jì)算機(jī)識(shí)別、存儲(chǔ)和加工處理的信息載體;數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)之間的相互關(guān)系和數(shù)據(jù)運(yùn)算。16.
在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A
32B
31C
16D
15
分值:1答案:C[解析]滿二叉樹是指除最后一層外,每一層上的所有結(jié)點(diǎn)都有兩個(gè)葉子結(jié)點(diǎn)。在滿二叉樹中,層上的結(jié)點(diǎn)數(shù)都達(dá)到最大值,即在滿二叉樹的第k層上有2k-1個(gè)結(jié)點(diǎn).且深度為m的滿二叉樹有2m-1個(gè)結(jié)點(diǎn)。17.
下面說明不正確的是A
chara[10]="china";B
chara[10],*p=a;p="china"C
char*a;a="china";D
chara[10],*P;p=a="china"
分值:1答案:D[解析]C語言中操作一個(gè)字符串常量的方法有:①將字符串常量存放在一個(gè)字符數(shù)組之中;②用字符指針指向字符串,然后通過字符指針來訪問字符串存儲(chǔ)區(qū)域。當(dāng)字符串常量在表達(dá)式中出現(xiàn)時(shí),根據(jù)數(shù)組的類型轉(zhuǎn)換規(guī)則,將其轉(zhuǎn)換成字符指針。
本題D)項(xiàng)中錯(cuò)誤的關(guān)鍵是對(duì)數(shù)組初始化時(shí),可以在變量定義時(shí)整體賦初值,但不能在賦值語句中整體賦值。18.
可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是A
and
2007B
Date
y-m-dC
Hi
Dr.TomD
case
Bigl
分值:1答案:A[解析]在C語言中,合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字和下畫線3種字符組成,且第一個(gè)字符必須為字母或下畫線。C語言的標(biāo)識(shí)符可以分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符。選項(xiàng)B)和C)中的橫線以及點(diǎn)都不合法,選項(xiàng)D)中的case為C語言關(guān)鍵字。19.
若程序執(zhí)行時(shí)的輸入數(shù)據(jù)是“2473”,則下述程序的輸出結(jié)果是
#include<stdio.h>
voidmain()
intcs;
while((cs=getchar())!=;'\n')
switch(cs-'2')
case0
case1:putchar(cs+4);
case2:putchar(cs+4);
break;
case3:putchar(cs+3);default:putchar(cs+2),A
668977B
668966C
6677877D
6688766
分值:1答案:A[解析]本題主要考查switch語句的使用方法。switch語句的執(zhí)行過程為:進(jìn)入switch結(jié)構(gòu)后,對(duì)條件表達(dá)式進(jìn)行運(yùn)算,然后從上至下去找與條件表達(dá)式值相匹配的case,以此作為入口,執(zhí)行switch結(jié)構(gòu)中后面的各語句,直到遇到break語句,則跳出switch語句,如果各case都不匹配時(shí),則執(zhí)行default后面的語句。20.
有如下程序
inta[10]=1,2,3,4,5,6,7,8,9,10;
int*p=&a[3],b;b=p[5];
則b的值是A
5B
6C
9D
8
分值:1答案:C[解析]p=&a[3]將指針指向數(shù)組a的第4個(gè)元素,p[5]指向數(shù)組a的第9個(gè)元素,而a[8]=9,所以b=9。21.
一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱此關(guān)系為A
對(duì)應(yīng)關(guān)系B
單一關(guān)系C
一元關(guān)系D
二元關(guān)系
分值:1答案:C[解析]在關(guān)系模型數(shù)據(jù)庫中,基本結(jié)構(gòu)是二維表,這種二維表稱為關(guān)系。關(guān)系的列稱為屬性,一個(gè)具有N個(gè)屬性的關(guān)系稱為N元關(guān)系。22.
若要求從鍵盤讀入含有空格字符的字符串,應(yīng)使用函數(shù)A
getc()B
gets()C
getehar()D
scanf()
分值:1答案:B[解析]scanf()語句用“空格”區(qū)別不同的字符串;getc()與getchar()語句不能用于字符串的讀入。23.
以下不屬于對(duì)象的基本特點(diǎn)的是A
分類性B
多態(tài)性C
繼承性D
封裝性
分值:1答案:C[解析]對(duì)象的基本特點(diǎn):標(biāo)志唯一性、分類性、多態(tài)性、封裝性和模塊獨(dú)立性。24.
軟件是指A
程序B
程序和文檔C
算法加數(shù)據(jù)結(jié)構(gòu)D
程序、數(shù)據(jù)與相關(guān)文檔的完整集合
分值:1答案:D[解析]軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合,相對(duì)于計(jì)算機(jī)硬件而言,軟件是邏輯產(chǎn)品而不是物理產(chǎn)品,是計(jì)算機(jī)的無形部分。25.
以下程序的輸出結(jié)果是
intf()
staticinti=0;
ints=1
s+=i;i++;
returns;
main()
inti,a=0;
for(i=0;i<5;i++)a+=f();
printf(“%d\n",A
;A)20B)24C)25D)
分值:1答案:D[解析]函數(shù)的靜態(tài)局部變量在編譯時(shí)就賦初值,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值;以后每次調(diào)用函數(shù)時(shí)不再重新賦值,而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。26.
當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是A
scanf()B
getchar()C
gets()D
Setc()
分值:1答案:C[解析]本題綜合考查了輸入函數(shù)的使用。scanf函數(shù)會(huì)將空格視為分隔符,getchar函數(shù)只能輸入單個(gè)字符,getc函數(shù)是文件操作函數(shù),顯然都不符合題意。通過gets函數(shù)輸入字符串時(shí),輸入的空格被認(rèn)為是字符串的一個(gè)字符。27.
線性表的順序存儲(chǔ)結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)分別是A
順序存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)B
隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、順序存取的存儲(chǔ)結(jié)構(gòu)C
隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)、隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)D
任意存取的存儲(chǔ)結(jié)構(gòu)、任意存取的存儲(chǔ)結(jié)構(gòu)
分值:1答案:B[解析]順序存儲(chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素存放在一組地址連續(xù)的存儲(chǔ)單元中,每個(gè)數(shù)據(jù)元素地址可通過公式LOC(ai)=LOC(a1)+(i-1)L計(jì)算得到,從而實(shí)現(xiàn)了隨機(jī)存取。對(duì)于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),要對(duì)某結(jié)點(diǎn)進(jìn)行存取,都得從鏈的頭指針指向的結(jié)點(diǎn)開始,這是一種順序存取的存儲(chǔ)結(jié)構(gòu)。28.
以下4個(gè)選項(xiàng)中,不能看成一條語句的是A
;B
a=5,b=2.5,c=3.6;C
if(a<5);D
if(b!=5)x=2;y=6;
分值:1答案:D[解析]選項(xiàng)D)為兩條語句。29.
若變量已正確定義,有以下程序段
int
a=3,b=5,c=7;
if(a>b)a=b;
c=a;
if(c!=A
c=b;
printf("%
分值:1答案:B[解析]兩個(gè)if語句的判斷條件都不滿足,程序只執(zhí)行了c=a這條語句,所以變量c的值等于3,變量b的值沒有變化,程序輸出的結(jié)果為3,5,3。30.
有以下程序
#include
<stdio.h>
main()
int
a[]=1,2,3,4,y,*p=&a[3];
--p;
y=*p;printf("y=%d\n",y);
程序的運(yùn)行結(jié)果是A
y=0B
y=1C
y=2D
y=3
分值:1答案:D[解析]在程序中指針變量p初始指向a[3],執(zhí)行p減1后,p指向a[2],語句y=*p的作用是把a(bǔ)[2]的值賦給變量y,所以輸出為y=3。31.
為了提高測(cè)試的效率,應(yīng)該A
隨機(jī)選取測(cè)試數(shù)據(jù)B
取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù)C
在完成編碼以后制定軟件的測(cè)試計(jì)劃D
集中對(duì)付那些錯(cuò)誤群集的程序
分值:1答案:D[解析]測(cè)試的目的是發(fā)現(xiàn)軟件中的錯(cuò)誤;經(jīng)驗(yàn)表明,程序中存在錯(cuò)誤的概率與該程序中已發(fā)現(xiàn)的錯(cuò)誤成正比。這一現(xiàn)象說明,為了提高測(cè)試效率,測(cè)試人員應(yīng)該集中對(duì)待那些錯(cuò)誤群集的程序。32.
若變量已正確定義,有以下程序段
i=0;
doprintf("%d,",i);while(i++);
printf("%d\n",i);
其輸出結(jié)果是A
0,0B
0,1C
1,1D
程序進(jìn)入無限循環(huán)
分值:1答案:B[解析]對(duì)于do…while循環(huán),程序先執(zhí)行一次循環(huán)體,再判斷循環(huán)是否繼續(xù)。本題先輸出一次i的值“0,”,再接著判斷表達(dá)式i++的值,其值為0,所以循環(huán)結(jié)束。此時(shí)變量i的值經(jīng)過自加已經(jīng)變?yōu)?,程序再次輸出i的值“1”。33.
閱讀下列程序,則運(yùn)行結(jié)果為
#include"stdio.h"
fun()
staic
intx=5;
x++;
returnx;
main()
inti,x;
for(i=0;i<3;i++)
x=fun();
printf("%d\n",x);A
5B
6C
7D
8
分值:1答案:D[解析]在整個(gè)程序運(yùn)行期間,靜態(tài)局部變量在內(nèi)存的靜態(tài)存儲(chǔ)區(qū)中占據(jù)著永久的存儲(chǔ)單元,即使退出函數(shù)以后,下次再進(jìn)入該函數(shù)時(shí),靜態(tài)局部變量仍使用原來的存儲(chǔ)單元,靜態(tài)局部變量的初值是在編譯的時(shí)候賦予的,在程序執(zhí)行期間不再賦予初值。本題由于連續(xù)三次調(diào)用函數(shù)fun(),三次對(duì)靜態(tài)變量x進(jìn)行操作,x的值應(yīng)依次為6,7,8。34.
若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是A
函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元B
形參只是形式上的存在,不占用具體存儲(chǔ)單元C
同名的實(shí)參和形參占同一存儲(chǔ)單元D
函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元
分值:1答案:D[解析]在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在C語言中,僅在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。35.
已有定義:char
c;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字母的表達(dá)式是A
isupper(c)B
'A'<=c<='Z'C
'A'<=c&&c<='Z'D
c<=('z'-32)&&('a'-32)<=c
分值:1答案:B[解析]在本題中,選項(xiàng)B)實(shí)際是先計(jì)算關(guān)系表達(dá)式“'A'<=c”的值是0還是1,再比較該值與字符“Z”之間的大小關(guān)系,顯然不能實(shí)現(xiàn)題目所要求的功能,而選項(xiàng)A)、C)、D)都可以。36.
現(xiàn)有如下程序段
#include"stdio.h"
main()
intk[30]=12,324,45,6,768,98,21,34,453,456;
intcount=0,i=0;
while(L[i])
if(k[i]%2==0||k[i]%5==0)count++;
i++;
printf("%d,%d\n",count,i);
則程序段的輸出結(jié)果為A
7,8B
8,8C
7,10D
8,10
分值:1答案:D[解析]在C語言中,定義一維數(shù)組的語句一般形式如下:
類型名
數(shù)組名[常量表達(dá)式];
一維數(shù)組的引用形式為:數(shù)組名[下標(biāo)表達(dá)式]。count表示能被2整除或被5整除的個(gè)數(shù),i則計(jì)算有多少個(gè)數(shù)組元素。37.
若有定義:char*st="howareyou";,下列程序段中正確的是A
chara[11];*p;strcpy(p=a+1,&st[4]);B
chara[11];strcpy(++a,st);C
chara[11];strcpy(a,st);D
chara[],*p;strcpy(p=&a[1],st+2);
分值:1答案:A[解析]本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語言不允許用賦值表達(dá)式對(duì)字符數(shù)組賦值,如下面的語句就是非法的:strl=“China”,如果想把“China”這5個(gè)字符放到數(shù)組strl中,除了逐個(gè)輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個(gè)字符串復(fù)制到一字符數(shù)組中。例如:strcpy(strl,“China”)或strcpy(str1,str2);注意,不能企圖用以下語句來實(shí)行賦值(將str2的值傳給str1):str1=str2;不能用賦值語句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。
strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)
其中,需要注意的是,字符數(shù)組1的長度不應(yīng)小于字符串2的長度,“字符數(shù)組1”必須寫成數(shù)組名形式,如(str1),“字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。38.
下列有關(guān)數(shù)據(jù)庫的描述,正確的是A
數(shù)據(jù)庫是一個(gè)DBF文件B
數(shù)據(jù)庫是一個(gè)關(guān)系C
數(shù)據(jù)庫是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D
數(shù)據(jù)庫是一組文件
分值:1答案:C[解析]數(shù)據(jù)庫(DataBase,簡(jiǎn)稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,可被各個(gè)應(yīng)用程序所共享。數(shù)據(jù)庫中的數(shù)據(jù)具有“集成”、“共享”的特點(diǎn)。39.
下面程序的輸出結(jié)果是
#include<stdio.h>
#include<string.h>
main()
char*p1="abc",*p2="ABC",str[50]="xyz";
strcpy(str+2,streat(p1,p2));
printf("%s\n",str);A
xyzabcABCB
zabcABCC
xyabcABCD
yzabcABC
分值:1答案:C[解析]本題考查的重點(diǎn)是拷貝字符串——使用strcpy()函數(shù),該函數(shù)的調(diào)用方式是:strcpy(字符數(shù)組,字符串),其中“字符串”可以是字符串常量,也可以是字符數(shù)組。函數(shù)的功能是:將“字符串”完整地復(fù)制到“字符數(shù)組”中,字符數(shù)組中原有的內(nèi)容被覆蓋。
使用該函數(shù)時(shí)注意:①字符數(shù)組必須定義得足夠大,以便容納復(fù)制過來的字符串。復(fù)制時(shí),連同結(jié)束標(biāo)志“\0”一起復(fù)制;②不能用賦值運(yùn)算符“=”將一個(gè)字符串直接賦值給一個(gè)字符數(shù)組,只能用strcpy()函數(shù)處理。
另外,本題還考查連接字符串的strcat()函數(shù),其調(diào)用方式是:strcat(字符數(shù)組,字符串)。
功能是把“字符串”連接到“字符數(shù)組”中的字符串尾端,并存儲(chǔ)于“字符數(shù)組”中。“字符數(shù)組”中原來的結(jié)束標(biāo)志,被“字符串”的第一個(gè)字符覆蓋,而“字符串”在操作中未被修改。
使用該函數(shù)時(shí)注意:①由于沒有邊界檢查,編程者要注意保證“字符數(shù)組”定義得足夠大,以便容納連接后的目標(biāo)字符串;否則,會(huì)因長度不夠而產(chǎn)生問題;②連接前兩個(gè)字符串都有結(jié)束標(biāo)志“\0”,連接后“字符數(shù)組”中存儲(chǔ)的字符串的結(jié)束標(biāo)志“\0”被舍棄,只在目標(biāo)串的最后保留一個(gè)“\0”。40.
下列程序是用來判斷數(shù)組中特定元素的位置所在的。
#include<conic.h>
#include<stdio.h>
intfun(int*s,intt,int*k)
inti;
*k=0;
for(i=0;i<t;i++)
if(s[*k]<s[i])*k=i;
returns[*k];
main()
inta[10]=876,675,896,101,301,401,980,431,451,777,k;
fun(a,10,&k);
printf("%d,%d\n",k,a[k]);
如果輸入如下整數(shù):876675896101301401980431451777
則輸出結(jié)果為A
7,431B
6C
980D
6,980
分值:1答案:D[解析]本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算。此外,一開始應(yīng)知道*k的值為數(shù)組中的某一下標(biāo)值,即。k=0,本函數(shù)的功能是找出數(shù)組中的最大元素的位置及最大元素的值。二、填空題
請(qǐng)將每一個(gè)空的正確答案寫在【1】~【15】序號(hào)的橫線上。1.
需求分析的最終結(jié)果是產(chǎn)生
【1】
。
分值:2答案:需求規(guī)格說明書[解析]軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。需求規(guī)格說明書包括正確性、無歧義性、完整性、可驗(yàn)證性、一致性、可理解性、可修改性和可追蹤性等。2.
軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、
【2】
維護(hù)和預(yù)防性維護(hù)。
分值:2答案:完善性[解析]軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù)。改正性維護(hù)是指在軟件交付使用后,為了識(shí)別和糾正軟件錯(cuò)誤、改正軟件性能上的缺陷、排除實(shí)施中的誤使用,應(yīng)當(dāng)進(jìn)行的診斷和改正錯(cuò)誤的過程;適應(yīng)性維護(hù)是指為了使軟件適應(yīng)變化,而去修改軟件的過程;完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再次開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加丁效率、提高軟件的可維護(hù)性;預(yù)防性維護(hù)是為了提高軟件的可維護(hù)性、可靠性等,為以后的進(jìn)一步改進(jìn)軟件打下良好基礎(chǔ)。3.
數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于
【3】
。
分值:2答案:存儲(chǔ)結(jié)構(gòu)[解析]數(shù)據(jù)的邏輯結(jié)構(gòu)是指反映數(shù)據(jù)元素之間邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu);數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式。在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅要存放各數(shù)據(jù)元素的信息,還需要存放各數(shù)據(jù)元素之間的前后件關(guān)系的信息。4.
某二叉樹中度為2的結(jié)點(diǎn)有n個(gè),則該二叉樹中有
【4】
個(gè)葉子結(jié)點(diǎn)。
分值:2答案:n+1[解析]在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為0的結(jié)點(diǎn)多一個(gè)。5.
【5】
是數(shù)據(jù)庫設(shè)計(jì)的核心。
分值:2答案:數(shù)據(jù)模型[解析]數(shù)據(jù)模型是對(duì)客觀事物及聯(lián)系的數(shù)據(jù)描述,它反映了實(shí)體內(nèi)部及實(shí)體與實(shí)體之間的聯(lián)系。因此,數(shù)據(jù)模型是數(shù)據(jù)庫設(shè)計(jì)的核心。6.
閱讀下面程序,則執(zhí)行后的輸出結(jié)果是
【6】
。
#include"stdio.h"
main()
intx,y,z;
x=1;y=2;z=3;
if(x>y)if(x>z)printf("%d",x);
elseprintf("%d",y);
printf("%d\n",z);
分值:2答案:3[解析]C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合。因?yàn)閤不大于y,所以執(zhí)行printf("%d\n",z);語句。7.
設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為
【7】
。
分值:2答案:3[解析]本題考查的是C語言逗號(hào)表達(dá)式的相關(guān)知識(shí)。程序在計(jì)算逗號(hào)表達(dá)式時(shí),從左到右計(jì)算由逗號(hào)分隔各表達(dá)式的值,整個(gè)逗號(hào)表達(dá)式的值等于其中最后一個(gè)表達(dá)式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計(jì)算為3。8.
有以下程序段,且變量已正確定義和賦值
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
請(qǐng)?zhí)羁?,使下面程序段的功能與之完全相同
s=1.0;k=1;
while(
【8】
)s=s+1.0/(k*(k+1));
【9】
;
printf("s=%f\n\n",s);
分值:2答案:[8]
k<=n
[9]
k++[解析]本題要求將一個(gè)for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會(huì)加1,而while循環(huán)則沒有,故需在循環(huán)體中增加改變k數(shù)值的語句“k++;”。9.
以下函數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。
#define
N
4
voidrotade(int
a[][N],int
b[][N])
inti,j;
for(i=0;i<N;i++)
b[i][N-1]=
【10】
;
【11】
=a[N-1][i];
分值:2答案:[10]a[0][i]
[11]b[i]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度實(shí)驗(yàn)室環(huán)境監(jiān)測(cè)與質(zhì)量控制服務(wù)合同
- 二零二五年度跨境電商貨運(yùn)司機(jī)責(zé)任與時(shí)效保障合同
- 二零二五年度青島市裝修工程進(jìn)度合同細(xì)則
- 2025年度車間承包與工業(yè)自動(dòng)化系統(tǒng)集成合作協(xié)議
- 2025年度盆栽科普教育與購銷推廣合同
- 二零二五年度養(yǎng)老機(jī)構(gòu)與護(hù)工人員責(zé)任與義務(wù)合同
- 2025年度智慧社區(qū)房屋銷售及智慧家居協(xié)議
- 二零二五年度生物制藥研發(fā)股權(quán)投資合同協(xié)議
- 2025年度智能洗車連鎖加盟合作協(xié)議
- 二零二五年度單位保密工作培訓(xùn)及保密協(xié)議
- 主播試用期合同模板
- 新媒體營銷全套教學(xué)教案
- 《市場(chǎng)營銷學(xué)》吳建安
- 光伏電站收益率測(cè)算模型(帶財(cái)務(wù)表)
- 社會(huì)科學(xué)基礎(chǔ)(高職學(xué)前教育專業(yè))PPT完整全套教學(xué)課件
- 藥物治療學(xué)-藥物治療的一般原則課件
- 手機(jī)歸屬地表格
- Web滲透測(cè)試與防護(hù)(慕課版) 課件 單元2 Web安全的技術(shù)基礎(chǔ)
- (完整版)施工現(xiàn)場(chǎng)質(zhì)量、安全生產(chǎn)管理體系
- 項(xiàng)目團(tuán)隊(duì)管理課件
- 幼兒文學(xué)PPT(學(xué)前教育高職)完整全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論