版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年江西省景德鎮(zhèn)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(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);
}
程序運(yùn)行后的輸出結(jié)果是A.m=6B.m=2C.m=4D.m=5
2.以下程序段中,與語(yǔ)句“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è)有下列二叉樹(shù):
對(duì)此二叉樹(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.鏈表不具備的特點(diǎn)是()。
A.可隨機(jī)訪問(wèn)任一結(jié)點(diǎn)B.插入刪除不需要移動(dòng)元素C.不必事先估計(jì)存儲(chǔ)空間D.所需空間與其長(zhǎng)度成正比
9.設(shè)有定義:int?x=2,以下表達(dá)式中,值不為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ù)組是同類(lèi)型值的集合
B.遞歸算法的程序結(jié)構(gòu)比迭代算法的程序結(jié)構(gòu)更為精煉
C.樹(shù)是一種線(xiàn)性結(jié)構(gòu)
D.用一維數(shù)組存儲(chǔ)二叉樹(shù),總是以先序遍歷的順序存儲(chǔ)各結(jié)點(diǎn)
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));}程序運(yùn)行時(shí)輸入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的敘述錯(cuò)誤的是A.用typedef可以增加新類(lèi)型
B.typedef只是將已存在的類(lèi)型用一個(gè)新的名字來(lái)代表
C.用typedef可以為各種類(lèi)型說(shuō)明一個(gè)新名,但不能用來(lái)為變量說(shuō)明一個(gè)新名
D.用typedef為類(lèi)型說(shuō)明一個(gè)新名,通常可以增加程序的可讀性
14.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績(jī).,則表SC的關(guān)鍵字(鍵或碼)為()
A.課號(hào),成績(jī)B.學(xué)號(hào),成績(jī)C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績(jī)
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);)程序運(yùn)行后的輸出結(jié)果是()。A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B
16.公司中有多個(gè)部門(mén)和多名職員,每個(gè)職員只能屬于一個(gè)部門(mén),一個(gè)部門(mén)可以有多名職員,從職員到部門(mén)的聯(lián)系類(lèi)型是()
A.多對(duì)多B.一對(duì)一C.多對(duì)一D.一對(duì)多
17.為了隱藏在文本框中輸入的信息,用占位符代替顯示用戶(hù)輸入的字符,需要設(shè)置的屬性是()。
A.ValueB.ControlSoureeC.InputMaskD.PasswordChar
18.以下關(guān)于C語(yǔ)言文件系統(tǒng)的敘述中正確的是()。
A.fprintf與fwrite函數(shù)功能相同
B.文件以“r”方式打開(kāi)后,可以存儲(chǔ)文本類(lèi)型的數(shù)據(jù)
C.fscanf與fread函數(shù)功能相同
D.以“w”或“wb”方式打開(kāi)的文件,不可以從中讀取數(shù)據(jù)
19.
20.下列二維數(shù)組初始化語(yǔ)句中,不正確的是()。
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的功能是比較兩個(gè)字符串是否相等,若相等則函數(shù)返回1,否則返回o,請(qǐng)?zhí)羁铡?/p>
compare(chars[],chart[])
{
inti=0
while(s[i]==t[i]&&【】)i++;
return(【】?1:0);
}
24.以下程序的功能是找出三個(gè)字符串中的最大串。
【】
#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è)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為【】。
26.在一棵二叉樹(shù)中,度為0的結(jié)點(diǎn)的個(gè)數(shù)為n0,度為2的結(jié)點(diǎn)的個(gè)數(shù)為n2,則有n0=【】。
27.有下列程序;
#include<stdio.h>
main()
{charc;
while((c=getchar())!=',')putchar(++C);
}
程序運(yùn)行時(shí),如果從鍵盤(pán)輸入:A,B,<CR>,則輸出結(jié)果為_(kāi)_____。
28.以下程序的功能是建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過(guò)鍵盤(pán)輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請(qǐng)?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中,并按矩陣形式輸出,請(qǐng)?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.實(shí)現(xiàn)程序可將磁盤(pán)中的一個(gè)文件復(fù)制到另一個(gè)文件中,兩個(gè)文件的文件名在可執(zhí)行命令的命令行中(相當(dāng)于copy命令),假定文件在當(dāng)前目錄下。請(qǐng)補(bǔ)全程序。
#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.下列程序的運(yùn)行結(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)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)。
34.在循環(huán)中,continue語(yǔ)句與break語(yǔ)句的區(qū)別是:______語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。
35.以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),如果是素?cái)?shù),函數(shù)返回1,否則返回0。
intisprime(inta)
inti;
for(i=2;i<=a/2;i++)
if(a%i==0)【】;
【】;
}
36.下面的函數(shù)strcat(str1,str2)實(shí)現(xiàn)將字符串str2拼接到字符串str1后面的功能。請(qǐng)?zhí)羁帐怪暾?/p>
char*strcat(str1,str2)
char*str1,*str2;
{char*t=str1;
while(【】)str1++;
while(【】);
return(t);}
37.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和操作的機(jī)制稱(chēng)為_(kāi)_____。
38.下列程序的運(yùn)行結(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ù)庫(kù)管理系統(tǒng)是位于用戶(hù)與______之間的軟件系統(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ù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,負(fù)責(zé)數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能的是
A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)轉(zhuǎn)換語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言
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]);}則程序運(yùn)行后的輸出結(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.下列條件語(yǔ)句中,功能與其他語(yǔ)句不同的是()。
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語(yǔ)句中能正確為變量a讀入數(shù)據(jù)的是
A.scant("%d",pa);
B.scant("%d",a);
C.scanf("%d",&pa);
D.scanf("%d",*pa);
49.一個(gè)棧的輸入序列為1,2,3,4,下列選項(xiàng)中的______序列不可能是這個(gè)棧的輸出序列。
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.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無(wú)限次
51.電子郵件是()
A.網(wǎng)絡(luò)信息檢索服務(wù)
B.通過(guò)Web網(wǎng)頁(yè)發(fā)布的公告信息
C.通過(guò)網(wǎng)絡(luò)實(shí)時(shí)交互的信息傳遞方式
D.一種利用網(wǎng)絡(luò)交換信息的非交互式服務(wù)
52.在宏定義#defineP13.1415926中,用宏名PI代替一個(gè)()
A.單精度數(shù)B.雙精度數(shù)C.常量D.字符串
53.設(shè)已包含頭文件<string.h>,下列程序段的運(yùn)行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));
A.3B.4C.6D.5
54.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指______。
A.數(shù)據(jù)所占的存儲(chǔ)空間量B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D.存儲(chǔ)在外存中的數(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.為了提高軟件模塊的獨(dú)立性,模塊之間最好是()。
A.控制耦合B.公共耦合C.內(nèi)容耦合D.數(shù)據(jù)耦合
57.不能與do…while(exp)語(yǔ)句中的(exp)等價(jià)的表達(dá)式是()。
A.(!exp==0)B.(exp>0‖exp<0)C.(exp==0)D.(exp!=0)
58.當(dāng)執(zhí)行以下語(yǔ)句后,函數(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.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.2344B.4332C.1234D.1123
63.在位運(yùn)算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
64.
65.
66.
67.
68.若有定義語(yǔ)句:doublex,y,*px,+py;,執(zhí)行Tpx=&x;py=&y之后,正確的輸入語(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);
}
程序的運(yùn)行結(jié)果是
A.1047,530
B.1048,531
C.2041,730
D.2042,731
70.
71.將E—R圖轉(zhuǎn)換為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為()。
A.屬性B.鍵C.關(guān)系D.域
72.
73.在C語(yǔ)言中,函數(shù)返回值的類(lèi)型最終取決于()。
A.函數(shù)定義時(shí)在函數(shù)首部所說(shuō)明的函數(shù)類(lèi)型
B.return語(yǔ)句中表達(dá)式值的類(lèi)型
C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類(lèi)型
D.函數(shù)定義時(shí)形參的類(lèi)型
74.
75.有定義:“inta=2,b=3,c=4;”,則下列選項(xiàng)中值為0的表達(dá)式是()。
A.(!a==1)&&(!b==0)B.(a<b)&&!cC.D.1E.a&&bF.aG.H.(b+b)&&(c-a)
76.
77.下列選項(xiàng)中不會(huì)引起二義性的宏定義是()。
A.#defineS(x)x*x
B.#defineS(x)(x)*(x)
C.#defineS(x)(x*x)
D.#defineS(x)((x)*(x))
78.
79.
80.下面描述中錯(cuò)誤的是()。
A.系統(tǒng)總體結(jié)構(gòu)圖支持軟件系統(tǒng)的詳細(xì)設(shè)計(jì)
B.軟件設(shè)計(jì)是將軟件需求轉(zhuǎn)換為軟件表示的過(guò)程
C.數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)設(shè)計(jì)是軟件設(shè)計(jì)的任務(wù)之一
D.PAD圖是軟件詳細(xì)設(shè)計(jì)的表示工具
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:傳人一個(gè)整數(shù)n,計(jì)算如下公式的值。t=1/2-1/3-…-1/n例如,若輸入3,則應(yīng)輸出0.166667。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc,該函數(shù)的功能是:將放在字符串?dāng)?shù)組中的M個(gè)字符串(每串的長(zhǎng)度
不超過(guò)N),按順序合并組成一個(gè)新的字符串。
例如,若字符串?dāng)?shù)組中的M個(gè)字符串為:
ABCD
BCDEFG
CDEFGHI
則合并后的字符串內(nèi)容應(yīng)該是ABCDBCDEFGCDEFGHl。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。
試題程序:
#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本題考查了雙重三目運(yùn)算符的用法。例如:表達(dá)式a>b?c:d可以看成,當(dāng)a>b時(shí)取C的值,否則取d的值。在本題中k=a>b?(b>c?1:0):0可以看做:當(dāng)b>c時(shí)為真,則k=a>b?1:0。當(dāng)bb?0:0。也就是說(shuō),當(dāng)a>b并且b>C時(shí),k=1,否則k=0。所以A選項(xiàng)符合題意。
3.D解析:二叉樹(shù)的遍歷分為先序、中序、后序三種不同方式。本題要求后序遍歷,其遍歷順序應(yīng)該為:后序遍歷左子樹(shù)->,后序遍歷右子樹(shù)->,訪問(wèn)根結(jié)點(diǎn)。按照定義,后序遍歷序列是DEBFCA,故答案為D。
4.A函數(shù)的功能是對(duì)數(shù)組某一區(qū)域內(nèi)的元素隔個(gè)求和;a[3]=4,所以從4開(kāi)始進(jìn)行隔個(gè)求和,a[7]=8,即對(duì)4到8的元素隔個(gè)求和,4+6=10。
5.B
6.B題目中的選項(xiàng)都以轉(zhuǎn)義字符“\\”開(kāi)頭,“\\ddd”表示3位八進(jìn)制數(shù)代表的一個(gè)ASCII字符,“\\xhh”表示2位十六進(jìn)制數(shù)代表的一個(gè)ASCII字符。選項(xiàng)A中“089”是不合法的八進(jìn)制數(shù),錯(cuò)誤;選項(xiàng)C、D中“\\0X”或“\\0x”不合法,錯(cuò)誤;選項(xiàng)B表示八進(jìn)制數(shù)012代表的ASCII字符,正確。本題答案為B選項(xiàng)。
7.C解析:在本題運(yùn)行時(shí)主要注意的是當(dāng)i=9時(shí),a[i]=10-9=1:i=8時(shí),a[i]=10-8=2;i=7時(shí),a[i]=10-7=3;……依此類(lèi)推,直到i=0時(shí),a[i]=10-0=10:此時(shí),i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。
8.A
9.A?A)選項(xiàng)中逗號(hào)表達(dá)式先計(jì)算第一表達(dá)式2*x,然后計(jì)算表達(dá)式x+=2的值,即x=x+2即4,整個(gè)逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值4,所以選A)。B)選項(xiàng)中首先計(jì)算逗號(hào)表達(dá)式中第一一個(gè)表達(dá)式x++,此時(shí)x為3,再執(zhí)行第二個(gè)表達(dá)式2*x=2*3=6,所以逗號(hào)表達(dá)式為第二個(gè)表達(dá)式的值6。C)選項(xiàng)的賦值表達(dá)式可以表示為x=x*(1+x)=2*(1+2)=6。D)選項(xiàng)中的表達(dá)式可以表示為x=x*(x+1)=2*3=6。
10.B
11.C
12.A題干中,定義一個(gè)二維字符數(shù)組v。然后通過(guò)for循環(huán),輸入4個(gè)字符串welcome、you、to、beijing,將其分別存放在v的4個(gè)元素中。數(shù)組v是存放4個(gè)字符串的二維數(shù)組;“**v”表示第1個(gè)字符串的第一個(gè)字符“w”;“*(v+1)”指向第2個(gè)字符串“you”;“v[3]+3”指向第4個(gè)字符串的第3個(gè)字符開(kāi)始后的整個(gè)字符串“jing”;“*(v[2]+1)”表示第3個(gè)宇符串的第2個(gè)字符“o”。故本題答案為A選項(xiàng)。
13.A解析:本題考查的重點(diǎn)是typedef的理解運(yùn)用。C語(yǔ)言允許通過(guò)typedef為數(shù)據(jù)類(lèi)型定義新名字,但是,它并非是生成新的數(shù)據(jù)類(lèi)型,因此選項(xiàng)A是錯(cuò)誤的。
14.C學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C項(xiàng)。
15.A本題考查了函數(shù)的調(diào)用。首先主函數(shù)定義了兩個(gè)字符型數(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選項(xiàng)。B選項(xiàng)的值此時(shí)為小b,排除B選項(xiàng),所以本題答案為A。
16.C解析:該題考查的是實(shí)體間的聯(lián)系。多對(duì)多聯(lián)系(m:n):如果對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每個(gè)實(shí)體,實(shí)體集A中有m個(gè)實(shí)體(m≥0)與之聯(lián)系,則稱(chēng)實(shí)體集A與實(shí)體集B之間是多對(duì)多聯(lián)系,記作m:n。一對(duì)一聯(lián)系(1:1):如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之有聯(lián)系,反之亦然,則稱(chēng)實(shí)體集A與實(shí)體集B之間是一對(duì)一聯(lián)系,記作1:1。一對(duì)多聯(lián)系(1:n):如果對(duì)于實(shí)體集A中每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱(chēng)實(shí)體集A與實(shí)體集B之間是一對(duì)多聯(lián)系,記作1:n。那么根據(jù)題意可知是多對(duì)一聯(lián)系。所以選項(xiàng)C是正確的。
17.DD?!窘馕觥勘究虻腜asswordChar屬性用來(lái)指定文本框是顯示用戶(hù)輸入的字符還是顯示占位符,指定用做占位符的字符。
18.Dfprintf函數(shù)和fscanf函數(shù)都可以讀寫(xiě)文本文件,而fwrite和fread函數(shù)可以讀寫(xiě)二進(jìn)制文件,選項(xiàng)A、C錯(cuò)誤;文件以“r”方式打開(kāi)后,只可以讀取文本數(shù)據(jù),選項(xiàng)B錯(cuò)誤。故本題答案為D選項(xiàng)。
19.D
20.D解析:在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0;C語(yǔ)言規(guī)定,對(duì)于二維數(shù)組,只可以省略第1個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第2個(gè)方括號(hào)中的常量表達(dá)式;賦的初值不能多于事先定義好的數(shù)組元素個(gè)數(shù)。
在選項(xiàng)D)賦值表達(dá)式中,對(duì)每一維的元素賦初值應(yīng)用{},而不是()。
21.1515解析:在函數(shù)fun(intx)中定義了局部靜態(tài)整形變量t,并初始化為0。這個(gè)函數(shù)的返回值為t+x。所以在主函數(shù)的for循環(huán)中,5次連續(xù)調(diào)用fun(i),實(shí)現(xiàn)了從1到5連續(xù)數(shù)字的相加運(yùn)算。因而最后結(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后括號(hào)中的判斷條件為兩個(gè)字符串相同位置上的字符相等,且兩個(gè)字符串都沒(méi)有結(jié)束,則循環(huán)。故第一空應(yīng)該填s[i]&&t[i]或其他等價(jià)表達(dá)式。如果兩個(gè)字符串完全相等,則while循環(huán)退出時(shí)s[i]和t[i]的值同時(shí)為0,否則s[i]和t[i]不相等。故表達(dá)式s[i]-t[i]在字符串相等時(shí)為0,不相等時(shí)為非0,所以第二空應(yīng)該填!(s[i]-t[i])就滿(mǎn)足題意了。
24.#include<string.h>str[i]0
25.33解析:本題考查的是C語(yǔ)言逗號(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。
26.n2+1
27.BB解析:因?yàn)閏是字符類(lèi)型變量,它只能接收一個(gè)字符,所以c=A,字符型變量在參與算術(shù)運(yùn)算的時(shí)候是用其相應(yīng)的ASCII碼參與運(yùn)算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應(yīng)的字符,所以是B。
28.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對(duì)結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類(lèi)型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。
29.a[i][j]+b[i][j]a[i][j]+b[i][j]解析:此題是雙重for循環(huán)結(jié)構(gòu)應(yīng)用在了二維數(shù)組中。外層for循環(huán)用來(lái)控制二維數(shù)組的行,內(nèi)層for循環(huán)控制二維數(shù)組的列。
30.25811142581114解析:本題通過(guò)while和if語(yǔ)句,求得出1~15之間與3取模為2的整數(shù),并依次輸出。
31.3!feof(f1)3\r\n!feof(f1)解析:要實(shí)現(xiàn)文件復(fù)制,需要指定源文件及目的文件,因此在命令行下執(zhí)行程序時(shí)至少要指定兩個(gè)參數(shù),加上程序名本身,故argc的值至少為3,因此第一空應(yīng)填3。while循環(huán)中語(yǔ)句fputc(fgetc(f1),f2);的目的是將f1中的字符依次讀出并寫(xiě)入到f2對(duì)應(yīng)的文件中去,直至文件f1結(jié)束為止,因此第二空為!feof(f1)。
32.11<CR>23<CR>5(<CR代表?yè)Q行)11<CR>23<CR>5(<CR,代表?yè)Q行)解析:本題通過(guò)語(yǔ)句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”將數(shù)組中前面兩項(xiàng)的和賦值給數(shù)組當(dāng)前元素,得到a的值應(yīng)為(1,1,2,3,5)。語(yǔ)句if(i%2==0)pfintf('\\n')是要將數(shù)組中的元素以每行2個(gè)的形式輸出。
33.邏輯邏輯解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)。
34.continuecontinue解析:continue語(yǔ)句只是結(jié)束本次循環(huán),然后進(jìn)行循環(huán)的條件判定。break語(yǔ)句是終止整個(gè)循環(huán)的執(zhí)行,不再進(jìn)行條件判定。
35.return0或return(0)return1或return(1)return0或return(0)\r\nreturn1或return(1)解析:素?cái)?shù)是指只能被1和其本身整除,不能被其他任何整數(shù)整除的數(shù)。根據(jù)if條件語(yǔ)句,若形參a對(duì)i取余等于0,則形參a可以被其他數(shù)整除,所以第一處填return0;若形參a對(duì)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)實(shí)現(xiàn)將字符串str2連接到字符串str1后面,所以首先要找到字符串str1的串尾,根據(jù)C語(yǔ)言的語(yǔ)法規(guī)定,一個(gè)串的串尾—定是—個(gè)隱含字符“\\0”,而在程序中,對(duì)字符串中字符的訪問(wèn)是通過(guò)兩個(gè)指針變量來(lái)完成的,因此要找到字符串str1的串尾,要判斷:str1是否為“\\0”,要找到字符串str2的串尾,要判斷*str2是否為“\\0”,程序中必須以使字符串中字符逐—順序體現(xiàn),所以在題中我們應(yīng)填寫(xiě)“*str1”和“*str1++=*str2++”。
37.繼承繼承
38.55解析:分析程序,當(dāng)a=3;b=4;c=5時(shí),判斷語(yǔ)句a>b不成立,所以不執(zhí)行后面的語(yǔ)句,直接執(zhí)行“printf('%d\\n',c);”語(yǔ)句,輸出c的值,輸出結(jié)果為5。
39.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是幫助用戶(hù)創(chuàng)建和管理數(shù)據(jù)庫(kù)的應(yīng)用程序的集合。因此,數(shù)據(jù)庫(kù)管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶(hù)提供服務(wù)。
40.3010130101解析:注意地址自增與變量自增的區(qū)別。
41.D解析:在數(shù)據(jù)庫(kù)管理系統(tǒng)提供的數(shù)據(jù)語(yǔ)言中,數(shù)據(jù)控制語(yǔ)言負(fù)責(zé)數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。
42.A解析:本題考查指針變量作函數(shù)形參的問(wèn)題。指針變量作函數(shù)的形參,實(shí)現(xiàn)的是地址傳遞,形參的改變可以影響實(shí)參。fun由數(shù)的功能是將a所指數(shù)組中的內(nèi)容逆置。在main函數(shù)中調(diào)用fun函數(shù)后,實(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ù)按十六進(jìn)制格式輸出(不輸出前導(dǎo)符ox)。本題在執(zhí)行語(yǔ)句m+=n;后,m的值變?yōu)樽帜竎,又因?yàn)樵谳敵鯽-f時(shí),如果格式控制符用X,則以大寫(xiě)字母輸出;如果用x,則以小寫(xiě)字母輸出,故本題答案為A。
44.A解析:在函數(shù)的形參中使用int*類(lèi)型和使用int[]類(lèi)型并無(wú)區(qū)別,兩者都可用宋傳遞數(shù)組名或指針變量,所以func()函數(shù)的形參是兩個(gè)指針a和b,又因?yàn)閎[0]亦可寫(xiě)成*b,所以表達(dá)式b[0]=*a+6也可以寫(xiě)成*b=*a+6,其意思是:將a所指內(nèi)容加上6賦給b所指內(nèi)容。所以主函數(shù)中對(duì)func()的調(diào)用func(&a,b)可看成b[0]=a+6,所以最后b[0]的結(jié)果為6。正確答案為選項(xiàng)A。
45.A解析:按位與運(yùn)算符“&”中參加運(yùn)算的兩位都為1時(shí),其結(jié)果為1,否則結(jié)果為0,或位或運(yùn)算符“|”中參加運(yùn)算的兩位只要有一個(gè)為1,則結(jié)果為1,只有當(dāng)相應(yīng)的兩位都為0結(jié)果才為0。所以最后輸出a和b的值為7和0。
46.A解析:在函數(shù)fun1()中,首先將形參p的內(nèi)容存入臨時(shí)指針q中,然后使用—個(gè)while循環(huán),當(dāng)q所指內(nèi)容不是字符串結(jié)束標(biāo)志'\\0\'時(shí),讓q所指內(nèi)容增1,然后將指針q增1指向下一個(gè)位置。所以函數(shù)fun1()實(shí)現(xiàn)的功能是:將傳入字符串的所有字符自增1。主函數(shù),指針p在被傳入fun1()函數(shù)之前,初始化指向的是寧符數(shù)組a的第4個(gè)元素\'g\',所以最終輸出的結(jié)果應(yīng)該是Prohsbn。故應(yīng)該選擇A。
47.D解析:選項(xiàng)A)的語(yǔ)句表示若a非0,則輸出x的值,否則輸出y的值;選項(xiàng)B)的語(yǔ)句表示如果a等于o,則輸出y的值,否則輸出x的值,與選項(xiàng)A)等價(jià);選項(xiàng)C)的語(yǔ)句表示如果a不等于0,則輸出x,否則輸出y,與選項(xiàng)A)、B)相同;選項(xiàng)D)的語(yǔ)句表示如果a為0,則輸出x,否則輸出y,與前三個(gè)選項(xiàng)都不同。
48.A解析:scanf()函數(shù)的功能是進(jìn)行輸入數(shù)據(jù),它是按格式參數(shù)的要求從終端上把數(shù)據(jù)傳送到地址參數(shù)所指定的內(nèi)存空間中,C語(yǔ)言允許程序員間接地使用內(nèi)存地址,這個(gè)地址是通過(guò)對(duì)變量名“求地址”運(yùn)算得到的,求地址的運(yùn)算符是&,得到的地址是一種符號(hào)地址。本題中定義了整型變量a和一個(gè)指向整型數(shù)據(jù)的指針變量pa,并定義pa是一個(gè)存放a的地址的變量。選項(xiàng)B中應(yīng)該將a改為&a;選項(xiàng)C應(yīng)該將&pa改為pa,因?yàn)閜a已經(jīng)表示存放a的地址;選項(xiàng)D中*pa表示的是指針pa所指向存儲(chǔ)空間的變量的值,而不是一個(gè)地址。
49.C
50.B解析:本題考查while語(yǔ)句的使用。本題考查邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符'!'的優(yōu)先級(jí)大于不等于運(yùn)算符'!='的優(yōu)先級(jí)。
51.D解析:電子郵件是利用Internet網(wǎng)傳送信件,不是檢索服務(wù),由于信件只發(fā)給收信人,所以不是公告信息,并不是一發(fā)信就必須要收信人立即接收,而是信件存放在郵箱中,收信人在需要的時(shí)候再取出。
52.D
53.A解析:頭文件<string.h>是字符串處理函數(shù)對(duì)應(yīng)的頭文件,要想調(diào)用C語(yǔ)言的庫(kù)函數(shù)時(shí),都要在程序中嵌入該函數(shù)對(duì)應(yīng)的頭文件,否則無(wú)法使用庫(kù)函數(shù)。
strcpy(s1,s2)把s2中的字符串復(fù)制到s1中,所以結(jié)果就為s2的長(zhǎng)度。
54.B解析:數(shù)據(jù)元素在計(jì)算機(jī)存儲(chǔ)空間中的位置關(guān)系與它們的邏輯關(guān)系不一定是相同的,而且一般不可能相同。數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱(chēng)為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),也稱(chēng)數(shù)據(jù)的物理結(jié)構(gòu)。
55.C
56.D解析:耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),是互相關(guān)聯(lián)的。在程序設(shè)計(jì)中,各模塊間的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚、低耦合,有利于提高模塊的獨(dú)立性。
57.C解析:本題考查.do…while循環(huán)。在do…while循環(huán)中,當(dāng)表達(dá)式的值為非零(真)時(shí),執(zhí)行循環(huán),不能與其等價(jià)的是為零的表達(dá)式,即(exp==0)。
58.C
59.C解析:函數(shù)說(shuō)明語(yǔ)句中的類(lèi)型名必須與函數(shù)返回值的類(lèi)型一致。本題實(shí)現(xiàn)的是在字符,A,的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。
60.D解析:注意的是x++中x值的引用時(shí),這里應(yīng)當(dāng)是先引用,后自加,具體執(zhí)行過(guò)程如下:第—次while循環(huán):條件為真,執(zhí)行a=a+1=1;此時(shí),x的值已為4,判斷y<x不成立,繼續(xù)執(zhí)行循環(huán);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版機(jī)電設(shè)備安裝合同范本
- 2024版學(xué)校廢物管理承包合同3篇
- 2025年度電子元器件展參展商權(quán)益保障協(xié)議模板3篇
- 2025年度城市垃圾分類(lèi)處理承包合同3篇
- 2025年度房屋租賃管理及押金合同4篇
- 二零二四平安普惠企業(yè)融資借款合同3篇
- 2025版路燈設(shè)施智能監(jiān)控系統(tǒng)建設(shè)合同4篇
- 2025年度高新技術(shù)產(chǎn)業(yè)園區(qū)廠房租賃合同補(bǔ)充協(xié)議3篇
- 2024離婚訴訟費(fèi)用分擔(dān)及財(cái)產(chǎn)處理合同
- 2025年度旅游景區(qū)旅游安全風(fēng)險(xiǎn)評(píng)估與應(yīng)急預(yù)案合同4篇
- 安徽省合肥市2021-2022學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)3
- 教育專(zhuān)家報(bào)告合集:年度得到:沈祖蕓全球教育報(bào)告(2023-2024)
- 肝臟腫瘤護(hù)理查房
- 護(hù)士工作壓力管理護(hù)理工作中的壓力應(yīng)對(duì)策略
- 2023年日語(yǔ)考試:大學(xué)日語(yǔ)六級(jí)真題模擬匯編(共479題)
- 皮帶拆除安全技術(shù)措施
- ISO9001(2015版)質(zhì)量體系標(biāo)準(zhǔn)講解
- 《培訓(xùn)資料緊固》課件
- 黑龍江省政府采購(gòu)評(píng)標(biāo)專(zhuān)家考試題
- 成品煙道安裝施工方案
- 醫(yī)療免責(zé)協(xié)議書(shū)范本
評(píng)論
0/150
提交評(píng)論