2021-2022年江西省景德鎮(zhèn)市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)_第1頁
2021-2022年江西省景德鎮(zhèn)市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)_第2頁
2021-2022年江西省景德鎮(zhèn)市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)_第3頁
2021-2022年江西省景德鎮(zhèn)市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)_第4頁
2021-2022年江西省景德鎮(zhèn)市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2021-2022年江西省景德鎮(zhèn)市全國計算機等級考試C語言程序設(shè)計真題二卷(含答案)學校:________班級:________姓名:________考號:________

一、單選題(20題)1.有以下程序

#include<stdio.h>

main()

{ini,j,m=1;

for(i=1;i<3;i++)

{for(j=3;j>0;j--)

{if(i*j)>3)break;

m=i*j;

}

}

printf("m=%d\n",m);

程序運行后的輸出結(jié)果是A.m=6B.m=2C.m=4D.m=5

2.以下程序段中,與語句“k—a>b?(b>c?1:O):0;”功能相同的是()。

A.if(a>b)(b>c)k=1;elsek=0;

B.if((a>b)‖(b>c))k=1;elsek=0;

C.if(a<=b)k=0;elseif(b>c)k=1;

D.if(a>b)k=1;elseif(b<=c)k=1;elsek=0:

3.設(shè)有下列二叉樹:

對此二叉樹后序遍歷的結(jié)果為

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

4.以下程序的輸出結(jié)果是()。

f(intb[],intm,intn)

{inti,s=0;

for(i=m;i<n;i=i+2)s=s+b[i];

returns;

}

voidmain()

{intx,a[]={1,2,3,4,5,6,7,8,9};

x=f(a,3,7);

printf("%d\n",x);

}A.A.10

B.18

C.8

D.15

5.

6.以下正確的字符常量是()。A.'\089'B.'\012'C.'\0XAB'D.'\0xab'

7.以下程序的輸出結(jié)果是_______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;print("%d%d%d,a[2],a[5],a[8]);}

A.258B.741C.852D.369

8.鏈表不具備的特點是()。

A.可隨機訪問任一結(jié)點B.插入刪除不需要移動元素C.不必事先估計存儲空間D.所需空間與其長度成正比

9.設(shè)有定義:int?x=2,以下表達式中,值不為6的是()。

A.2*<.x+=2B.x++.2*xC.x=x*(1+x)D.x*=x+1

10.下列關(guān)于數(shù)據(jù)結(jié)構(gòu)的敘述中,正確的是()。

A.數(shù)組是同類型值的集合

B.遞歸算法的程序結(jié)構(gòu)比迭代算法的程序結(jié)構(gòu)更為精煉

C.樹是一種線性結(jié)構(gòu)

D.用一維數(shù)組存儲二叉樹,總是以先序遍歷的順序存儲各結(jié)點

11.

12.有以下程序:#include<stdio.h>main(){charv[4][10];inti;for(i=0;i<4;i++)scanf(“%s”,v[i]);printf(“%c,%s,%s,%c”,**v,*(v+1),v[3]+3,*(v[2]+1));}程序運行時輸入welcomeyoutobeijing并按<Enter>鍵,則輸出結(jié)果是()。

A.w,youjing,o

B.welcome,you,jing,to

C.w,you,eeijing,u

D.w,xelcome,eeijing,u

13.以下關(guān)于typedef的敘述錯誤的是A.用typedef可以增加新類型

B.typedef只是將已存在的類型用一個新的名字來代表

C.用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名

D.用typedef為類型說明一個新名,通??梢栽黾映绦虻目勺x性

14.設(shè)有表示學生選課的三張表,學生S(學號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學號,課號,成績.,則表SC的關(guān)鍵字(鍵或碼)為()

A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績

15.有以下程序:#include<stdio.h>voidfun(char*C,intd){*c=*c+1,d=d+1;printf(%"c%,c",*c,d);}main(){charb=aa=A;fun(&b,a);printf(%"c,%c\n",b,a);)程序運行后的輸出結(jié)果是()。A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B

16.公司中有多個部門和多名職員,每個職員只能屬于一個部門,一個部門可以有多名職員,從職員到部門的聯(lián)系類型是()

A.多對多B.一對一C.多對一D.一對多

17.為了隱藏在文本框中輸入的信息,用占位符代替顯示用戶輸入的字符,需要設(shè)置的屬性是()。

A.ValueB.ControlSoureeC.InputMaskD.PasswordChar

18.以下關(guān)于C語言文件系統(tǒng)的敘述中正確的是()。

A.fprintf與fwrite函數(shù)功能相同

B.文件以“r”方式打開后,可以存儲文本類型的數(shù)據(jù)

C.fscanf與fread函數(shù)功能相同

D.以“w”或“wb”方式打開的文件,不可以從中讀取數(shù)據(jù)

19.

20.下列二維數(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)};

二、2.填空題(20題)21.以下程序的輸出結(jié)果是()。#include<stdio.h>intfun(intx){staticintt=0;return(t+=x);}main(){ints,i;for(i=1;i<=5;i++)s=fun(i);printf("%d\11",s);}

22.設(shè)有下面的程序段:chars[]="china";char*p;p=S;則下列敘述正確的是

23.函數(shù)compare的功能是比較兩個字符串是否相等,若相等則函數(shù)返回1,否則返回o,請?zhí)羁铡?/p>

