




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2021年內(nèi)蒙古自治區(qū)通遼市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.合法的數(shù)組初始化語句是()。
A.chara="string";
B.inta[5]={0,1,2,3,4,5};
C.inta[]="string"
D.chara[]={0,1,2,3,4,5};
2.以下敘述中錯誤的是()。
A.C語句必須以分號結束
B.復合語句在語法上被看作一條語句
C.空語句出現(xiàn)在任何位置都不會影響程序運行
D.賦值表達式末尾加分號就構成賦值語句
3.下列有關圖的遍歷說法中,不正確的是()
A.圖的遍歷必須用遞歸實現(xiàn)
B.基本遍歷算法兩種:深度遍歷和廣度遍歷
C.有向圖和無向圖都可以進行遍歷操作
D.圖的遍歷算法可以執(zhí)行在有回路的圖上
4.下面程序輸出的結果是main(){intx;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3+4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}
A.111-31B.11-321C.12-321D.11121
5.若有定義"int(*pt)[3];",則下列說法正確的是()。
A.定義了基類型為int的三個指針變量
B.定義了基類型為int的具有三個元素的指針數(shù)組pt
C.定義了一個名為*pt、具有三個元素的整型數(shù)組
D.定義了一個名為pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組
6.有以下程序:#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf(“%d\n”,fun(2*a,fun(b,c)));}程序的運行結果是()。
A.6B.3C.8D.12
7.以下關于鏈式存儲結構說法錯誤的是()
A.比順序存儲結構的存儲密度小
B.每個節(jié)點是由數(shù)據(jù)域和指針域組成
C.查找結點時鏈式存儲比順序存儲快
D.邏輯上不相鄰的節(jié)點物理上可能相鄰
8.有以下程序#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf(“%d\n”,i);}執(zhí)行后輸出結果是()A.28B.22C.16D.4
9.
10.有以下程序:#include<stdio.h>intf(intx,inty){return((y-x)*x);}main(){inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“%d\n”,d);}程序的運行結果是()。
A.7B.10C.8D.9
11.有三個關系R、s和T如下:
由關系R和s通過運算得到關系T,則所使用的運算為()。
A.并B.自然連接C.笛卡爾積D.交
12.快速排序在_____情況下最易發(fā)揮其長處。
A.被排序數(shù)據(jù)中含有多個相同排序碼
B.被排序數(shù)據(jù)已基本有序
C.被排序數(shù)據(jù)完全無序
D.被排序數(shù)據(jù)中最大值和最小值相差懸殊
13.若程序中有宏定義行“#defineN100”,則下列敘述中正確的是()。
A.宏定義行中定義了標識符N的值為整數(shù)100
B.在編譯程序對C語言源程序進行預處理時用100替換標識符N
C.上述宏定義行實現(xiàn)將100賦給標識符N
D.在運行時用100替換標識符N
14.
15.下面是有關C語言字符數(shù)組的描述,其中錯誤的是()。
A.不可以用賦值語句給字符數(shù)組名賦字符串
B.可以用輸入語句把字符串整體輸入給字符數(shù)組
C.字符數(shù)組中的內(nèi)容不一定是字符串
D.字符數(shù)組只能存放字符串
16.有以下程序
#include<stdio.h>
voidfun(intx)
{if(x/2>1)fun(x/2);
printf(”%d”,x);
}
main()
{fun(7);printf(”\n”);}
程序運行后的輸出結果是()。A.137B.731C.73D.37
17.定義無符號整數(shù)類為UInt,下面可以作為類UInt實例化值的是()。
A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
18.若在線性表中采用折半查找法查找元素,該線性表應該()A.元素按值有序B.構采用順序存儲結C.元素按值有序且采用順序存儲結構D.元素按值有序且采用鏈式存儲結構
19.判斷字符串s1是否大于字符串s2,應該使用()。
A.if(strcmp(s1,s2)<0)
B.if(s1>s2)
C.if(strcmp(s2,s1)<0)
D.if(strcmp(s1,s2))
20.有以下程序:#include<stdio.h>main(){inty=9;for(;y>0;y--)if(y%3==0)printf(“%d”,--y);}程序的運行結果是()。
A.852B.963C.741D.875421
二、2.填空題(20題)21.下列程序的輸出結果是______。
main()
{inta+,b=2,C=3,t=0;
ifa<B){t=a;a=b;b=t;}
ifa<C){t=a;a=c;c=t;}
printf("%d,%d,%dln",a,b,C);
}
22.以下程序的輸出結果是______。
voidfun()
{staticinta=0;
a+=2;printf("%d",a);
}
main()
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
23.順序存儲方法是把邏輯上相鄰的結點存儲在物理位置______的存儲單元中。
24.若有以下程序:
main()
{chara;
a='H'-'A'+'0';
printf("%c\n",a);
}
執(zhí)行后的輸出結果是【】。
25.若有定義inta=10,b=9,c=8;,接著順序執(zhí)行下列語句,變量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
26.閱讀下面語句,則程序的執(zhí)行結果是【】。
#include"stdio.h"
main()
{inta=-1,b=1,k;
if((++a<0)&&!(b--<=0))
printf("%d,%d\",a,b);
elseprintf("%d,%d\n",b,a);}
27.數(shù)據(jù)庫系統(tǒng)其內(nèi)部分為三級模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
28.以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調用ftell函數(shù)返回當前文件位置指針的具體位置,從而確定文件長度。請?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test.t","rb");
fseek(myf,0,SEEKEND);
f1=ftell(myf);
fclose(myf);
printf("%d\n",f1)
29.以下函數(shù)把b字符串連接到a字符串的后面,并返回a中新字符串的長度。請?zhí)羁铡?/p>
strcen(chara[],charb[])
{intnum=0,n=0;
while(*(a+num)!=【】)num++;
while(b[n]){*(a+num)=b[n];num++;【】;}
return(num);
}
30.在程序設計階段應該采取______和逐步求精的方法,把一個模塊的功能逐步分解,細化為一系列具體的步驟,繼而用某種程序設計語言寫成程序。
31.下面的程序通過函數(shù)average計算數(shù)組中各元素的平均值,請?zhí)羁铡?/p>
floatavetage(int*pa,intn)
{inti;
floatavg=0.0;
for(i=0;i<n;i++);
avg=avg+【】;avg=【】;
returnavg;
}
main()
{inti,a[5]={2,4,6,8,10,};
floatmean;
prinf("%mean=%f\n",mean);
}
32.下列程序將二維數(shù)組a的行和列元素互換后存放到另一個二維數(shù)組b中。請?zhí)羁铡?/p>
main()
{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
}
}
33.分析下列程序:
main()
{intx=1,y=0,a=0,b=0;
switch(a)
{case1:switch(b)
{case0:x++;
case1:y++;break;
}
case2:x++;y++;break;
}
printf("x=%d,y=%d\n",x,y);
}
運行程序的輸出結果是______。
34.語句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦值語句(不得與列舉的相同)【】。
35.已知字符'A'的ASCII碼值為65,以下語句的輸出結果是【】。
charch='B';
printf("%c%d\n",ch,ch);
36.數(shù)據(jù)的【】結構在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結構或物理結構。
37.軟件工程研究的內(nèi)容主要包括:【】技術和軟件工程管理。
38.以下程序的功能是建立—個帶有頭結點的單向鏈表,鏈表結點中的數(shù)據(jù)通過鍵盤輸入,當輸入數(shù)據(jù)為-1時,表示輸入結束(鏈表頭結點的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(struct
39.一個關系表的行稱為()。
40.算法的復雜度主要包括【】復雜度和空間復雜度。
三、1.選擇題(20題)41.下列敘述中正確的是()。
A.break語句只能用于switch語句體中
B.continue語句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)
D.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同
42.在C語言中,函數(shù)的隱含存儲類別是______。
A.autoB.staticC.externD.無存儲類別
43.有以下定義:inta[4][3]={1,2,3,4,5,6,7,8,9.10,11,12};int(*ptr)[3]=a,*p=a[0];則下列能夠正確表示數(shù)組元素a[1][2]的表達式是()。
A.*((*ptr+1}+2)B.*(*(p+5))C.(*ptr+1)+2D.*(*(a+1)+2)
44.設有定義:inta=2,b=3,c=4;,則下列選項中值為0的表達式是()。
A.(!a==1)&&(!b==0)
B.(a<b)&&!c‖1
C.a&&b
D.a‖(b+b)&&(c-a)
45.已知字母A的ASCⅡ代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達式是______。
A.kk>='A'&&kk<='Z'
B.!(kk>='A'‖kk<='Z')
C.(kk+32)>='a'&&(kk+32)<='z'
D.isalpha(kk)&&(kk<91)
46.請選出以下語句的輸出結果Printf("%d\n",strlen("\t\"\065\xff\n"));
A.5B.14C.8D.輸出項不合法,無正常輸出
47.已知函數(shù)的原形如下,其中結構體a為已經(jīng)定義過的結構,且有下列變量定義structa*f(intt1,int*t2,strcutat3,structa*t4)structap,*p1;inti;則正確的函數(shù)調用語句為
A.&p=f(10,&i,p,p1);
B.p1=f(i++,(int*)p1,p,&p);
C.p=f(i+1,&(i+2),*p,p);
D.f(i+1,&i,p,p);
48.設下面程序段中調用fun函數(shù)傳送實參a和b,main(){chara[10],b[10]┇fun(a,b);┇}則在fun函數(shù)首部中,對形參錯誤的定義是()
A.fun(chara[10],b[10]){…}
B.fun(chara1[],chara2[]){…}
C.fun(charp[10],charq[10]){…}
D.fun(char*s1,char*s2){…}
49.以下scanf函數(shù)調用語句中對結構體變量成員的引用不正確的是
structpupil
{charname[20];
intage
intsex;
}pup[5],*p;
p=pup;
A.scanf("%s",pup[0].name);
B.scanf("%d",&pup[0].age);
C.scanf("%dT",&(p->sex));
D.scanf("%d",p->age);
50.下列描述中不正確的是()。
A.字符型數(shù)組中可以存放字符串
B.可以對字符型數(shù)組進行整體輸入、輸出
C.可以對整型數(shù)組進行整體輸入、輸出
D.不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進行整體賦值
51.有以下程序structSTU{charname[10];intnum;intScore;{main(){structStus[5]={{"YangSan",20041,703},{"LiSiGuo",20042,580},{"WangYin",20043,680},{"SunDan",20044,550},{"Penghua",20045;537}},*p[5],*t;inti,j;for(i=0;i<5;i++)p[i]=&s[i];for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(p[i]->Score>p[j]->Score){t=p[i];p[i]=p[j];p[i]=t;}printf("%d%d\n",s[1].Score,p[1]->Score);}執(zhí)行后輸出結果是
A.550550B.680680C.580550D.580680
52.下列程序段的輸出結果為()。#include<stdio.h>main(){staticchara[]="language";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);}
A.languageB.lnugC.有語法錯誤D.lang
53.有以下程序:maln(){inti,s=0,t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}程序執(zhí)行后的輸出結果是()。
A.45B.20C.25D.36
54.請讀程序段:charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));程序段的輸出結果是______。
A.68B.0C.字符'D'的地址D.不確定的值
55.以下選項中合法的用戶標識符是A.longB._2TestC.3DmaxD.A.dat
56.用MIPS來衡量計算機性能的指標是()
A.存儲容量B.可靠性C.處理能力D.運算速度
57.下面程序段的輸出為#nclude"stdio.h"main(){printf("%d\n",12<<2);}
A.0B.47C.48D.24
58.設有定義:10ngx=-123456L,則以下能夠正確輸出變量x值的語句是()。
A.printf("x=%d\n",x);
B.printf("x=%1d\n",x);
C.peintf("x=%8dL\n",x);
D.printf('x=%LD\n",x);
59.以下程序的運行結果是
intk=0;
voidfun(intm)
{m+=k;k+=m;printf("m=%dk=%d",m,k++);}
main()
{inti=4;
fun(i++);
printf("i=%dk=%d\n",i,k);
}
A.m=4k=5i=5k=5
B.m=4k=4i=5k=5
C.m=4k=4i=4k=5
D.m=4k=5i=4k=5
60.以下正確的程序段是
A.cgarstr[20];scanf("%s",&str);
B.char*p;scanf("%s",p);
C.charstr[20];scanf("%s",&str[2])
D.charstr[20],*p=str;scanf("%s",p[2]);
四、選擇題(20題)61.若有下面說明和定義:
structtest
{intm1;charm2;floatm3;
unionuu(charu1[5];intu2[2];)ua;
}myaa;
則sizeof(structtest)的值是()。
A)20B)16
C)14D)9
62.
已知有如下結構體:
structsk
{inta;
floatb;
}data,*p;
若有P=&data,則對data的成員a引用正確的是()。
A.(*p).data.a(chǎn)B.(*p).a(chǎn);C.p->data.a(chǎn)D.p.data.a(chǎn)
63.下面不屬于軟件設計原則的是()。
A.抽象B.模塊化C.自底向上D.信息隱蔽
64.若有定義“intb[8],*p=b;”,則p+6表示()。
A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6
65.
66.
67.
68.以下關于指針概念不正確的是()。
A.指針變量可以用整數(shù)賦值,但不可以用浮點數(shù)賦值
B.一個變量的地址稱為該變量的指針,一個指針變量只能指向同一類型的變量
C.只有同一類型的變量地址才能放到指向該類型變量的指針變量之中
D.只能將地址賦給指針變量
69.
70.
有以下結構體說明和變量的定義,且指針P指向變量a,指針q指向變量b,則不能把結點b連接到結點a之后的語句是()。
structnode
{chardata;
structnode*next:
}a,b,*p=&a,*q=&b;
A.a.next=q;B.P.next=&b;C.p->next=&b;D.(*p).next=q;
71.
72.
73.
74.
下列程序的輸出結果是()。
#include<stdio.h>
intfun(inta)
{intb=0;
staticintc=4:
a=c++:b++;
return(a):
main
{inta=2,i,c;
for(i=0:i<2;i++)
c=f(a+1):
printf("%d\n",c);
}
A.4B.7C.6D.5
75.
76.
77.有以下程序
78.第
34
題
若有如下語句
intx=3;
do{printf("%d\n",x-=2);}
while(!(--x));
則上面程序段
A.輸出的是1B.輸出的是1和-2C.輸出的是3和0D.是死循環(huán)
79.
80.有以下程序#includemain{inty=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的運行結果是()。A.741B.963C.852D.875421
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是逐個比較str1,str2兩個字符串對應位置中的字符,把比ASCⅡ值大或相等的字符依次存放到str數(shù)組中,形成一個新的字符串。
例如,str1中的字符串為fshADfg,str2中的字符串為sdAEdi,則str中的字符串應為sshEdig。
請修改程序中的錯誤,使它能得到正確結果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。
試題程序:
六、程序設計題(1題)82.學生的記錄由學號和成績組成,M名學生的數(shù)據(jù)已在主函數(shù)中放人結構體數(shù)組stu中,請編寫函數(shù)proc(),它的功能是:把指定分數(shù)范圍之外的學生數(shù)據(jù)放在b所指的數(shù)組中,分數(shù)范圍之外的學生人數(shù)由函數(shù)值返回。
例如,輸入的分數(shù)是70和79,則應當把分數(shù)低于70和高于79的學生數(shù)據(jù)輸出,不包含70分和79分的學生數(shù)據(jù)。主函數(shù)中把70放在low中,把79放在heigh中。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填人所編寫的若干語句。
試題程序:
參考答案
1.D
2.C解析:C語句必須以分號結束,選項A是正確的。復合語句在語法上被看作一條語句,選項B也是正確的??照Z句也算是一條語句,因此如果空語句出現(xiàn)在條件或者循環(huán)語句中,一樣會被當作條件子句或者循環(huán)體來看待,所以選項c是錯誤的。賦值表達式末尾加分號就構成賦值語句,選項D正確。故本題應該選擇C。
3.A
4.A解析:本題考查的是算術運算符的各種運算,x=-3+4*5-6=-3+20-6=11;x=3+4%5-6=3+4-6=1;x=-3+4%6/5=-3+4/5=-3+0=-3;x=(7+6)%5/2=13%5/2=3/2=1。故正確答案為選項A)。
5.D\n數(shù)組指針是指向數(shù)組的一個指針,int(*pt)[3]表示一個指向3個int元素的數(shù)組的一個指針。
\n
6.A本題中,fun函數(shù)第1次調用為fun(8,fun(5,6))。因為fun(5,6)的返回值為5,所以第2次調用為fun(8,5),即返回值為6。故本題答案為A選項。
7.C
8.A解析:f(4+4)/f(2+2)=4+4*4+4/2+2*2+2=28。
9.A
10.D在main函數(shù)中,調用f(a,b)函數(shù)返回3,調用f(a,c)函數(shù)返回6,所以外層調用f(f(a,b),f(a,c)),即調用f(3,6)函數(shù)返回9。故本題答案為D選項。
11.D關系R與s經(jīng)交運算后所得到的關系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。
12.C
13.B宏定義在編譯程序時做了一個簡單的替換,所以B選項正確。故本題答案為B選項。
14.D
15.D\n用來存放字符量的數(shù)組稱為字符數(shù)組。字符數(shù)組也可以是二維或多維數(shù)組,對一個字符數(shù)組,如果不作初始化賦值,則必須說明數(shù)組長度,還可用printf函數(shù)和scarlf函數(shù)一次性輸出/輸入一個字符數(shù)組中的字符串,而不必使用循環(huán)語句逐個地輸入/輸出每個字符。通常用一個字符數(shù)組來存放一個字符串。所以D選項不正確。
\n
16.D解析:本程序主要考查遞歸函數(shù)。fun(7),首先將參數(shù)代入函數(shù),因為(7/2)>1,所以執(zhí)行f(3),以此類推直到f(1.5),(1.5/2)<1,所以執(zhí)行打印函數(shù),此時x值為3,然后退出f(1.5)返回f(3),打印x值即7。所以選D。
17.BB【解析】只有B選項369可以用無符號整數(shù)來表示和存儲。A選項一369有負號,選項C0.369是小數(shù)都不能用無符號整數(shù)類存儲。選項D是一個整數(shù)集合得用數(shù)組來存儲。
18.C
19.C解析:本題考查字符串比較函數(shù)strcmp()。調用形式:strcmp(s1,s2),其中s1、s2分別是字符串存儲區(qū)的首地址。函數(shù)功能:比較字符串str1和str2,當str1<str2時,返回值為負數(shù);當str1=str2時,返回0;當str1>str2,返回值為正數(shù)(注意:不能使用關系運算符比較兩個字符串的大小)。
20.A第1次for循環(huán),y的值為9,“y%3”的值為0,滿足if條件輸出“--y”,即先自減后輸出,所以輸出8;第2次for循環(huán),y的值為7,“y%3”的值為1,不滿足if條件,不執(zhí)行printf語句;第3次for循環(huán),y的值為6,“y%3”的值為0,滿足if條件輸出“--y”,即先自減后輸出,所以輸出5;第4次for循環(huán),y的值為4,不滿足if條件,不執(zhí)行printf語句;第5次for循環(huán),y的值為3,滿足if條件,輸出2;第6次for循環(huán),y的值為1,不滿足if條件,不執(zhí)行printf語句。故本題答案為A選項。
21.3123,1,2解析:分析程序,第一個if句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時a=2,b=1。第二個if語句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時a=3,c=2。
22.246
23.相鄰相鄰
24.77解析:本題考查英文字母ASCII碼值的概念。字符參與運算的值是其對應的ASCII碼,字符H的ASCII碼為72,A的ASCII碼為65,0的ASCII碼為48,所以a=72-65+48=55,ASCII碼值為55的字符是7。
25.33解析:這里:b-5=4,a-=4之后a的值為6,并把它賦給c。此時b的值并未被改變。在第2個表達式中,也只有賦值表達式b=3改變了b的值。所以兩行語句執(zhí)行完畢,b的值應該為3。
26.101,0解析:與運算兩邊的語句必須同時為真時,結果才為真。當執(zhí)行完if((++a<0)&&!(b--<=0))時,a,b的值已經(jīng)發(fā)生了變化。
27.外模式外模式解析:數(shù)據(jù)庫系統(tǒng)的三級模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫的物理存儲結構和存取方法;概念模式是數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)邏輯結構的描述;外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
28.fopenfopen解析:函數(shù)fopen的原型為FILE*fopen(char*filename,char*mode),功能為以mode指定的方式打開名為filename的文件;函數(shù)fseek的原型為intfseek(FILE*fp,longoffset,intbase),功能為將fp所指向的文件的位置指針移到以base所指出的位置為基準,offset為位移量的位置;函數(shù)ftell的原型為longftell(FILE*fp),功能為返回fp所指向的文件中當前的讀寫位置;函數(shù)fclose的原型為intfclose(FILE*fp),功能為關閉fp所指的文件,釋放文件緩沖區(qū)。
29.0'或0或NULLn++或++n或n=n+1或n+=10'或0或NULL\r\nn++或++n或n=n+1或n+=1
30.自頂向下自頂向下解析:在程序設計時,應先考慮總體,后考慮細節(jié),逐步使問題具體化,對復雜的問題,應該設計一些子目標作為過渡,上述方法概括為:自頂向下,逐步細化。
31.pa[i]avg/n
32.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識。它是要將一個二維數(shù)組,的行和列元素互換后存放到另一個二維數(shù)組b中,只要將數(shù)組a的行標和列標互換,然后賦給數(shù)組b即可。
33.x=1y=0。x=1,y=0。解析:本題程序的主體部分是switch語句的嵌套結構,當變量a的值為0時,在第一層switch-case語句中,沒有匹配的case分支。因此,x和y的值沒有變化,仍然是1和0。
34.x+=1;
35.B66B66解析:字符B的ASCII碼值為66,因此,按%c形式輸出B,按%d形式輸出66,輸出結果為:B66。
36.邏輯邏輯解析:數(shù)據(jù)的邏輯結構在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結構或物理結構。
37.軟件開發(fā)
38.解析:本題考查的是鏈表這一數(shù)據(jù)結構對結構體變量中數(shù)據(jù)的引用。鏈表的特點是結構體變量中有兩個域,一個是數(shù)據(jù),另一個是指向該結構體變量類型的指針,用以指明鏈表的下一個結點。
39.元組元組解析:一個關系表中的行稱為元組,列稱為屬性。
40.時間時間解析:算法的復雜度主要指時間復雜度和空間復雜度。所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量;算法的空間復雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。
41.C解析:只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句。當break出現(xiàn)在循環(huán)體的switch語句體內(nèi)時,其作用只是跳出該switch語句體,并不能中止循環(huán)體的執(zhí)行。若想強行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語句中設置break語句,滿足某種條件,則跳出本層循環(huán)體。
42.C解析:C語言規(guī)定,只要在定義函數(shù)時不進行存儲類型的顯式說明,函數(shù)的存儲類型就隱含為外部類型,即extern型,外部類型允許其他文件中的函數(shù)調用。
43.C解析:本題定義了一個二維數(shù)組a,一個含有3個元素的指針數(shù)組ptr和一個指針變量p,并使指針數(shù)組和指針變量p指向數(shù)組a。
44.A解析:在選項A)中,因為!a=0,所以關系表達式!a==1的值為0,又因為邏輯與運算符“&&”兩邊的表達式只要一個等于零,則整個表達式為零,所以選項A)正確。在選項B)中,關系表達式a<b為真,表達式(a<b)&&!c為假,而表達式(a<b)&&!c‖1為真,所以整個表達式的值為真。選項C)中,a&&b的結果為真。在選項D)中,a‖(b+b)&&(c-a)的結果為真。
45.B解析:本題主要考查邏輯運算。對于正確判斷kk為大寫字母的表達式,當表達式為真時kk為大寫字母。大寫字母的ASCII代碼值在65~90之間,對應的小寫字母的ASCII代碼值在97~122之間,因此選項A、C都是正確的表達式。選項D中isalpha(kk)用于判斷kk是否是字母,ASCII代碼值小于91的字母為大寫字母,因此選項D是正確的表達式。選項B中的表達式可以轉換為kk<‘A’&&.kk>‘Z’,無法判斷kk中的值是否為大寫字母。
46.A解析:本題考查用strlen函數(shù)計算字符串長度的方法。該字符串中包含的字符是:\'\\t\'(跳格符)、\'\\'\'(雙引號)、\'\\065\'(ASCII值為八進制065,也即+進制為51的字符)、\'\\xff\'(ASCII值為+六進制ff,也即+進制為255的字符)、\'\\n\'(換行符)。
47.B解析:本題目中函數(shù)f的返回值為結構類型的指針,函數(shù)的四個形參分別為:t1為整型,t2為整型的指針,t3為structa類型,t4為structa類型的指針。在進行函數(shù)調用的時候,函數(shù)的實參必須要與形參說明相對應,函數(shù)的返回值也要賦給相應類型的變量。選項A)函數(shù)的返回值不能賦給一個常量;選項C)&(i+2)沒有什么意義;選項D)返回值沒有傳遞給任何變量,向函數(shù)傳遞的應該是structa類型的指針,可是傳的卻是變量。
48.A
49.D解析:考查結構體成員變量的引用方法??捎媒Y構體變量名.數(shù)據(jù)成員名或者結構體指針->數(shù)據(jù)成員名兩種方法來引用。結構體類型的變量、數(shù)組和指針變量的定義。
50.C解析:本題考查對數(shù)組的理解。C語言規(guī)定只能逐個引用數(shù)組元素,而不能一次引用整個數(shù)組。對于字符數(shù)組,可以將整個字符串一次輸入或輸出。所以,選項C)不正確。
51.C解析:本題中首先定義了結構體類型STU,該結構體由一個長度為10的字符數(shù)組、兩個整型變量num和Score組成。在主函數(shù)中,定義了一個長度為5的結構體數(shù)組s并賦初值,一個指針數(shù)組p和一個指針變量t,接著將數(shù)組s中各元素的地址依次賦給指針數(shù)組p中的各成員。然后通過兩個for循環(huán)將數(shù)組p按Score的值從小到大的順序排列。因此最后輸出的p[1]->Score的值為550,而數(shù)組s[1].Score的值為580。
52.B解析:本程序首先定義了靜態(tài)字符數(shù)組a,然后將指針p指向數(shù)組a的首地址。
第1次for循環(huán),p=a,p指向數(shù)組的第1個元素,*p是取指針p所指地址的內(nèi)容,輸出1;第2次for循環(huán),p=p+2,則p指向數(shù)組的第3個元素,*p是取指針p所指地址的內(nèi)容,輸出n;第3次for循環(huán),p=p+2,則p指向數(shù)組的第5個元素,*p是取指針p所指地址的內(nèi)容,輸出u;第4次for循環(huán),p=p+2,則p指向數(shù)組的第7個元素,*p是取指針p所指地址的內(nèi)容,輸出g,結束循環(huán)。
53.C解析:通過for循環(huán)語句s=*(t+0)+*(t+2)+*(t+4)+*(t+6)+*(t+8)=1+3+5+7+9=25。
54.B解析:在對字符數(shù)組賦字符串值時,系統(tǒng)會自動在字符串的末尾加上一個字符串結束標志“\\0”,故指向字符數(shù)組的指針p的*(p+4)的值為“\\0”。由于“\\0”的編碼值就是0,所以本題輸出為0。
55.B解析:本題考查C語言標識符的命名.在C語言中,合法的標識符由字母,數(shù)字和下劃線組成,并且第一個字符必須為字母或者下劃線,long為C語言的保留字,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設計技術入股合同協(xié)議
- 購銷水泥罐油罐合同協(xié)議
- 起重車輛采購合同協(xié)議
- 訂購家用馬桶合同協(xié)議
- 財產(chǎn)保險租賃合同協(xié)議
- 設備保養(yǎng)維護合同協(xié)議
- 設備訂購協(xié)議書范本
- 購買木材裝修合同協(xié)議
- 購買二手車沒寫協(xié)議合同
- 設備外包服務合同協(xié)議
- 醫(yī)療器械供應商合作管理制度
- DB11-T 1832.7-2022 建筑工程施工工藝規(guī)程 第7部分:建筑地面工程
- 變革管理方案計劃
- 異地就醫(yī)登記備案表
- iso220002024食品安全管理體系標準
- 空間中的垂直學案高三數(shù)學一輪復習
- 重慶江北國際機場有限公司招聘筆試題庫2024
- 大學生英語四級真題模擬試卷5份
- 單位反恐專項經(jīng)費保障制度
- 羽毛球比賽對陣表模板
- 2024年上海市中考數(shù)學真題試卷及答案解析
評論
0/150
提交評論