版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2021年內(nèi)蒙古自治區(qū)烏蘭察布市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.
3.設(shè)S為一個長度為n的字符串,其中的字符各不相同,則S中的互異的非平凡子串(非空且不同于S本身)的個數(shù)為()。
A.2n-1B.n2C.(n2/2)+(n/2)D.(n2/2)+(n/2)-1
4.以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),
A.均占4個字節(jié)B.根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語言編譯系統(tǒng)決定
5.有以下程序#include<stdio.h>main(){charcl,c2;c1=A+8-4c2=A+8-5;printf("%C,%d\n",cl,c2);}已知字母A的ASCIl碼為65,程序運行后的輸出結(jié)果是()。A.E,69B.D,69C.E,DD.輸出無定值
6.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
7.有以下程序,程序中庫函數(shù)islower(ch)用以判斷ch中的字母是否為小寫字母:
程序運行后的輸出結(jié)果是()。
A.abcdEFg!B.AbCdEFg!C.abcdEFG!D.aBcDEFG!
8.廣義表(a,b,c,d)的表頭是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
9.以下不能定義為用戶標識符的是()。
A.scanfB.VoidC.3comD.int
10.某二叉樹的前序和后序序列正好相反,則該二叉樹一定是_____的二叉樹
A.空或者只有一個結(jié)點B.高度等于其結(jié)點數(shù)C.任一結(jié)點無左孩子D.任一結(jié)點無右孩子
11.第
3
題
已知:intc[3][4];則對數(shù)組元素引用正確的是
A.c[1][4]B.c[1.5][0]C.c[1+0][0]D.以上表達都錯誤
12.以下關(guān)于C語言的敘述中正確的是()。
A.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間
B.C語言中的變量可以在使用之前的任何位置進行定義
C.在C語言算術(shù)表達式的書寫中,運算符兩側(cè)的運算數(shù)類型必須一致
D.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示
13.考慮下圖中的程序段,①號語句的輸出結(jié)果是()。A.A.'a'B.'t'C.'c'D.'k'
14.數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是()
A.概念設(shè)計和邏輯設(shè)計B.模式設(shè)計和內(nèi)模式設(shè)計C.內(nèi)模式設(shè)計和物理設(shè)計D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
15.
16.
17.以下語句中存在語法錯誤的是()。A.charss[6][20];s[1]="right?";
B.charss0[20]={"right?"};.
C.char*ss[6];s[1]="right?";
D.char*ss[={"rignt?"};
18.
19.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.存儲在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲空間量C.數(shù)據(jù)在計算機中的順序存儲方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示
20.有下列程序:fun(intX,inty){return(x+y);)main(){inta=1,b=2,c=3,sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}執(zhí)行后的輸出結(jié)果是()。A.6B.7C.8D.9
二、2.填空題(20題)21.設(shè)有以下定義和語句,則*(*(p+2)+1)的值【】。
inta[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
22.下列程序的運行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c;
a=3;b=4;c=5;
if(a>b)
if(a>c)
printf("%d",a);
elseprintf("%d",b);
printf("%d\n",c);
}
23.下列程序的運行結(jié)果是______。
#defineP(A)printf("%d",A)
main()
{intj,a[]={1,2,3,4,5,6,7),i=5;
for(j=3;j>1;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
24.以下sum函數(shù)的功能是計算下列級數(shù)之和:
請給函數(shù)中的各變量正確賦初值。
doublesum(douLlex,intn)
{inti;
doublea,b,s;
【】
for(i=1;i<=n;i++){a=a*x;b=b*i;s=s+a/b;}
returns;
}
25.設(shè)變量已正確定義為整型,則表達式n=i=2,++i,i++的值為【】。
26.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。
27.下面程序的輸出是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
for(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n"k);}
28.軟件維護活動包括以下幾類:改正性維護、適應(yīng)性維護、【】維護和預(yù)防性維護。
29.媒體在計算機領(lǐng)域中的含義,是指存儲信息的實體和【】。
30.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機制稱為______。
31.若有以下程序:
main()
{int,p,a=5;
if(P=a!=0)
printf("%d\n",p);
else
printf("%d\n",p+2);
}
執(zhí)行后輸出結(jié)果是【】。
32.以下程序中,函數(shù)SumColumMin的功能足:求出M行N列二維數(shù)組每列元素中的最小值,并計算它們的和值。和值通過形參傳回主函數(shù)輸出。請?zhí)羁铡?/p>
#defineM2
#defineN4
voidSumColumMm(inta[M][N],int*sum)
{
inti,j,k,s=0;
for(i=0;i<N;i++)
{
k=0;
for(j=1;j<M;j++)
if(a[k][i]>a[j][i])
k=j;
s+=【】;
}
【】=s;
}
main()
{
intx[M][n])={3;,5,1,4,1,8,3},s;
SumC01umMm(【】);
ptintf("%d\n",s);
}
33.下面程序的功能是:計算110之間的奇數(shù)之和與偶數(shù)之和,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta,b,c,I;
a=c=0;
for(I=0;I<=10;I+=2)
{a+=I;
【】;
c+=b;}
printf("偶數(shù)之和=%d\n",a);
printf("奇數(shù)之和=%d\n",c-11);}
34.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{intn,s;
printf("Enteranumber:");scanf("%d",&n);
printf("Output:");
do
{s=n%10;printf("%d",s);[];}
while(n!=0);
printf("\n');
}
35.下面程序有兩個printf語句,如果第一個printf語句輸出的是194,則第二個printf語句的輸出結(jié)果是【】。
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\n,p+9);
}
36.下列程序的運行結(jié)果是______。
main()
{ints=0,i=1;
while(s<=10)
{s=s+i*i;
i++;
}
printf("%d",--i);
}
37.若變量n中的值為24,則prnt函數(shù)共輸出【】行。
voidprnt(intn,intaa[])
{inti;
for(i=1;i<=n;i++)
{printf("%6d",aa[i]);
if!(i%5))printf("\n");
}
printf("\n");
}
38.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\N,*p,*q))
}
39.有以下程序段:
inta[l0]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是【】。
40.—個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【】。
三、1.選擇題(20題)41.設(shè)棧S的初始狀態(tài)為空,棧的容量為5,若入棧元素的順序是e1、e2、e3、e4、e5,則出棧元素的順序不可能是______。
A.e1、e2、e3、e4、e5
B.e5、e4、e3、e2、e1
C.e2、e4、e3、e5、e1
D.e3、e4、e1、e2、e5
42.有以下程序:#include<stdio.h>main(){eharc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getehar();c6=getchar();putehar(c1);putehar(c2);printf("%c%c\n",c5,c6);}23<回車>45678<回車>
A.1267B.1256C.1278D.1245
43.設(shè)有以下定義: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;srtcpy(p=&a[1],st+2);
44.以下能正確定義一維數(shù)組的選項是
A.inta[5]={0,1,2,3,4,5);
B.chara[]={0,1,2,3,4,5);
C.chara={'A''B''C');
D.inta[5]="0123";
45.以下選項中可作為C語言合法整數(shù)的是A.10110BB.386C.0XffaD.x2a2
46.下列程序的運行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}
A.sum=18B.sum=10C.sum=9D.sum=25
47.為了將所有擴展名為.PAS的文件改成擴展名為.P,應(yīng)使用命令()
A.REN*.PAS.?ASB.RENPASPC.REN*.PAS*.PD.REN*.PAS*.P??
48.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain(){chara=1,b=2;charc=a^b<<2;printf("\n%d",C);}
A.9B.10C.12D.2
49.下列敘述中正確的是A.數(shù)據(jù)庫系統(tǒng)是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫設(shè)計是指設(shè)計數(shù)據(jù)庫管理系統(tǒng)
C.數(shù)據(jù)庫技術(shù)的根本目標是要解決數(shù)據(jù)共享的問題
D.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
50.標有/**/的語句的執(zhí)行次數(shù)是______。inty,i;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/**/}
A.20B.19C.10D.9
51.對于長度為n的線性表,在最壞的情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是______。
A.冒泡排序為n/2B.冒泡排序為nC.快速排序為nD.快速排序為n(n-1)/2
52.有以下程序
#include<stdio.h>
main()
{FILE*fp;intk,n,a[6]={1,2,3,4,5,6};
fp=fopen("d2.dat","w");
fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);
fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);
fclose(fp);
fp=fopen("d2.dat","r");
fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);
fclose(fp);
}
程序運行后的輸出結(jié)果是
A.12B.14C.1234D.123456
53.閱讀以下程序及對程序功能的描述,其中正確的描述是#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf("Entertheinfilename:\n");scanf("%s",infile);printf("Entertheoutfilename:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){printf("cannotopeninfile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){printf("cannotopenoutfile\n");exit(0);}while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}
A.程序完成將磁盤文件的信息在屏幕上顯示的功能
B.程序完成將兩個磁盤文件合二為一的功能
C.程序完成將一個磁盤文件復(fù)制到另一個磁盤文件中
D.程序完成將兩個磁盤文件合并并在屏幕上輸出
54.計算機軟件是包括()的完整集合。
A.程序和數(shù)據(jù)B.數(shù)據(jù)C.程序、數(shù)據(jù)和文檔D.算法和數(shù)據(jù)
55.在數(shù)據(jù)庫設(shè)計中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()。A.需求分析階段B.概念設(shè)計階段C.邏輯設(shè)計階段D.物理設(shè)計階段
56.函數(shù)rewind的作用是
A.使文件位置指針重新返回文件的開始位置
B.將文件位置指針指向文件中所要求的特定位置
C.使文件位置指針指向文件的末尾
D.使文件位置指針自動移至下一個字符位置
57.計算機硬件組成中,CPU包含______。
A.控制器和存儲器B.控制器和運算器C.控制器、運算器和存儲器D.內(nèi)存儲器和外存儲器
58.有以下程序main(){inta=i,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}a-=3;}printf("%d\n",B);}程序運行后的輸出結(jié)果是
A.3B.4C.5D.6
59.結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是
A.程序的規(guī)模B.程序的效率C.程序設(shè)計語言的先進性D.程序易讀性
60.因特網(wǎng)(習(xí)慣上稱國際互聯(lián)網(wǎng))的英文名是()
A.InternetB.IntranetC.NCFCD.ISDN
四、選擇題(20題)61.
62.
63.有以下程序,其輸出結(jié)果是()。
voidmain()
{
floarx=1;
inty;
x++;
y=x+1;
printf("x=%d,y=%f",x,y);
}
A.x=2,y=3
B.x=2,y=3.0
C.x=2.0,y=3
D.x=0,y=0.000000
64.下列關(guān)于棧的敘述中,正確的是()。
A.棧底元素一定是最后入棧的元素B.棧操作遵循先進后出的原則C.棧頂元素一定是最先入棧的元素D.以上三種說法都不對
65.函數(shù)調(diào)用strcat(strcpy(str1,str2),str3)的功能是()。
A.將字符串str1復(fù)制到字符串str2中后再連接到字符串str3之后
B.將字符串str1連接到字符串str2之后再復(fù)制到字符串str3之后
C.將字符串str2復(fù)制到字符串str1之后再將字符串str3連接到字符串str1之后
D.將字符串str2連接到字符串str1之后再將字符串strl復(fù)制到字符串str3中
66.以下不能將a所指字符串正確復(fù)制到所指存儲空間的是()。
67.改變某個元素的文本顏色的CSS屬性是()。
A.text—colorB.FgcoiorC.colorD.text—color
68.如果將主文件型指針fp指向的文件內(nèi)部指針置于文件尾,正確的語句是()。
A.feof(fp);
B.rewind(fp);
C.fseek(fp,OL,0);
D.fseek(fp,OL,2);
69.下列程序的輸出結(jié)果是
intb=2;
intfunc(int*a)
{b+=*a;return(b);}
main()
{inta=2,res=2;
res+=func(&a);
printf("%d\n",res);
}
A.2
B.4C.6
D.8
70.以下與存儲類別有關(guān)的四組說明符中,全部屬于靜態(tài)類的一組是()。
A.extem和static
B.auto和static
C.register和static
D.register和ex[erll
71.
72.設(shè)有定義:chars[81];inti=0;,以下不能將一行(不超過80個字符)帶有空格的字符串正確讀入的語句或語句組是()。
73.以下關(guān)于C語言的敘述中,不正確的是
A.C語言中的注釋可以夾在變量名或關(guān)鍵字的中間
B.C語言中使用變量必須是先定義后使用
C.C語言表達式運算符兩側(cè)的運算數(shù)類型必須一致
D.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示
74.
75.C語言用_______表示邏輯“真”值。
A.trueB.t或yC.非零整型值D.整型值0
76.表達式:的值是()。
A.3B.0C.4D.5
77.軟件詳細設(shè)計產(chǎn)生的圖如圖所示。該圖是()。A.N—S圖B.PAD圖C.程序流程圖D.E—R圖
78.有以下程序段:
以下關(guān)于程序段執(zhí)行情況的敘述,正確的是()。
A.for循環(huán)語句固定執(zhí)行8次
B.當(dāng)產(chǎn)生的隨機數(shù)n為4時結(jié)束循環(huán)操作
C.當(dāng)產(chǎn)生的隨機數(shù)n為1和2時不做任何操作
D.當(dāng)產(chǎn)生的隨機數(shù)n為0時結(jié)束程序運行
79.
80.有以下程序(strcat函數(shù)用以連接兩個字符串)
五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc的功能是:判斷字符ch是,與str所指字符串中的某個字符相同;若相同,則什么也不做,若不同,則將其插在串的最后。請修改程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
//****found****
voidproc(charstr,charch)
{
while(*str&&*str!=ch)str++;
//****found****
if(*str==ch)
{str[0]=ch;
//****found****
str[1]=0:
}
}
voidmain
{
charstr[81],ch;
system("CLS");
printf("\nPleaseenterastring:");
gets(str);
printf("\nPleaseenterthecharacterto
search:");
ch=getchar;
proc(str,ch);
printf("\nTheresultis%s\n",str);
}
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),其功能是將兩個兩位數(shù)的正整數(shù)a、b合并成一個整數(shù)放在c中。合并的方式是將a中的十位數(shù)和個位數(shù)依次放在c的個位和百位上,b中的十位數(shù)和個位數(shù)依次放在c的十位和千位上。例如,當(dāng)a=45,b=12時,調(diào)用該函數(shù)后c=2514。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<conio.h>#include<stdio.h>voidfun(inta,intb,long*c){}main(){ inta,b; longc; printf(“Inputa,b:”); scanf(“%d%d”,&a,&b); fun(a,b,&c); printf(“Theresultis:%ld\n”,c);}
參考答案
1.B
2.D
3.D
4.D解析:在C語言的標準中,short占2個字節(jié)、long占4個字節(jié),但int的大小和編譯系統(tǒng)相關(guān)。例如在Turbo\u3000C\u30002.0中,int占2個字節(jié),但在VisualC++6.0(VC6可以用做C語言編譯器)中占4個字節(jié)。故本題應(yīng)該選擇D。
5.A本值輸出兩個值,%c為輸出一個字母,0/4d輸出一個數(shù)字?!癆”的ASCIl碼為65,再加4之后為69,也就是字母E,所以本題A正確。
6.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。
7.D調(diào)用缸函數(shù)后,實參數(shù)組名sl傳給形參指針P,P也指向數(shù)組sl。m函數(shù)的功能是遍歷字符數(shù)組中的所有字符,如果某一個字符是空格并且前一個字符是小寫字母的話,就把前一個字符轉(zhuǎn)換為大寫。程序中語句P[i一1]=P[i—1]一ga’+-A‘;即P[i一1]=P[i一1]一32,意思是將P[i一1]中的字符轉(zhuǎn)換為大寫。因此D選項正確。
8.A
9.D解析:標識符是C語言中用來表示變量名、數(shù)組名、函數(shù)名、指針名、結(jié)構(gòu)名、聯(lián)合名、枚舉常數(shù)名、用戶定義的數(shù)據(jù)類型名、語句標號等用途的字符序列。標識符由1~32個字符組成,第一個字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標識符不能與C關(guān)鍵字相同,并區(qū)分大小寫。選項D)錯誤,因為int是C語言中的關(guān)鍵字。
10.B
11.C
12.B解析:C語言中注釋可以放在任何位置,選項A錯誤;C語言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項B正確;C語言中兩側(cè)數(shù)據(jù)類型可以不一致,系統(tǒng)可進行強制類型轉(zhuǎn)換,選項C錯誤;C語言數(shù)值常量中不允許存在空格,選項D錯誤。
13.D
14.A解析:模式設(shè)計和內(nèi)模式設(shè)計是概念設(shè)計的兩種方法。物理設(shè)計是根據(jù)特定的計算機系統(tǒng),對數(shù)據(jù)的存儲結(jié)構(gòu)和存取方法進行設(shè)計,從而實現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結(jié)構(gòu)特性設(shè)計和行為特性-設(shè)計是數(shù)據(jù)庫應(yīng)用系統(tǒng)所具有的兩個特性。結(jié)構(gòu)特性的設(shè)計,設(shè)計各級數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設(shè)計,改變實體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動態(tài)特性)。
15.B
16.A
17.A[解析]數(shù)組定義后,不可以對數(shù)組整體賦值,s是二維數(shù)組,因ss[1]是一維字符數(shù)組,即字符串,字符串賦值可以使用strcpy[1],"right);這樣的形式,而選項A)中對二維數(shù)組中的第“1維(相當(dāng)于一個一維數(shù)組)賦值,是不可以的。選項B)和D)是定義時對數(shù)組初始化,這是可以的。選項C)中,將字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個元素,這是可以的。
18.C
19.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的物理實現(xiàn),有時也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲結(jié)構(gòu)則涉及到如何在計算機中通過對數(shù)據(jù)的物理存儲進行組織來表達數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲中是利用物理存儲空間上的連續(xù)性來表達線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈式存儲中是通過指針域構(gòu)成的邏輯鏈條來表達數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對應(yīng)的物理實現(xiàn),即數(shù)據(jù)的存儲結(jié)構(gòu)不止一種。因此選項D正確。
20.C函數(shù)fun(intx,inty)的功能是返回x+Y的值。在主函數(shù)中,變量a,b,c的初始值分別為1,2,3。因此逗號表達式“a++,b++,a+b”的值等于5,表達式c++的值為3,調(diào)用于函數(shù)的表達式為“fun(5,3);”,其返回值等于8。
21.6060解析:*(*(p+2)+1)相當(dāng)于訪問的是a[2][1]的值。*(p[2]+1)、p[2][1]以及(*(p+2))[1]表達的含義都是a[2][1]的值。
22.55解析:分析程序,當(dāng)a=3;b=4;c=5時,判斷語句a>b不成立,所以不執(zhí)行后面的語句,直接執(zhí)行“printf('%d\\n',c);”語句,輸出c的值,輸出結(jié)果為5。
23.5555解析:分析程序執(zhí)行過程,第一次循環(huán)時,j=3,i=5。因為switch(3),所以執(zhí)行case3,調(diào)用P(a[--i])=P(a[4])=P(5),輸出5;第二次循環(huán)時,j=2,i=4,因為switch(2),所以執(zhí)行case2,調(diào)用P(a[i++])-P(a[4])=P(5),輸出5,之后i自加等于5。
24.a=1.0;b=1.0;s=1.0;a=1.0;b=1.0;s=1.0;解析:各種數(shù)值型數(shù)據(jù)間進行混合運算時,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,再進行運算。本題的結(jié)果為double型。
25.33解析:本題考查的是C語言逗號表達式的相關(guān)知識。程序在計算逗號表達式時,從左到右計算由逗號分隔各表達式的值,整個逗號表達式的值等于其中最后一個表達式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計算為3。
26.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。
27.1212解析:本題通過第一個for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:
i=1:k=0+arr[1]+1即k=2;
i=2:k=2+arr[2]+2即k=6;
i=3:k=6+arr[3]+3即k=12;
28.完善性軟件維護活動包括以下幾類:改正性維護,適應(yīng)性維護、完善性維護和預(yù)防性維護,完善性維護是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。
29.載體載體
30.繼承繼承
31.11解析:首先計算if語句后面的表達式,根據(jù)運算符的優(yōu)先級可知,先算“a!=0”,該值為1,再把1賦值給p,結(jié)果為1(真),執(zhí)行其后的printf語句,輸出的值為1。
32.a[k][i]*sumx&sa[k][i]\r\n*sum\r\nx,&s解析:本題定義了一個函數(shù)SumColumMin(),該函數(shù)有兩個參數(shù),第一個參數(shù)為數(shù)組名,第二個參數(shù)為一個指針,用來訪問存放數(shù)組中每列元素中的最小值的存儲空間的變量。所以在主函數(shù)中調(diào)用SumColunMin()函數(shù),應(yīng)該將數(shù)組x和sam作為實參傳給SumColumMin()中的形參,故第20個空格處應(yīng)該填x,&s。在SumColumMin()函數(shù)中用了兩重循環(huán),用N記錄數(shù)組的列,M記錄數(shù)組的行。內(nèi)循環(huán)共循環(huán)了M次,每循環(huán)一次將a[k][i]比較a[j][i](當(dāng)k=0時,a[k][i]第一行第一列的值,然后將該值依次和第一列中的每個值比較,讓a[k][i]表示較小的值,那么比較到最后一個元素后a[k][i]就是改列中最小元素的值),讓k記錄較小值元素的行下標,這樣通過M次循環(huán)得到每列中的最小元素,然后退出內(nèi)循環(huán),繼續(xù)執(zhí)行該次外循環(huán)里的其他語句,即將剛求得第i列的最小值a[k][i]累加到s中,故第一個空格處應(yīng)該填a[k][i],最后外循環(huán)共循環(huán)N次,將每列得最小值累加到s中,退出循環(huán),然后讓指針sum所指向得存儲空間得值為s故第二個空格處應(yīng)該填*sum。
33.b=I+1b=I+1解析:本題考查了for循環(huán)語句的執(zhí)行過程。i+=2是修正表達式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2后的和累加至a,所以a的值就是110之間的偶數(shù)之和;b的值是111之間的奇數(shù)和,但在輸出b值時,c去掉多加的11,即為110之間的奇數(shù)之和。
34.n/=10或n=n/10或n=(n-s)/10或n=(n-n%10)/10n/=10或n=n/10或n=(n-s)/10或n=(n-n%10)/10解析:根據(jù)s=n%10可知:此操作可以將輸入的數(shù)據(jù)n的最后—位賦給s,根據(jù)題目的要求是要將輸入的數(shù)據(jù)逆序輸出,現(xiàn)在已經(jīng)將原數(shù)據(jù)的個位輸出,在其后如果執(zhí)行n/=10司將原數(shù)據(jù)的個位數(shù)去掉,滿足do....while的條件繼續(xù)s=n%10操作,此時可求出十位上的數(shù)進行輸出,繼續(xù)執(zhí)行n/=10操作,與上相同最后將百位上的數(shù)進行輸出,所以該題答案為:\u3000n/=10。
35.1a61a6解析:對于指針變量的運算,就是對地址的運算。本題中由于指針指向的是整型變量,所以,使指針變量移動9個位置也就是移動18個字節(jié)。注意,本題是以十六進制輸出的。
36.33解析:分析程序運行過程,第1次循環(huán):s=s+i*i=0+1*1=1,i=2;第2次循環(huán):s=s+i*i=1+2*2=5,i=3;第3次循環(huán):s=s+i*i=5+3*3=14,i=4;循環(huán)條件不成立輸出i,--i使i的值減1,輸出結(jié)果為3。
37.55解析:本題的關(guān)鍵在于if(!(i%5))printf('\\n),這句,即如果i可被5整除時,則換行。i值為24,可以被5整除4次,并余4,因此,prnt函數(shù)共輸出5行,最后一行有4個數(shù)。
38.3535解析:函數(shù)swap(int*a,int*b)的功能是實現(xiàn)*a和*b中兩個數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒有發(fā)生變化,所以輸出結(jié)果為35。
39.99解析:p是一個指針變量,指向數(shù)組a的元素a[3],所以b=p[5]=a[5+3]=a[8]=9。
40.可重用性可重用性解析:繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。
41.D解析:棧是僅在表頭和表尾進行插入和刪除元素操作的線性表,其特點是“先進后出”。本題中,進棧的過程中可以出棧。選項D中,如果第一個出棧的元素為e3,由于入棧順序是e1、e2、e3,那么e3出棧后,棧中元素必定有e1和e2,因為e1先入棧,故e1應(yīng)在e2后出棧,所以選項D是不可能的出棧順序。
42.D解析:getchar函數(shù)只能接收一個字符,即使輸入多個字符也只能將第一個字符讀入。當(dāng)輸入123<回車>時:seanf函數(shù)分別讀人字符'1'、'2'、'3'、'<回車>';再輸入45678<回車>,則getehar讀人字符'4'賦值給c5,字符'5'賦值給c6,所以輸出結(jié)果為1245。
43.A解析:選項A表示把st所指串的第5個字符開始的后面的元素賦值給數(shù)組a的第2個元素開始的后面元素,形式正確;選項B中出現(xiàn)對數(shù)組名進行自加運算,因此錯誤:選項C中st所指字符串有11個字符,再加上'\\0',有12個字符,超過數(shù)組長度,所以也是錯誤的;選項D的情況和選項C相似,也是形式正確,但超過了數(shù)組的長度。
44.B解析:本題考查的是一維數(shù)組的定義及初始化。定義并初始化一維數(shù)組的一般形式如下:
類型名數(shù)組名[常量表達式]={初始化列表};
當(dāng)使用初始化列表初始化數(shù)組時,需要注意以下幾點:初始化列表項的個數(shù)必須小于等于常量表達式的值,因此選項A是錯誤的;常量表達式可以省略,但不能省略其外面的中括號,因此選項C是錯誤的;特殊的,當(dāng)類型名為char時,{初始化列表}可以用一個字符串常量來代替,由于字符串常量必須以'\\0',結(jié)尾,所以此時的初始化列表項的個數(shù)是字符串常量的長度加1,選項D的類型是int,使用字符串常量來初始化數(shù)組是錯誤的。所以,4個選項中選項B符合題意。
45.C解析:本題考核的知識點是整數(shù)及常數(shù)的表示方法。在C語言中,整數(shù)常量可以用十進制、八進制和十六進制來表示,選項A為二進制表示,故選項A不正確;選項B是八進制表示法,但在八進制數(shù)中,各個位數(shù)只能為數(shù)字。到7中的一個,而在選項B中,有一個數(shù)字8,故選項B不正確;選項C為十六進制表示法正確:選項D中也為十六進制表示法,但十六進制數(shù)以O(shè)x開頭,故選項D不正確,所以,4個選項中選項c符合題意。
46.B解析:本題考查帶參數(shù)的宏的定義及相關(guān)運算:S=m+n+m+n*k=1+2+1+2*3=10。
47.C
48.A
49.C解析:數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持,這一點必不可少,故選項A敘述不正確。選項B錯誤,數(shù)據(jù)庫設(shè)計是指設(shè)計一個能滿足用戶要求,性能良好的數(shù)據(jù)庫。選項D也不對,數(shù)據(jù)庫應(yīng)該具有物理獨立性和邏輯獨立性,改變其中的一個而不影響另一個。正確答案為選項C。
50.C
51.D解析:存最壞情況下,快速排序退化為冒泡排序,冒泡排序法的基本過程參見本題的理論鏈接。冒泡排序的每個元素都要與它前面的元素相比較,因此比較次數(shù)為(n-1)+(n-2)+…+1=n(n-1)/2。
52.D解析:將有6個元素的整型數(shù)組分兩行輸出到一個文件中,因為輸出的都是數(shù)字并且每行都沒有分隔符,所以當(dāng)再對其進行讀取操作時,每一行都會被認為是一個完整的數(shù),而換行符則作為它們的分隔符。
53.C解析:本題中,最主要的是掌握幾個有關(guān)文件的函數(shù)的應(yīng)用。
函數(shù)名:fopen功能:打開一個文件調(diào)用方式FILE*fp;fp=fopen(文件名,使用文件方式);
函數(shù)名:feof功能:檢查文件是否結(jié)束調(diào)用方式:feof(FILE*fp);
函數(shù)名:fputc功能:把一個字符寫到磁盤文件上去調(diào)用方式:fputc(ch,fp)(ch是要輸出的字符,fp是從指定的文件讀入一個字符,該文件必須是以讀或讀寫方式打開的調(diào)用方式:ch=fgetc(fp)(ch是字符變量,fp是文件指針變量);
函數(shù)名:fclose功能:關(guān)閉一個文件調(diào)用方式:fclose(文件指針)。
54.C
55.CE-R圖轉(zhuǎn)換成關(guān)系模型數(shù)據(jù)則是把圖形分析出來的聯(lián)系反映到數(shù)據(jù)庫中,即設(shè)計出表,所以屬于邏輯設(shè)計階段。
56.A解析:函數(shù)rewind的功能是將文件指針重新指向一個流的開頭。用法如下:
intrewind(FILE*stream);并且無返值。
57.B
58.B解析:在一個循環(huán)體中,若執(zhí)行到break則跳出循環(huán)體,執(zhí)行循環(huán)體后面第一條語句;若執(zhí)行到continue則開始下一次循環(huán)體的執(zhí)行。本題中a的初始值為1,在循環(huán)體中首先判斷a,如果>=8就用break跳出循環(huán),接下來的判斷語句a%2==1,是判斷a除以2的余數(shù)是否為1,即a是否為奇數(shù),是的話給a累加一個5,然后用continue開始下一次循環(huán).若兩個條件都不滿足就讓a自減一個3.因此第1次循環(huán)開始a為1不大于8,且是奇數(shù),所以a被累加5開始下一次循環(huán);第2次循環(huán)開始a為6不大于8,不是奇數(shù),所以a被減去3;第3次循環(huán)開始a為3不大于8,是奇數(shù),所以a被加上一個5;第4次開始a為8,滿足第一個條件跳出循環(huán)。b在第1次循環(huán)時等于1,以后每次累加1,所以最后輸出為4,選項B正確.
59.D結(jié)構(gòu)化程序設(shè)計由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主張“清晰第一,效率第二”,以模塊化設(shè)計為中心,將待開發(fā)的軟件系統(tǒng)劃分為若干個相互獨立的模塊,這樣使完成每一個模塊的工作變得單純而明確,為設(shè)計一些較大的軟件打下了良好的基礎(chǔ)。
由于模塊相互獨立,因此,在設(shè)計其中一個模塊時,不會受到其他模塊的牽連,因而可將原來較為復(fù)雜的問題化簡為一系列簡單模塊的設(shè)計。模塊的獨立性還為擴充已有的系統(tǒng)、建立新系統(tǒng)帶來了不少的方便,因為可以充分利用現(xiàn)有的模塊作為積木式的擴展。
結(jié)構(gòu)化程序設(shè)計的基本思想是采用“自頂向下,逐步求精”的程序設(shè)計方法和“單入口單出口”的控制結(jié)構(gòu)。自頂向下、逐步求精的程序設(shè)計方法從問題本身開始,經(jīng)過逐步細化,將解決問題的步驟分解為由基本程序結(jié)構(gòu)模塊組成的結(jié)構(gòu)化程序框圖;“單入口單出口”的思想認為一個復(fù)雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結(jié)構(gòu)通過組合、嵌套構(gòu)成,那么這個新構(gòu)造的程序一定是一個單入口單出口的程序。據(jù)此就很容易編寫出結(jié)構(gòu)良好、易于調(diào)試的程序。
60.A
61.B
62.D
63.Dfloat是4個字節(jié),int是兩個字節(jié)。當(dāng)用int取float的值時,只取前兩個字節(jié)
64.B棧是先進后出,因此,棧底元素是先入棧的元素,棧頂元素是后入棧的元素。
65.Cstrcat(s1,s2)函數(shù)的功能是把s2字符串連接到s1字符串末尾,strcpy(s1,s2)是把s2字符串復(fù)制到s1字符串,要保證sl的容量。
66.Ado{*t++=*s++;}while(*s);,不能因為當(dāng)*s=’\0。時,while(*s)跳出循環(huán),這樣字符串結(jié)束標志’\0’沒有復(fù)制給*t,造成*t不完整。注意,*t++=}s++是先執(zhí)行t=*s,然后才進行t=t+1,s=s+1。選項B)、c)、D)都能將’、0’復(fù)制過去。
67.C
68.D文件操作;主文件型指針fp指向的文件內(nèi)部指針置于文件尾的操作;
69.C在本題程序中,首先定義了一個全局整型變量b,并給其賦初值為2,然后定義一個函數(shù)func,該函數(shù)帶有一個指針類型的形參,在函數(shù)體中,通過形參的值來改變?nèi)肿兞縝的值,b+=*a等價于b=b+(*a),然后通過return語句返回計算后的變量b的結(jié)果。
在主函數(shù)中,定義兩個整型變量a和res,并都賦初值為2,然后調(diào)用func函數(shù),傳遞的形參是變量a的地址,即使形參指針變量a指向?qū)崊⒆兞縜的值,通過b+=*a計算,可以得到b=2+2=4。由于變量b是一個全局變量,作用域是整個程序,而非函數(shù)func,因此,在主函數(shù)中變量res的最后結(jié)果為2+4=6,程序最后的輸出結(jié)果為6。
70.Aauto用于聲明變量的生存期為自動,即將不在任何類、結(jié)構(gòu)、枚舉、聯(lián)合和函數(shù)中定義的變量視為全局變量,而在函數(shù)中定義的變量視為局部變量。這個關(guān)鍵字通常會被省,因為所有的變量默認就是aut0的。register定義的變量告訴編譯器盡可能的將變量存在CPU內(nèi)部寄存器中而不是通過內(nèi)存尋址訪問以提高效率。static變量會被放在程序的全局存儲區(qū)中,這樣可以在下一次調(diào)用的時候還可以保持原來的賦值。這一點是它與堆棧變量和堆變量的區(qū)別。變量用static告知編譯器,自己僅僅在變量的作用范圍內(nèi)可見。這一點是它與全局變量的區(qū)別。當(dāng)static用來修飾全局變量時,它就改變了全局變量的作用域。exte
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026中國醫(yī)學(xué)科學(xué)院北京協(xié)和醫(yī)學(xué)院直屬學(xué)院招聘20人筆試模擬試題及答案解析
- 2026西藏林芝米林市洋確贊布勞務(wù)有限責(zé)任公司招錄6人筆試備考試題及答案解析
- 2026浙江寧波市鎮(zhèn)海區(qū)招聘事業(yè)編制教師30人(第二批)考試備考試題及答案解析
- 2026云南省上海師范大學(xué)附屬官渡實驗學(xué)校(中學(xué))招聘1人考試備考試題及答案解析
- 2026年員工敬業(yè)度提升策略培訓(xùn)
- 2026年體育舞蹈教學(xué)技巧培訓(xùn)
- 2026江西省歐潭人力資源集團有限公司招聘見習(xí)生3人筆試模擬試題及答案解析
- 2026年九江市八里湖新區(qū)國有企業(yè)面向社會公開招聘工作人員崗位計劃調(diào)整筆試備考試題及答案解析
- 2026年度合肥市肥東縣事業(yè)單位公開招聘工作人員51名筆試模擬試題及答案解析
- 2026年流體力學(xué)與熱力學(xué)的關(guān)系
- GB/T 44828-2024葡萄糖氧化酶活性檢測方法
- 青海省西寧市2023-2024學(xué)年高一上學(xué)期物理期末試卷(含答案)
- 科大訊飛招聘在線測評題
- 醫(yī)療護具租賃合同模板
- 兒童性格發(fā)展與個性獨立性的培養(yǎng)
- 2024常壓儲罐檢驗人員能力評價導(dǎo)則
- 物流管理概論王勇1
- 大學(xué)生預(yù)征對象登記表模板
- 胸外科-胸部創(chuàng)傷
- 2023版設(shè)備管理體系標準
- 劍橋英語PET真題校園版
評論
0/150
提交評論