compare(chars[],chart[])

{

inti=0

while(s[i]==t[i]&&【】)i++;

return(【】?1:0);

}

24.以下程序的功能是找出三個字符串中的最大串。

【】

#include<stdio.h>

main()

{inti;

charstring[20],str[3][20];

(i=0;i<3;i++)gets(【】);

if(strcmp(str,str[0],str[1]>0)strcpy(string,str[0]);

elsestrcpy(string,str[1]);

if(strcmp(str[2],string)>【】)srtcpy(string,str[2]);

printf("Thelargeststringis\n%s\n",string);

}

25.設(shè)變量已正確定義為整型,則表達式n=i=2,++i,i++的值為【】。

26.在一棵二叉樹中,度為0的結(jié)點的個數(shù)為n0,度為2的結(jié)點的個數(shù)為n2,則有n0=【】。

27.有下列程序;

#include<stdio.h>

main()

{charc;

while((c=getchar())!=',')putchar(++C);

}

程序運行時,如果從鍵盤輸入:A,B,<CR>,則輸出結(jié)果為______。

28.以下程序的功能是建立一個帶有頭結(jié)點的單向鏈表,鏈表結(jié)點中的數(shù)據(jù)通過鍵盤輸入,當輸入數(shù)據(jù)為-1時,表示輸入結(jié)束(鏈表頭結(jié)點的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請?zhí)羁铡?/p>

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{p=(structlist*)malloc(sizeof(structlist));

【】=a;q->next=p;【】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

29.以下程序是求矩陣a,b的和,結(jié)果存入矩陣c中,并按矩陣形式輸出,請?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta[3][4]={13,-2,7,5},{1,0,4,-3},{6,8,0,2}};

intb[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2}};

inti,j,c[3][4];

for(i=0;i<3;i++)

for(j=0;j<4;j++)

c[i][j]=【】;

for(i=0;i<3;i++)

{for(j=0;j<4;j++)

printf("%3d",c[i][j]);

printf("\n");}}

30.以下程序的輸出結(jié)果為【】。

main()

{intk=1;

white(k<=15)

if(++k%3!=2)continue;

elseprintf("%d",k);

printf("\n");

}

31.實現(xiàn)程序可將磁盤中的一個文件復制到另一個文件中,兩個文件的文件名在可執(zhí)行命令的命令行中(相當于copy命令),假定文件在當前目錄下。請補全程序。

#include<stdio.h>

voidmain(intargc,char*argv[])

{FILE*f1,*f2;

if(argc<【】)

{printf("parametererror!\n");exit(0);}

f1=fopen(argv[1],"r");

f2=fopen(argv[2],"w");

while(【】)fputc(fgetc(f1),f2);

fclose(f1);

fclose(f2);

}

32.下列程序的運行結(jié)果是______。

main()

