




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2022年貴州省六盤水市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.設有關(guān)鍵碼初始化序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P,A,M,Q,R,S,Y,X}是采用()方法對初始序列精細第一堂排序的結(jié)果。
A.直接插入排序B.二路歸并排序C.快速排序D.基數(shù)排序
2.下列描述中不正確的是()。
A.字符型數(shù)組中可能存放字符串。
B.可以對字符型數(shù)組進行整體輸入、輸出。
C.可以對整型數(shù)組進行整體輸入、輸出。
D.不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進行整體賦值。
3.若有定義“inta,b,c;”以下程序段的輸出結(jié)果是()。a=11;b=3;c=0;printf(“%d\n”,c=(a/b,a%b));
A.2B.0C.3D.1
4.算法的時間復雜度是指______。
A.執(zhí)行算法程序所需要的時間B.算法程序的長度C.算法執(zhí)行過程中所需要的基本運算次數(shù)D.算法程序中的指令條數(shù)
5.有以下程序:#include<stdio.h>main(){FILE*f;f=fopen(“fllea.txt”,“w”);fprintf(f,“abc”);fclose(f);}若文本文件filea.txt中原有內(nèi)容為hello,則運行以上程序后,文件filea.txt中的內(nèi)容為()。
A.abcloB.abcC.helloabcD.abchello
6.面向?qū)ο蟮脑O計方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是()。
A.模擬現(xiàn)實世界中不同事物之間的聯(lián)系
B.強調(diào)模擬現(xiàn)實世界中的算法而不強調(diào)概念
C.使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題
D.不強調(diào)模擬現(xiàn)實世界中的算法而強調(diào)概念
7.
8.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。A.A.冒泡排序B.選擇排序C.快速排序D.歸并排序
9.若有以下定義:floatx;inta,b,c=2;,則正確的switch語句是()
A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}
B.switch(int(x)){case1:printf("*\n");case2:printf("**\n");}
C.switch(a+b){case1:printf("*\n");case1+2:printf("**\n");}
D.switch(a+B){case1:printf("*\n");casec:printf("**\n");}
10.有以下程序:#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>代表…個回車符):3845<CR>,則狴序輸出結(jié)果為()。
A.77889B.77868C.776810D.7.78866e+007
11.算法的空間復雜度是指()。
A.算法在執(zhí)行過程中所需要的計算機存儲空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語句或指令條數(shù)
D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)
12.以下敘述中正確的是()。
A.預處理命令行必須位于C源程序的起始位置
B.在C語言中,預處理命令行都以“#”開頭
C.每個C程序必須在開頭包含預處理命令行:#include
D.C語言的預處理不能實現(xiàn)宏定義和條件編譯的功能
13.設散列表中m個存儲單元,散列函數(shù)為H(key)=key%p,p是最好選擇()。
A.小于等于m的最大奇數(shù)B.小于等于m的最大素數(shù)C.小于等于m的最大偶數(shù)D.小于等于m的最大合數(shù)
14.有以下程序:#include<stdio.h>voidfun(int*s){staticinti=0;do{s[J]=s[J]+s[j+I];}while(++j<2);}main(){intk.a(chǎn)[l0]={1,2,3,4,5};for(k=1;k<3;k++)fun(a);for(k=0;k<5;k++)pfintf("%d",a[k]);printf("\n");}程序運行后的輸出結(jié)果是()。A.12345B.23445C.34756D.35745
15.下面程序的運行結(jié)果是()。#include"stdio.h"main(){inti;for(i=1;i<=5;i++){if(i%2)printf("*");elseprintf("#");}}
A.*#*#*B.#*#*#*C.*#*#D.#*#*
16.
17.有以下程序:#include<stdio.h>main(){intx=10,y=11,z=12;if(y<z)x=y;y=z;z=x;printf(“x=%dy=%dz=%d\n”,x,y,z);}程序運行后的輸出結(jié)果是()。
A.x=11y=12z=11
B.x=10y=10z=10
C.x=11y=11z=10
D.x=10y=10z=12
18.若有以下說明:chars1[]={"tree"},s2[]={"flower"};,則以下對數(shù)組元素或數(shù)組的輸出語句中,正確的是()。
A.printf("%s%s",s1[5],s2[7]);
B.printf("%c%c",s1,s2);
C.puts(s1);puts(s2);
D.puts(s1,s2);
19.以三級模式為框架形成的3種數(shù)據(jù)庫中,真實存在于計算機外存的數(shù)據(jù)庫是()。
A.概念數(shù)據(jù)庫B.用戶數(shù)據(jù)庫C.物理數(shù)據(jù)庫D.邏輯數(shù)據(jù)庫
20.有以下程序:#include<stdio.h>main(){intx=1,y=2,z=3;if(x>y)if(y<z) printf(“%d”,++z);else printf(“%d”,++y);printf(“%d\n”,x++);}程序的運行結(jié)果是()。
A.1B.41C.2D.331
二、2.填空題(20題)21.以下程序運行結(jié)果是【】。
#include<stdio.h>
main()
{intfun();fun();}
fun()
{staticinta[3]={0,1,2};
inti;
for(i=0;i<3;i++)a[i]+=a[i];
for(i=0;i<3;i++)printf("%d,",a[i]);
printf("\n");}
22.以下程序是從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計其中正數(shù)的個數(shù),并計算它們的和。請?zhí)羁铡?/p>
main()
{
inti,a[20],sum,count;
sum=count=【】;
for(i=0;i<20;i++)scanf("%d",【】);
for(i=0;i<20;i++)
{
if(a[i]>0)
{count++:
sum+=【】;
}
}
printf("sum=%d,count=%d\n",sum.count);
}
23.當運行以下程序時,輸入abed,程序的輸出結(jié)果是:【】。
insert(charstr[])
{inti
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",sB);insert(str);
}
24.通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為【】。
25.有以下程序:
main()
{intnum[4][4]={{1,2,3,4),{5,6,7,8),{9,10,11,12),{13,14,15,16}},i,j;
for(i=0;i<4;i++)
{for(j=0;j<=i;j++)printf("%4c",'');
for(j=______;j<4;j++)printf("%4d",num[i][j]);
printf("\n");
}
}
若要按以下形式輸出數(shù)組右上半三角:
1234
678
1112
16
則在程序下劃線處應填入的是【】。
26.fseek函數(shù)的正確調(diào)用形式是【】。
27.下列程序的運行結(jié)果為【】。
main()
{inta=5,b=5,y,z;
y=b-->++a?++b:a;
z=++a>b?a:y;
printf("%d,%d,%d,%d",a,b,y,z);
}
28.若有以下程序:
main()
{inta[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};
inti,j,s=0;
for(i=0;i<4;i++)
{for(j=0;j<4;j++)
{if(a[i][j]<0)
continue;
if(a[i][j]==0)
break;
s+=a[i][j];
}
}
printf("%d\n",s);
}
執(zhí)行后的輸出結(jié)果是【】。
29.下列語句的輸出結(jié)果是______。
chars[20]="aaaa",*sp=s;
puts(strcat(sp,"AAAAA"));
30.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對數(shù)據(jù)的操作運算。
31.函數(shù)fun的返回值是【】。
fun(char*a,char*b)
{intnum=0,n=0;
while(*(a+num)!='\0')num++;
while(b[n]){*(a+num)=b[n];num++;n++;}
returnnum;
}
32.若a的值為1,則表達式!a‖++a的值是______。
33.長度為n的順序存儲線性表中,當在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為【】。
34.mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;【】!='\0';i++);
return(【】);
}
35.在進行模塊測試時,要為每個被測試的模塊另外設計兩類模塊:驅(qū)動模塊和承接碟塊,其中______的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果。
36.以下程序中,fun()函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值,請?zhí)羁铡?/p>
voidfun(int,int,int(*)[4],int*);
main()
{inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;
fun(3,4,a,b);
for(i=0;i<3;i++)printf("%4d",b[i]);
printf("\n");
}
voidfun(intm,intn,intar[][4],int*br)
{inti,j,x;
for(i=0;i<m;i++)
{x=ar[i][0];
for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];
______=x;
}
}
37.以下程序的輸出結(jié)果是()。#include<stdio.h>fun(){staticinta=0;a+=3;printf("%d",A);}main(){intcc;for(cc=1;cc<5;cc++)fun();printf("\n");}
38.設有如下定義
#defineMYSWAP(z,x,y){z=x;x=y;y=z;}
floata=5,b=16,c;
MYSWAP(______,a,b);
39.若有定義:intx=1,y=2;floata=3.7,b=2.1;則(x+y)%2+(int)a/(int)b表達式的值為()。
40.下列程序利用指針將2個數(shù)按從大到小的順序輸出。
main()
{inta,b,【】;
printf("inputa,b:");
scanf("%d%d",&a,&b);
【】;
p2=&b;
if(a<b)
{p=p1;
p1=p2;
p2=p;
}
printf("a=%db=%d\n",a,b);
printf("max=%dmin=%d\n",【】);
三、1.選擇題(20題)41.在結(jié)構(gòu)化程序設計中,模塊劃分的原則是()。
A.各模塊應包括盡量多的功能
B.各模塊的規(guī)模應盡量大
C.各模塊之間的聯(lián)系應盡量緊密
D.模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度
42.在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是()。
A.數(shù)據(jù)庫系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項管理
43.下列描述錯誤的是()。
A.繼承分為多重繼承和單繼承
B.對象之間的通信靠傳遞消息來實現(xiàn)
C.在外面看不到對象的內(nèi)部特征是基于對象的“模塊獨立性好”這個特征
D.類是具有共同屬性、共同方法的對象的集合
44.設intb=2;,則表達式(b<<2)/(b>>1)的值是______。
A.0B.2C.4D.8
45.有以下程序
#include<stdio.h>
main0
{inty=9;
for(;y>0;y--)
if(y%3==0)printf("%d",--y);
}
程序的運行結(jié)果是
A.741B.963C.852D.875421
46.有以下程序:inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t+=a++;}else{inta;7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運行后的輸出結(jié)果是______。
A.24B.28C.32D.36
47.若有以下定義和語句:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;則值為3的表達式是______。
A.p+=2,*(p++)B.P+=2,*++pC.P+=3,*p++D.P+=2,++*p
48.有以下程序:voidsum(int*A){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}執(zhí)行后的輸出結(jié)果是
A.4B.3C.2D.1
49.若定義inta=10,則表達式a+=a-*=a的值是()。
A.0B.-180C.-100D.-90
50.假定int類型變量占用兩個字節(jié),有定義:intx[10]={0,2,4};,則數(shù)組x在內(nèi)存中占字節(jié)數(shù)是
A.3B.6C.10D.20
51.若有說明:int*p,m=5,n;,以下正確的程序段是()。
A.p=&m;scanf("%d",&p)
B.p=&n;scanf("%d",&p)
C.scsnf("%d",&p)p=&n;
D.p=&n;p=&m;
52.若輸入1.5、2.5,則以下程序的運行結(jié)果為______。main(){floata,b;intc;scanf("%f,%f,",&a,&b);c=max(a,b);printf("%d",c);}max(x,y)floatx,y;{floatz;z=x>y?x:y;return(z);}
A.1.5B.2.5C.2D.3
53.設x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達式中,值為0的表達式是
A.x&&y
B.x<=y
C.x||++y&&y-z
D.!(x<y&&!z||1)
54.下面程序的輸出結(jié)果是()maint(){char*s="121";intk=0,a=0,b=0;do{k++;if(k%2==0){a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0'}wnile(s[k+1]);printf("k=%da=%db=%d\n",k,a,b);}
A.k=3a=2b=3B.k=3a=3b=2C.k=2a=3b=3D.k=2a=2b=3
55.若a是float型變量,b是unsigned型變量,以下輸入語句合法的是()
A.scanf("%6.2f%d",&a,&b);
B.scanf("%f%n",&a,&b);
C.scanf("%f%30",&a,&b);
D.scanf("%f%d",&a,&b);
56.下列關(guān)于字符串的說法中錯誤的是
A.在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符'\0'作為字符串結(jié)束標志
B.'\0'作為標志占用存儲空間,計入串的實際長度
C.在表示字符串常量的時候不需要人為在其末尾加入'\0'
D.在C語言中,字符串常量隱含處理成以'\0'結(jié)尾
57.下面程序的輸出結(jié)果是______。#definea121constb=12;enumc{a1,a2};main(){printf("%d,%d,%d",sizeof(a),sizeof(b),sizeof(enumc));}
A.121,0,4B.2,2,2C.0,2,4D.0,2,2
58.假定所有變量均已正確說明,下列程序段運行后x的值是()a=b=c=0;x=35;if(!a)x--;elesif(b);if(c)x=3;elsex=4;
A.34B.4C.35D.3
59.現(xiàn)有如下程序段#include"stdio.h"main(){inta[5][6]={23,3,65,21,6,78,28;5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};inti=0,j=5;printf("%d\n",*(&a[0][0]+2*i+j-2));}則程序的輸出結(jié)果為
A.21B.78C.23D.28
60.有以下程序:main(){inta[3][3],*p.i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);}程序運行后的輸出結(jié)果是()。
A.012B.123C.234D.345
四、選擇題(20題)61.已知:chara;intb;floatc;doubled;執(zhí)行語句“c=a+b+c+d;”后,變量c的數(shù)據(jù)類型是()。
A.intB.charC.floatD.double
62.
63.
64.以下敘述中正確的是
A.C程序的基本組成單位是函數(shù)B.C程序中的每一行只能寫一條語句
C.main()函數(shù)必須放在其他函數(shù)之前D.C語句必須在一行內(nèi)寫完
65.
66.?下列程序的輸出結(jié)果是()。#include<stdio.h>main{inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1:case2:a=2default:a+=3;}}printf("%d",a);}A.19B.18C.6D.8
67.(2)以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是()
A.隊列
B.線性表
C.二叉樹
D.棧
68.
69.
70.
71.為了避免嵌套的條件分支語句if—else的二義性,C語言規(guī)定:C程序中的else總是與_____組成配對關(guān)系。
A.縮排位置相同的ifB.在其之前未配對的ifC.在其之前未配對的最近的ifD.同一行上的if
72.
若希望下列的程序運行后輸出25,程序空白處的正確選項是()。
main
{intid=50,a[]=(7,4,10,5,8};
for()
j+=a[i];
printf("%d",j-40);
}
A.i=1;i<4;++i
B.i=l;i<3;++i
C.i=4;i>2;i--
D.i=2;i<4;++i
73.下列字符數(shù)組初始化語句中,不正確的是()。A.A.charc[]='goodmorning';
B.charc[20]="goodmorning";
C.charc[]={'a','b','c','d');
D.charc[]={"ffgoodmorning"};
74.設變量均已正確定義,若要通過;語句為變螢a1和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Yd以下所示的輸入形式中正確的是(注:口代表空格字符)
75.對線性表進行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲,并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲,并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈式方式存儲,并按關(guān)鍵碼值排好序
D.線性表以鏈式方式存儲,并按關(guān)鍵碼的檢索頻率排好序
76.以下關(guān)于結(jié)構(gòu)化程序設計的敘述中正確的是()。
A.結(jié)構(gòu)化程序使用goto語句會很便捷
B.在c語言中,程序的模塊化是利用函數(shù)實現(xiàn)的
C.一個結(jié)構(gòu)化程序必須同時由順序、分支、循環(huán)三種結(jié)構(gòu)組成
D.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問題
77.有以下程序段:
為使程序段不陷入死循環(huán),從鍵盤鍵入的數(shù)據(jù)應該是()。
A.任意正奇數(shù)B.任意負偶數(shù)C.任意正偶數(shù)D.任意負奇數(shù)
78.下述程序的運行結(jié)果是()。#includedstdio.h>#includedstrin9.h>main{char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}A.正數(shù)B.負數(shù)C.零D.不確定的值
79.以下敘述中正確的是()。
A.c語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行
B.可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行
C.c語言規(guī)定必須用main作為主函數(shù)名,程序從此開始執(zhí)行,在此結(jié)束
D.main作為用戶標識符,用以命名任意一個函數(shù)作為主函數(shù)
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:先將字符串s中的字符按順序存放到t中,然后把S中的字符按正序連接到t的后面。例如,當s中的字符串為WXYZ時,則t中的字符串應為WXYZWXYZ。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#include<string.h>voidproc(char*s,char*t){inti,s1;s1=strlen(s);for(i=0;i<s1;i++)//****found****t[i]=s[s1];for(i=0;i<s1;i++)t[s1+i]一s[i];t[2*s1]=\O0;}voidmain{chars[100],t[100];system("CLS");print{("\nPleaseenterstrings:");scanf("%s",s);proc(s,t);printf("Theresultis:%s\n",t);}六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,函數(shù)fun()的功能是將s所指字符串中下標為偶數(shù)同時ASCII值為奇數(shù)的字符刪除,s所指字符串中剩余的字符形成的新字符串存放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi)容為“ABCDEFG12345”,其中字符C的ASCⅡ值為奇數(shù),在數(shù)組中的下標為偶數(shù),因此必須刪除;而字符1的ASCⅡ值為奇數(shù),在數(shù)組中的下標為奇數(shù),因此不應當刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應是“BDH2345”。注意:部分源程序在文件prog1.c中。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序::
參考答案
1.C
2.C
3.AC語言中,逗號運算符可以把兩個以上(包含兩個)的表達式連接成一個表達式。逗號運算符的優(yōu)先級是所有運算符中級別最低的,逗號運算符保證左邊的子表達式運算結(jié)束后才進行右邊的子表達式的運算。也就是說,逗號運算符是一個序列點,其左邊所有子表達式運算都結(jié)束后,才對其右邊的子表達式進行運算,并以最右邊表達式的值作為整個逗號表達式的值。因此c的值為“a%b”,即“11%3=2”。故本題答案為A選項。
4.C解析:算法的時間復雜度實際上就是執(zhí)行算法程序所需要的計算工作量。為了客觀地反映算法性能,在度量算法的時間復雜度時,應該與編寫算法程序所使用的程序設計語言、執(zhí)行算法程序時所使用的計算的工具以及程序員的水平無關(guān)。選項A錯誤,因為同一算法程序在運行速度不同的計算機上運行時,其計算時間是不同的。選項B錯誤,因為算法所編寫的程序長度往往與程序設計語言以及程序員的水平有關(guān),同一個算法,用不同的程序設計語言或者不同的程序員所編寫出的程序其長度可能會大不相同。選項D錯誤,因為根據(jù)一個算法所編制出的程序之中,其指令條數(shù)往往與程序設計語言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來度量算法的時間復雜度。所以,本題正確答案為C。
5.B執(zhí)行“fprintf(f,“abc”);”后,f文件原有內(nèi)容被“abc”覆蓋。故本題答案為B選項。
6.C\n面向?qū)ο蟮脑O計方法的基本原理是:使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。它雖強調(diào)模擬現(xiàn)實世界中的概念而不強調(diào)算法,但是它鼓勵開發(fā)者在軟件開發(fā)的過程中從應用領(lǐng)域的概念角度去思考。
\n
7.B
8.A解析:以下幾種算法的時間復雜度分別為:冒泡排序(n2);選擇排序(n2);快速排序(nlog2n);歸并排序(nlog2n)。當排序元素序列基本有序的情況下,冒泡排序的交換次數(shù)為0,只是順序掃描數(shù)據(jù)而已,所以其效率是最高的。
9.C
10.A
11.A算法的空間復雜度是指算法在執(zhí)行過程中所需要的內(nèi)存空間。所以選擇A項。
12.B本題是對基本知識點的理解,預處理命令行的位置沒有規(guī)定,只是習慣寫在起始位置而已,當需要時才用#include<stdio.h>頭文件,預處理的作用就是實現(xiàn)宏定義和條件編譯。
13.B
14.D本題考查靜態(tài)變量,靜態(tài)變量有儲存已經(jīng)操作過的值,所以fun(a)s[O]=3,s[1]=5,s[2]=7,所以答案選擇D。
15.A解析:分析程序呵知.程序循環(huán)5次,然后利用if語句決定每次循環(huán)時輸出的字符。當i為奇數(shù)時,i%2=1,if(i%2)為真,輸出“*”;當i為偶數(shù)時,i%2=0,if(i%2)為假,執(zhí)行else語句,輸出“#”,所以當i取1、3、5值時輸出“*”,當i取2、4值時輸出“#”。
16.D
17.Aif條件為真,執(zhí)行“x=y;”,此時x=11,y=11,z=12;再執(zhí)行“y=z;z=x;”,此時y=12,z=11,即x=11,y=12,z=11。故本題答案為A選項。
18.C
19.B
\n①以內(nèi)模式為框架所組成的數(shù)據(jù)庫,1物理數(shù)據(jù)庫;②以概念模式為框架所組成的數(shù)據(jù)庫叫概念數(shù)據(jù)庫;③以外模式為框架所組成的數(shù)據(jù)庫叫用戶數(shù)據(jù)庫。它是真實存在于計算機外存中的數(shù)據(jù)庫。
\n
20.Aelse總是與離它最近的if配對,所以當?shù)?個if語句的判斷條件不成立時,不再執(zhí)行第2個if語句以及與第2個if語句配對的else語句,而是直接執(zhí)行“x++”,輸出1。故本題答案為A選項。
21.0240480,2,4\r\n0,4,8解析:本題主要考查了for循環(huán)語句的使用以及靜態(tài)局部變量的特點。
22.0&a[i]a[i]0\r\n&a[i]\r\na[i]解析:本題要求從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計其中正數(shù)的個數(shù),井計算它們的和。程序中首先要對存放正數(shù)個數(shù)的變量count及存放和值的變量sum初始化為0,所以第一空應填0。接著要求從終端讀入數(shù)據(jù)到數(shù)組中,可以通過scanf函數(shù)實現(xiàn),因此第二空應填&a[i]。最后通過sum+=a[i];語句累加正數(shù)a[i]的值到sum中,因此第三空應填a[i]。
23.a*b*c*da*b*c*d,解析:在insert()函數(shù),因為題目要求輸入的字符串為abed,所以執(zhí)行完“i=strlen(str);”后,i中存放的是字符串a(chǎn)bcd的長度值4。所以接F來的while循環(huán)會循環(huán)4次,每次讓i減1,故4次循環(huán)中i的值依次為4、3、2、1。每次循環(huán)會執(zhí)行兩條語句str[2*i]=str[i];str[2*i-1]='*',當i=4時為:str[8]=str[4];str[7=='*';。執(zhí)行結(jié)果是將字符串a(chǎn)bed末尾的結(jié)束符'\\0'復制到其下標值2倍的位置,并在其前1位插入—個'*'哼符。接下來i=3,執(zhí)行str[6]=str[3];str[5]='*'。執(zhí)行后會將字符串a(chǎn)bcd最后一個字符,d復制到其下標值2倍的位置,并在其前1位插入一個'*'字符。依次類推,直到i=1,執(zhí)行str[2]=str[1];str[1]='*',將字符tb,往后移動了1位,并在原位置插入'*'字符。所以,循環(huán)結(jié)束后,字符串str會變?yōu)閍*b*c*d*。這就是程序的輸出結(jié)果。
24.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。一般包括可行性研究與需求分析、設計、實現(xiàn)、測試、交付使用以及維護等活動。
25.ii解析:上三角的情況是對數(shù)組a[i][j],j≥j的時候,因此,在j≥i時應輸出所需要的元素,故橫線上應填i。
26.fseek(文件指針位移量起始點)fseek(文件指針,位移量,起始點)解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:
fseek(文件指針,位移量,起始點)
“起始點”用0,1或2代替,其中,0代表“文件開始”;1為“當前位置”;2為“文件末尾”。“位移量”指以“起始點”為基點,向前移動的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當文件的長度大于64k時不致出現(xiàn)問題。ANSIC標準規(guī)定在數(shù)字的末尾加一個字母L,就表示long型。
27.7467
28.5858解析:for循環(huán)語句中continue語句的作用是當數(shù)組元素值小于0時,結(jié)束本次j循環(huán),break語句的作用是當數(shù)組元素值等于0時,結(jié)束j循環(huán),所以for循環(huán)語句的功能是計算數(shù)組元素a[0][0]、a[0][1]、a[2][1]和a[3][1]之和,即s=1+2+23+32=58。
29.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動覆蓋字符數(shù)組sp末尾的\'\\0\'。
30.存儲結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)及對數(shù)據(jù)的操作運算。
31.字符串a(chǎn)和b的長度之和字符串a(chǎn)和b的長度之和解析:本題首先通過第一個while循環(huán)計算字符串a(chǎn)的長度,再通過第二個循環(huán),將字符串a(chǎn)和b相連,最后返回連接后的總長度。
32.11解析:邏輯運算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。
33.n/2性表的任何位置插入一個元素的概率相等,即概率為p=1/(n+1),則插入一個元素時所需移動元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
34.str[i]或str+iistr[i]或str+i\r\ni
35.程序設計的任務是診斷和改正程序中的錯誤。程序調(diào)試活動由兩部分組成,其一是根據(jù)錯誤的跡象確定程序中錯誤的確切性、原因和位置;其二是對程序進行修改,排除這個錯誤。\r\n\r\n
36.br[i]
37.3691236912解析:本題考查最基本的for循環(huán)。for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3,即每次a的值增加3,但因為fun函數(shù)中變量a為static類型,所以每次調(diào)用完子函數(shù)之后,變量a所做的改變都要保存。
38.CC解析:本題關(guān)鍵在考生是不是了解宏的基本運用,再使用宏的時候明顯少了一個實參。在定義宏的時候變量z是用來做中間變量的,題目中缺的變量就是一個中間變量C。
39.22解析:本題考查表達式的運算。因為x=1,y=2,所以表達式(x+y)%2=3%2=1,(int)a/(int)b=(int)}(3/2)=1,因此整個表達式的結(jié)果為(x+y)%2+(int)a/(int)b=1+1=2。
40.*p*p1*p2p1:&a*p1*p2
41.D解析:本題考查軟件工程中軟件設計的概念和原理。人們在開發(fā)計算機軟件的長期實踐中積累了豐富的經(jīng)驗,總結(jié)這些經(jīng)驗得到如下的啟發(fā)式規(guī)則:
(1)改進軟件結(jié)構(gòu),提高模塊獨立性;通過模塊的分解或合并,力求降低耦合提高內(nèi)聚。低耦合也就是降低不同模塊間相互依賴的緊密程度,高內(nèi)聚是提高一個模塊內(nèi)各元素彼此結(jié)合的緊密程度。
(2)模塊的規(guī)模應適中。一個模塊的規(guī)模不應過大,過大的模塊往往是由于分解不夠充分:過小的模塊開銷大于有益操作,而且模塊過多將使系統(tǒng)接口復雜。因此過小的模塊有時不值得單獨存在。
(3)模塊的功能應該可以預測,但也要防止模塊功能過分局限。如果模塊包含的功能太多,則不能體現(xiàn)模塊化設計的特點:如果模塊的功能過分的局限,使用范圍就過分狹窄。
經(jīng)過上述分析,本題的正確答案是選項D。
42.A在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)這一階段。數(shù)據(jù)庫系統(tǒng)階段用數(shù)據(jù)模型來表示復雜的數(shù)據(jù),有較高的數(shù)據(jù)獨立性。數(shù)據(jù)庫系統(tǒng)為用戶提供了方便的用戶接口,用戶既可使用查詢語言或終端命令操作數(shù)據(jù)庫,也可以用程序方式來操作。數(shù)據(jù)庫管理系統(tǒng)提供了數(shù)據(jù)控制功能。
43.C解析:對象的封裝性是指從外面看只能看到對象的外部特性;而對象的內(nèi)部,其處理能力的實行和內(nèi)部狀態(tài)對外是不可見的,是隱蔽的。
44.D
45.C解析:本題考察變量的自加'++'和自減'--'問題。當y的值為9、6或3時,if語句的條件成立,執(zhí)行輸出語句,輸出表達式--y的值,y的自減要先于輸出語句執(zhí)行,故輸出結(jié)果為852。
46.B解析:在主函數(shù)main()中定義了兩個變量s和i,同時給s賦初值a=4,i賦初值0。當i=0時。執(zhí)行“s+=f(i);”語句,調(diào)用f()并將i的初值0傳遞給形參n。首先執(zhí)行if語句中內(nèi)條件:n%2,若條件為假。則執(zhí)行else下的語句,a=7,t=7+0=7,使用return返回t,t=7+(a++)=7+5=12,此時a運算完后自增1,變?yōu)?;返回主函數(shù)中,s=4+12=16。當i=1時,執(zhí)行“s+=f(i);”語句,調(diào)用f()并將i的初值1傳遞給形參n。首先執(zhí)行if語句中的條件:n%2,條件為真,執(zhí)行if
47.A解析:引用一個數(shù)組元素,可以用:(1)下標法,如a[i]形式;(2)指針法,如*(a+i)或*(p+i)。數(shù)組的下標從0開始,值為3的數(shù)組元素是a[2]。B、C的內(nèi)容為a[3],D將a[2]前自加,結(jié)果為4。
48.A解析:本題考核的知識點是數(shù)組的定義、賦初值以及函數(shù)調(diào)用的組合應用.本題中函數(shù)sum(int*A)的作用是:將形參a所指的數(shù)組中的第二個元素的值a[1]賦給第一個元素a[0]。主函數(shù)中定義一個長度為10的整型數(shù)組并賦初值,接著執(zhí)行一個for循環(huán),該循環(huán)共執(zhí)行了3次.當i=2時,調(diào)用函數(shù)sum(&aa[2]),主函數(shù)中將&aa[2]作為實參傳給行參a,所以此時形參a所指的數(shù)組的第一個元素和第二個元素分別為aa[2]和aa[3],故執(zhí)行完該函數(shù)后將aa[3]的值賦給aa[2],即aa[1]=aa[3]=4,當i=1時,調(diào)用函數(shù)sum(&aa[1]),主函數(shù)中將&aa[1]作為實參傳給行參a,所以此時形參a所指的數(shù)組的第一個元素和第二個元素分別為aa[1]和aa[2],故執(zhí)行完該函數(shù)后將aa[2]的值賦給aa[1],即aa[1]=aa[2]=4;當i=0時;調(diào)用函數(shù)sum(&aa[0]),,主函數(shù)中將&aa[0]作為實參傳給行參a,所以此時形參a所指的數(shù)組的第一個元素和第二個元素分別為aa[0]和aa[1],故執(zhí)行完該函數(shù)后將aa[1]的值賦給aa[0],即aa[0]=aa[1]=4;故最后輸出的aa[0]的值為4,所以,4個選項中選項A符合題意。
49.B解析:算術(shù)運算符的運算規(guī)則是:從右到左的原則。所以表達式中先計算a=a-a*a的值是-90,再計算a=a+a的值是-180。
50.D解析:x數(shù)組共有10個元素,在花括弧內(nèi)只提供3個初值,這表示只給前面的3個成員賦值,后7個元素的值為0,所以,一共有20個字節(jié)。
51.D解析:p為指針型變量,在輸入函數(shù)的地址列表中不用&,當給指針變量賦值時是取變量的地址賦給指針變量,&為取地址運算符,因此只有選項D正確。
52.C
53.D解析:該題考查邏輯與'&&'和邏輯或'||'以及邏輯非'!'符號的用法。選項A)即3&&4為真;選項B)即3<=4為真;選項C)是一個邏輯或與邏輯與的混合運算,只要執(zhí)行了邏輯或左半部分,程序?qū)⒅苯油V箞?zhí)行邏輯或右半部分程序,因為x的值為真;此時選項C)變?yōu)?&&-1為真。選項D)不用計算,括號內(nèi)邏輯或右邊的值為1,因而括號內(nèi)的值為1,再進行邏輯非運算得0。
54.C
55.C
56.B解析:'\\0'作為標志占用存儲空間,但是不計入串的實際長度。當給一個字符型指針賦值時,賦給這個指針的是這個字符串的地址。
57.B解析:sizeof函數(shù)是取變量所占的存儲空間的字節(jié)數(shù),標識a代表常量121;constb=12;,其中數(shù)據(jù)類型可以缺省,默認為整型;enumc{a1,a2};定義了—個枚舉類型enumc,a1,a2為枚舉元素,在C編譯時,對枚舉元素按常量處理,它們的值按定義順序依次為0,1。因此它們的字節(jié)數(shù)均為2,2,2。
58.B
59.A解析:通過地址來引用二維數(shù)組,若有以下定義:inta[3][4],i,j;且當0≤i≤3,0≤j<4則可以有以下幾種方式來引用數(shù)組中的第i行,第j列的元素:\ue008a[i][j]\ue009,\ue008*(a[i]+j),\ue009*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。表達式&a[0][0]+2*i+j-2相當于是地址&a[0][0]加上多少偏移量。
60.D解析:本題中定義的二維數(shù)組a[3][3]中9個元素在內(nèi)存中的排列順序是:a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],a[2][0],a[2][1],a[2][2]。在主函數(shù)中,首先定義了二維數(shù)組a[3][3],然后定義了—個指針p指向數(shù)組a的第1個元素a[0][0]在第一個for循環(huán)中,依數(shù)組a在內(nèi)存中的排列順序為其元素賦從0~8九個值,然后用第二個for循環(huán)依次輸出a[1][0],a[1][1],a[1][2]三個元素的值。所以,4個選項中選項D符合題意。
61.C賦值運算進行時,必須賦值號兩側(cè)的類型一致時,賦值運算才進行,如果賦值號兩邊的類型不一致,則先將右邊的類型強制轉(zhuǎn)換為左邊的類型,然后進行運算。
62.C
63.B
64.A本題主要考查C語句中函數(shù)的基本知識。
在C語言中,函數(shù)是組成C語言程序的基本單位,而函數(shù)又主要由語句和注釋組成,在C程序中,每一行可以寫一條或多條語句,而且一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 律師見證授權(quán)書3篇
- 安全炊事員責任書3篇
- 夜不歸宿的自我反省與誓言3篇
- 售賣貓咪合同范本3篇
- 關(guān)于農(nóng)村房屋贈與合同3篇
- 學生歸家安全承諾書3篇
- 叉車操作員工作滿意度調(diào)查3篇
- 供水工程質(zhì)量保修協(xié)議3篇
- 公司注冊委托書應注意哪些問題
- 家長積極參與學校活動的保證書3篇
- 2025年網(wǎng)絡安全培訓考試題庫(網(wǎng)絡安全專題)實戰(zhàn)試題
- 行政管理本科畢業(yè)論文-地方政府智慧政府建設問題與對策研究-以G市為例
- 衛(wèi)星星座設計與組網(wǎng)策略-全面剖析
- (一模)2025年3月濟南市2025屆高三模擬考試英語試卷(含答案)
- T-CSBT 012-2024 全血及成分血外觀檢查和處置指南
- 環(huán)境應急知識與技能培訓
- 2025年礦山救援隊技能理論考試題庫資料500題(含答案)
- 2024遼寧沈陽水務集團有限公司招聘20人筆試參考題庫附帶答案詳解
- 建筑工地物業(yè)服務合同模板7篇
- 《計算機發(fā)展史》課件
- 2025年安徽蕪湖市陽光電力維修工程有限責任公司招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論