




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2021年山西省運城市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.在10000個int型變量中找出最大的100個,使用下列排序算法中哪一種用時最快()
A.冒泡排序B.快速排序C.歸并排序D.堆排序
2.有以下程序:
程序運行后的輸出結果是()。
A.02B.13C.57D.12
3.順序查找不論在順序線性表中還是在鏈式線性表中的時間復雜度為()。
A.O(n)B.O(n^2)C.O(n^1/2)D.O(1og2n)
4.有下列程序:intfunl(doublea){returna*=a;)intfun2(doublex,doubley){doublea=0,b=0;a=funl(x);b=funl(y);return(int)(a+h);}main{doublew;w=fun2(1.1,2.0),……)程序執(zhí)行后變量w中的值是()。A.5.21B.5C.5.0D.0.0
5.軟件設計包括軟件的結構、數(shù)據(jù)接口和過程設計,其中軟件的過程設計是指()
A.模塊間的關系B.系統(tǒng)結構部件轉(zhuǎn)換成軟件的過程描述C.軟件層次結構D.軟件開發(fā)過程
6.設有函數(shù)說明語句:intfun(int,int);以及函數(shù)指針定義語句:int(*f)(int,int);若要使函數(shù)指針指向函數(shù)fun的入口地址,以下選項中正確的是()。
A.f=fun();B.*f=fun;C.f=fun;D.*f=fun();
7.
8.數(shù)據(jù)庫是()的集合,它具有統(tǒng)一的結構格式并存放于統(tǒng)一的存儲介質(zhì),可被各個應用程序所共享
A.視圖B.消息C.數(shù)據(jù)D.關系
9.
10.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);returny-x-1;}
A.求字符串的長度B.求字符串存放的位置C.比較兩個字符串的大小D.將字符串x連接到字符串y后面
11.有以下程序:#include<stdio.b>voidfun(charc){if(c>X)fun(c-1):printf("%C",c);}traia(){fun(z);}程序運行后的輸出結果是()A.xyzB.wxyzC.xzyD.zvx
12.若有以下程序
則程序的輸出結果是
A.China!B.toChina!C.meyoutoChina!D.youtoChina!
13.在一個元素個數(shù)為N的數(shù)組里,找到升序排在N/5位置的元素的最優(yōu)算法時間復雜度是()A.O(n)B.O(nlogn)C.O(n(logn)2)D.O(n3/2)
14.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長度大于5,則輸出按方式()。
A.從左起輸出該字串,右補空格B.按原字符長從左向右全部輸出C.右對齊輸出該字串,左補空格D.輸出錯誤信息
15.數(shù)組A[0...4,-1...-3,5...7]中含有的元素個數(shù)是()。A.A.55B.45C.36D.16
16.有以下程序段:intx=3;do{printf("%d",x-=2);)while(!(--x));其輸出結果是()。A.1B.30C.1-2D.死循環(huán)
17.下列各排序法中,最壞情況下的時間復雜度最低的是()
A.希爾排序B.快速排序C.堆排序D.冒泡排序
18.有以下程序voidss(char*s,chart){while{*s)if(*s==t)*s-t-'a'+'A';S++;main(){charstrl[100]="abcddfefdbd",c='d';ss(str1,c);printf("%s\n",str1);}程序運行后的輸出結果是
A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd
19.下列條件語句中,輸出結果與其他語句不同的是()。
A.if(a!=0)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)printf(“%d\n”,x);elseprintf(“%d\n”,y);
20.以下不能正確進行字符串賦初值的語句是
A.charstr[5]="good!";
B.charstr[]="good!";
C.char*srt="good!";
D.charstr[5]={'g','o','o','d'};
二、2.填空題(20題)21.在對文件進行操作的過程中,若要求指針的位置回到文件的開頭,應當調(diào)用的函數(shù)是【】。
22.已知字母A的ASCII碼為65。以下程序運行后的輸出結果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
23.已知head指向一個帶頭結點的單向鏈表,鏈表中每個結點包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域為整型。以下函數(shù)求出鏈表中所有鏈結點數(shù)據(jù)域的和值,作為函數(shù)值返回。請在下劃線內(nèi)填入正確內(nèi)容。
{intdata;structlink*next;}
main()
{structlink*head;
┆
sum(head);
┆}
sum(【】);
{structlink*p;ints=0;
p=head->next;
while(p){s+=p->data;p=p->next;}
return(s);}
24.以下程序的輸出結果是【】。
main()
{charc='z';
printf("%c",c-25);}
25.防止軟盤感染病毒的最有效的方法是【】。
26.以下程序的功能是建立一個帶有頭結點的單向鏈表,鏈表結點中的數(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(structlist));
p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");
scanf("%d",&a);
while(a!=-1)
{p=(structlist*)malloc(sizeof(structlist));
[14]=a;q->next=p;[15]=p;scanf("%d",&a);}
p->next='\0';return(ph);}
main()
{stuctlist*head;head=creatlist();}
27.下列程序中字符串中各單詞之間有一個空格,則程序的輸出結果是【】。
#include<string.h>
main()
{charstr1[]="Howdoyoudo",*p1=str1;
strcpy(str1+strlen(str1)/2,"eshe");
printf("%s\n",p1);
}
28.設有以下程序:
main()
{inta,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1=&m;
b=(*p1)/(*p2)+7;
printf("a=%d\n",a);
printf("b=%d\n",b);
}
執(zhí)行該程序后,a值為【】,b值為【】。
29.下列程序的循環(huán)次數(shù)是______。
x=2;
do
{x=x*x;}
while(!x);
30.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達式pow(y,fabs(x))的值為【】。
31.軟什是程序、數(shù)據(jù)和______的集合。
32.以下程序運行后的輸出結果是【】。
main()
{chars[]="9876",*p;
for(p=s;p<s+2;p++)printf("%s\n",p);
}
33.結構化程序設計的3種基本結構分別是順序、選擇和______。
34.如果兩個8位二進制數(shù)00010101與01000111相加,其結果用十進制表示為【】。
35.結構化分析方法是面向______進行分析的方法。
36.下列程序的輸出結果是______。
#include<stdio.h>
int(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=1,b=8,c=7,d=9;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
37.以下函數(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++;【】;}
returnnum;
}
38.設變量已正確定義為整型,則表達式n=i=2,++i,i++的值為【】。
39.當線性表采用順序存儲結構實現(xiàn)存儲時,其主要特點是______。
40.問題處理方案的正確而完整的描述稱為______。
三、1.選擇題(20題)41.以下合法的字符型常量是
A.′\x13′B.′\081′C.′65′D.\n
42.若fp是指向某文件的指針,且已讀到文件末尾,則函數(shù)feof(fp)的返回值是
A.EOFB.-1C.1D.NULL
43.設有以下語句:inta=1,b=2,c;c=a∧(b<<2);執(zhí)行后,c的值為()。
A.6B.7C.8D.9
44.下面四個選項中,不屬于數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言的是
A.數(shù)據(jù)定義語言B.數(shù)據(jù)查詢語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言
45.以下4個選項中,不能看作一條語句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
46.簡單的交換排序方法是()。
A.快速排序B.選擇排序C.堆排序D.冒泡排序
47.在下列選項中,沒有構成死循環(huán)的是()。
A.inti=100;while(1){i=i%100+1;if(i>100)break;}
B.for(;;);
C.intk=10000;do{k++;}while(k>10000);
D.ints=36;while(s)--s;
48.若變量已正確定義,有以下程序段
inta=3,b=5,c=7;
if(a>b)a=b;c=a;
if(c!=a)c=b;
printf("%d,%d,%d\n",a,b,c);
其輸出結果是
A.程序段有語法錯B.3,5,3C.3,5,5D.3,5,7
49.語句int(*ptr)()的含義是()。
A.ptr是一個返回值是int的函數(shù)
B.ptr是指向int型數(shù)據(jù)的指針變量
C.ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)
D.ptr是一個函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針
50.在下列關于邏輯表達式a&&b的敘述中,錯誤的一條是()
A.若a為真、b為真,則a&&b為真
B.若a為真、b為假,則a&&b為假
C.若a為假、b為真,則a&&b為真
D.若a為假、b為真,則a&&b為假
51.以下程序的輸出結果是()#include<string.h>main(){chars1[]="123",s2[]="abc",ss[20]="010";strcat(ss+1,strcpy(s2,s1));printf("%s\n",ss);}
A.10123B.0abcC.1123D.01abc
52.下面程序的輸出結果是#include<stdio.h>#include<string.h>main(){char*pl="abc",*p2="ABC",str[50]="xyz";strcpy(str+2,strcat(p1,p2));printf("%s\n",str);}
A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC
53.以下程序的輸出結果是
intf()
{staticinti=0;
ints=1;
s+=i;i++;
returns;}
main()
{inti,a=0;
for(i=0;i<5;i++)a+=f();
printf("%d\n",a);}
A.20B.24C.25D.15
54.以下程序中函數(shù)sort的功能是對a所指數(shù)組中的數(shù)據(jù)進行由大到小的排序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;i<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf('%d,",aa[i]);printf("\n");}程序運行后的輸出結果是()。
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.1,2,3,8,7,6,5,4,9,10,
D.1,2,10,9,8,7,6,5,4,3,
55.以下錯誤的定義語句是A.intx[][3]={{0},{1},{1,2,3}};
B.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
D.intx[][3]={1,2,3,4};
56.下列程序語句中,不正確的是______。
A.maia(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}intadd(floatx,floaty){……}
B.main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}floatadd(floatx,floaty){……}
C.floatadd()maia(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}floatadd(floatx,floaty){……}
D.floatadd(floatx,floaty){……}main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}
57.有以下說明和定義語句structstudent{intage;charnum[8];structstudentstu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};structstudent*p=stu;};以下選項中引用結構體變量成員的表達式錯誤的是
A.(p++)->numB.p->numC.(*p).numD.stu[3].a(chǎn)ge
58.棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是
A.ABCEDB.DCBEAC.DBCEAD.CDABE
59.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是
A.數(shù)組a和b的長度相同B.a數(shù)組長度小于b數(shù)組長度C.a數(shù)組長度大于b數(shù)組長度D.上述說法都不對
60.fwrite函數(shù)的一般調(diào)用形式是
A.fwrite(buffer,count,size,fp);
B.fwrite(fP,size,count,buffer);
C.fwrite(fp,count,size,buffer);
D.fwrite(buffer,size,count,fp);
四、選擇題(20題)61.有如下程序段:inta=14,b=15,x;charc=A;x=(a&&b)&&(c<B):執(zhí)行該程序后,x的值為()。A.trueB.falseC.0D.1
62.若有說明“chars1[30]="abc",s2[]="defghi";",則在使用函數(shù)stoat(s1,s2)后,結果是()。A.A.s1的內(nèi)容更新為abcdefghiB.s1的內(nèi)容更新為defghi\0
C.s1的內(nèi)容更新勾defghiabc\0
D.s1的內(nèi)容更新為abcdefghi\0
63.以下程序的輸出結果是()。
main()
{inta=1;
charc=’a’;
floatf=2.0;
Printf("%d\n",(!(a==0),f1=0&&c==’A’));
}
A.0B.1C.2D.3
64.
有下列程序:
#include<stdio.h>
main
{inta=6,b=7,m=1;
switch(a%2)
{case0:m++;break;
case1:m++;
switch(b%2)
{default:m++;
case0:m++;break;
}
}
printf("%d\n",m);
}
程序的運行結果是()。
A.3B.2C.4D.1
65.
66.
67.以下能正確定義賦初值的語句是()。
A.intnl=n2=10:
B.Chare=32;
C.floatf=f+1.1;
D.doublex=12.3E2.5;
68.下列關于數(shù)據(jù)庫設計的敘述中,正確的是()。
A.在需求分析階段建立數(shù)據(jù)字典
B.在概念設計階段建立數(shù)據(jù)字典
C.在邏輯設計階段建立數(shù)據(jù)字典
D.在物理設計階段建立數(shù)據(jù)字典
69.以下不合法的字符常量是
A.’x\018’B.’\"’C.’\\’D.’\xcc’
70.一間工廠可有多個工人,則實體工廠和工人之間的聯(lián)系是
A.一對一B.一對多C.多對一D.多對多
71.
72.(72)n個頂點的強連通圖的邊數(shù)至少有______。
A.n-1
B.n(n-1)
C.n
D.n+1
73.下列程序的輸出結果是()。#includedstdi0.h>#includedstring.h>voidfun(intb[]){staticinti=0;do{b[i]+=b[i+1];}while(++i<2);}main{intk,a[5]={1,3,5,4,9};fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}A.13579B.48579C.48549D.48999
74.
75.在面向?qū)ο蠓椒ㄖ校粚儆凇皩ο蟆被咎攸c的是A.一致性B.分類性C.多態(tài)性D.標識唯一性
76.下列描述中正確的是
A.軟件指的就是程序B.軟件開發(fā)不受任何計算機系統(tǒng)的限制
C.軟件既是邏輯實體,又是物理實體D.軟件是程序、數(shù)據(jù)與相關文檔的集合
77.有以下程序:
voidfun2(chara,charb){printf(”%c%c”,a,b);}
chara='A',b='B';
voidfunl(){a='C';b='D';}
main()
{funl();
printf("%c%c",a,b);
fun2('E','F');
}
程序的運行結果是()。A.A.CDEFB.ABEFC.ABCDD.CDAB
78.CSS指的是下列()的縮寫。
A.ComputerStyle.Sheets
B.CascadingStyle.Sheets
C.CreativeStyle.Sheets
D.ColorfulStyle.Sheets
79.有以下程序main(){union{charch[2];intd;}s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結果是______。A.21,43B.43,21C.43,00D.21,00
80.對如下二叉樹進行后序遍歷的結果為()。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是計算正整數(shù)m各位上數(shù)字的平方和。 例如,輸入498,則輸出應該是161。 請修改程序中的錯誤,使它能得到正確結果。 注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。 試題程序: #include<stdlib.h> #include<stdio.h> #include<conio.h> longproc(10ngm) {//****found****longsum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum); } voidmain {longn;system("CLS");printf("Pleaseenteranumber:");scanf("%1d",&n);printf("\n%ld\n",proc(n)); }
六、程序設計題(1題)82.請編寫函數(shù)proc(),該函數(shù)的功能是:將M行N列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個字符串中。例如,若二維數(shù)組中的數(shù)據(jù)為:
WWW
SSS
HHH
III
則字符串中的內(nèi)容應是WSHIWSHIWSHI。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填人所編寫的若干語句。
試題程序:
參考答案
1.B
2.D本題考查邏輯運算符的”短路”現(xiàn)象,由于k的值為0,表達式首先去求k++的值,因為表達式k++的值為0,系統(tǒng)完全可以確定邏輯表達式的運算結果總是為0,因此將跳過n++>2,不再對它進行求值,即k的值加1,n的值不變。
3.A
4.C子函數(shù)fun1(doublea)的功能是返回a的平方值的整數(shù)部分。子函數(shù)fun2(doublex,doubley)的功能是返回X的平方值的整數(shù)部分與Y的平方值的整數(shù)部分的和。又因為題中變量w的定義為double型,函數(shù)fun(2)的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運算,整型數(shù)據(jù)被轉(zhuǎn)換為實型數(shù)據(jù)。所以雙精度型變量w的值為5.0。
5.B軟件設計包括軟件的結構設計、數(shù)據(jù)接口設計和過程設計。其中軟件結構設計主要包括系統(tǒng)由哪些子系統(tǒng)構成,以及這些子系統(tǒng)之間的關系是怎樣的,并將這些內(nèi)容編寫成文檔;數(shù)據(jù)接口設計的任務是為每個子系統(tǒng)設計其與其他子系統(tǒng)間的接口,并編寫成文檔,這個接口要是一個無二義的接口,不需要子系統(tǒng)的操作知識就可以使用;過程設計是指系統(tǒng)結構部件轉(zhuǎn)換成軟件的過程描述。
6.CC語言中,函數(shù)名也是一個指針,是函數(shù)的人口地址。使函數(shù)指針f指向函數(shù)fun的入口地址,直接將函數(shù)名fun賦給指針f即可。故本題答案為C選項。
7.D
8.C解析:數(shù)據(jù)庫是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構造復雜的數(shù)據(jù)結構,以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復雜的關系。
9.D
10.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長度。
11.A本題考查簡單的遞歸函數(shù),當c>X則會產(chǎn)生遞歸,依次類推,答案選擇A.
12.D該程序首先定義*a和b[],并進行初始化。主函數(shù)中通過外層for循環(huán)語句,遍歷字符數(shù)組b[],并且將符合if條件語句的字符賦給數(shù)組p;for內(nèi)層循環(huán)語句,遍歷字符數(shù)組a[]。再將符合if條件語句的結果輸出。因此D選項正確。
13.A
14.B
15.A
16.C本題考查do-while循環(huán),先執(zhí)行d0輸出的x的值為1,接著執(zhí)行while語句,此時--x的值為0,x也為0,而非0為1,循環(huán)成立,接著執(zhí)行do輸出X值為-2,執(zhí)行--x后,表達式為-2,而!(--x)為0,退出循環(huán)。
17.C
18.B解析:本題中的函數(shù)ss()有兩個參數(shù),一個是字符型指針變量s,另一個是字符型變量t在函數(shù)中通過一個while循環(huán),在循環(huán)中一次取出s指向的字符串并判斷它是否和t中存放的字符相同,若相等,則執(zhí)行“s=t-'a'+'A':”(若是小寫字母,則把它轉(zhuǎn)換成大寫字母)語句。在主函數(shù)中執(zhí)行函數(shù)調(diào)用ss(strl,c),很顯然是把str1數(shù)組中所有字符“d”變成大寫字母,其他字符不變。所以4個選項中B正確。
19.CA、B、D選項的含義均為:a的值如果為0,輸出y的值,否則輸出x的值。而C選項的含義是:a的值為0時輸出x的值,不為0時輸出y的值,與其他選項正好相反。故本題答案為C選項。
20.A解析:本題考核的知識點是字符數(shù)組和字符指針變量的初始化。選項A定義了一個字符數(shù)組str,具有5個元素,但賦初值的時候,初值個數(shù)卻是6個(有一個'\\0'),故選項A錯誤的;選項B定義了一個字符數(shù)組str并給它賦初值,由于省去了長度定義,長度由初值個數(shù)確定,相當于str[6],選項B正確;選項C定義了一個字符型指針變量并用一個字符串給它賦初值,使該字符型指針指向了該字符串,選項C正確;選項D是對字符型數(shù)組中單個元素依次賦初值,選項D正確。所以,4個選項中A為所選。
21.rewindrewind解析:庫函數(shù)rewind()的作用是使文件位置指針重新返回文件的開頭,所以本題應該填rewind。
22.67G67G解析:字符型變量中保存的是某個字符的ASCII碼值,是一個整數(shù),因此字符型變量的算術運算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進制整數(shù)和字符形式輸出a和b的值為:67G。
23.structlink*headstructlink*head解析:因為本題中是用結構體變量構成了鏈表,所以要從鏈表頭節(jié)點逐個節(jié)點的引用結構體的數(shù)據(jù)域,需要有個指向結構體變量的指針依次指向各個節(jié)點,即p=p->next,而用指針引用結構體成員數(shù)據(jù)的方法為:p->data。注意:結構體變量和共用體變量之間的區(qū)別為聯(lián)系。
24.aa解析:“z”的ASCII碼值為122,經(jīng)過c-25運算后得97,以字符形式輸出是a。
25.進行寫保護進行寫保護
26.p->dataqp->data\r\nq解析:本題考查的是鏈表這一數(shù)據(jù)結構對結構體變量中數(shù)據(jù)的引用。鏈表的特點是結構體變量中有兩個域,一個是數(shù)據(jù),另一個是指向該結構體變量類型的指針,用以指明鏈表的下一個結點。
27.HowdoesheHowdoeshe解析:本題的關鍵在于表達式str1+strlen(str1)/2,注意“/”的用法,可得str1+13/2=str1+6。
28.07
29.11解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達式的值,若為真,則重復執(zhí)行循環(huán)體語句,否則退出循環(huán);do…while語句的特點是先執(zhí)行后判斷,因此循環(huán)體至少執(zhí)行1次.本程序中x=2不符合循環(huán)條件,所以只循環(huán)1次。
30.88解析:fabs函數(shù)功能是求x的絕對值,計算結果為double型。pow功能是計算x的y次方的值,計算結果同樣為double型。所以本題表達式相當于2.0的3.0次方,結果為8.000000。
31.文檔文檔解析:計算機軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關文檔的完整集合。
32.98768769876\r\n876解析:指針是一種數(shù)據(jù)類型,這種數(shù)據(jù)類型的變量用來存放內(nèi)存中分配的存儲單元的首地址。指針的定義:
類型說明符*指針變量名;
33.重復(循環(huán))重復(循環(huán))解析:結構化程序設計包括3種基本的結構:順序結構、選擇結構和重復結構(循環(huán)結構),利用這3種結構就足以表達出各種其他形式結構的程序設計方法。其中利用循環(huán)結構,可以簡化大量的程序執(zhí)行。
34.92
35.數(shù)據(jù)流數(shù)據(jù)流解析:結構化分析方法的實質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
36.7979解析:因為在調(diào)用子函數(shù)時進行的是數(shù)值傳遞,調(diào)用于函數(shù)并不能改變實參的值,所以經(jīng)過調(diào)用子函數(shù),c、d的值并沒有發(fā)生變化還是原來的值。
37.\0'n++
38.33解析:本題考查的是C語言逗號表達式的相關知識。程序在計算逗號表達式時,從左到右計算由逗號分隔各表達式的值,整個逗號表達式的值等于其中最后一個表達式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計算為3。
39.邏輯結構中相鄰的結點在存儲結構中仍相鄰。邏輯結構中相鄰的結點在存儲結構中仍相鄰。解析:順序存儲結構的主要特點是數(shù)據(jù)元素按線性表的邏輯次序,依次存放在一組地址連續(xù)的存儲單元中。在存儲單元中,各元素的物理位置和邏輯結構中各結點間的相鄰關系是一致的。
40.算法或程序或流程圖算法或程序或流程圖解析:算法是問題處理方案正確而完整的描述。
41.A解析:C語言的字符常量是用單引號(即撇號)括起來的一個字符。除此之外,在C語言中還允許用一個'\\'開頭的字符序列來表示字符常量。其中,形式'\\ddd'表示1到3位8進制數(shù)所代表的字符;形式'\\xhh'表示1到2位16進制數(shù)所代表的字符。在本題中,\'\\x13\'表示回車符,是一個字符常量;\'\\081\'用8進制數(shù)所代表的字符,但形式不正確,因為8進制數(shù)所代表的字符中不會出現(xiàn)數(shù)字'8';\'65\'不是一個字符,而是一個十進制數(shù)字;'\\n'是用雙引號括起來的一個字符,表示一個字符串,而不是字符常量。
42.C解析:EOF是指向文本文件的結束標志,NULL是打開文件錯誤時的返回值。feof(fp)用來判斷文件是否在文件末尾,文本文件和二進制文件均可以使用此函數(shù),如果遇到文件結束就返回1,否則返回0。
43.D解析:先算括號內(nèi)的表達式,即先對b進行左移運算:b的二進制為00000010,左移后變?yōu)?0001000,然后再與a進行異或運算(參與運算的兩個對應位相同,則為0,相異則為1),結果為00001001,換算成十進制數(shù)結果為9。對于左移運算也可直接用此規(guī)則:左移1位相當于該數(shù)乘以2,左移2位相當于該數(shù)乘以22=4,依此類推。
44.B解析:通常數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言有數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言和數(shù)據(jù)控制語言。其中數(shù)據(jù)操縱語言負責數(shù)據(jù)的操縱,包括查詢及增、刪,改等操作。所以查詢語言屬于數(shù)據(jù)操縱語言的一部分。
45.D解析:選項D)為兩條語句。
46.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。
47.D解析:選項A)的循環(huán)表達式條件永久為1,由于小于100的數(shù)與100取余不超過99,所以在循環(huán)體內(nèi)表達式i%100+1的值永遠不大于100,break語句永遠不會被執(zhí)行,所以是死循環(huán);選項B)的括號內(nèi)沒有能使循環(huán)終止的條件,是死循環(huán);選項C)中先執(zhí)行k++,使k=10001,陷入死循環(huán);選項D)中的s從36開始,每循環(huán)一次就減小1,直到s為0,循環(huán)結束,不會構成死循環(huán)。
48.B解析:兩個if語句的判斷條件都不滿足,程序只執(zhí)行了c=a這條語句,所以變量c的值等于3,變量b的值沒能變化,程序輸出的結果為3,5,3。所以正確答案為B)。
49.C解析:本題考查的是指向函數(shù)的指針。函數(shù)指針定義的基本格式為:類型標識符(*指針變量名)()?!邦愋蜆俗R符”為函數(shù)返回值的類型。
50.C
51.A
52.C解析:本題考查的重點是拷貝字符串——使用strcpy()函數(shù),該函數(shù)的調(diào)用方式是:strcpy(字符數(shù)組,字符串),其中”字符串”可以是字符串常量,也可以是字符數(shù)組。函數(shù)的功能是:將“字符串”完整地復制到“字符數(shù)組”中,字符數(shù)組中原有的內(nèi)容被覆蓋。
使用該函數(shù)時注意:①字符數(shù)組必須定義得足夠大,以便容納復制過來的字符串。復制時,連同結束標志'\\0'一起復制;②不能用賦值運算符“:”將一個字符串直接賦值給一個字符數(shù)組,只能用strcpy()函數(shù)處理。
另外,本題還考查連接字符串的strcat()函數(shù),其調(diào)用方
53.D解析:函數(shù)的靜態(tài)局部變量在編譯時就賦初值,即只賦初值一次,在程序運行時它已有初值,以后每次調(diào)用函數(shù)時不再重新賦值,而只是保留上次函數(shù)調(diào)用結束時的值。
54.C解析:本題中首先定義一個長度為10的整型數(shù)組,并初始化為“1,2,3,4,5,6,7,8,9,10”,然后調(diào)用排序函數(shù)sort(),對aa[3]開始的5個元素進行從大到小的排序,aa[0]、aa[1]、aa[2]、aa[8]、aa[9]并沒有變化。sort()執(zhí)行完畢后,接著執(zhí)行后面的for語句輸出數(shù)組aa中各個元素的值,所以輸出為“1,2,3,8,7,6,5,4,9,10”。故4個選項中C正確。
55.C解析:本題考查的是二維數(shù)組的定義和初始化方法。C語言中,在定義并初始化二維數(shù)組時,可以省略數(shù)組第一維的長度,但是不能省略第二維的長度。故選項C)錯誤。
56.B
57.D解析:結構體變量也有地址,因此可以把它的地址賦值給一個指針變量,然后通過該指針變量來引用結構體的成員,選項A和選項B就是通過指針變量來引用結構體的成員,也可以通過結構體數(shù)組元素的成員引用,而在選項D中stu[3].a(chǎn)ge不正確,因為結構體數(shù)組stu共有三個元素,其下標應該為0,1,2。
58.B解析:棧操作原則上“后進先出”,棧底至棧頂依次存放元素A、B、C、D,則表明這4個元素中D是最后進棧,B、C處于中間,A最早進棧。所以出棧時一定是先出D,再出C,最后出A。
59.C解析:a數(shù)組存放的是字符串,系統(tǒng)會自動在字符串的最后加上一個'\\0',所以a數(shù)組的長度為4,而b數(shù)組的長度為3,故a數(shù)組長度大于b數(shù)組長度。
60.D解析:fwrite的形式是fwrite(buffer,size,count,fp),buffer表示準備輸出的數(shù)據(jù)塊的起始地址,size表示每個數(shù)據(jù)塊的字節(jié)數(shù),count用來指定每寫一次或輸出的數(shù)據(jù)塊,fp為文件指針。
61.D在C語言中,當表達式成立時用l表示,不成立時用0表示,即x=(a&&b)&&(c<B)=(14&&15)&&(A<B)=1&&1=1,故選擇D選項。
62.Dstrcat(s1,s2)函數(shù)的功能是把s2字符串連接到s1字符串的末尾,要保證s1有足夠的空間容納下連接后的字符串。
63.A輸入函數(shù)的輸出項從整體看是一個逗號表達式,對于逗號表達式,我們只需求出最后一個表達式的值即可,首先f賦值為0,c==’A’,不成立,因為c=’a’,所以結果為假,即0,因此結果輸出的就是0.
64.B
\n本題考查switch語句及break的用法。第一個switch語句,因為a=6.a(chǎn)%2=0,所
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 業(yè)務培訓與人才培養(yǎng)責任承諾書9篇
- 2025年湖南省各市州湘能農(nóng)電服務有限公司聯(lián)合招聘780人考前自測高頻考點模擬試題及答案詳解(網(wǎng)校專用)
- 2025年西安明珠電力安裝工程有限公司招聘(2人)模擬試卷及參考答案詳解一套
- 采購管理標準化流程及工具
- 合同簽訂關鍵點風險防控檢查清單
- 2025年甘肅省河西學院附屬張掖人民醫(yī)院非事業(yè)編制護理崗位工作人員招聘20人考前自測高頻考點模擬試題及答案詳解(名校卷)
- 2025年河北承德醫(yī)學院附屬醫(yī)院招聘工作人員20名考前自測高頻考點模擬試題及完整答案詳解1套
- 科技研發(fā)成果承諾函6篇范文
- 食品安全檢測達標承諾書9篇范文
- 租房人員安全培訓課件
- 《路基構造》課件
- 2025年秋新北師大版數(shù)學二年級上冊全冊教案
- 2025年排污許可試題及答案
- 《大學美育(AIGC版微課版)》課件 項目二 繪畫之美
- .新課7 必修第一冊Unit4 Loo.king good,feeling good (詞匯+課文)(譯林版2020)(解析版)2025年初升高英語無憂銜接(通.用版)
- 復發(fā)轉(zhuǎn)移性宮頸癌診療指南(2025版)解讀課件
- 檢驗科質(zhì)量標準手冊
- 工業(yè)煤氣安全知識培訓課件
- 初三數(shù)學二次函數(shù)測試試卷及答案
- 急診科多發(fā)創(chuàng)傷搶救流程指南
- 曲臂式高空作業(yè)車專項施工方案
評論
0/150
提交評論