{inti,a[10];

a[0]=a[1]=1;

for(i=2;i<5;i++)

a[i]=a[i-2]+a[i-1];

for(i=0;i<5;i++)

{if(i%2==0)printf("\n");

printf("%d",a[i]);

}

}

33.數(shù)據(jù)的【】結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)或物理結(jié)構(gòu)。

34.在循環(huán)中,continue語句與break語句的區(qū)別是:______語句只是結(jié)束本次循環(huán),然后進行循環(huán)的條件判定。

35.以下isprime函數(shù)的功能是判斷形參a是否為素數(shù),如果是素數(shù),函數(shù)返回1,否則返回0。

intisprime(inta)

inti;

for(i=2;i<=a/2;i++)

if(a%i==0)【】;

【】;

}

36.下面的函數(shù)strcat(str1,str2)實現(xiàn)將字符串str2拼接到字符串str1后面的功能。請?zhí)羁帐怪暾?/p>

char*strcat(str1,str2)

char*str1,*str2;

{char*t=str1;

while(【】)str1++;

while(【】);

return(t);}

37.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機制稱為______。

38.下列程序的運行結(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);

}

39.數(shù)據(jù)庫管理系統(tǒng)是位于用戶與______之間的軟件系統(tǒng)。

40.下面程序的輸出結(jié)果是【】。

structaa

{intx,*y;

}*p;

inta[8]={10,20,30,40,50,60,70,80};

structaab[4]={100,&a[1],200,&a[3],10,&a[5],20,&a[7]};

main()

{p=b;

printf(%d",*++p->y);

printf("%d\n",++(p->x));

}

三、1.選擇題(20題)41.在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負責數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復等功能的是

A.數(shù)據(jù)定義語言B.數(shù)據(jù)轉(zhuǎn)換語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言

42.有以下程序:voidfun(int*a,inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;}fun(a,++i,--j);}}main(){inta[]={1,2,3,4,5,6},i;fun(a,0,5);for(i=0;i<6;i++)printf("%d",a[i]);}執(zhí)行后的輸出結(jié)果是______。

A.654321B.432156C.456123D.123456

43.下面程序的輸出是_______。main(){intm=0xa,n=2;m+=n;printf(""%X\n"",m);}

A.CB.cC.99D.2

44.下面程序:voidfunc(int*a,intb[]){b[0]=*a+6;)main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}則程序運行后的輸出結(jié)果是()。

A.6B.7C.8D.9

45.有以下程序main(){unsignedchara,b;a=4|3;b=4&3;printf("%d%d\n",a,b);}執(zhí)行后輸出結(jié)果是

A.70B.7C.11D.430

46.有以下程序:voidfun1(char*p){char*q;q=p;while(*q!='\0'){(*q)++;q++;}}main(){chara[]={"Program"),*p;p=&a[3];fun1(p)printf("%s\n",A);}程序執(zhí)行后的輸出結(jié)果是()。

A.ProhsbnB.PrphsbnC.ProgsbnD.Program

47.下列條件語句中,功能與其他語句不同的是()。

A.if(a)printf("%d\n",x);elseprintf("%d\n",y);

B.if(a==0)printf("%d\n",y);elseprintf("%d\n",x);

C.if(a!=0)printf("%d\n",x);elseprintf("%d\n",y);,

D.if(a==O)printf("%d\n",x);elseprintf("%d\n",y);

48.設(shè)有定義:inta,*pa=&a;以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是

A.scant("%d",pa);

B.scant("%d",a);

C.scanf("%d",&pa);

D.scanf("%d",*pa);

49.一個棧的輸入序列為1,2,3,4,下列選項中的______序列不可能是這個棧的輸出序列。

A.1,3,2,4B.2,3,4,1C.4,3,1,2D.3,4,2,1

50.設(shè)有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則

A.運行程序段后輸出0B.運行程序段后輸出1C.程序段中的控制表達式是非法的D.程序段執(zhí)行無限次

51.電子郵件是()

A.網(wǎng)絡信息檢索服務

B.通過Web網(wǎng)頁發(fā)布的公告信息

C.通過網(wǎng)絡實時交互的信息傳遞方式

D.一種利用網(wǎng)絡交換信息的非交互式服務

