![2022年廣東省深圳市全國計算機(jī)等級考試C語言程序設(shè)計重點(diǎn)匯總測試卷(含答案)_第1頁](http://file4.renrendoc.com/view/3a69efd727415822af41d773483d87d6/3a69efd727415822af41d773483d87d61.gif)
![2022年廣東省深圳市全國計算機(jī)等級考試C語言程序設(shè)計重點(diǎn)匯總測試卷(含答案)_第2頁](http://file4.renrendoc.com/view/3a69efd727415822af41d773483d87d6/3a69efd727415822af41d773483d87d62.gif)
![2022年廣東省深圳市全國計算機(jī)等級考試C語言程序設(shè)計重點(diǎn)匯總測試卷(含答案)_第3頁](http://file4.renrendoc.com/view/3a69efd727415822af41d773483d87d6/3a69efd727415822af41d773483d87d63.gif)
![2022年廣東省深圳市全國計算機(jī)等級考試C語言程序設(shè)計重點(diǎn)匯總測試卷(含答案)_第4頁](http://file4.renrendoc.com/view/3a69efd727415822af41d773483d87d6/3a69efd727415822af41d773483d87d64.gif)
![2022年廣東省深圳市全國計算機(jī)等級考試C語言程序設(shè)計重點(diǎn)匯總測試卷(含答案)_第5頁](http://file4.renrendoc.com/view/3a69efd727415822af41d773483d87d6/3a69efd727415822af41d773483d87d65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022年廣東省深圳市全國計算機(jī)等級考試C語言程序設(shè)計重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下函數(shù):charfun(char*p){returnP;}該函數(shù)的返回值是()。A.無確切的值B.形參p中存放的地址值C.一個臨時存儲單元的地址D.形參p自身的地址值
2.
3.下列排序方法中,()方法的比較次數(shù)與記錄的初始排列狀態(tài)無關(guān)。
A.直接插入排序B.冒泡排序C.快速排序D.直接選擇排序
4.若有說明:inta[][3]={1,2,3,4,5,6,7};則a數(shù)組第一維的大小是
A.2B.3C.4D.無確定值
5.
6.設(shè)q1和q2是指向一個float型一維數(shù)組的指針變量,k為float型變量,則不能正確執(zhí)行的語句是()。
A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);
7.下面關(guān)于線性表的敘述中,錯誤的是哪一個()。
A.線性表采用順序存儲,必須占用一片連續(xù)的存儲單元
B.線性表采用順序存儲,便于進(jìn)行插入和刪除操作
C.線性表采用鏈?zhǔn)酱鎯?,不必占用一片連續(xù)的存儲單元
D.線性表采用鏈?zhǔn)酱鎯Γ阌谶M(jìn)行插入和刪除操作
8.
9.以下說法錯誤的是A.A.高級語言都是用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
B.計算機(jī)只能處理由0和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)
C.C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個后綴為.EXE的二進(jìn)制文件
D.每一種高級語言都有它對應(yīng)的編譯程序
10.以下敘述中不正確的是
A.預(yù)處理命令行都必須以#號開始
B.在程序中凡是以#號開始的語句行都是預(yù)處理命令行
C.宏替換不占用運(yùn)行時間,只占編譯時間
D.在以下定義是正確的:#definePI3.1415926;
11.
12.下列語句中,顯示沒有下畫線的超鏈接的語句是()。
A.a{text—decoration:none}
B.a{text—decoration:nounderline}
C.a{underline:none}
D.a{decoration:nounderline}
13.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.y=0B.y=1C.y=2D.y=3
14.C語言中的標(biāo)識符分為關(guān)鍵字、預(yù)定義標(biāo)識符和用戶標(biāo)識符,以下敘述正確的是()。
A.預(yù)定義標(biāo)識符(如庫函數(shù)中的函數(shù)名)可用做用戶標(biāo)識符,但失去原有含義
B.用戶標(biāo)識符可以由字母和數(shù)字任意順序組成
C.在標(biāo)識符中大寫字母和小寫字母被認(rèn)為是相同的字符
D.關(guān)鍵字可用做用戶標(biāo)識符,但失去原有含義
15.
16.以下說法錯誤的是()。
A.C語言標(biāo)識符中可以有多個字母、數(shù)字和下劃線字符
B.C語言標(biāo)識符中下劃線字符可以出現(xiàn)在任意位置
C.C語言標(biāo)識符不能全部由數(shù)字組成
D.C語言標(biāo)識符必須以字母開頭
17.下列程序的輸出結(jié)果是()。voidfun(int*X,inty){printf("%d%d",*x,*y);*x=3;*y=1;}main{intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}A.2143B.1212C.1234D.2112
18.
19.為了使模塊盡可能獨(dú)立,要求()。
A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
20.以下正確的字符常量是()。A.'\089'B.'\012'C.'\0XAB'D.'\0xab'
二、2.填空題(20題)21.在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用【】對其中的圖形元素進(jìn)行確切解釋。
22.數(shù)據(jù)流的類型有______和事務(wù)型。
23.下面程序的輸出是【】。
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);}
24.有以下程序:
#include<string.h>
structSTU
{charname[10];
intnum;};
voidf(char*name,intnum)
{structSTUs[2]={{"SunDan",20044},{"Penghua",20045}};
num=s[0].num;
strcpy(name,s[0].name);
}
main()
{structSTUs[2]={{"YangSan",20041},{"LiSiGuo",20042}},*p;
p=&s[1];f(p->name,p->num);
printf("%s%d\n",p->name,p->num);
}
程序運(yùn)行后的輸出結(jié)果是【】。
25.沒有chara,b;,若要通過a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和笫8位(右起為第1位),則b的二進(jìn)制是【】。
26.已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
27.以下函數(shù)用以求y的x次方。補(bǔ)足所缺語句。
doublefun(doubley,intx)
{inti;
doublez=1.0;
for(i=1;i______;i++)
z=______;
returnz;
}
28.設(shè)有定義:FILE*fw;,請將以下打開文件的語句補(bǔ)充完整,以便可以向文本文件readme.txt的最后續(xù)寫內(nèi)容。
fw=fopen("readme.txt",【】);
29.下面函數(shù)用來求兩個單精度數(shù)之和,并通過形參將結(jié)果傳回,請?zhí)羁铡?/p>
voidsub(floatx,floaty,【】z)
{【】=x+y;}
30.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{inta=1,b=2,c;
c=max(a,b);
printf("maxis%d\n",c);}
max(intx,inty)
{intz;
z=(x>y)?x:y;
return(z);}
31.【】是一種信息隱蔽技術(shù),目的在于將對象的使用者和對象的設(shè)計者分開。
32.下列程序的運(yùn)行結(jié)果是【】。
main()
{inti;
for(i=1;i<=5;i++)
f(i);}
f(j)
{intj;
staticinta=1000;
autointk=1;
++k;
printf("%d+%d+%d=%d\n",a,k,j,a+k+j);
a+=10;}
33.下面的程序可對指定字符串進(jìn)行從大到小排序,請將程序填完整。(注:程序采用了冒泡排序算法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n->1)
for(i=0;i<n;i++)
if(str[i]<str[i+1])
{temp=【】;
str[i]=str[i+1];
【】=temp;
}
printf(【】);
}
34.有以下定義和語句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear;
union{intshare1;
floatshare2;
}share;
}a;
35.設(shè)有定義語句:inta[][3]={{0},{1},{2}};,則數(shù)組元素a[1][2]的值為()。
36.以下程序用來輸出結(jié)構(gòu)體變量ex所占存儲單元的字節(jié)數(shù),請?zhí)羁铡?/p>
structst
{charname[20];doublescore;};
main()
{structstex;
pfintf("exsize:%d\n",sizeof(______));}
37.診斷和改正程序中錯誤的工作通常稱為【】。
38.在關(guān)系數(shù)據(jù)庫中把數(shù)據(jù)表示成二維表,每一個二維表稱為【】。
39.用以下語句調(diào)用庫函數(shù)malloc,使字符指針st指向具有11個字節(jié)的動態(tài)存儲空間,請?zhí)羁铡t=(char*)【】;
40.當(dāng)運(yùn)行以下程序時,輸入abcd,程序的輸出結(jié)果是:()。
insert(charstr[])
{inti;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",str);insert(str);
}
三、1.選擇題(20題)41.用十六進(jìn)制的地址碼給存儲器的字節(jié)編址,其地址編號從0000到FFFF,則該存儲器的容量為()
A.1MBB.256KBC.64KBD.640KB
42.變量p為指針變量,若p=&a,下列說法不正確的有______。
A.&*p==&aB.*&a==aC.(*p)++==a++D.*(p++)==a++
43.對于n個結(jié)點(diǎn)的單向鏈表(無表頭結(jié)點(diǎn)),需要指針單元的個數(shù)至少為______。
A.n-1B.nC.n+1D.2n
44.在下列給出的表達(dá)式中,與while(E)中的(E)不等價的表達(dá)式是()。
A.(!E==0)B.(E>0‖E<0)C.(E==0)D.(E!=0)
45.若在以下定義和賦值語句,則才s數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值)元素地址的合法引用為ints[2][3]={0},(*p)[3];p=s;
A.*(*(p+i)+j)B.*(p[i]+j)C.(p+i)+jD.(*(p+i))[j]
46.有以下程序:#include<stdio.h>main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}執(zhí)行后輸出結(jié)果是()。
A.1,1,2B.2,2,1C.2,2,2D.2,2,3
47.有以下結(jié)構(gòu)體說明,變量定義和賦值語句:structSTD{charname[10];intage;char***;}s[5],*ps;ps=&s[0];則以下scanf函數(shù)調(diào)用語句中錯誤的結(jié)構(gòu)體變量成員是()。
A.scanf("%s",s[0].name);
B.scanf("%d",&s[0].age);
C.scanf("%c",&(ps->***));
D.scanf("%d",ps->age);
48.電子數(shù)字計算機(jī)最主要的工作特點(diǎn)是()
A.高速度B.高精度C.存儲程序與自動控制D.記憶力強(qiáng)
49.若題中各變量已正確定義并賦值,下面符合C語法的表達(dá)式是()
A.a%=7.6;B.a++,a=7+b+cC.int(12.3)%4D.a=c+b=a+7
50.若已定義以下語句,其中0≤i≤9,則對a數(shù)組元素不正確的引用為______。inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
51.下列判斷正確的是()。
A.chara="ABCD";等價于char*a;*a="ABCD";
B.charstr[10]=ABCD"};等價于charstr[10];str[]={"ABCD"};
C.char*s="ABCD";等價于chars;*s="ABCD";
D.charc[5]="ABCD",d[5]="ABCD";等價于charc[5]=d[5]="ABCD";
52.設(shè)有以下語句:charstrl[]="string",str2[8],*str3,*str4="string";則_______不是對庫函數(shù)的正確調(diào)用。
A.strcpy(strl,"HELLO1");
B.strcpy(str2,"HELLO2");
C.strcpy(str3,"HELLO3");
D.strcpy(str4,"HELLO4");
53.下列敘述中錯誤的是()。
A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)
B.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān)
C.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān)
D.數(shù)據(jù)的存儲結(jié)構(gòu)在計算機(jī)中所占的空間不一定是連續(xù)的
54.運(yùn)行下面的程序,其輸出結(jié)果為______。main(){printf("%d,%d",5%-3,-5%3);}
A.2,-2B.-2,2C.-2,-2D.2,2
55.若程序執(zhí)行時的輸入數(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
56.以下選項中,不能作為合法常量的是
A.1.234e04B.1.234e0.4C.1.23E+4D.1.234e0
57.因特網(wǎng)(習(xí)慣上稱國際互聯(lián)網(wǎng))的英文名是()
A.InternetB.IntranetC.NCFCD.ISDN
58.下列敘述中正確的是A.線性表是線性結(jié)構(gòu)B.棧與隊列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹是線性結(jié)構(gòu)
59.下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中,正確的是()。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型一致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
60.下列二維數(shù)組初始化語句中,不正確的是()。
A.intb[][2]={1,2,3,4,5,6,7};
B.intb[3][5]={0,0,0};
C.intb[][4]={{1,2},{3,4,5},{6}};
D.intb[3][2]={(1,2),(3,4),(5,6)};
四、選擇題(20題)61.
62.
A.intB.floatC.doubleD.不確定
63.有下列程序:
main()
{inti,j,x=0;
for(i=0,i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++:
}
x++:
}
printf("x=%d\n"x);
}
程序執(zhí)行后的輸出結(jié)果是()。
A.x=4B.x=8C.x=6D.x=12
64.
65.若變量a、b、x、i都已正確定義并賦值,則以下符合C語言語法的表達(dá)式是()。
A.a+=a-=(b=4)*(a=3)B.x%(-3);C.a=a*3=2D.y=float(i)
66.
67.有以下程序
#include<stdio.h>
main()
{inti=5;
do
{if(i%3==1)
if(i%5==2)
{printf("*%d",i);break;}
i++;
}while(i!=0);
printf("\n");
}
程序的運(yùn)行結(jié)果是
A.*7B.*3*5
C.*5D.*2*6
68.
69.
70.以下程序段中的變量已正確定義。
for(i=0;i<;4;i++,i++)
for(k=1;k<;3;k++);prinff(”*”);該程序段的輸出結(jié)果是()。
A.*B.****C.**D.********
71.
72.若有定義:則以下不能正確表示該數(shù)組元素的表達(dá)式是()。
73.若有定義語句:doublex,y,*px,*PY;執(zhí)行了laX=&x;lay=&y;之后,正確的輸入語句是()。A.scanf(”%If%le”,px,lay);
B.seanf(”%f%f¨&x,y);
C.seanf(”%f%f",x,y);
D.Scanf(”%If%If"·,x,y):
74.以下程序段完全正確的是()。
A.int*p;scanf(”%d”,&p);
B.int*p;scanf(”%d”,P);
C.intk,*P:&k;scanf(’’%d”,P);
D.intk,*p;*P=&k;scanf(”%d”,P);
75.下列鏈表中,其邏輯結(jié)構(gòu)屬于非線性結(jié)構(gòu)的是()0、
A.雙向鏈表
B.帶鏈的棧
C.二叉鏈表
D.循環(huán)鏈表
76.
77.
78.下列關(guān)于指針變量賦空值的說法錯誤的是
A.當(dāng)賦空值的時候,變量指向地址為0的存儲單元B.賦值語句可以表達(dá)為變量名=’\0’;
C.賦值語句可以表達(dá)為變量名=0;D.一個指針變量可以被賦空值
79.有以下程序:
#include<stdio.h>
#include<strin9.h>
main()
{printf{"%d\n",strlen("%d\n",strlen("ATS\n012\|"));}
程序運(yùn)行后的輸出結(jié)果是()。
A.3B.8C.4D.9
80.下列程序的輸出結(jié)果是()。
#include<stdio.h>
main
{inti;
for(i=1;i<=10,i++)
{if((i*i>=20)&&(i*i<=100))
break;
}
printf("%d\n",i*i;
}A.A.49B.36C.25D.64
五、程序改錯題(1題)81.下列給定程序中函數(shù)fun的功能是:從整數(shù)10到55之間,查找能被3整除且有一位上的數(shù)值是5的數(shù),把這些數(shù)放在b所指的數(shù)組中,這些數(shù)的個數(shù)作為函數(shù)值返回。規(guī)定函數(shù)中al放個位數(shù),a2放十位數(shù)。
請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
六、程序設(shè)計題(1題)82.假定輸入的字符串中只包含字母和*號。請編寫函數(shù)proc,它的功能是:將字符串中的前導(dǎo)*號全部刪除,中間和后面的*號不刪除。例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是a*bc*def*g****。注意:部分源程序給出如下。請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編寫的若干語句。試題程序:#include<stdio.h=:{>#include<conio.h>woidproc(char*str){}voidmaincharstr[81];printf("Enterastring:\n");gets(str);proc(str):printf("Thestringafterdeleted:\n");puts(str);}
參考答案
1.B
2.B
3.D
4.B解析:本題考查二維數(shù)組的定義方式。第一維的大小由以下方法判斷:①當(dāng)初值的個數(shù)能被第二維的常量表達(dá)式的值除盡時,所得商數(shù)就是第一維的大小;2)當(dāng)初值的個數(shù)不能被第二維的常量表達(dá)式的值除盡時,則第一維的劃、:所得的商數(shù)+1。
5.C
6.B解析:選項A)是將指針q1和q2所指向的變量值相加,然后賦給k;選項B)中,float型數(shù)據(jù)和指針型數(shù)據(jù)之間不能進(jìn)行賦值運(yùn)算:選項C)中,是兩個指針變量之間的賦值:選項D)中,是兩個指針型變量所指向的兩個float型數(shù)據(jù)相乘。
7.B
8.B
9.C本題主要考查我們對C語言一些基礎(chǔ)知識的掌握情況。下面分別分析本題的四個選項。
由于高級程序設(shè)計語言具有可讀寫、可理解性好等特點(diǎn),這就要求高級程序設(shè)計語言用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式,選項A的說法正確。
在計算機(jī)中,機(jī)器可以接受和處理的只能是由0和1組成的二進(jìn)制代碼,用高級語言編寫的程序都需要經(jīng)過編譯和連接,使其轉(zhuǎn)化為二進(jìn)制代碼才能被機(jī)器執(zhí)行。因此,選項B的說法正確。
C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個后綴為.OBJ的二進(jìn)制文件(稱為目標(biāo)文件);最后要由“連接程序”把此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個后綴為.EXE的可執(zhí)行文件。因此,選項C的說法不正確。
由于高級語言編寫的程序都需要經(jīng)過編譯和連接,才能被計算機(jī)執(zhí)行,因此,每一種高級語言都有它對應(yīng)的編譯程序,D選項的說法正確。
10.D解析:帶參數(shù)的宏定義如下:#define宏名(參數(shù))字符串。本題中,宏定義的作用是指定用標(biāo)識符PI來代替“3.1415926”這個字符串,但宏定義不是C語句,不必在行末加分號。
11.B
12.A
13.D在程序中指針變量P初始指向a[3],執(zhí)行P減1后,P指向a[2],語句y=*P的作用是把a(bǔ)[2]的值賦給變量y,所以輸出為y=3。
14.A用戶標(biāo)識符不能以數(shù)字開頭,C語言中標(biāo)識符是區(qū)分大小寫的,關(guān)鍵字不能用做用戶標(biāo)識符。
15.A
16.DC語言的合法的標(biāo)識符的命名規(guī)則是:標(biāo)識符可以由字母、數(shù)字和下劃線組成,并且第1個字符必須是字母或下劃線。選項D錯誤。本題答案為D選項。
17.C當(dāng)執(zhí)行fun函數(shù)時,因為參數(shù)傳遞時是地址傳遞,因此形參值的改變會影響實參中的數(shù),在執(zhí)行fun函數(shù)時先輸出12,接著把*X賦3,*y賦4,此時帶回主函數(shù)中,輸出的值為34。
18.D
19.B解析:模塊獨(dú)立性是指每個模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。
20.B題目中的選項都以轉(zhuǎn)義字符“\\”開頭,“\\ddd”表示3位八進(jìn)制數(shù)代表的一個ASCII字符,“\\xhh”表示2位十六進(jìn)制數(shù)代表的一個ASCII字符。選項A中“089”是不合法的八進(jìn)制數(shù),錯誤;選項C、D中“\\0X”或“\\0x”不合法,錯誤;選項B表示八進(jìn)制數(shù)012代表的ASCII字符,正確。本題答案為B選項。
21.數(shù)據(jù)字典或DD數(shù)據(jù)字典或DD解析:數(shù)據(jù)流圖用來對系統(tǒng)的功能需求進(jìn)行建模,它可以用少數(shù)幾種符號綜合地反映出信息在系統(tǒng)中的流動、處理和存儲情況。數(shù)據(jù)詞典(DataDictionary,DD)用于對數(shù)據(jù)流圖中出現(xiàn)的所有成分給出定義,它使數(shù)據(jù)流圖上的數(shù)據(jù)流名字、加工名字和數(shù)據(jù)存儲名字具有確切的解釋。
22.變換型變換型
23.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;
24.SunDan20042SunDan20042解析:f函數(shù)中形參1用的是顯式傳地址的方式,因此p->name的值發(fā)生改變,而形參2用的傳值的方式,在調(diào)用時不改變實參的值,因此p->num的值不發(fā)生變化。
25.1000001010000010解析:運(yùn)算“&”的規(guī)則是只有當(dāng)兩個相應(yīng)的二進(jìn)制位都為1時,該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。
26.67G67G解析:字符型變量中保存的是某個字符的ASCII碼值,是一個整數(shù),因此字符型變量的算術(shù)運(yùn)算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進(jìn)制整數(shù)和字符形式輸出a和b的值為:67G。
27.i<=xz*y。i<=xz*y。解析:循環(huán)次數(shù)應(yīng)該是x次,相當(dāng)于x個y相乘,循環(huán)體中z作為累乘器,值為z*y。
28.aa解析:本題考查的是文件的打開方式。要向文本文件的末尾續(xù)寫內(nèi)容,需要使用方式“a”(追加)打開文件。
29.float**zfloat*\r\n*z解析:C程序中可以通過傳送地址的方式在被調(diào)用函數(shù)中直接改變被調(diào)用函數(shù)中變量的值,從而達(dá)到函數(shù)之間數(shù)據(jù)的傳遞。
30.maxis2maxis2解析:函數(shù)通過參數(shù)來傳遞數(shù)據(jù)是單向的,只能由實參傳給形參而不能由形參傳給實參,但是可以通過函數(shù)的返回值將函數(shù)中的數(shù)據(jù)帶回。注意:函數(shù)的兩種調(diào)用方式及函數(shù)調(diào)用的語法要求。
31.封裝封裝解析:面向?qū)ο蠹夹g(shù)中包括以下幾個基本概念,即對象、類、方法、消息、繼承和封裝,其中封裝是一種信息隱蔽技術(shù),目的在于將對象的使用者對象的和設(shè)計者分開。
32.100+2+1=103110+2+2=114120+2+3=125130+2+4=136140+2+5=147100+2+1=103\r\n110+2+2=114\r\n120+2+3=125\r\n130+2+4=136\r\n140+2+5=147解析:靜態(tài)局部變量的生存期為整個程序的運(yùn)行期間,而作用域為定義該變量的函數(shù)或局部范圍。自動變量的建立和撤銷都是由系統(tǒng)自動進(jìn)行的,所以稱為自動變量。自動變量的作用域和生存期都為定義它的局部范圍內(nèi)。對同一函數(shù)的兩次調(diào)用之間,自動變量的值是不保留的。而靜態(tài)變量則保留。注意:局部變量和全局變量的定義及其作用范圍。
33.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實現(xiàn)過程是將相鄰兩個字詞進(jìn)行比較,如果當(dāng)前字符小于下一個字符,則通過中間變量temp將字符兩兩交換,所以第一空應(yīng)填:str[i],第二空應(yīng)填:str[i+1]。最終打印輸出得到的字符串str,所以第三空應(yīng)填:'%s',str。
34.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長度是各成員占的內(nèi)存長度之和。每個成員分別占有其自己的內(nèi)存單元。int占2個字節(jié),float占4個字節(jié),共用體變量所占的內(nèi)存長度等于最長的成員的長度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。
35.00解析:二維數(shù)組中當(dāng)某行一對花括號內(nèi)的初值個數(shù)小于該行中元素的個數(shù)時,系統(tǒng)將自動給該行后面的元素補(bǔ)初值0,由此可見數(shù)組a[1][2]=0。
36.
37.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤。程序調(diào)試與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯誤。先要發(fā)現(xiàn)軟件的錯誤,然后借助于調(diào)試工具找出軟件錯誤的具體位置。軟件測試貫穿整個軟件生命期,而調(diào)試主要在開發(fā)階段。
38.關(guān)系或一個關(guān)系關(guān)系或一個關(guān)系解析:在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,而一個二維表就是一個關(guān)系。
39.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲區(qū),此題要分配11字節(jié)的單元,把11代入即可。
40.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測試字符串常量的長度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實現(xiàn)了將字符數(shù)組中每個非‘\\0’的字符后插入字符‘*’的功能。故輸出結(jié)果是a*b*c*d*。
41.C
42.D解析:*p代表a,&*p等價于&a;p代表&a,*p等價于a,因而(*p)++等價于a++;但因p的值為a的內(nèi)存單元地址,p++為變量a首地址后面的地址,*(p++)不再指向變量s。
43.C解析:在n個結(jié)點(diǎn)的單向鏈表(無表頭結(jié)點(diǎn))中,每個結(jié)點(diǎn)都有一個指針單元(即指針域),加上頭指針,至少需要n+1個指針單元。
44.B解析:在while(E)中,表達(dá)式E可以是C語言中任意合法的條件表達(dá)式,但不能為空,由它來控制循環(huán)體是否執(zhí)行。在選項B)中表達(dá)式E>0‖E<0是一個邏輯表達(dá)式。
45.A解析:p+i是數(shù)組s的第i+1行的首地址,而*(p+i)則是數(shù)組第i+1行第1列的元素的地址,*(p+i)+j則是第i+1行的第j+1列的地址,*(*(p+i)+j)引用的是數(shù)組元素s[i][j]的值。注意:通過建立一個指針數(shù)組來引用二維數(shù)組元素。
46.C解析:該題目的關(guān)鍵是要搞清楚“&&”和“||”兩個邏輯運(yùn)算符的運(yùn)算功能。運(yùn)算符“&&”和“||”是雙目運(yùn)算符,要求有兩個運(yùn)算量。在邏輯與運(yùn)算中,只有當(dāng)“&&”運(yùn)算符前面運(yùn)算量的值為真時,才需要判斷后面的值;若為假,就不必判斷后面的值。而在邏輯或運(yùn)算中,只要“||”運(yùn)算符前面的值為真,就不再判斷后面的值;只有前面的值為假,才判斷后面的值。本題中j++的值為真,因此不進(jìn)行k++運(yùn)算,k值保持不變,(j++||k++)的值為真,繼續(xù)計算i++,計算后i值為2。
47.D
48.B解析:通常所說的計算機(jī)應(yīng)是電子數(shù)字計算機(jī)的簡稱。電子數(shù)字計算機(jī)是一種能快速、自動進(jìn)行數(shù)值計算和信息處理的計算工具。其主要特點(diǎn)是:(1)計算機(jī)能快速計算;(2)計算機(jī)是具有通用性的計算工具;(3)計算機(jī)具有高準(zhǔn)確度;(4)計算機(jī)具有邏輯判斷能力。
49.B
50.D
51.D解析:a='ABCD'書寫錯誤,因為“=”左邊不能出現(xiàn)常量;數(shù)組名s是代表s數(shù)組首地址的地址常量,而不是變量;字符串只有在定義時維數(shù)可以省略。
52.C解析:C語言中:strcpy(st1,st2);,其兩個參數(shù)均為字符指針或字符數(shù)組,選項C中的目的串指針str3沒有指向具體有效的存儲單元,故是錯誤的調(diào)用。
53.B解析:一種數(shù)據(jù)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),常用的存儲結(jié)構(gòu)有順序、鏈接、索引等,選項A和選項D正確。采用不同的存儲結(jié)構(gòu),其數(shù)據(jù)處理的效率不同,因此,在進(jìn)行數(shù)據(jù)處理時,選擇合適的存儲結(jié)構(gòu)是很重要的,選項C正確,選項B錯誤,應(yīng)為本題正確答案。
54.A解析:在C中,參與%運(yùn)算的兩個參數(shù)都必須為整型,在大多數(shù)C編譯器下(包括TurboC)都采用了“向0靠近”的原則,即當(dāng)兩個運(yùn)算量有一個為負(fù)數(shù)時,余數(shù)的符號由被除數(shù)的符號決定。故本題答案為A。
55.A解析:本題主要考查switch語句的使用方法。switch語句的執(zhí)行過程為:進(jìn)入switch結(jié)構(gòu)后,對條件表達(dá)式進(jìn)行運(yùn)算,然后從上至下去找與條件表達(dá)式值相匹配的case,以此作為入口,執(zhí)行switch結(jié)構(gòu)中后面的各語句,直到遇到break語句,則跳出switch語句,如果各case都不匹配時,則執(zhí)行default后面的語句。
56.B解析:C語言的語法規(guī)定,字母e(E)之前必須有數(shù)字,且e(E)后面的指數(shù)必須是整數(shù),而選項B)中,e(E)后面的指數(shù)是小數(shù),所以不合法。
57.A
58.A根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個條件:1,有且只有一根節(jié)結(jié)點(diǎn),2,每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件,則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。
59.A解析:數(shù)據(jù)庫是一個通用化的、綜合性的數(shù)據(jù)集合,它可以為各種用戶所共享,具有最小的冗余度和較高的數(shù)據(jù)與程序的獨(dú)立性,而且能并發(fā)地為多個應(yīng)用服務(wù),同時具有安全性和完整性。即數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余,但不能避免一切冗余。所以選項A正確,選項B錯誤。在數(shù)據(jù)庫管理階段中,數(shù)據(jù)是結(jié)構(gòu)化的,面向系統(tǒng),數(shù)據(jù)冗余度小,從而節(jié)省了數(shù)據(jù)的存儲空間,也減少了對數(shù)據(jù)的存取時間,提高了訪問效率,避免了數(shù)據(jù)的不一致性。數(shù)據(jù)的不一致性,是指對數(shù)據(jù)的存取方式,選項C錯誤。數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù),并非是數(shù)據(jù)庫系統(tǒng)的特點(diǎn),選項D錯誤。本題正確答案是A。
60.D解析:在對二維數(shù)組元素賦初值時,可以只對部分元素賦初值,未賦初值的元素自動取0;C語言規(guī)定,對于二維數(shù)組,只可以省略第1個方括號中的常量表達(dá)式,而不能省略第2個方括號中的常量表達(dá)式;賦的初值不能多于事先定義好的數(shù)組元素個數(shù)。
在選項D)賦值表達(dá)式中,對每一維的元素賦初值應(yīng)用{},而不是()。
61.B
62.C根據(jù)混合運(yùn)算規(guī)則,如果有一個數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。
63.B\n在第1次外層for循環(huán)中,首先x++得到x=1。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時,變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時,x=3,然后執(zhí)行x++,得到x=4。在進(jìn)入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進(jìn)入到內(nèi)層for循環(huán),只有循環(huán)變量J的值為奇數(shù)時,變量X的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加l兩次,當(dāng)退出內(nèi)層for循環(huán)時,x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。
\n
64.B
65.A取余運(yùn)算符%兩邊都應(yīng)是正數(shù),賦值語句左邊必須是變量,不能是表達(dá)式,強(qiáng)制轉(zhuǎn)換語句強(qiáng)制類型應(yīng)加括號,而非加在變量上。
66.D
67.A本題考查C語言中對整數(shù)求余數(shù)運(yùn)算。運(yùn)算符“%”是兩個數(shù)相除后取余數(shù)。分析本題的程序,main函數(shù)中的主體為一個do-while循環(huán),該循環(huán)的終止條件為i==0。do-while循環(huán)內(nèi)部起始為一個if語句,該語句包含一個if子語句,外層if語句的判斷條件是i%3==1,表示i的取值范圍為{1,4,7,11,…},內(nèi)部if子語句的判斷條件為i%5==2,表示i的取值范圍為{2,7,12,…}。如果外層和內(nèi)層的if語句的條件都滿足,則執(zhí)行語句printf('*%d',i);break;,該語句輸出*i形式的結(jié)果并跳出do-while循環(huán)。如果兩個if語句有一個條件不滿足,則執(zhí)行i++操作,繼續(xù)執(zhí)行do-while循環(huán)。i的初始值為5,
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動合同范本(15篇)
- 2025年拉薩貨運(yùn)從業(yè)資格證考試試卷題庫
- 2025年阿克蘇貨運(yùn)從業(yè)資格仿真考題
- 2025年博爾塔拉道路貨運(yùn)從業(yè)資格證模擬考試官方題下載
- 2025年淮安道路運(yùn)輸從業(yè)資格證考哪些項目
- 2025年博爾塔拉下載b2貨運(yùn)從業(yè)資格證模擬考試考試
- 2025年合肥運(yùn)輸從業(yè)資格證考試技巧
- 2025年衡水貨運(yùn)從業(yè)資格證繼續(xù)再教育考試答案
- 監(jiān)測服務(wù)采購合同
- 電力服務(wù)創(chuàng)新合同(2篇)
- 《病理學(xué)基礎(chǔ)》知識考核試題題庫與答案
- GH/T 1030-2004松花粉
- 部編版六年級下冊語文第3單元習(xí)作例文+習(xí)作PPT
- 辦理工傷案件綜合應(yīng)用實務(wù)手冊
- 《現(xiàn)代氣候?qū)W》研究生全套教學(xué)課件
- 玩轉(zhuǎn)數(shù)和形課件
- 護(hù)理診斷及護(hù)理措施128條護(hù)理診斷護(hù)理措施
- 情商知識概述課件
- 九年級物理總復(fù)習(xí)教案
- 【64精品】國標(biāo)蘇少版小學(xué)音樂六年級下冊教案全冊
- 汽車座椅骨架的焊接夾具論文說明書
評論
0/150
提交評論