




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年山東省泰安市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.運(yùn)行下面程序段的輸出結(jié)果是().A.A.Set
B.Setup
C.Setup
D.'S''e''t'
2.有如下程序:#include<stdio.h>msin(){chars[]="ABCD",*P;for(p=s+1;p<s+4;p++)Printf("%s\n",p);}該程序的輸出結(jié)果是()。
A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD
3.設(shè)s1="Good",s2="",s3="Bye",則s1、s2和s3連接后的結(jié)果是()。
A.GoodB.GoodByeC.GoodByeD.Bye
4.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是()。
A.數(shù)組a和b的長度相同B.a數(shù)組長度小于b數(shù)組長度C.a數(shù)組長度大于b數(shù)組長度D.以述說法都不對
5.a、b和c都是int型變量,且a=3,b=4,c=5,則下面的表達(dá)式中,值為0的表達(dá)式是()
A.'a'&&'b
B.a<=b
C.ab+c&&b-c
D.!((a<b)&&!c1)
6.恢復(fù)系統(tǒng)默認(rèn)菜單的命令是()。
A.SETMENUTODEFAULT
B.SETSYSMENUTODEFAULT
C.SETSYSTEMMENUTODEFAULT
D.SETSYSTEMTODEFAULT
7.若有下列說明語句int(*p)();則標(biāo)識(shí)符p代表的是()
A.一個(gè)用于指向函數(shù)的指針變量,函數(shù)返回值的類型為int型
B.一個(gè)帶回值類型為整型的函數(shù)名
C.一個(gè)用于指向整型數(shù)據(jù)的指針變量
D.一個(gè)帶回值類型為指針類型的函數(shù)名
8.
9.有以下程序:viodfun(inta,intb,intc){a=456;b=567;c=678;}main{intx=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}輸出的結(jié)果是()。A.30,20,10B.10,20,30C.456,567,678D.678,567,456
10.在inta=3,int*p=&a;中,*p的值是()
A.變量a的地址值B.無意義C.變量p的地址值D.3
11.在16位IBM-PC機(jī)上使用C語言,若有如下定義structdata{inti;charch;doublef;}b;則結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)是
A.1B.2C.7D.11
12.在有向圖G的拓?fù)湫蛄兄校繇旤c(diǎn)Vi在頂點(diǎn)Vj之前,則下列情形不可能出現(xiàn)的是()。
A.G中有弧
B.G中有一條從Vi到Vj的路徑
C.G中沒有弧
D.G中有一條從Vj到Vi的路徑
13.下列字符數(shù)組初始化語句中,不正確的是()。
A.charc[]=goodmorning;
B.charc[20]="goodmorning";
C.charc[]={a,b,c,d);
D.charc[]={"ffgoodmorning"};
14.有3個(gè)關(guān)系R、S和T如下.
則由關(guān)系R和S得到關(guān)系T的操作是()。A.自然連接B.差C.交D.并
15.棧的特點(diǎn)是B,隊(duì)列的特點(diǎn)是()。
A.先進(jìn)先出B.先進(jìn)后出
16.
17.若有以下的說明和語句,則在執(zhí)行for語句后,’(*(pt+1)+2)表示的數(shù)組元素是()。intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
18.若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組元素的地址為()。
A.334HB.30DHC.352HD.31AH
19.下列關(guān)于數(shù)據(jù)結(jié)構(gòu)的敘述中,正確的是()。
A.數(shù)組是同類型值的集合
B.遞歸算法的程序結(jié)構(gòu)比迭代算法的程序結(jié)構(gòu)更為精煉
C.樹是一種線性結(jié)構(gòu)
D.用一維數(shù)組存儲(chǔ)二叉樹,總是以先序遍歷的順序存儲(chǔ)各結(jié)點(diǎn)
20.假設(shè)下圖中每個(gè)正方形的邊長為1,則從A到Z的最短路徑條數(shù)為()A.11B.12C.13D.14
二、2.填空題(20題)21.執(zhí)行以下程序后,輸出“#”的個(gè)數(shù)是【】。
#include<stdio.h>
main()
{inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)putchar('#');
}
22.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對應(yīng)一個(gè)處理模塊。
23.下面的程序把從終端讀入的文本(用@作為文本結(jié)束標(biāo)志)輸出到一個(gè)名為bi.dat的新文件中,請?zhí)羁铡?/p>
#include<stdio.h>
#include<stdlib.h>
FILE*fp;
main()
{charch;
if((fp=fopen(【】))==NULL)exit(0);
while((ch=getchar())!='@')fputc(ch,fp);
fclose(fp);
}
24.函數(shù)fun的功能是計(jì)算xn
doublefun(doublex,intn)
{inti;doubley=1;
for(i=1;i<=n;i++)y=y*x;
returny;
}
主函數(shù)中已正確定義m、a、b變量并賦值,并調(diào)用fun函數(shù)計(jì)算:m=a4+b4-(a+b)3。實(shí)現(xiàn)這一計(jì)算的函數(shù)調(diào)節(jié)器用語句為______。
25.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。
26.以下程序的輸出結(jié)果是【】。
doublesub(doublex,doubley,doublez)
{y-=1.0;
z=z+x;
returnz;
}
main()
{doublea=2.5,b=9.0;
printf("functionrunningresultis:%6.1f\n",sub(b-a,a,A));
}
27.在宏定義#definePI3.14159中,用宏名PI代替一個(gè)______。
28.定義inta=5,b;,則執(zhí)行表達(dá)式b=++a*--a之后,變量b的值為【】。
29.mystrlen函數(shù)的功能是計(jì)算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;【】!='\0';i++);
return(【】);
}
30.以下程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf("%d",*p);
}
31.下列程序的輸出結(jié)果【】。
#definePR(ar)printf("ar=%d",ar)
main()
{intj,a[]={1,3,5,7,9,1l,13,1},*p=a+5;
for(j=3;j;j--)
switch(j)
{case1:
case2:PR(*p++);break;
case3:PR(*(--p));}}
32.數(shù)據(jù)庫保護(hù)分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。
33.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
chara[]="123456789",*p;
inti=0;
p=a;
while(*p)
{
if(i%2==0)
*p='*';
p++;i++;
}
puts(a);
}
34.一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的【】。
35.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inta=3,b=4,c=5,t=99;
if(b<a&&a<c)t=-a;a=c;c=t;
if(a<c&&b<c)t=b;b=a;a=t;
printf("%d%d%d\n",a,b,c);
}
36.以下程序的功能是建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過鍵盤輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的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();}
37.以下程序是用遞歸方法求數(shù)組中的最大值及其下標(biāo)值。請?zhí)羁铡?/p>
#defineM10
voidfindmax(int*a,intn,inti,int*pk)
{if(i<n)
{if(a[i]>a[*pk])【】;
findmax(a,n,i+1,&(*pk));}}
main()
{inta[M],j,n=0;
printf("\nEnter%ddata;\n",M);
for(i=0;i<M;i++)scanf("%d",a+i);
findmax(a,M,0,&n);
printf("Themaxinumis:%d\n",a[n]);
printf("It'sindexis;%d\n",n);}
38.下面的程序?yàn)?個(gè)整型變量A、B、C、D、E、F輸入整數(shù),并按從大到小的順序輸出整數(shù)及其所對應(yīng)的變量名。例如,輸入的數(shù)為3、2、5、7、4、6,則輸出的形式為:D(7)F(6)C(5)E(4)A(3)B(2)。
#include<stdio.h>
intA,B,C,D,E,F(xiàn);
struct
{
charn;
【】;
}tb1[]={{'A',&A},{'B',&B},{'C',&c},{'D',&D),{'E',&E},{'F',&F}},t;
main()
{
inti,j;
for(i=0;i<6;i++)scanf("%d",【】);
for(i=0;i<5;i++)
for(j=0;j<5-i;j++)
if(【】)
{
t=tb1[j];
tb1[j]=tb1[j+1];
tb1[j+1]=t;
}
for(i=0;i<6;i++)printf("%c(%d)",tb1[i].n,*tb1[i].p);
printf("\n");
}
39.以下程序給指針p分配三個(gè)double型動(dòng)態(tài)內(nèi)存單元,請?zhí)羁铡?/p>
#include<stdio.h>
#include<stdlib.h>
main()
{double*p;
p=(double*)malloc(【】);
p[0]=1.5;p[1]=2.5;P[2]=3.5;
printf("%f%f%f\n",p[0],p[1],p[2]);
}
40.下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){chara[80],*p="AbabCDcd";inti=0,j=0;while(*(p++)!='\0'){if(*p>='a'&&*p<='z'){a[i]=*p;i++;}}a[i]='\0';puts(A);}
三、1.選擇題(20題)41.若有定義:"inta[2][3];"則對a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
42.設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為()。
A.intB.floatC.doubleD.不確定
43.軟件系統(tǒng)生命周期的第一個(gè)階段是______。
A.軟件分析階段B.軟件設(shè)計(jì)階段C.軟件運(yùn)行階段D.軟件維護(hù)階段
44.若有以下定義的語句
structstudent
{intage;
intnum;};
structstudentstu[3]={{1001,20},{1002,19},{1003,21}};
main()
{structstudent*p;
p=stu;
…}
則以下不正確的引用是
A.(p++)->numB.p++C.(*p).numD.P=&stu.age.
45.以下程序的輸出結(jié)果是()main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,i,t=1;for(i=0:i<3;i++)for(j=j(luò);j<=i;j++)t=t+b[i][j]printf("%d\n",t);}
A.3B.4C.1D.9
46.具有3個(gè)結(jié)點(diǎn)的二叉樹有
A.2種形態(tài)B.4種形態(tài)C.7種形態(tài)D.5種形態(tài)
47.
下列程序的運(yùn)行結(jié)果是()。
inty=5,x=14;
y=((x=3*Y,x+1),x-1);
printf("x=%d,y=%d",x,y);
A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27
48.有以下程序:#inelude<stdio.h>main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){fi(j%2)continue;x++;x++;}pfinff("x=%d\n",x);}程序執(zhí)行后的輸出結(jié)果是()。
A.x=4B.x=8C.x=6D.x=12
49.下列敘述中錯(cuò)誤的是A.計(jì)算機(jī)不能直接執(zhí)行用C語言編寫的源程序
B.C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個(gè)二進(jìn)制文件
C.后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個(gè)二進(jìn)制文件
D.后綴為.obj和.exe的二進(jìn)制文件都可以直接運(yùn)行
50.有以下程序intfa(intx){returnx*x;}intfb(intx){returnx*x*x;}intf(int(*f1)(),int(*f2)(),intx){returnf2(x)-f1(x);}main(){inti;i-f(fa,fb,2);printf("%d\n",i);}程序運(yùn)行后的輸出結(jié)果是
A.4B.1C.4D.8
51.下列語句中,在字符串s1和s2相等時(shí)顯示“theyareEqual”的是()。
A.if(*s1==*s2)puts("theyareEqual");
B.if(!strcmp(s1,s2))puts("theyareEqual");
C.if(s1==s2)Puts("theyareEqual");
D.if(strcmp(s1,s2))puts("theyareEqual");
52.設(shè)a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達(dá)式中,值為0的表達(dá)式是______。
A.'a'&&'b'
B.a<=b
C.a||+c&&b-c
D.!((a<b)&&!c||1)
53.下列程序段的輸出結(jié)果是()。chara=9,b=020;prihtf("%o\n",~a&b<<1);
A.100000B.8C.40D.77
54.以下對枚舉類型名的定義中正確的是______。
A.enuma={one,two,three};
B.enuma{on=9,two=-1,three};
C.enuma={"one","two","three"};
D.enuma{"one","two","three"};
55.用樹形結(jié)構(gòu)來表示實(shí)體之間聯(lián)系的模型稱為______。
A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上3個(gè)都是
56.以下程序運(yùn)行后,輸出結(jié)果是()main(){charch[2][5]={"693","825"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(j=0;j<2;j++)for(j=0;p[i][j]>='0'&&p[i][j]<='9';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}
A.6385B.22C.33D.693825
57.以下程序運(yùn)行后的輸出結(jié)果是______。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);returnd;}main(){inta=3;printf("%d\n",fun(a+fun(d)));}
A.699B.669C.61515D.6615
58.以下有4組用戶標(biāo)識(shí)符,其中合法的一組是()。
A.FOr-subCase
B.4dDOSize
C.f2_G3IFabc
D.WORDvoiddefine
59.若t為doudle類型,表達(dá)式t=1,t+5,t++的值是()
A.1B.6C.2D.1
60.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'3'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf("\n");}從第一列開始輸入數(shù)據(jù)(<CR>代表…個(gè)回車符):3845<CR>,則狴序輸出結(jié)果為()。
A.77889B.77868C.776810D.7.78866e+007
四、選擇題(20題)61.若有“doublea;”,則正確的輸入語句是()。A.A.scanf("%1f",a);
B.scanf("%f",&a);
C.scanf("%1f",&a);
D.scanf("1e",&a);
62.
有以下程序:
#include<stdio.1l>
voidWriteStr(char*fn.char*str)
{FILE*fp;
fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}
main
{WriteStr("tl.dat","start");
WriteStr("t1.dat","end");)
程序運(yùn)行后,文件t1.dat中的內(nèi)容是()。
A.startB.endC.startendD.endrt
63.(21)算法的空間復(fù)雜度是指______。
A.算法程序的長度
B.算法程序中的指令條數(shù)
C.算法程序所占的存儲(chǔ)空間
D.算法執(zhí)行過程中所需要的存儲(chǔ)空間
64.
65.
有以下程序:
main
{inta=0,b=0;
a=10;/*給a賦值
b=20;給b賦值*/
printf("a+b=%d\n",a+b);//輸出計(jì)算機(jī)結(jié)果
}
程序運(yùn)行后的輸出結(jié)果是()。
A.a+b=10B.a+b=30C.30D.出錯(cuò)
66.以下選項(xiàng)中正確的定義語句是()。
67.在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是()。
A.PDL(過程設(shè)計(jì)語言)B.PAD圖C.N-S圖D.DFD圖
68.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是()。
A.115LB.0118C.1.5elD.0115
69.下列選項(xiàng)中屬于軟件生命周期中開發(fā)階段任務(wù)的是()。
A.詳細(xì)設(shè)計(jì)B.運(yùn)行維護(hù)C.可行性研究D.需求分析
70.以下關(guān)于宏的敘述中正確的是()。
A.宏替換沒有數(shù)據(jù)類型限制
B.宏定義必須位于源程序中所有語句之前
C.宏名必須用大寫字母表示
D.宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間
71.假設(shè)a和b為int型變量,則執(zhí)行以下語句后b的值為()。a=1;b=10;do{b-=a;a++;}while(b--<0);A.9B.-2C.-lD.8
72.下面關(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ù)
73.以下程序的輸出結(jié)果是()。
A.678910
B.13579
C.12345
D.62345
74.若有如下定義,則__________是對數(shù)組元素的正確的引用。.
inta[10],*p;p=a;
A.*&a[10]B.a[11]C.*(p+11)D.*p*p*p
75.若有定義語句:“intkl一10,k2=20;”,執(zhí)行表達(dá)式(kl=kl>k2)(k2=k2>
k1)后,kl和k2的值分別為()。
A.0和1B.0和20C.10和1D.10和20
76.軟件開發(fā)中需求分析的主要任務(wù)是()。
A.定義和描述目標(biāo)系統(tǒng)“做什么”B.獲取需求C.給出軟件解決方案D.需求評審
77.
78.(24)對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是()
A.程序應(yīng)簡單、清晰、可讀性好
B.符號名的命名要符合語法
C.充分考慮程序的執(zhí)行效率
D.程序的注釋可有可無
79.
80.以下敘述中錯(cuò)誤的是()。
A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C.C語言是-種結(jié)構(gòu)化程序設(shè)計(jì)語言
D.結(jié)構(gòu)化程序設(shè)計(jì)提倡模塊化的設(shè)計(jì)方法
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:逐個(gè)比較P.q所指兩個(gè)字符串對應(yīng)位置上的字符,并把ASCIl值大或相等的字符依次存放到C所指的數(shù)組中,形成一個(gè)新的字符串。
例如,若主函數(shù)中a字符串為“aBCDeFgH”,b字符串為“Abed”,則C中的字符串應(yīng)為“aBcdeFgH”。請改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
六、程序設(shè)計(jì)題(1題)82.請編寫函數(shù)proc(),其功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存入XX所指數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過k傳回。例如,輸入20,則應(yīng)輸出4689101214151618。注意:部分源程序給出如下。請勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.A
2.D解析:本題考查指向字符串指針的運(yùn)算方法。執(zhí)行p=s+1后,指針變量p就指向字符串中的第二個(gè)字符“B”,然后輸出字符串“BCD”并換行;下面繼續(xù)執(zhí)行循環(huán)語句,指針變量p指向下一個(gè)字符“C”,輸出字符串“CD”,最后一次循環(huán),p指向字符“D”,輸出字符串“D”。
3.C
4.C解析:對字符型一維數(shù)組在定義時(shí)初始化,既可以使用初始化列表,也可以使用字符串常量。不過由于字符串常量會(huì)自動(dòng)在結(jié)尾添加\'\\0\',字符做結(jié)束標(biāo)志,所以用字符串常量的初始化列表項(xiàng)個(gè)數(shù)是字符串的長度加1。因此題目中的chara[]='xyz';等價(jià)于chara[]={\'x\',\'y\',\'z\',\'\\0\');,所以a數(shù)組長度大于b數(shù)組長度,應(yīng)該選C。
5.D
6.BB?!窘馕觥靠疾椴藛巍T诓藛沃谢謴?fù)系統(tǒng)菜單用的是SETSYSMENUTODEFAULT。所以答案選擇B。
7.A
8.C
9.B本題考查實(shí)參與形參調(diào)用,從實(shí)參傳遞到形參時(shí),只是數(shù)值的傳遞,調(diào)用函數(shù)中值的改變不會(huì)影響主函數(shù)中的值,因此原樣輸出。
10.D
11.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é),三者相加即可。
12.D若G中有一條從Vj到Vi的路徑,則圖的拓?fù)湫蛄兄许旤c(diǎn)Vj在頂點(diǎn)Vi之前。設(shè)G(V,E)是一個(gè)具有n個(gè)頂點(diǎn)的有向圖,V中頂點(diǎn)的序列v1,v2,…,vn稱為一個(gè)拓?fù)湫蛄?,?dāng)且僅當(dāng)該頂點(diǎn)滿足下列條件:若在有向圖G中,從頂點(diǎn)vi在vj有一條路徑,則在拓?fù)湫蛄兄许旤c(diǎn)vi必須排在頂點(diǎn)vj之前。
13.A本題考查兩個(gè)概念:①用單引號括起來的一個(gè)字符常量只能存放一個(gè)字符;②℃語言中沒有字符串變量,只能用字符數(shù)組來存儲(chǔ)字符串。
14.B關(guān)系之間的操作分為自然連接、投影、交、并、差等,由圖可知此操作為差操作。
15.A
16.C
17.C從for循環(huán)可知pt是指向行的首地址的指針變量,因此由指針的表示方法可知:*(*(pt+1)+2)=pt[1][2]=t[1][2]。
18.C解析:解答本題,首先要明白在對指針進(jìn)行加、減運(yùn)算的時(shí)候,數(shù)字“1”不是十進(jìn)制的數(shù)“1”,而是指'1'個(gè)存儲(chǔ)單元長度,而1個(gè)存儲(chǔ)單元長度占多少存儲(chǔ)空間,應(yīng)該視具體情況而定。如果基本類型是int型,移動(dòng)1個(gè)存儲(chǔ)單元的長度就是位移2個(gè)字節(jié),如果基本類型是float型,移動(dòng)1個(gè)存儲(chǔ)單元的長度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址:300H+(13*上標(biāo))4)H=352H。
19.B
20.C
21.66解析:本題考察的是一個(gè)嵌套的循環(huán),當(dāng)滿足j<=i時(shí),輸出一個(gè)“#”號,符合條件的有i=2,j=2;i=3,j=2;i=3,j=3;i=4,j=2;i=4,j=3;i=4,j=4,共輸出6個(gè)“#”。
22.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。其中的每一個(gè)加工對應(yīng)一個(gè)處理模塊。
23.bi.dat"w"或"bi.dat""w+"bi.dat,'w'或'bi.dat','w+'解析:根據(jù)fopen函數(shù)的調(diào)用方式fopen(文件名,使用文件方式)和題意可得結(jié)果。
24.m=fun(a4)+fun(b4)-fun(a+b3);m=fun(a,4)+fun(b,4)-fun(a+b,3);解析:本題考核的知識(shí)點(diǎn)是C程序的簡單應(yīng)用。函數(shù)fua(x,n)的作用是求x的n次方,因此a的4次方應(yīng)該調(diào)用函數(shù)tim(a,4),b的4次方應(yīng)該調(diào)用函數(shù)fun(b,4),a+b的3次方應(yīng)該調(diào)用函數(shù)fun(a+b,3),所以題目中的數(shù)學(xué)表達(dá)式,寫成C程序中的語句為m=fun(a,4)+fun(b,4)-fun(a+b,3)。
25.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。
26.functionrunningresultis:9.0
27.字符串字符串解析:本題考查字符替換格式:#define標(biāo)識(shí)符字符串。
28.2525解析:#NAME?
29.str[i]或str+iistr[i]或str+i\r\ni
30.指針P指向數(shù)組a的首地址,執(zhí)行語句p++;后p指向數(shù)組a的第2個(gè)元素的地址,即a[1]的地址,因此*p=a[1]=4。\r\n\r\n
31.ar=9ar=9ar=11ar=9ar=9ar=11解析:本題綜合考查了for循環(huán),switch語句及宏替換等幾個(gè)知識(shí)點(diǎn)。j=3時(shí),執(zhí)行PR(*(--p));輸出數(shù)組元素a[4]的值;j=2時(shí),執(zhí)行PR(*p++);取出p所指位置的元素a[4],然后p++;當(dāng)j=1時(shí),執(zhí)行PR(*p++);取得是數(shù)組元素a[6]的值11。
32.完整性控制完整性控制
33.*2*4*6*8**2*4*6*8*解析:程序中定義了一個(gè)字符數(shù)組a,并初始化為123456789,接著定義了一個(gè)指針p并讓它指向數(shù)組a,緊接著執(zhí)行了一個(gè)while循環(huán),此循環(huán)的作用是:當(dāng)i為偶數(shù)時(shí),將“*”賦給a[i],p指向數(shù)組末尾,循環(huán)結(jié)束,此時(shí)數(shù)組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調(diào)用puts()函數(shù)輸出的a的值為*2*4*6*8*
34.可重用性繼承的優(yōu)點(diǎn):相似的對象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序中的冗余,提高軟件的可重用性。
35.45994599解析:if語句只對緊跟其后的一條語句或語句塊產(chǎn)生作用。因此,題目中兩條if語句只有t=a;和t=b是if的子句。第1條if語句中b<a為假,所以跳過語句t=-a;,執(zhí)行a=c;c=t,a=5、b=4、c=99。第2條if語句的判斷條件a<c&&b<c為真,所以后面3條語句都被執(zhí)行,這3條語句構(gòu)成一次a和b的內(nèi)容交換。所以最后輸出的結(jié)果是:4599。
36.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。
37.*pk=a[i]*pk=a[i]解析:通過參數(shù)傳遞,findmax函數(shù)接收到4個(gè)參數(shù),分別是數(shù)組a(需要對其中的數(shù)據(jù)按照題目的要求進(jìn)行計(jì)算)、10(數(shù)組a中的元素個(gè)數(shù))、0(數(shù)組a的起始位置)、指針變量n(對數(shù)組a中的元素進(jìn)行遍歷)。我們了解了這些參數(shù)的作用后,再對遞歸調(diào)用的函數(shù)進(jìn)行分析,就不難得出結(jié)論了。注意:通過對本例中遞歸函數(shù)的分析掌握遞歸算法的執(zhí)行原理。
38.int*ptb1[i].p*tb1[j].p<*tb1[j+1].p
39.3*sizeof(double)或243*sizeof(double)或24解析:觀察程序可知,本題要求用malloc函數(shù)分配三個(gè)double型的動(dòng)態(tài)內(nèi)存單元。
40.babcdbabcd解析:C語言中“\\0”表示字符串的結(jié)束。程序?qū)指針指向字符串“AbabCDcd”的首地址,循環(huán)開始后若指針不是指向當(dāng)前字符串的結(jié)束標(biāo)志位,則進(jìn)入循環(huán)體。循環(huán)中每次檢驗(yàn)字符串中字母是否在'a'與'z'之間,若滿足則將當(dāng)前值賦值給數(shù)組a,最后給數(shù)組添加字符結(jié)束標(biāo)志。此程序可以篩選出字符串中的小寫字母。
41.A解析:本題考查如何通過地址來引用數(shù)組元素。通過地址來引用數(shù)組元素的方法有下列5種:
①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i][j];⑤*(&a[0][0]+3*i+j)。
42.C解析:根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。
43.A解析:軟件工程的第一個(gè)階段是軟件分析階段。軟件分析階段的工作是由軟件分析員和用戶一起來做的。軟件分析的結(jié)果是分析人員寫出的分析報(bào)告,該分析報(bào)告實(shí)際上就是軟件系統(tǒng)的系統(tǒng)總體設(shè)計(jì)方案。
44.D解析:考查對結(jié)構(gòu)體成員的引用方法。結(jié)構(gòu)體成員的引用可以用'結(jié)構(gòu)體變量名.成員名'或者'結(jié)構(gòu)體變量指針->成員名'兩種方式來引用。
45.B
46.D解析:因?yàn)槎鏄溆凶?、右子樹之分,所以?個(gè)結(jié)點(diǎn)的二叉樹具有5種不同的形態(tài)。
47.C解析:逗號表達(dá)式的求解步驟是先求解表達(dá)式1,然后依次求解表達(dá)式2,直到表達(dá)式N的值。整個(gè)逗號表達(dá)式的值就是最后一個(gè)表達(dá)式N的值。
表達(dá)式(x=3*y,x+1)中,第一個(gè)表達(dá)式x=3*y=3*5=15;第二個(gè)表達(dá)式x+1=16,但沒有給x或y賦值,所以x還是等于15;第3個(gè)表達(dá)式x-1=15-1=14,所以y的值為14。
48.B解析:本問題要求給出程序執(zhí)行后輸出的x的值。x的初值為0,程序中出現(xiàn)了3次x++,其中外層循環(huán)中出現(xiàn)了兩次,共自增了4次;在內(nèi)層循環(huán)中,當(dāng)循環(huán)變量為。和2時(shí),x自增,因此共自增了4次,這樣x共自增了8次,所以結(jié)果為8。
49.D
50.C解析:函數(shù)f()有3個(gè)形式參數(shù)f1、f2和x,其中f1、f2是指向函數(shù)的指針變量。在main()函數(shù)中執(zhí)行了函數(shù)調(diào)用“f(fa,fb,2)”,從而使f()的形式參數(shù)f1指向了fa,形式參數(shù)f2指向了fb,把實(shí)參2傳給了行參變量x。函數(shù)f()中的return語句中的相當(dāng)于“fb(2)-fa(2)”(fb(2)的返回值為2*2*2=8,fa(2)返回值為2*2=4)即(8-4),值為4.函數(shù)f()執(zhí)行后把返回值4賦給了i,輸出i的值是4.所以4個(gè)選項(xiàng)中C正確。
51.B解析:字符串比較不能用兩個(gè)等于號(==)來進(jìn)行比較,應(yīng)使用函數(shù)strcmp(s1,s2)來比較。函數(shù)strcmp(s1,s2)的功能是:當(dāng)字符串s1和s2相等時(shí),返回值為0。因此,當(dāng)表達(dá)式!strcmp(s1,s2)=1時(shí),條件成立,執(zhí)行后面的語句,輸出theyareEqual。
52.D解析:選項(xiàng)A:'a'&&'b'是字符a與b的相與,不為0:選項(xiàng)B:a<=b,由題中變量賦值可知,結(jié)果為1。選項(xiàng)C:a||+c&&b-c,結(jié)果為1;選項(xiàng)D:!((a<B)&&!c||1),運(yùn)算結(jié)果為0。
53.C解析:將變量a按位求反,再與b按位與,最后左移1位。9的二進(jìn)制表示為00001001,020的二進(jìn)制表示為00010000。a按位求反為11110110,再與b按位與結(jié)果為00010000,左移1位結(jié)果為00100000。按八進(jìn)制輸出為040。
54.B解析:聲明枚舉類型用enum開頭。例如:enumweekday(sun,mon,tue,wed,thu,fri,sat);說明;1、在C編譯中,對枚單元素按常量處理,同時(shí)可以改變他們的值。2、枚舉值可以用來做判斷比較。3、一個(gè)整數(shù)不能直接賦給一個(gè)牧舉變量。
55.C解析:層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),這種結(jié)構(gòu)方式在現(xiàn)實(shí)世界中很普遍,如家族結(jié)構(gòu)、行政組織機(jī)構(gòu)等,它們自頂向下、層次分明。由第一章樹的知識(shí),知道任一樹結(jié)構(gòu)均有下列特性:(1)每棵樹有且僅有一個(gè)無雙親結(jié)點(diǎn),稱為根(root)。(2)樹中除根外所有結(jié)點(diǎn)有且僅有一個(gè)雙親。因此,樹結(jié)構(gòu)是受到一定限制的,從E-R模型觀點(diǎn)看,它對于聯(lián)系也加上了許多限制。
56.A
57.C解析:靜態(tài)局部變量在編譯時(shí)賦初值,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值,而對自動(dòng)變量賦初值,不是在編譯時(shí)進(jìn)行的,而在函數(shù)調(diào)用時(shí)進(jìn)行,每調(diào)用一次函數(shù)重新給一次初值,相當(dāng)于執(zhí)行一次賦值語句。本題在程序開頭定義了全局變量d并賦初值1,在被調(diào)函數(shù)fun()中,定義了靜態(tài)局部變量d,初值為5。在第一次調(diào)用函數(shù)fun時(shí),d初值為5,p由主函數(shù)傳遞過來的值為1,則d=d+p=5+1=6,由于d是靜態(tài)局部變量,在函數(shù)調(diào)用結(jié)束后,它仍保留d=6。再次調(diào)用fun函數(shù),d的初值為6,而由主函數(shù)傳遞的p的值為9,則此時(shí)d=d+p=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水產(chǎn)養(yǎng)殖監(jiān)測系統(tǒng)設(shè)計(jì)與制造考核試卷
- 旅游客運(yùn)安全風(fēng)險(xiǎn)防控與處理考核試卷
- 森林公園生態(tài)旅游環(huán)境保護(hù)與生態(tài)文明建設(shè)考核試卷
- 合成氣制聚甲醛技術(shù)考核試卷
- 體育組織賽事運(yùn)動(dòng)員表彰大會(huì)組織考核試卷
- 收藏品與藝術(shù)品鑒賞出版考核試卷
- 廣播電視接收設(shè)備的可靠性與壽命測試考核試卷
- Unit 5 Fun Clubs Section B (1a-2b) 教學(xué)設(shè)計(jì) 2024-2025學(xué)年人教版(2024)七年級英語上冊
- 提升數(shù)學(xué)教學(xué)效果的策略研究計(jì)劃
- 完善班級信息溝通機(jī)制的計(jì)劃
- 《十萬個(gè)為什么》整本閱讀指導(dǎo)(導(dǎo)讀)
- 2024年全國職業(yè)院校技能大賽高職組(智能節(jié)水系統(tǒng)設(shè)計(jì)與安裝賽項(xiàng))考試題庫-下(多選、判斷題)
- (212題)2024綜合基礎(chǔ)知識(shí)考試題庫及解析
- 信息技術(shù)興趣小組活動(dòng)記錄
- 第十二章目標(biāo)識(shí)別課件
- 農(nóng)民田間學(xué)校規(guī)章制度
- 施工電梯基礎(chǔ)驗(yàn)算
- 校園共享雨傘 (修改)
- 2024年北京順義區(qū)招錄鄉(xiāng)村振興協(xié)理員招聘筆試沖刺題(帶答案解析)
- 2024年中四川廣安發(fā)展建設(shè)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 正確認(rèn)識(shí)人的本質(zhì) (修改版)
評論
0/150
提交評論