52.在宏定義#defineP13.1415926中,用宏名PI代替一個()

A.單精度數(shù)B.雙精度數(shù)C.常量D.字符串

53.設(shè)已包含頭文件<string.h>,下列程序段的運行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));

A.3B.4C.6D.5

54.數(shù)據(jù)的存儲結(jié)構(gòu)是指______。

A.數(shù)據(jù)所占的存儲空間量B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示C.數(shù)據(jù)在計算機中的順序存儲方式D.存儲在外存中的數(shù)據(jù)

55.下面程序的輸出結(jié)果是()main(){inta=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));prinft("%d%d\n",k,a,b);}

A.003B.012C.103D.112

56.為了提高軟件模塊的獨立性,模塊之間最好是()。

A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合

57.不能與do…while(exp)語句中的(exp)等價的表達式是()。

A.(!exp==0)B.(exp>0‖exp<0)C.(exp==0)D.(exp!=0)

58.當執(zhí)行以下語句后,函數(shù)strlen(str)返回的值是()staticcharstr[10]={”Change"};

A.10B.7C.6D.11

59.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是#include"stdio.h"main(){charfun(char,int);chara='A';intb=13;a=fun(a,b);putchar(a);}charfun(chara,intb){chark;k=a+b;returnk;}

A.AB.MC.ND.L

60.下面程序的輸出是______。main(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1if(y<x)break;}printf("x=%d,y=%d,=%d\n",x,y,a);}

A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=1

四、選擇題(20題)61.

62.有以下程序:

程序運行后的輸出結(jié)果是()。

A.2344B.4332C.1234D.1123

63.在位運算中,操作數(shù)每左移兩位,其結(jié)果相當于()。

A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4

64.

65.

66.

67.

68.若有定義語句:doublex,y,*px,+py;,執(zhí)行Tpx=&x;py=&y之后,正確的輸入語句是()。

69.有以下程序

#include<string.h>

structSTU

{intnum;

floatTotalScore;};

voidf(structSTUp)

{structSTUs[2]={{1047,530},{1048,531}};

p.num=s[1].num;p.TotalScore=s[1].TotalScore;

}

main()

{structSTUs[2]={{2041,730},{2042,731}};

f(s[0]);

printf("%d,%3.0f\n",s[0].num,s[0].TotalScore);

}

程序的運行結(jié)果是

A.1047,530

B.1048,531

C.2041,730

D.2042,731

70.

71.將E—R圖轉(zhuǎn)換為關(guān)系模式時,實體和聯(lián)系都可以表示為()。

A.屬性B.鍵C.關(guān)系D.域

72.

73.在C語言中,函數(shù)返回值的類型最終取決于()。

A.函數(shù)定義時在函數(shù)首部所說明的函數(shù)類型

B.return語句中表達式值的類型

C.調(diào)用函數(shù)時主調(diào)函數(shù)所傳遞的實參類型

D.函數(shù)定義時形參的類型

74.

75.有定義:“inta=2,b=3,c=4;”,則下列選項中值為0的表達式是()。

A.(!a==1)&&(!b==0)B.(a<b)&&!cC.D.1E.a&&bF.aG.H.(b+b)&&(c-a)

76.

77.下列選項中不會引起二義性的宏定義是()。

A.#defineS(x)x*x

B.#defineS(x)(x)*(x)

C.#defineS(x)(x*x)

D.#defineS(x)((x)*(x))

78.

79.

80.下面描述中錯誤的是()。

A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細設(shè)計

B.軟件設(shè)計是將軟件需求轉(zhuǎn)換為軟件表示的過程

C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫設(shè)計是軟件設(shè)計的任務之一

D.PAD圖是軟件詳細設(shè)計的表示工具

五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:傳人一個整數(shù)n,計算如下公式的值。t=1/2-1/3-…-1/n例如,若輸入3,則應輸出0.166667。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:

六、程序設(shè)計題(1題)82.請編寫函數(shù)proc,該函數(shù)的功能是:將放在字符串數(shù)組中的M個字符串(每串的長度

不超過N),按順序合并組成一個新的字符串。

例如,若字符串數(shù)組中的M個字符串為:

