版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021年江蘇省徐州市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.用不帶頭結點的單鏈表存儲隊列時,其隊頭指針指向隊頭結點,其隊尾指針指向隊尾結點,則在進行刪除操作時()。
A.僅修改隊頭指針B.僅修改隊尾指針C.隊頭、隊尾指針都要修改D.隊頭,隊尾指針都可能要修改
2.
3.下列關于AOE網的敘述中,不正確的是()。
A.關鍵活動不按期完成就會影響整個工程的完成時間
B.任何一個關鍵活動提前完成,那么整個工程將會提前完成
C.所有的關鍵活動提前完成,那么整個工程將會提前完成
D.某些關鍵活動提前完成,那么整個工程將會提前完成
4.給定下列代碼:已知n是一個整數:foo()時間復雜度為O(1),上述代碼的時間復雜度是()A.O(logn)B.O(n)C.O(n*log(n))D.O(log(n)^2)
5.如果要求一個線性表既能較快地查找,又能適應動態(tài)變化的要求,可以采用下列哪一種查找方法()
A.分塊B.順序C.折半D.哈希
6.線性表的順序存儲結構是一種()。
A.隨機存取的存儲結構B.順序存取的存儲結構C.索引存取的存儲結構D.Hash存取的存儲結構
7.有以下程序:#include<stdio.h>#defineF(x,y)(x)*(y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}程序運行后的輸出結果是()。
A.12B.15C.16D.20
8.以下選項中的表達式調用庫函數依次求-4.5的絕對值、-4.0的平方根值、30°角的正弦值和2的3次方值。正確的調用是()
A.abs(-4.5)B.sqrt(-4.0)C.sin(3.1416/6.0)D.paw(2.0,3.0)
9.設有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則下列賦值語句中錯誤的是()。
A.data2=(2,6);
B.data2=data1;
C.data2.real=data1.real;
D.data2.real=data1.unreal;
10.
11.設x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
12.若有以下說明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯誤的是
A.data的每個成員起始地址都相同
B.變量data所占內存字節(jié)數與成員c所占字節(jié)數相等
C.程序段:data.a=5;printf(“%I'm”,data.C);輸出結果為5.000000
D.data可以作為函數的實參
13.下列有關數據庫的描述,正確的是______。
A.數據庫是一個DBF文件B.數據庫是一個關系C.數據庫是一個結構化的數據集合D.數據庫是一組文件
14.C語言中邏輯表達式的值為()
A.0或1B.非零值或者零值C.ture或falseD.'ture'或者'false'
15.已知char**s,下面正確的語句是()。A.A.s="ABCDEF";
B.*s="ABCDEF";
C.**s="ABCDEF";
D.*s='A';
16.若有以下程序:inta=1,b=2;a=a^b;b=b^a;則執(zhí)行以上語句后a和b的值分別是()。A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2,b=l
17.
18.
19.已知shortint類型變量占用兩個字節(jié),若有定義:shortintx[10]={0,2,4};,則數組x在內存中所占字節(jié)數是()。
A.3B.6C.10D.20
20.下列程序的運行結果是()。
A.2,3,2B.2,3,1C.1,3,3D.3,1,2
二、2.填空題(20題)21.診斷和改正程序中錯誤的工作通常稱為【】。
22.以下程序運行后的輸出結果是【】。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;
printf("%d\n",x);
}
23.執(zhí)行下列語句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
24.\13'在內存中占1個字節(jié),"\12"在內存中占______個字節(jié)。
25.以下程序的功能是從鍵盤上輸入一行字符,存入一個字符數組中,然后輸出該字符串。請?zhí)羁铡?/p>
main()
{charstr[81],*sptr;
inti;
for(i=0;i<80;i++)
{str[i]=getchar();
if(str[i]=='\n')break;
}
str[i]=【】;
sptr=str1
while(*sptr)putchar(*sptr【】);
}
26.表示條件;10<x<100或x<0的C語言表達式是【】。
27.以下函數的功能是求x的y次方,請?zhí)羁铡?/p>
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i<y;i++)z=z*【】;
returnz;
}
28.在宏定義#definePI3.14159中,用宏名PI代替一個______。
29.下列程序的輸出結果是【】。
main()
{inta=1,b=2;
a=a+b;b=a-b,a=a-b;
printf("%d,%d\n",a,b);
}
30.長度為n的順序存儲線性表中,當在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數為【】。
31.以下程序的運行結果是______。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
32.若有定義:intk;,以下程序段的輸出結果是______。for(k=2;k<6;k++,k++)printf("##%d",k);
33.閱讀下面程序段,則執(zhí)行后輸出的結果是【】。
#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;}
34.以下程序的功能是輸入任意整數給n后,輸出n行由大寫字母A開始構成的三角形字符陣列圖形。例如,輸入整數5時(注意:n不得大于10),程序運行結果如下:
ABCDE
FGHI
JKL
MN
O
請?zhí)羁胀瓿稍摮绦颉?/p>
main()
{inti,j,n;charch='A';
scanf("%d",&n);
if(n<11)
{for(i=1;i<=n;i++)
{for(j=1;j<=n-i+1;j++)
{printf("%2c",ch);
【】;
}
【】;
}
}
elseprintf("nistoolarge!\n")
printf("\n"0);
}
35.若有下列定義和語句:
char*s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
則輸出結果為______。
36.以下程序運行后的輸出結果是【】。
#include<stdio.h>
msin()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
37.問題處理方案的正確而完整的描述稱為______。
38.請在以下程序第一行的下劃線處填寫適當內容,使程序能正確運行。
______(double,double);
main()
{doublex,y;
scanf("%lf%lf",&x.&y);
printf("%lf\n…,max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a=B);}
39.數據庫管理系統(tǒng)常見的數據模型有層次模型、網狀模型和【】3種。
40.若輸入3、4、5,程序的輸出結果為【】。
#include"math.h"
main()
{floata,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f",a,b,c,s);
printf("area=%7.2f\n",area);
}
三、1.選擇題(20題)41.有以下程序段typedefstructNODE{intnum;structNODE*next;}OLD;以下敘述中正確的是
A.以上的說朗形式非法B.NODE是一個結構體類型C.OLD是一個結構體類型D.OLD是一個結構體變量
42.判斷字符串s1是否大于字符串s2,應該使用()。
A.if(strcmp(s1,s2)<0)
B.if(s1>s2)
C.if(strcmp(s2,s1)<0)
D.if(strcmp(s1,s2))
43.下列程序執(zhí)行輸出的結果是()。#include<stdio.h>f(inta){intb=0;staticc=3;a=c++;b++;return(a);}main(){inta=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n",k);}
A.3B.4C.5D.6
44.下面描述中,不符合結構化程序計風格的是_______。
A.使用順序、選擇和重復(循環(huán))三種基本控制結構表示程序的控制邏輯
B.自頂向下
C.注重提高程序的執(zhí)行效率
D.限制使用goto語句
45.下列程序的運行結果為______。main(){inta,*p;p=&a;a=100;printf("a=%d*p=%d*&a=%d&*p=%u",a,*p,*&a,&*p);a++;printf("a++=%d",a);(*p)++;printf("(*p)++=%d",*p);*p++;printf("*p++=%d\n",*p);}
A.a=100*p=100*&a=100&*p=65498a++=101(*p)++=102*p++=-24
B.a=100*p=100*&a=100&*p=65498a++=101(*p)++=102*p++=-102
C.a=100*p=100*&a=65498&*p=65498a++=101(*p)++=102*p++=-24
D.a=100*p=100*&a=100&*p=65498a++=101(*p)++=101*p++=-24
46.以下不屬于對象的基本特點的是()
A.分類性B.多態(tài)性C.繼承性D.封裝性
47.若函數調用時的實參為變量時,以下關于函數形參和實參的敘述中正確的是()。
A.函數的實參和其對應的形參共占同一存儲單元
B.形參只是形式上的存在,不占用具體存儲單元
C.同名的實參和形參占同一存儲單元
D.函數的形參和實參分別占用不同的存儲單元
48.下列選項中正確的語句組是()。
A.chars[8];s={"Beijing"};
B.char*s;s={"Beijing"};
C.chars[8];s="Beijing";
D.char*s;s="Beijing";
49.冒泡排序在最壞情況下的比較次數是()。
A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2
50.假設有語句sizeof(double),則它是()。
A.一個整型表達式B.一個雙精度浮點型表達式C.一種函數調用D.一種函數定義
51.下列敘述中錯誤的是()。
A.一種數據的邏輯結構可以有多種存儲結構
B.數據的存儲結構與數據的處理效率無關
C.數據的存儲結構與數據的處理效率密切相關
D.數據的存儲結構在計算機中所占的空間不一定是連續(xù)的
52.有如下程序main(){intx=3;do{printf("%d",x--);}while(!x);}該程序的執(zhí)行結果是______。
A.321B.3C.不輸出任何內容D.陷入死循環(huán)
53.對計算機軟件正確的態(tài)度是()
A.計算機軟件不需要維護
B.計算機軟件只要能復制得到就不必購買
C.受法律保護的計算機軟件不能隨便復制
D.計算機軟件不必有備份
54.有下列程序:#include<stdio.h>main(){inta=6,b=7,m=1;switch(a%2){case0:m++;break;case1=m++;switch(b%2){defaut:m++;case0:m++;break;}}printf("%d\n",m);}程序運行后的輸
A.1B.2C.3D.4
55.沒有以下語句,其中不是對a數組元素的正確引用的是:______(其中0≤i<10)inta[10]={1,1,2,3,4,5,6,7,8,9,},*p=a;
A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))
56.下列程序的輸出結果是()。#include<stdio.h>main(){inta=3,b=2,c=1;if(a<b)if(b<O)c=0;elsec++;printf("%d\n",c);}
A.0B.2C.1D.3
57.有下列函數:intfun(char*s){char*t=s;while(*t++);return(t-s);}該函數的功能是()。
A.比較兩個字符串的大小
B.計算s所指字符串占用內存字節(jié)的個數
C.計算s所指字符串的長度
D.將s所指字符串復制到字符串t中
58.下列敘述中正確的是A.線性表是線性結構B.棧與隊列是非線性結構C.線性鏈表是非線性結構D.二叉樹是線性結構
59.有以下函數:intfun(char*s){char*t=s;while(*t++);return(t-s)該函數的功能是______。
A.比較兩個字符串的大小
B.計算s所指字符串占用內存字節(jié)個數
C.計算s所指字符串的長度
D.將s所指字符串復制到字符串t中
60.有如下程序#defineN2#defineMN+1#defineNUM2*M+1main(){inti;for(i=1;i<=NUM;i++)printf("%d\n"i)}該程序中的for循環(huán)執(zhí)行的次數是______。
A.5B.6C.7D.8
四、選擇題(20題)61.以下程序的輸出結果是()。#defineM(x,y,z)x*y+zmain(){inta=l,b=2,c=3;printf("%d\n",m(a+b.b+c,c+a));}A.19B.17C.15D.12
62.若有定義語句:
63.下列敘述中正確的是()。
A.可以用關系運算符比較字符串的大小
B.空字符串不占用內存,其內存空間大小是0
C.兩個連續(xù)的單引號是合法的字符常量
D.兩個連續(xù)的雙引號是合法的字符串常量
64.以下敘述中正確的是()。A.A.當對文件的讀(寫)操作完成之后,必須將它關閉,否則可能導致數據丟失
B.打開一個已存在的文件并進行了寫操作后,原有文件中的全部數據必定被覆蓋
C.在一個程序中當對文件進行了寫操作后,必須先關閉該文件然后再打開,才能讀到第1個數據
D.c語言中的文件是流式文件,因此只能順序存取數據
65.
66.有以下程序:
程序運行后的輸出結果是()。
A.4B.10C.14D.6
67.
68.
69.下列程序的輸出結果是()。
#include<stdio.h>
main()
{inti,s=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}A.4B.39C.45D.6
70.以下函數返回a所指數組中最小的值所在的下標值:fun(int*a,intn){inti,j=0,P;p=j;for(i=j;i<n;i++)if(a[i]<a[j])____return(p);}在下劃線處應填入的是()。A.i=PB.a[p]=a[i]C.p=jD.p=i
71.
72.
73.當變量c的值不為2、4、6時,值也為”真”的表達式是()。
A.
B.
C.
D.
74.
下列程序的輸出結果是()。
voidfun(int*X,inty)
{printf("%d%d",*x,*y);*x=3;*y=1;}
main
{intx=1,y=2;
fun(&y,&x);
printf("%d%d",x,y);
}
A.2143B.1212C.1234D.2112
75.
76.有以下程序
77.以下敘述中錯誤的是()。
A.C語言編寫的函數源程序,其文件名后綴可以是C
B.C語言編寫的函數都可以作為一個獨立的源程序文件
C.C語言編寫的每個函數都可以進行獨立的編譯并執(zhí)行
D.一個C語言程序只能有一個主函數
78.
79.若有定義intx'y;并已正確給變量賦值。則以下選項中與表達式(x-y)?(x++):(y++)中的條件表達式(x_y)等價的是()。
A.(x-y011x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y=o)
80.選出下列標識符中不是合法的標識符的是()。
A.hot_doB.cat1C._priD.2ab
五、程序改錯題(1題)81.下列給定的程序中,函數proc()的功能是:將str所指字符串中出現的t1所指字符串全部替換成t2所指字符串,所形成的新的字符串放在w所指的數組中。在此處,要求t1和t2所指字符串的長度相同。例如,當str所指字符串中所指的內容為abcdabcdef9,t1所指字符串中的內容為bc,t2所指字符串中的內容為11時,結果在w所指的數組中的內容應為alldalldefg。請修改程序中的錯誤,使它能得出正確的結果。注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。試題程序:
六、程序設計題(1題)82.請編寫函數proc(),它的功能是計算:s=(1-1n(1)-1n(2)-1n(3)-…-1n(m))2s作為函數值返回。在C語言中可調用log(n)函數求1n(n)。log函數的引用說明是doublelog(doublex)。例如,若m的值為10,則proc()函數值為l98.934454。注意:部分源程序給出如下。請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.D
2.B
3.B
4.B
5.D
6.A
7.A解析:本題考查帶參數的宏定義,參數只是簡單的替換而不是求出其值后再替換形式參數。本題中用a++替換X,用b++替換Y,再求(a++)*(b++)的值,即3*4的值,其結果為12。
8.C
9.AA選項中的語句可以在聲明變量的同時為data2賦值,賦值語句應寫作“data2={2,6};”。故本題答案為A選項。
10.B
11.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。
12.C解析:本題考查的共用體的概念。共用體變量中的所有成員共享一段公共存儲區(qū),所以共用體變量所占內存字節(jié)數與其成員中占字節(jié)數最多的那個成員相等.本題定義的共用體中成員C所占的內存最多,因此選項B是正確的。由于共用體變量中的所有成員共享存儲空間,因此變量中的所有成員的首地址相同,選項A是正確的。同結構體變量一樣,共用體類型的變量可以作為實參進行傳遞,也可以傳送共用體變量的地址,選項D也是正確的。在內存中,實數與整數的存放形式完全不一樣,共用體的成員共用的是同一塊內存,而不是同一個數值,因此選項C是錯誤的。
13.C解析:數據庫(Database,簡稱DB)是數據的集合,它具有統(tǒng)一的結構形式并存放于統(tǒng)一的存儲介質內,是多種應用數據的集成,并可被各個應用程序所共享。數據庫中的數據具有“集成”、“共事”之特點。
14.A
15.C
16.B本題考查按位異或的用法。按位異或運算的規(guī)則是:兩個運算數的相應二進制位相同,則結果為0,相異則結果為1。b=2的二進制為00000010,a=1的二進制為00000001,a=a^b一00000011,轉化為十進制后為3,b=b^a=00000010^00000011=00000001,即1。
17.D
18.B
19.D
20.D本題考查while循環(huán)。第一次循環(huán),y=y-1,y=2,循環(huán)條件成立,x=1,x++后值為1,x自加變成2,進入循環(huán),a=a+1=1,判斷if語句條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),x=2,y-1=1.循環(huán)條件成立,進入循環(huán),a=a+1=2,判斷if語句的控制條件是否成立,y<x成立,執(zhí)行break語句。退出循環(huán)。結果為D。
21.程序調試程序調試解析:程序調試的任務是診斷和改正程序中的錯誤。程序調試與軟件測試不同,軟件測試是盡可能多地發(fā)現軟件中的錯誤。先要發(fā)現軟件的錯誤,然后借助于調試工具找出軟件錯誤的具體位置。軟件測試貫穿整個軟件生命期,而調試主要在開發(fā)階段。
22.11解析:因為在條件表達式(a<b)?a:b中,比較表達式a<b為真,所以x的值等于a的值等于1,后面兩個條件表達式中的比較表達式都為真,所以最終x的值等于1。
23.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內容,即100,所以x=100+50=150。
24.22解析:'\\13':表示八進制數13表示的ASCII字符,是一個字符,占一個字節(jié);而”\\12”是個字符串,除了八進制數12表示的ASCII字符占一個字節(jié)外,還有在字符串的末尾加上串結束標志“'\\0'”,所以共有2個字節(jié)。
25.\0'++
26.(x>10&&x<100)||x<0
27.xx解析:函數的定義形式為;
函數類型函數名(形參表)
{
類型說明語句;
執(zhí)行語句;
}
本題中函數的功能是:累積變量以求得變量的Y次方。
28.字符串字符串解析:本題考查字符替換格式:#define標識符字符串。
29.21
30.n/2性表的任何位置插入一個元素的概率相等,即概率為p=1/(n+1),則插入一個元素時所需移動元素的平均次數為E=1/(n+1)(n-i+1)=n/2。
31.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數fread和fwrite的用法。fwrite函數將數組a的前5個元素輸出到文件fp中兩次,共10個字節(jié),再調用fread函數從文件fp中讀取這10個字節(jié)的數據到數組a中,此時數組a的內容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結果為“1,2,3,0,0,1,2,3,0,0”。
32.本題主要考查for循環(huán)語句。for循環(huán)的增量表達式為逗號表達式,相當于k+=2;,即每次循環(huán)后k增加2。第一次循環(huán)時,k=2,因此輸出##2;第二次循環(huán)時k=4,輸出##4。此后k=6,不滿足循環(huán)條件。\r\n\r\n
33.NN解析:函數說明語句中的類型名必須與函數返回值的類型一致。本題實現的是在字符“A”的ASCII碼值上加上一個常數,使之變成另一個ASCII碼值,從而輸出字符。
34.ch++;或++ch;或ch=ch+1;或ch=1+ch;或ch+=1;priintf("\n");或putchar('\n');ch++;或++ch;或ch=ch+1;或ch=1+ch;或ch+=1;\r\npriintf('\\n');或putchar(\'\\n\');解析:因為ch被初始化為\'A\',而內循環(huán)中有—條輸出ch的語句,整個程序都沒有一條改變ch值的語句。所以,第1空應該填ch++或其它類似的表達式,以使每次輸出一個字母后ch都能變?yōu)橄乱粋€字母。內循環(huán)結束后,代表這一行已經輸出完畢,此時即將開始下一行的輸出,所以在第2空位置應該輸出一個換行符,故應填入printf('\\n');或其他等價形式。
35.44解析:strcpy(s1,s2)函數的作用是將字符串s2中的內容拷貝到字符串s1中的內容覆蓋。strlen()函數是求字符串的長度。本題實際上是要求s2字符串的長度,即是4。
36.1371513715解析:程序中n是一個有5個元素,且元素值全為0的數組。在for循環(huán)中,當i=1時,n[1]=n[0]*2+1,此時n[1]=1;i=2時,n[2]=n[1]*2+1,此時n[2]=3;i=3時,n[3]=n[2]*2+1,此時n[3]=7;i=4時,n[4]=n[3]*2+1,此時n[4]=15,循環(huán)結束。輸出函數中%d后有空格,因此輸出結果為13715。
37.算法或程序或流程圖算法或程序或流程圖解析:算法是問題處理方案正確而完整的描述。
38.doublemax或externdoublemaxdoublemax或externdoublemax解析:函數聲明是對所用到的函數的特征進行必要的聲明,編譯系統(tǒng)以函數聲明中給出的信息為依據,對調用表達式進行檢測,以保證調用表達式與函數之間的參數正確傳遞.函數聲明的一般格式為:類型標識符函數名(類型標識符形參,…);這些信息就是函數定義中的第一行的內容。本題中main()函數需要調用max()函數,在main()之前就需要聲明函數max(),并且可以用extern說明符使變量的作用域擴充到需要用到它的函數,所以,填寫doublemax(或externdoublemax)。
39.關系模型關系模型解析:數據庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數據庫之間的一個標準接口。其總是基于某種數據模型,可以分為層次模型、網狀模型和關系模型。
40.a=3.00b=4.00c=5.00s=6.00area=6.00
41.C解析:將題目中的定義語句去掉前面的typedef和后面的OLD(分號保留),就是一條完整的結構體定義語句,其中struct是說明符,NODE是結構體名,大括號里面的是結構體成員的定義.此時要聲明該結構體變量時需要使用struct加結構體名一起來聲明,structNODE一起構成一個結構體類型,就好像字符類型char。若只去掉前面的typedef,就是一條結構體定義同時聲明一個結構體變量OLD的語句,因為OLD的前面部分是structNODE的完整寫法,可以看作是structNODE。C語言允許用typcdcf說明一種新類型名,其語法格式為:
typedef類型名標識符;
以后就可以用該標識符來代替被說明的類型名了。因此,當前面存在typedef時,該語句就變成7給structNODE的完整寫法定義一個新的名稱OLD。所以,此時的OLD是一個結構體類型,它相當于structNODE,即可以和char一樣單獨用來聲明該結構體變量,而NODE只是一個結構體名,不能單獨用來聲明變量。所以,4個選項中C符合題意.
42.C解析:本題考查字符串比較函數strcmp()。調用形式:strcmp(s1,s2),其中s1、s2分別是字符串存儲區(qū)的首地址。函數功能:比較字符串str1和str2,當str1<str2時,返回值為負數;當str1=str2時,返回0;當str1>str2,返回值為正數(注意:不能使用關系運算符比較兩個字符串的大小)。
43.B解析:本題考查函數調用時的參數傳遞。在函數調用時,static變量在函數調用結束后所做的所有變化均保持(即上次調用結束時的值)。
在主函數中,第一次循環(huán),i=0,調用k-f(a++)=f(2),調用完之后才將a加1,a變?yōu)?,在f(2)中,先將c=3賦值給a返回,然后將c加1,得到k=a=3,c=4。
第二次循環(huán),i=1,調用k=f(a++)=f(3),調用完之后才將a加1,a變?yōu)?,在f(3)中,先將c=4賦值給a返回,然后將c加1,得到k=a=4,c=5。
44.C解析:結構化程序設計方法的四條原則是:1.自頂向下;2.逐步求精;3.模塊化;4.限制使用goto語句。
45.A
46.C解析:對象的基本特點包括;標識惟一性、分類性、多態(tài)性、封裝性和獨立性等。繼承性不屬于對象的基本特點。
47.D解析:在定義函數時函數名后面括弧中的變量名稱為“形式參數”(簡稱形參),在主調函數中調用一個函數時,函數名后面括弧中的參數(可以是一個表達式)稱為“實際參數”(簡稱實參)。C語言規(guī)定,實參變量對形參變量的數據傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內存中,實參單元與形參單元是不同的單元。故本題應該選擇D。
48.D解析:字符數組初始化可以有兩種方式:方式一,按單個字符的方式賦初值。方式二,把一個字符串作為初值賦給字符數組。選項A定義的字符數組長度為8,由于最后還要加一個“、0”做結束標志,所以賦給他的字符串長度應小于等于7;在給字符數組賦初值的時候,應該用花括號“{”和“}“將字符串括起來。將字符型指針變量指向字符串也有兩種方法,一是在定義指針變量時就給其賦初值,比如:char*p=“student”;二是給指針變量賦值,比如:p=“student”;(p已經被定義為字符型指針變量;)。
49.C冒泡排序的基本思想是:將相鄰的兩個元素進行比較,如果反序,則交換;對于一個待排序的序列,經一趟排序后,最大值的元素移動到最后的位置,其他值較大的元素也向最終位置移動,此過程稱為一趟冒泡。對于有n個數據的序列,共需n-1趟排序,第i趟對從l到n-i個數據進行比較、交換。冒泡排序的最壞情況是待排序序列逆序,第l趟比較n-1次,第2趟比較n-2次。依此類推,最后趟比較1次,一共進行n-l趟排序。因此,冒泡排序在最壞情況下的比較次數是(n-1)+(n-2)+…+l,結果為n(n-1)/2。本題的正確答案是選項C。
50.A解析:sizeof(double)是C語言內部規(guī)定的一個計算參數(double)在計算機的內存中所占用的字節(jié)數量的函數,它返回一個整數值。
51.BB。【解析】數據的存儲結構分為順序結構和鏈式結構,一個數據的邏輯結構可以有多種存儲結構。順序結構中數據元素所占的存儲空間是連續(xù)的,而鏈式存儲結構中,數據元素所占的存儲空間不一定是連續(xù)的。數據的存儲結構與數據的處理效率密切相關。
52.B解析:本題x賦初值為3,當執(zhí)行printf('%d',x-);時,由于X--的作用是先運算x,再將x的值減1,所以,printf輸出的x值為3,等輸出后,x的值減1變?yōu)?,繼續(xù)執(zhí)行,判斷條件!x為假,循環(huán)只被執(zhí)行一次。
53.C解析:A、B、D都不是對待軟件的正確態(tài)度。
54.B解析:本題考查switch語句。第一個switch語句,因為a=6,a%2=0,所以執(zhí)行case0,將m加1,遇到break語句跳出switch語句,結束循環(huán)。
55.D解析:觀察程序可知,a實際上就是數組a的首地址,所以“*(a+i)”表示的就是數組a中的第i個元素的值,進而,我們可以知道*(*(a+i))必然不是對a數組元素的正確引用。
56.C解析:本題考查if語句。第一個if語句,先判斷條件,發(fā)現a<b不成立,不再執(zhí)行下列的語句,直接執(zhí)行最后的printf輸出語句,然后結束程序,整個過程c的值沒有發(fā)生變化。
57.C解析:在函數fun(char*s)中,首先用字符指針變量t指向s,而循環(huán)語句while(*t++);的功能是使指針變量t指向字符串變量s的末尾,這時退出循環(huán),因而語句return(t-s);返回的就是字符串s所指字符串的長度。
58.A根據數據結構中各數據元素之間前后件關系的復雜程度,一般將數據結構分為兩大類型:線性結構與非線性結構。如果一個非空的數據結構滿足下列兩個條件:1,有且只有一根節(jié)結點,2,每一個結點最多有一個前件,也最多有一個后件,則稱該數據結構為線性結構,又稱線性表。所以線性表、棧與隊列、線性鏈表都是線性結構,而二叉樹是非線性結構。
59.C解析:定義一個字符指針t,并將字符指針s的首地址賦給字符指針t;通過while語句將指針t往下移到字符串最后一個字符后面的地址,指針s始終指向首地址,將末地址減去首地址可以計算出字符串的長度。
60.B解析:該題目測試考生對宏替換的理解。這是一種簡單的情況:不帶參數的宏。關鍵要注意在對2*M+1進行宏替換時,要將宏名M原封不動地代進去,得到NUM的形式為2*N+1+1(千萬不要隨意給N+1加上小括號,使NUM變?yōu)?。(N+1)+1,這就是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版專業(yè)公益法律咨詢合同版B版
- 辦公樓電梯施工安裝協(xié)議
- 2024影視制作發(fā)行合同版權保護期限
- 2024年版美甲美睫連鎖加盟合同樣書版B版
- 海參養(yǎng)殖員工職業(yè)安全與健康合同
- 地質勘探私人施工合同樣式
- 信息技術服務合同履約指南
- 市政工程樁機租賃協(xié)議樣本
- 生態(tài)修復承臺施工協(xié)議
- 銀行柜員助理招聘協(xié)議
- 食品科學與工程生涯發(fā)展展示
- WB原理流程課件
- 設備管理的設備績效績效指標和評價體系
- 智能安防智慧監(jiān)控智慧管理
- 中心學校2023-2024學年度六年級英語質量分析
- 2024年甘肅蘭州生物制品研究所有限責任公司招聘筆試參考題庫附帶答案詳解
- 保單檢視報告活動策劃
- 《學前教育研究方法》課件
- 室外消火栓安裝工程檢驗批質量驗收記錄表
- AI在藥物研發(fā)中的應用
- 美容外外科管理制度
評論
0/150
提交評論