




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021年內蒙古自治區(qū)錫林郭勒盟全國計算機等級考試C語言程序設計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.若輸入“abcdef”“abdef”,下述程序的輸出結果為()。#include<stdio.h>#include<string.h>main{intn;chars1[20],s2[20],*p1,*p2;scanf("%s",s1);scanf("%S",s2);p1=s1;p2=s2;n=strcmp(p1,p2);printf("Vood\n",n);}A.-1B.0C."abcdef"D."abdef"
2.軟件設計中劃分模塊的一個準則是()。A.低內聚低耦合B.高內聚低耦合C.低內聚高耦合D.高內聚高耦合
3.
4.有以下程序
voidss(char*s,chart)
{while(*s)
{if(*s==t)*s=t-′a′+′A′;
s++;}}
main()
{charstr1[100]="abcddfefdbd",c=′d′;
ss(str1,c);printf("%s\n",str1);}
程序運行后的輸出結果是
A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd
5.下列程序的輸出結果是#include"stdio.h”"main(){inti,a=0,b=0;for(i=1;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}
A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5
6.
7.以下敘述中錯誤的是()。
A.函數(shù)的返回值類型不能是結構體類型,只能是簡單類型
B.函數(shù)可以返回指向結構體變量的指針
C.可以通過指向結構體變量的指針訪問所指結構體變量的任何成員
D.只要類型相同,結構體變量之間可以整體賦值
8.設有宏定義“#defineIsDIV(k,n)((k%n==1)?1:0)”,且變量m已正確定義并賦值,則宏調用“IsDIV(m,5)&&IsDIV(m,7)”為真時所要表達的是()。
A.判斷m是否能被5和7整除
B.判斷m被5和7整除是否都余1
C.判斷m被5或者7整除是否余1
D.判斷m是否能被5或者7整除
9.下面是有關C語言字符數(shù)組的描述,其中錯誤的是()。
A.不可以用賦值語句給字符數(shù)組名賦字符串
B.可以用輸入語句把字符串整體輸入給字符數(shù)組
C.字符數(shù)組中的內容不一定是字符串
D.字符數(shù)組只能存放字符串
10.有一個有序表為{1,3,9,12,32,41,45,62,75,77,82,95,100},當折半查找值為82的結點時,()次比較后查找成功。
A.11B.5C.4D.8
11.若執(zhí)行下述程序時,若從鍵盤輸入6和8,結果為()。main(){inta,b,s;scanf("%d%dt",&a,&B);s=a:if(s=B)s*=s;printf("%d",s);}
A.36B.64C.48D.以上都不對
12.若有序表的關鍵字序列為(b,c,d,e,f,g,q,r,s,t),則在二分查找關鍵字b的過程中,先后進行的關鍵字依次為()
A.f,c,BB.f,d,BC.g,c,BD.g,d,B
13.下列對于線性鏈表的描述中正確的是()。
A.存儲空間不一定連續(xù),且各元素的存儲順序是任意的
B.存儲空間不一定連續(xù),且前件元素一定存儲在后件元素的前面
C.存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面
D.存儲空間必須連續(xù),且各元素的存儲順序是任意的
14.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}執(zhí)行后的結果是()。A.輸出字符a的ASCII碼B.輸出字符c的ASCII碼C.輸出字符cD.程序出錯
15.一個有n個頂點的連通無向圖至少有()條邊。
A.n-1B.nC.n+1D.n+2
16.若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf('%d,%d\n",m,i);}執(zhí)行后的輸出結果是()。
A.8,6B.8,3C.6,4D.7,4
17.有以下程序:#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.3B.6C.8D.12
18.數(shù)據(jù)庫設計包括兩個方面的設計內容,它們是()
A.概念設計和邏輯設計B.模式設計和內模式設計C.內模式設計和物理設計D.結構特性設計和行為特性設計
19.軟件是指()。A.程序B.程序和文檔C.算法加數(shù)據(jù)結構D.程序、數(shù)據(jù)與相關文檔的完整集合
20.下列排序算法中,其時間復雜度和記錄的初始排列無關的是()
A.插入排序B.堆排序C.快速排序D.冒泡排序
二、2.填空題(20題)21.Jackson方法是一種面向【】的結構化方法。
22.下列程序執(zhí)行輸出的結果是______。
#include<stdio.h>
f(intA)
{intb=0;
staticc=7;
a=c++;b++;
return(A);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);
}
23.要使以下程序段輸出10個整數(shù),請?zhí)钊胍粋€整數(shù);
for(i=0;i<=【】;printf("%d\n",i+=2));
24.以下程序的輸出結果是【】。
main()
{chars[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s\n",p);}
25.函數(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;
}
26.下列程序的運行結果是【】。
#include<stdio.h>
#defineM100
voidfun(intm,int*a,int*n)
{inti,j=0;
for(i=1;i<=m;i++)
if(i%7==0||i%11==0)a[j++]=i;
*n=j;
}
main()
{intaa[M],n,k;
fun(10,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==0)printf("\n");
elseprintf("%4d",aa[k]);
printf("\n");
}
27.數(shù)據(jù)的邏輯結構有線性結構和______兩大類。
28.軟件需求規(guī)格說明書應具有完整性、無歧義性、正確性、可驗證性、可修復性等特性,其中最重要的是()。
29.以下程序輸出的最后一個值是【】。
intff(intn)
{staticintf=1;
f=f*n;
returnf;
}
main()
{inti;
for(i=1;i<5;i++)printf("%d\n",ff(i));}
30.設有以下程序,為使之正確運行,請在橫線中填入應包含的命令行。(注:try_me()函數(shù)在a:\myfile.txt中有定義。)
______
main()
{printf("\n");
try_me();
printf("\n");}
31.在軟件開發(fā)中,結構化方法包括結構化分析方法、結構化設計方法和結構化程序設計方法??尚行匝芯侩A段采用的是【】。
32.測試的目的是暴露錯誤,評價程序的可靠性;而______的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。
33.以下程序的功能是進行位運算main(){unsignedchara,b;a=7^3;b=~4&3;pfintf("%d%d\n",a,b);}程序運行后的輸出結果是
34.數(shù)據(jù)庫設計分為以下6個設計階段:需求分析階段、______、邏輯設計階段、物理設計階段、實施階段、運行和維護階段。
35.以下程序運行后的輸出結果是()。
main()
{charc;intn=100;
loatf=10;doublex;
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
36.以下程序的輸出結果是()。
#include<stdio.h>
main()
{intx=27;
while(x>20&&x<30)
{x++;
if(x/3){x++;break;}
else
continue;
}
printf("%d\n",x);
}
37.下面程序將二維數(shù)組a的行和列元素互換后存放到另一個二維數(shù)組b中,請?zhí)羁?。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++)();}}
38.下列程序的輸出結果是【】。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
39.數(shù)據(jù)庫保護分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復。
40.若有如下結構體說明:
structSTRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請?zhí)羁?,以完成對t數(shù)組的定義,t數(shù)組的每個元素為該結構體類型。
【】t[20]
三、1.選擇題(20題)41.有下列程序:
main()
{intt,a=1,b=5,C=-2;
while(a>b>C)
{t=a;a=b;b=t;c++;}
printf("%d,%d,%d",a,b,C);
}
程序的輸出結果是()。
A.1,5,0B.1,5,-2C.5,1,-1D.5,1,-2
42.有下列函數(shù)定義:intfun(doublea,doubleb){returna*b;}若下列選項中所用變量都己正確定義并賦值,錯誤的函數(shù)調用是()。
A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(x,y)x,y);
D.fun(x,y);
43.程序設計是以()和數(shù)據(jù)結構為基礎的。
A.算法設計B.編程語言C.設計風格D.數(shù)據(jù)結構
44.若有定義:intaa[8];則以下表達式中不能代表數(shù)組元素aa[1]的地址的是()
A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+1
45.以下程序運行后,輸出結果是______。main(){char*d[]={"ab","cde"};printf("%x",d[1]);}
A.cdeB.字符c的AScII碼值C.字符c的地址D.出錯
46.若進棧序列為1,2,3,4,進棧過程中可以出棧,則下列不可能的一個出棧序列是______。
A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1
47.以下選項中合法的用戶標識符是A.longB._2TestC.3DmaxD.A.dat
48.設有定義:intk=1,m=2;noatf=7;則下列選項中錯誤的表達式是()。
A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m
49.以下非法的賦值語句是
A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;
50.下列敘述中正確的是______。
A.數(shù)據(jù)庫是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫設計是指設計數(shù)據(jù)庫管理系統(tǒng)
C.數(shù)據(jù)庫技術的根本目標是要解決數(shù)據(jù)共享的問題
D.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結構必須與邏輯結構一致
51.結構化程序設計主要強調的是
A.程序的規(guī)模B.程序的效率C.程序設計語言的先進性D.程序易讀性
52.以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號時結束輸入和輸出操作,但程序有錯。#include<stdio.h>main(){FILE*four;charch;fout=fopen('abc.txt','w');ch=fgetc(stdin);while(ch!='#'){fputc(ch,fout);ch=fgetc(stdin);}fclose(fout);}出錯的原因是()。
A.函數(shù)fopen調用形式有誤B.輸入文件沒有關閉C.函數(shù)fgetc調用形式有誤D.文件指針stdin沒有定義
53.下述程序的輸出結果是()。#include<stdio.h>voidmain(){inta[5]={2,4,6,8,10};int*p=a,**q=&p;printf("%d,",*(p++));printf("%d",**q);}
A.4,4B.2,2C.4,5D.2,4
54.當執(zhí)行下面的語句定義一維數(shù)組a并賦以初值后,此數(shù)組的元素中不正確的一個賦值結果是()staticinta[10]={0,1,2,3,4,5};
A.a[2]=1B.a[0]=0C.a[3]=3D.a[9]=0
55.數(shù)據(jù)存儲和數(shù)據(jù)流都是______,僅僅是所處的狀態(tài)不同。
A.分析結果B.事件C.動作D.數(shù)據(jù)
56.若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結果是______。main(){intn;scanf("%d:",&n);if(n++<10)printf("%d\n",n);elseprintf%d\n",n--);}
A.11B.10C.9D.8
57.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]={'a','b','c','d','e','f','g','h','\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d\b",i,j);}程序運行后的輸出結果是
A.9,9B.8,9C.1,8D.9,8
58.若有說明inti,j=2,*p=&i;,則能完成i=j賦值功能的語句是______。
A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;
59.以下程序的輸出結果是_______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;print("%d%d%d,a[2],a[5],a[8]);}
A.258B.741C.852D.369
60.設x、y和z是int型變量,且x=4,y=6,z=8,則下列表達式中值為0的是()。
A.x&&y
B.x<=y
C.x‖y+z&&y-z
D.!((x<y)&&!z‖1)
四、選擇題(20題)61.
62.下面敘述中,正確的是
A.C語言編譯時不檢查語法B.C語言的子程序有過程和函數(shù)兩種
C.C語言的函數(shù)可以嵌套定義D.C語言的函數(shù)可以嵌套調用
63.以下選項中,值為1的表達式是()。
64.以下程序的輸出結果是________。main(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}func(inta,intB){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}
A.8,17B.8,16C.8,20D.8,8
65.設有定義:intx[2][3];,則以下關于二維數(shù)組X的敘述錯誤的是()。
A.x[0]可看做是由3個整型元素組成的一維數(shù)組
B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量
C.數(shù)組X包含6個元素
D.可以用語句x[o]=0;為數(shù)組所有元素賦初值0
66.已知字符A的ASCⅡ代碼值是65,字符變量c1的直是A,c2的值是D。執(zhí)行語句printf("%d,%d",c1,c2-2);后,輸出結果是()。
A.A,BB.A,68C.65,66D.65,68
67.下列哪個屬性是用來定義內聯(lián)樣式的?()
A.fontB.classC.stylesD.style.
68.有以下程序
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));
}
程序的運行結果是
A.9B.編譯出錯
C.21D.9.0
69.在面向對象方法中,具有相似屬性與操作的一組對象稱為()。
A.類B.實例C.消息D.數(shù)據(jù)
70.
71.下列數(shù)據(jù)結構中,屬于非線性結構的是()。
A.帶鏈隊列B.循環(huán)隊列C.帶鏈棧D.二叉樹
72.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達式a/b+C—k值的類型為:()。
A.intB.doubleC.floatD.char
73.
74.有以下程序,其輸出結果是()。
voidmain()
{
floarx=1;
inty;
x++;
y=x+1;
printf("x=%d,y=%f",x,y);
}
A.x=2,y=3
B.x=2,y=3.0
C.x=2.0,y=3
D.x=0,y=0.000000
75.
76.若有定義語句:intm[]={1,2,3,4,5},i=4;,則下面對m數(shù)組元素的引用中錯誤的是
A.m[++i]B.m[1*2]
C.m[m[0]]D.m[m[--i]]
77.
有以下程序:
main
{inta=0,b=0;
a=10;/*給a賦值
b=20;給b賦值*/
printf("a+b=%d\n",a+b);//輸出計算機結果
}
程序運行后的輸出結果是()。
A.a+b=10B.a+b=30C.30D.出錯
78.
79.
有如下程序:
#include<stdio.h>
main
{FILE*fp1;
fp1=fopen("f1.txt","w");
fprintf(fp1,"abe");
fclose(fp1);
}
若文本文件f1.txt中原有內容為:good。則運行以上程序后文件f1.txt中的內容為()。
A.goodabcB.abcdC.abcD.abcgood
80.在關系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是()。
A.二維表B.E—R圖C.元組D.文件
五、程序改錯題(1題)81.下列給定程序中,fun()函數(shù)的功能是:求3個數(shù)的最小公倍數(shù),例如,給變量a、b、c、分別輸入15、11、2,則輸出結果應當是330。請修改函數(shù)中的錯誤,得出正確的結果。注意:不要改動main()函數(shù),不能增行或減行,也不能更改程序的結構。試題程序:
六、程序設計題(1題)82.編寫函數(shù)fun(),其功能是:實現(xiàn)兩個字符串的連接(不要使用庫函數(shù)strcat),即把p2所指的字符串連接到p1所指的字符串的后面。例如,分別輸入下面兩個字符串:“FirstString——”“SecondString”程序輸出:“FirstString——SecondString”注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.D本題考查字符串比較函數(shù)strcmp(s1,s2),若s1>s2,則返回1;若s1=s2,則返回0;若s1<s2,則返回-1。字符串依次比較的是它們字符的ASCIl碼值。
2.B一般較優(yōu)秀的軟件設計,應盡量做到高內聚、低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,有利于提高模塊的獨立性。
3.B
4.B解析:在內存中,字符數(shù)據(jù)以ASCII碼存儲,它的存儲形式與整數(shù)的存儲形式類似。C語言中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用,也可以對字符型數(shù)據(jù)進行算術運算,此時相當于對它們的ASCII碼進行算術運算,在本題中,s++相當于s=s+1,即讓s指向數(shù)組中的下一個元素。
5.B解析:continue語句的作用是跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)條件的判定。當能被2整除時,a就會增1,之后執(zhí)行continue語句,直接執(zhí)行到for循環(huán)體的結尾,進行i++,判斷循環(huán)條件。
6.B
7.A函數(shù)返回值類型可以是簡單類型和結構體類型。
8.B邏輯與運算兩邊運算對象的值都為真時,結果才為真。所以需要m能被5和7整除都余1。故本題答案為B選項。
9.D\n用來存放字符量的數(shù)組稱為字符數(shù)組。字符數(shù)組也可以是二維或多維數(shù)組,對一個字符數(shù)組,如果不作初始化賦值,則必須說明數(shù)組長度,還可用printf函數(shù)和scarlf函數(shù)一次性輸出/輸入一個字符數(shù)組中的字符串,而不必使用循環(huán)語句逐個地輸入/輸出每個字符。通常用一個字符數(shù)組來存放一個字符串。所以D選項不正確。
\n
10.C
11.B
12.A
13.A解析:在鏈式存儲結構中,存儲數(shù)據(jù)的存儲空間可以不連續(xù),各數(shù)據(jù)結點的存儲順序與數(shù)據(jù)元素之間的邏輯關系可以不一致,數(shù)據(jù)元素之間的邏輯關系,是由指針域來確定的。由此可見,選項A的描述正確。因此,本題的正確答案為A。
14.D因為字符數(shù)組s[]中的數(shù)組名s表示的是一個地址常量。所以語句“s+=2;”不能將指針在當前位置的基礎上再向后移動兩位。因而程序編譯時出錯。
15.A
16.C解析:本題考查的知識點是運算符的優(yōu)先級.在復合賦值語句中,應該由右向左依次賦值,在表達式中,右端由i*=k得i=2*2為4,k=k+i,即k值為6,m=k故m=6.所以4個選項中C正確。
17.B此題考查的是函數(shù)fun,fun(b,c)=5,然后fun(2*a,5)=fun(8,5)=6。
18.A解析:模式設計和內模式設計是概念設計的兩種方法。物理設計是根據(jù)特定的計算機系統(tǒng),對數(shù)據(jù)的存儲結構和存取方法進行設計,從而實現(xiàn)從邏輯結構到物理結構的轉換。從系統(tǒng)開發(fā)的角度來看,結構特性設計和行為特性-設計是數(shù)據(jù)庫應用系統(tǒng)所具有的兩個特性。結構特性的設計,設計各級數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設計,改變實體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動態(tài)特性)。
19.D軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)及相關文檔的完整集合。其中,程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設計語言描述的、適合計算機執(zhí)行的指令(語句)序列;數(shù)據(jù)是使程序能正常操縱信息的數(shù)據(jù)結構;文檔是與程序開發(fā)、維護和使用有關的圖文資料。因此本題的正確答案是D。
20.B
21.數(shù)據(jù)結構數(shù)據(jù)結構解析:Jackson方法是—‘種面向數(shù)據(jù)結構的結構化方法。
22.88解析:第1次for循環(huán),i=0,調用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類型,所以c=8:第2次for循環(huán),i=1,調用函數(shù)f(3),然后將a的值加1,調用函數(shù)f(3)時,a=c++=8,所以k=8。
23.18或1918或19
24.BCDCDDBCD\r\nCD\r\nD解析:本題考查指向字符串的指針的運算方法。指針變量p首先指向字符串中的第一個字符A,執(zhí)行p=s+1后,p指向字符串中的第二個字符B,然后輸出值'BCD'并換行,依次執(zhí)行循環(huán)語句。
25.字符串a(chǎn)和b的長度之和字符串a(chǎn)和b的長度之和解析:本題首先通過第一個while循環(huán)計算字符串a(chǎn)的長度,再通過第二個循環(huán),將字符串a(chǎn)和b相連,最后返回連接后的總長度。
26.77解析:程序中的if(i%7==0||i%11==0)是找出能被7或11整除的所有整數(shù),a[j++]=i是將滿足條件的數(shù)放到a數(shù)組中,變量j記錄了滿足條件的數(shù)據(jù)個數(shù),main函數(shù)通過變量n得到此數(shù)據(jù)個數(shù)。如果m的值為50,即表達式fun(10,aa,&n)為fun(50,aa,&n)時,輸出結果為:711142122283335424449
27.非線性結構非線性結構
28.正確性正確性解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,通過建立完整的信息描述、詳細的功能和行為描述、性能需求和設計約束的說明、合適的驗收標準,給出對目標軟件的各種需求。軟件需求規(guī)格說明書的特點:①正確性;②無歧義性;③完整性;④可驗證性;⑤一致性;⑥可理解性;⑦可追蹤性。其中最重要的是正確性。
29.120120解析:靜態(tài)變量的類型說明符是static,靜態(tài)局部變量屬于靜態(tài)存儲方式,它具有以下特點:
①靜態(tài)局部變量屬于靜態(tài)存儲類別,在靜態(tài)存儲區(qū)內分配存儲單元。在程序整個運行期間都不釋放。
②對靜態(tài)局部變量是在編譯時賦被值的,即只賦被值一次,在程序運行時它已有被值。以后每次調用函數(shù)時不再重新賦初值而只是保留上次函數(shù)調用結束時的值。
③如在定義局部變量時不賦初值的話,則對靜態(tài)局部變量來說,編譯時自動賦初值0(對數(shù)值型變量)或空字符(對字符變量)。(注意:C語言中的非靜態(tài)變量在定義時,系統(tǒng)并不會自動給它賦被值)
④雖然靜態(tài)局部變量在函數(shù)調用結束后仍然存在,但其他函數(shù)是不能引用它的。
本題中函數(shù)的功能是:與for語句一起求一個整數(shù)的階乘。
30.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本題考查了函數(shù)的存儲分類的概念。如果沒有特別說明,函數(shù)的存儲范圍是從定義函數(shù)的位置到文件的結尾,如果其他文件想使用這個函數(shù),需要用ginclude文件包含命令將定義函數(shù)的文件包含進來。
31.結構化分析方法結構化分析方法解析:結構化分析方法主要用于系統(tǒng)分析階段;結構化設計方法主要用于系統(tǒng)設計階段;結構化程序設計方法主要用于編碼階段??尚行匝芯繉儆谙到y(tǒng)分析階段,因此,可行性研究階段采用的是結構化分析方法。
32.調試調試
33.A
34.概念設計階段(數(shù)據(jù)庫概念設計階段)概念設計階段(數(shù)據(jù)庫概念設計階段)
35.0
36.2929解析:本題考查while循環(huán)和++運算,x=27符合循環(huán)條件,執(zhí)行循環(huán)體中x++后,x=28,if條件也成立,執(zhí)行x++后退出,x的值增1,結果x=29。
37.b[j][i]=a[i][j]
38.5656解析:本題中a,b,c,d足實參,x,y,cp,dp是形參。C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內存中,實參單元與形參單元是不同的單元。在調用函數(shù)時,給形參分配存儲單元,并將實參對應的值傳遞給形參,調用結束后,形參單元被釋放,實參單元仍保留并維持原值。因此,程序的輸出結果是56。
39.完整性控制完整性控制
40.strudctSTRUstrudctSTRU解析:結構件類型是構造數(shù)據(jù)類型,是用戶自己定義的一種類型。
結構體類型的定義:
struct結構體類型名
{
成員項表;
};
定義結構體變量的的形式為:
struct結構體類型名變量1,變量2,...?
其中變量包括;一般變量、指針變量、數(shù)組變量等。
41.A解析:本題考查while循環(huán)。先判斷while循環(huán)的控制表達式是否成立,發(fā)現(xiàn)a>b>c不成立,所以不執(zhí)行循環(huán)。直接輸出a、b、c的值。
42.C解析:本題考查函數(shù)調用時的參數(shù)傳遞。C項中第一個參數(shù)的表達式不正確,因此不能得到正確的結果。
43.A
44.C
45.C解析:指針數(shù)組中的每一個元素都相當于一個指針變量。一維指針數(shù)組的定義形式為:類型名*數(shù)組名[數(shù)組長度],在本題main函數(shù)中定義指針數(shù)組d,它有兩個元素,其初值分別是“ab”、“cde”的首地址。d[1]的值為“cde”的首地址。%x是指以十六進制數(shù)形式輸出整數(shù)。
46.C解析:棧是一種后進先出表,選項C中,先出棧的是3,說明此時棧內必然有1,2,由于1先于2進淺,所以1不可能在2之前出棧,故選項C這種出棧序列是不可能的。
47.B解析:本題考查C語言標識符的命名.在C語言中,合法的標識符由字母,數(shù)字和下劃線組成,并且第一個字符必須為字母或者下劃線,long為C語言的保留字,不能作為用戶標識符,故選頃A錯誤.3Draax開頭的第一個為數(shù)字,而C語言規(guī)定,第一個字符必須為字母或者下劃線,故選項C錯誤;A.dat中的字符“.”不符合C語言中用戶標識符只能由字母、數(shù)字和下劃線組成的規(guī)定,故選項D錯誤.只有迭項B正確。
48.C解析:在C語言中,求余運算符“%”兩邊的運算對象都應為整型數(shù)據(jù),所以需要對變量f進行強制類型轉換,正確的寫法為k%(int)f。在C語言中,邏輯運算符與賦值運算符、算術運算符、關系運算符之間從高到低的運算優(yōu)先次序是:!(邏輯“非”)、算術運算符、關系運算符、&&(邏輯“與”)、‖(邏輯“或”)、賦值運算符。根據(jù)運算符的優(yōu)先級與結合性,對于選項A),先計算k>=k的值(為真,即1),再用1對k進行賦值。對于選取項B),先計算k什的值,再對其取負數(shù)。對于選項D),先計算k>=f的值(為假,即0),再用0與m進行比較,故最終結果為0。
49.C解析:本題考查的知識點是賦值語句的基本知識。在表達式的運算中,雙目賦值運算符的格式為“變量二表達式”,單目運算符一般形式為“運算符表達式”或“表達式運算符”。常量和表達式是不能被賦值的。選項A為復合表達式,首先計算(i=2,++i)的值,然后賦值給n,故選項A正確;選項B為簡單自加運算,故選項B正確;選項C在表達式++(i+1);中,(i+1)不是變量,該表達式的值為常量,而在++運算中,其運算對象必須為變量,故選項C錯誤;選項D中為復合賦值表達式,正確.所以應當選擇C。
50.C解析:數(shù)據(jù)庫不是一個獨立的系統(tǒng),它需要操作系統(tǒng)的支持,選項A錯誤;設計數(shù)據(jù)庫的目的是設計出滿足實際應用需求的實際關系模型,選項B錯誤;數(shù)據(jù)庫技術的主要目的是有效地管理和存取大量的數(shù)據(jù)資源,包括:提高數(shù)據(jù)的共享性,使多個用戶能夠同時訪問數(shù)據(jù)庫中的數(shù)據(jù);減小數(shù)據(jù)的冗余,以提高數(shù)據(jù)的一致性和完整性;提供數(shù)據(jù)與應用程序的獨立性,從而減少應用程序的開發(fā)和維護代價,選項C正確。數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結構和邏輯結構可以相互獨立,選項D錯誤。
51.D結構化程序設計由迪杰斯特拉(E.W.dijkstra)在1969年提出,他主張“清晰第一,效率第二”,以模塊化設計為中心,將待開發(fā)的軟件系統(tǒng)劃分為若干個相互獨立的模塊,這樣使完成每一個模塊的工作變得單純而明確,為設計一些較大的軟件打下了良好的基礎。
由于模塊相互獨立,因此,在設計其中一個模塊時,不會受到其他模塊的牽連,因而可將原來較為復雜的問題化簡為一系列簡單模塊的設計。模塊的獨立性還為擴充已有的系統(tǒng)、建立新系統(tǒng)帶來了不少的方便,因為可以充分利用現(xiàn)有的模塊作為積木式的擴展。
結構化程序設計的基本思想是采用“自頂向下,逐步求精”的程序設計方法和“單入口單出口”的控制結構。自頂向下、逐步求精的程序設計方法從問題本身開始,經(jīng)過逐步細化,將解決問題的步驟分解為由基本程序結構模塊組成的結構化程序框圖;“單入口單出口”的思想認為一個復雜的程序,如果它僅是由順序、選擇和循環(huán)三種基本程序結構通過組合、嵌套構成,那么這個新構造的程序一定是一個單入口單出口的程序。據(jù)此就很容易編寫出結構良好、易于調試的程序。
52.A解析:stdin是標準輸入設備的文件指針,不需定義直接可以使用,它隨系統(tǒng)的啟動而打開,隨系統(tǒng)的關閉而關閉,fgetc()函數(shù)的作用是從某個文件中讀取一個數(shù)據(jù),其參數(shù)為要讀取文件的文件指針,所以本題中的調用形式是正確的。fopen()函數(shù)有兩個參數(shù),第一個參數(shù)是打開的文件名,第二個參數(shù)是文件打開模式,兩個參數(shù)都是字符串,本例中“fout=fopen(\'abc.txt\',\'w\');”語句的fopen()函數(shù)參數(shù)是錯誤的,應該用雙引號“''”,正確的應改為fout=fopen('abc.txt','w');。所以,A選項為所選。
53.D解析:通過賦值,指針p和q都指向了數(shù)組a的首地址,*(p++)先引用數(shù)組元素,然后p++,所以輸出結果為2,**q指向的數(shù)組元素為4。注意:通過建立一個指針數(shù)組來引用二維數(shù)組元素。
54.A
55.D解析:數(shù)據(jù)流圖有4種成分:源點或終點、處理、數(shù)據(jù)存儲和哦數(shù)據(jù)流。數(shù)據(jù)存儲是處于靜止狀態(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運動中的數(shù)據(jù)。
56.B解析:程序的功能是從鍵盤輸入一個整數(shù),然后執(zhí)行if語句的條件表達式n++<10。表達式n++<10,先執(zhí)行n<10,后對n加1。程序中從鍵盤輸入的n值為9,9<10,判斷的條件為真,然后n加1,即n的值變?yōu)?0,程序執(zhí)行后面的printf語句輸出n的值為10,所以,選項B正確。
57.D解析:本題考查了求數(shù)據(jù)類型長度的運算符sizeof和求字符串長度的函數(shù)strlen的區(qū)別。strlen計算的是一個字符串的實際字符個數(shù),如果字符串放在字符數(shù)組中,則函數(shù)strlen的值為'\\0'之前的全部字符個數(shù)。而sizeof求出的是數(shù)據(jù)占據(jù)存儲空間的字節(jié)數(shù),當然也要包括字符串的結束標志符'\\0'。
58.B解析:指針是—種用來存放變量地址的特殊變量。本題中指針變量p用于存放整型變量i的地址,改變*p的值即為改變i的值。又因為“&”和“*”兩個運算符的優(yōu)先級相同,按自右而左的方向結合,所以*&j運算選進行&j運算,得j的地址,再進行*運算,取所得地址里面的值,故*&j與j等價。
59.C解析:在本題運行時主要注意的是當i=9時,a[i]=10-9=1:i=8時,a[i]=10-8=2;i=7時,a[i]=10-7=3;……依此類推,直到i=0時,a[i]=10-0=10:此時,i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。
60.D解析:本題考查邏輯運算符的使用。當“&&”的兩個運算對象都是邏輯1時,表達式才返回值是1;當“‖”的兩個運算對象至少有一個是邏輯1時,表達式返回值是1。選項A)中,x和y都是邏輯1。所以返回值是1:選項B)中,x=4<=y=6為邏輯1,所以返回值是1;選項C)中,y+z的值等于14,非0,y-z的值為-2,非0,所以邏輯表達式4‖14&&-2的值不為0;選項D)中,x<y為1,!z為0,1&&0為1,0‖1為1,因此,!1為0。
61.A
62.D本題主要考查我們對C語言一些基礎知識的掌握情況。下面分別分析本題的四個選項。
C語言程序在編譯時的主要任務就是檢查程序的語法是否符合規(guī)定,因此選項A的描述不正確。
一個程序一般都是從主函數(shù)開始運行,之后主程序調用的其他程序段叫子程序。由于C語言的程序段都是以函數(shù)形式存在的,所以除了主程序main()函數(shù)以外,其他程序中出現(xiàn)的子程序都是函數(shù),而非過程。因此,選項B的描述不正確。
在C語言中,函數(shù)是不允許被定義在其他函數(shù)里面的,即嵌套定義的。因此,選項C的描述是錯誤的。
在C語言中,函數(shù)不能嵌套定義,但可以嵌套調用和遞歸調用。嵌套調用是指一個函數(shù)在執(zhí)行過程中,調用了另一個函數(shù),而被調函數(shù)在執(zhí)行時,還可以調用其他函數(shù)。因此,本題正確的答案選D。
63.A\0值為0,所以1一’\0’值為1。答案為A)。
64.A解析:將k和m的值帶入函數(shù)func中,第—次調用完func()后,其中m和i的值要保留,并在第二次調用時使用,這是因為兩者都是局部靜態(tài)變量。所以最后的結果是8和17。
65.Dx[0]是不能賦值的。
66.C在C語言中,用整型格式輸出字符時,輸出的是其ASCII碼值。
67.D
68.A本題主要考查函數(shù)的嵌套調用。在本題中,首先定義了函數(shù)fun,該函數(shù)的返回類型為浮點型,函數(shù)帶有兩個整型形參,函數(shù)的作用不難看出是返回兩個形參的和。
在主函數(shù)中,定義了三個整型變量a,b,c,并分別賦初值為2,5,8,然后嵌套調用fun函數(shù)。輸出語句fun((int)fun(a+c,b),a-c)首先調用嵌套的fun函數(shù),即(int)fun(a+c,b),按照前面對fun函數(shù)的介紹,它應該返回的值為a+c+b=15,由于函數(shù)在前面加了強制數(shù)據(jù)類型轉換,將本來的返回結果浮點型轉換為了整型,并作為函數(shù)的參數(shù),與函數(shù)定義的參數(shù)類型匹配,程序編譯不報錯,然后執(zhí)行fun函數(shù),它返回的結果為15+a-c=9,此時的結果應該是浮點型,即為9.0,但輸出語句的輸出格式是“%3.0f”,說明無須輸出小數(shù)部分,因此,最終
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線學習平臺在教育政策執(zhí)行中的作用
- 抖音商戶直播選品匹配度評估制度
- 抖音商戶場控直播網(wǎng)絡穩(wěn)定性保障制度
- 抖音商戶直播話題熱度跟蹤制度
- 全球教育變革中2025年跨文化交流能力培養(yǎng)的課程開發(fā)研究
- 全球鈾礦資源地理分布與核能產(chǎn)業(yè)未來發(fā)展挑戰(zhàn)研究報告
- Carbonic-anhydrase-inhibitor-30-生命科學試劑-MCE
- 黑龍江農(nóng)業(yè)職業(yè)技術學院《制藥工程綜合設計》2023-2024學年第一學期期末試卷
- 嵩山少林武術職業(yè)學院《電影鏡頭畫面創(chuàng)作》2023-2024學年第一學期期末試卷
- 廣東省中學山市四中學2024-2025學年數(shù)學七上期末學業(yè)質量監(jiān)測模擬試題含解析
- 2024年湖南城建職業(yè)技術學院輔導員考試真題
- 2024-2025學年下學期高一數(shù)學人教A版期末必刷??碱}之頻率與概率
- 設備易損配件管理制度
- 青霉素過敏反應的急救
- 2025-2030中國鋁業(yè)發(fā)展狀況與投資戰(zhàn)略研究報告
- 2025年國家醫(yī)療器械抽檢品種檢驗方案
- 防汛物資儲備定額編制規(guī)程(SL298-2024)
- 無人機培訓創(chuàng)業(yè)計劃書-20250205-222450
- 輿情分析試題及答案
- 營運車輛入股協(xié)議書
- 高中數(shù)學專項提升計劃
評論
0/150
提交評論