ABCD

BCDEFG

CDEFGHI

則合并后的字符串內(nèi)容應該是ABCDBCDEFGCDEFGHl。

注意:部分源程序給出如下。

請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編寫的若干語句。

試題程序:

#include<stdio.h>

#include<conio.h>

#defineM3

#defineN20

voidproc(chararr[M][N],char*b)

{

}

voidmain

{

charstr[M][N]={"ABCD","BCDEFG","CDEFGHl"),i;

chararr[100]={"##################"};

printf(”Thestrin9:kn”);

for(i=0;i<M;i++)

puts(str[i]);

printf("\n");

proc(str,arr);

printf("TheAstring:\n");

printf("%S",arr);

printf("\n\n");

}

參考答案

1.A

2.A本題考查了雙重三目運算符的用法。例如:表達式a>b?c:d可以看成,當a>b時取C的值,否則取d的值。在本題中k=a>b?(b>c?1:0):0可以看做:當b>c時為真,則k=a>b?1:0。當bb?0:0。也就是說,當a>b并且b>C時,k=1,否則k=0。所以A選項符合題意。

3.D解析:二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷,其遍歷順序應該為:后序遍歷左子樹->,后序遍歷右子樹->,訪問根結(jié)點。按照定義,后序遍歷序列是DEBFCA,故答案為D。

4.A函數(shù)的功能是對數(shù)組某一區(qū)域內(nèi)的元素隔個求和;a[3]=4,所以從4開始進行隔個求和,a[7]=8,即對4到8的元素隔個求和,4+6=10。

5.B

6.B題目中的選項都以轉(zhuǎn)義字符“\\”開頭,“\\ddd”表示3位八進制數(shù)代表的一個ASCII字符,“\\xhh”表示2位十六進制數(shù)代表的一個ASCII字符。選項A中“089”是不合法的八進制數(shù),錯誤;選項C、D中“\\0X”或“\\0x”不合法,錯誤;選項B表示八進制數(shù)012代表的ASCII字符,正確。本題答案為B選項。

7.C解析:在本題運行時主要注意的是當i=9時,a[i]=10-9=1:i=8時,a[i]=10-8=2;i=7時,a[i]=10-7=3;……依此類推,直到i=0時,a[i]=10-0=10:此時,i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。

8.A

9.A?A)選項中逗號表達式先計算第一表達式2*x,然后計算表達式x+=2的值,即x=x+2即4,整個逗號表達式為第二個表達式的值4,所以選A)。B)選項中首先計算逗號表達式中第一一個表達式x++,此時x為3,再執(zhí)行第二個表達式2*x=2*3=6,所以逗號表達式為第二個表達式的值6。C)選項的賦值表達式可以表示為x=x*(1+x)=2*(1+2)=6。D)選項中的表達式可以表示為x=x*(x+1)=2*3=6。

10.B

11.C

12.A題干中,定義一個二維字符數(shù)組v。然后通過for循環(huán),輸入4個字符串welcome、you、to、beijing,將其分別存放在v的4個元素中。數(shù)組v是存放4個字符串的二維數(shù)組;“**v”表示第1個字符串的第一個字符“w”;“*(v+1)”指向第2個字符串“you”;“v[3]+3”指向第4個字符串的第3個字符開始后的整個字符串“jing”;“*(v[2]+1)”表示第3個宇符串的第2個字符“o”。故本題答案為A選項。

13.A解析:本題考查的重點是typedef的理解運用。C語言允許通過typedef為數(shù)據(jù)類型定義新名字,但是,它并非是生成新的數(shù)據(jù)類型,因此選項A是錯誤的。

14.C學號是學生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號,所以選擇C項。

15.A本題考查了函數(shù)的調(diào)用。首先主函數(shù)定義了兩個字符型數(shù)據(jù)b和a,給b賦值為字母a.a(chǎn)賦值為字母A,調(diào)用fun(&.b,a)函數(shù),*C=*c十1,a的ASCIl碼值加1后為b,A的ASCIl碼值加1后為B。輸出第一組值,排除C、D選項。B選項的值此時為小b,排除B選項,所以本題答案為A。

16.C解析:該題考查的是實體間的聯(lián)系。多對多聯(lián)系(m:n):如果對于實體集A中的每個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每個實體,實體集A中有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體集B之間是多對多聯(lián)系,記作m:n。一對一聯(lián)系(1:1):如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之有聯(lián)系,反之亦然,則稱實體集A與實體集B之間是一對一聯(lián)系,記作1:1。一對多聯(lián)系(1:n):如果對于實體集A中每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B之間是一對多聯(lián)系,記作1:n。那么根據(jù)題意可知是多對一聯(lián)系。所以選項C是正確的。

17.DD?!窘馕觥勘究虻腜asswordChar屬性用來指定文本框是顯示用戶輸入的字符還是顯示占位符,指定用做占位符的字符。

18.Dfprintf函數(shù)和fscanf函數(shù)都可以讀寫文本文件,而fwrite和fread函數(shù)可以讀寫二進制文件,選項A、C錯誤;文件以“r”方式打開后,只可以讀取文本數(shù)據(jù),選項B錯誤。故本題答案為D選項。

19.D

20.D解析:在對二維數(shù)組元素賦初值時,可以只對部分元素賦初值,未賦初值的元素自動取0;C語言規(guī)定,對于二維數(shù)組,只可以省略第1個方括號中的常量表達式,而不能省略第2個方括號中的常量表達式;賦的初值不能多于事先定義好的數(shù)組元素個數(shù)。

在選項D)賦值表達式中,對每一維的元素賦初值應用{},而不是()。

21.1515解析:在函數(shù)fun(intx)中定義了局部靜態(tài)整形變量t,并初始化為0。這個函數(shù)的返回值為t+x。所以在主函數(shù)的for循環(huán)中,5次連續(xù)調(diào)用fun(i),實現(xiàn)了從1到5連續(xù)數(shù)字的相加運算。因而最后結(jié)果等于15。

22.D

23.s[i]&&t[i]或s[i]!='\0'&&t[i]!='\0'!(s[i]-t[i])s[i]&&t[i]或s[i]!='\\0'&&t[i]!='\\0'\r\n!(s[i]-t[i])解析:while后括號中的判斷條件為兩個字符串相同位置上的字符相等,且兩個字符串都沒有結(jié)束,則循環(huán)。故第一空應該填s[i]&&t[i]或其他等價表達式。如果兩個字符串完全相等,則while循環(huán)退出時s[i]和t[i]的值同時為0,否則s[i]和t[i]不相等。故表達式s[i]-t[i]在字符串相等時為0,不相等時為非0,所以第二空應該填!(s[i]-t[i])就滿足題意了。

24.#include<string.h>str[i]0

25.33解析:本題考查的是C語言逗號表達式的相關(guān)知識。程序在計算逗號表達式時,從左到右計算由逗號分隔各表達式的值,整個逗號表達式的值等于其中最后一個表達式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計算為3。

26.n2+1

27.BB解析:因為c是字符類型變量,它只能接收一個字符,所以c=A,字符型變量在參與算術(shù)運算的時候是用其相應的ASCII碼參與運算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應的字符,所以是B。

28.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點是結(jié)構(gòu)體變量中有兩個域,一個是數(shù)據(jù),另一個是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個結(jié)點。

29.a[i][j]+b[i][j]a[i][j]+b[i][j]解析:此題是雙重for循環(huán)結(jié)構(gòu)應用在了二維數(shù)組中。外層for循環(huán)用來控制二維數(shù)組的行,內(nèi)層for循環(huán)控制二維數(shù)組的列。

30.25811142581114解析:本題通過while和if語句,求得出1~15之間與3取模為2的整數(shù),并依次輸出。

31.3!feof(f1)3\r\n!feof(f1)解析:要實現(xiàn)文件復制,需要指定源文件及目的文件,因此在命令行下執(zhí)行程序時至少要指定兩個參數(shù),加上程序名本身,故argc的值至少為3,因此第一空應填3。while循環(huán)中語句fputc(fgetc(f1),f2);的目的是將f1中的字符依次讀出并寫入到f2對應的文件中去,直至文件f1結(jié)束為止,因此第二空為!feof(f1)。

32.11<CR>23<CR>5(<CR代表換行)11<CR>23<CR>5(<CR,代表換行)解析:本題通過語句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項的和賦值給數(shù)組當前元素,得到a的值應為(1,1,2,3,5)。語句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個的形式輸出。

33.邏輯邏輯解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu)或物理結(jié)構(gòu)。

34.continuecontinue解析:continue語句只是結(jié)束本次循環(huán),然后進行循環(huán)的條件判定。break語句是終止整個循環(huán)的執(zhí)行,不再進行條件判定。

35.return0或return(0)return1或return(1)return0或return(0)\r\nreturn1或return(1)解析:素數(shù)是指只能被1和其本身整除,不能被其他任何整數(shù)整除的數(shù)。根據(jù)if條件語句,若形參a對i取余等于0,則形參a可以被其他數(shù)整除,所以第一處填return0;若形參a對i取余不等于0,則形參s不可以被其他數(shù)整除,所以第二處填return1。

36.*str1或*str1!='\0'或*str1!=0或*str1!=NUL*str1++=*str2++或*str1++=*str2*str2++*str1或*str1!='\\0'或*str1!=0或*str1!=NUL\r\n*str1++=*str2++或*str1++=*str2,*str2++解析:函數(shù)strcat(str1,str2)實現(xiàn)將字符串str2連接到字符串str1后面,所以首先要找到字符串str1的串尾,根據(jù)C語言的語法規(guī)定,一個串的串尾—定是—個隱含字符“\\0”,而在程序中,對字符串中字符的訪問是通過兩個指針變量來完成的,因此要找到字符串str1的串尾,要判斷:str1是否為“\\0”,要找到字符串str2的串尾,要判斷*str2是否為“\\0”,程序中必須以使字符串中字符逐—順序體現(xiàn),所以在題中我們應填寫“*str1”和“*str1++=*str2++”。

37.繼承繼承

38.55解析:分析程序,當a=3;b=4;c=5時,判斷語句a>b不成立,所以不執(zhí)行后面的語句,直接執(zhí)行“printf('%d\\n',c);”語句,輸出c的值,輸出結(jié)果為5。

39.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫管理系統(tǒng)是幫助用戶創(chuàng)建和管理數(shù)據(jù)庫的應用程序的集合。因此,數(shù)據(jù)庫管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶提供服務。

40.3010130101解析:注意地址自增與變量自增的區(qū)別。

41.D解析:在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,數(shù)據(jù)控制語言負責數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復等功能。

42.A解析:本題考查指針變量作函數(shù)形參的問題。指針變量作函數(shù)的形參,實現(xiàn)的是地址傳遞,形參的改變可以影響實參。fun由數(shù)的功能是將a所指數(shù)組中的內(nèi)容逆置。在main函數(shù)中調(diào)用fun函數(shù)后,實參數(shù)組s中元素的值變?yōu)椋篴[0]=6、a[1]=5、a[2]=4、a[3]=3、a[4]=2、a[5]=1。

43.A解析:格式控制x表示數(shù)據(jù)按十六進制格式輸出(不輸出前導符ox)。本題在執(zhí)行語句m+=n;后,m的值變?yōu)樽帜竎,又因為在輸出a-f時,如果格式控制符用X,則以大寫字母輸出;如果用x,則以小寫字母輸出,故本題答案為A。

44.A解析:在函數(shù)的形參中使用int*類型和使用int[]類型并無區(qū)別,兩者都可用宋傳遞數(shù)組名或指針變量,所以func()函數(shù)的形參是兩個指針a和b,又因為b[0]亦可寫成*b,所以表達式b[0]=*a+6也可以寫成*b=*a+6,其意思是:將a所指內(nèi)容加上6賦給b所指內(nèi)容。所以主函數(shù)中對func()的調(diào)用func(&a,b)可看成b[0]=a+6,所以最后b[0]的結(jié)果為6。正確答案為選項A。

45.A解析:按位與運算符“&”中參加運算的兩位都為1時,其結(jié)果為1,否則結(jié)果為0,或位或運算符“|”中參加運算的兩位只要有一個為1,則結(jié)果為1,只有當相應的兩位都為0結(jié)果才為0。所以最后輸出a和b的值為7和0。

46.A解析:在函數(shù)fun1()中,首先將形參p的內(nèi)容存入臨時指針q中,然后使用—個while循環(huán),當q所指內(nèi)容不是字符串結(jié)束標志'\\0\'時,讓q所指內(nèi)容增1,然后將指針q增1指向下一個位置。所以函數(shù)fun1()實現(xiàn)的功能是:將傳入字符串的所有字符自增1。主函數(shù),指針p在被傳入fun1()函數(shù)之前,初始化指向的是寧符數(shù)組a的第4個元素\'g\',所以最終輸出的結(jié)果應該是Prohsbn。故應該選擇A。

47.D解析:選項A)的語句表示若a非0,則輸出x的值,否則輸出y的值;選項B)的語句表示如果a等于o,則輸出y的值,否則輸出x的值,與選項A)等價;選項C)的語句表示如果a不等于0,則輸出x,否則輸出y,與選項A)、B)相同;選項D)的語句表示如果a為0,則輸出x,否則輸出y,與前三個選項都不同。

48.A解析:scanf()函數(shù)的功能是進行輸入數(shù)據(jù),它是按格式參數(shù)的要求從終端上把數(shù)據(jù)傳送到地址參數(shù)所指定的內(nèi)存空間中,C語言允許程序員間接地使用內(nèi)存地址,這個地址是通過對變量名“求地址”運算得到的,求地址的運算符是&,得到的地址是一種符號地址。本題中定義了整型變量a和一個指向整型數(shù)據(jù)的指針變量pa,并定義pa是一個存放a的地址的變量。選項B中應該將a改為&a;選項C應該將&pa改為pa,因為pa已經(jīng)表示存放a的地址;選項D中*pa表示的是指針pa所指向存儲空間的變量的值,而不是一個地址。

49.C

50.B解析:本題考查while語句的使用。本題考查邏輯非運算符和不等于運算符的區(qū)別,邏輯非運算符'!'的優(yōu)先級大于不等于運算符'!='的優(yōu)先級。

51.D解析:電子郵件是利用Internet網(wǎng)傳送信件,不是檢索服務,由于信件只發(fā)給收信人,所以不是公告信息,并不是一發(fā)信就必須要收信人立即接收,而是信件存放在郵箱中,收信人在需要的時候再取出。

52.D

53.A解析:頭文件<string.h>是字符串處理函數(shù)對應的頭文件,要想調(diào)用C語言的庫函數(shù)時,都要在程序中嵌入該函數(shù)對應的頭文件,否則無法使用庫函數(shù)。

strcpy(s1,s2)把s2中的字符串復制到s1中,所以結(jié)果就為s2的長度。

54.B解析:數(shù)據(jù)元素在計算機存儲空間中的位置關(guān)系與它們的邏輯關(guān)系不一定是相同的,而且一般不可能相同。數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu),也稱數(shù)據(jù)的物理結(jié)構(gòu)。

55.C

56.D解析:耦合性與內(nèi)聚性是模塊獨立性的兩個定性標準,是互相關(guān)聯(lián)的。在程序設(shè)計中,各模塊間的內(nèi)聚性越強,則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計,應盡量做到高內(nèi)聚、低耦合,有利于提高模塊的獨立性。

57.C解析:本題考查.do…while循環(huán)。在do…while循環(huán)中,當表達式的值為非零(真)時,執(zhí)行循環(huán),不能與其等價的是為零的表達式,即(exp==0)。

58.C

59.C解析:函數(shù)說明語句中的類型名必須與函數(shù)返回值的類型一致。本題實現(xiàn)的是在字符,A,的ASCII碼值上加上一個常數(shù),使之變成另一個ASCII碼值,從而輸出字符。

60.D解析:注意的是x++中x值的引用時,這里應當是先引用,后自加,具體執(zhí)行過程如下:第—次while循環(huán):條件為真,執(zhí)行a=a+1=1;此時,x的值已為4,判斷y<x不成立,繼續(xù)執(zhí)行循環(huán);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論