版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2022-2023年河北省秦皇島市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.表達式“a+=a-=a=9”的值是()。
A.18B.-9C.0D.9
2.輸入序列為ABC,可以變?yōu)镃BA時,經過的棧操作為()。
A.push,pop,push,pop,push,pop
B.push,push,push,pop,pop,pop
C.push,push,pop,pop,push,pop
D.push,pop,push,push,pop,pop
3.線性鏈表中結點的結構為(data,next)。已知指針p所指結點不是尾結點,若在*p之后插入結點*s,則應執(zhí)行下列()操作。
A.s->next=p;p->next=s;
B.s->next=p->next;p->next=s;
C.s->next=p->next;p=s;
D.p->next=s;s->next=p;
4.若有定義“intw[3][5];”,則以下不能正確表示該數組元素的表達式是()。
A.*(&w[0][0]+1)B.*(*w+3)C.*(*(w+1))D.*(w+1)[4]
5.下列關系表達式中,結果為“假”的是()。A.(3+4)>6B.(3!=4)>2C.3<=4||D.(3<4)=1
6.以下有關宏替換的敘述不正確的是()。
A.雙引號中出現的宏名不替換B.使用宏定義可以嵌套C.宏定義儀儀是符號替換D.宏名必須用大寫字母表示
7.
8.有以下程序:#include<stdio.h>main(){inta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf(“%d\n”,c);}程序的運行結果是()。
A.1B.2C.3D.4
9.合法的數組初始化語句是()。
A.chara="string";
B.inta[5]={0,1,2,3,4,5};
C.inta[]="string"
D.chara[]={0,1,2,3,4,5};
10.以下關于C語言的敘述中正確的是()。
A.C語言中的注釋不可以夾在變量名或關鍵字的中間
B.C語言中的變量可以在使用之前的任何位置進行定義
C.在C語言算術表達式的書寫中,運算符兩側的運算數類型必須一致
D.C語言的數值常量中夾帶空格不影響常量值的正確表示
11.算法的時間復雜度是指A.算法的執(zhí)行時間B.算法所處理的數據量C.算法程序中的語句或指令條數D.算法在執(zhí)行過程中所需要的基本運算次數
12.以下關于typedef的敘述錯誤的是()。A.用tyFedef可以增加新類型
B.typedef只是將已存在的類型用一個新的名字來代表
C.用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名
D.用typedef為類型說明一個新名,通??梢栽黾映绦虻目勺x性
13.需求分析的主要任務是()。
A.確定軟件系統的功能B.確定軟件開發(fā)方法C.確定軟件開發(fā)工具D.確定軟件開發(fā)入員
14.對表進行水平方向和垂直方向的分割,分別對應的關系運算是()
A.選擇和投影B.投影和選擇C.選擇和聯接D.投影和聯接
15.
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.已知廣義表LS=((a,b,c),(d,e,f)),運用head和tail函數取出LS中原子e的運算是()。
A.head(tail(LS))
B.tail(head(LS))
C.head(tail(head(tail(LS)))
D.head(tail(tail(head(LS))))
18.判斷一個順序存儲的隊列sp為空的條件是()。
A.sp->front=sp->rear
B.sp->front=sp->rear+1
C.sp->front=sp->rear-1
D.sp->front=NULL
19.下列敘述中正確的是A.break語句只能用于switch語句
B.在switch語句中必須使用default
C.break語句必須與switch語句中的case配對使用
D.在switch語句中,不一定使用break語句
20.在銀行業(yè)務中,實體客戶和實體銀行之間的聯系是()。
A.—對一B.—對多C.多對一D.多對多
二、2.填空題(20題)21.下列程序執(zhí)行后輸出的結果是【】。
structs
{intx,y;}data[2]={10,100,20,200};
main()
{
structs*p=data;
printf("%d\n",++(p->x));
}
22.閱讀程序:
main()
{charstrl[]="howdoyoudo",str2[10];
char*p1=strl,*p2=str2;
scanf("%s”,p2);
printf("%s”,p2);
printf("%s\n",p1);
}
運行上面的程序,輸入字符串HOWDOYOUDO則程序的輸出結果是【】。
23.以下程序的輸出結果是【】。
main()
{ints,i;
for(s=0,i=1;i<3;i++,s+=i;
printf(“%d\n”,s);
}
24.以下函數的功能是【】。
floatav(a,n)
floata[];
intn;
{inti;floats;
for(i=0,s=0;i<n;i++)s=s+a[i];
returns/n;}
25.以下程序的運行結果是______。
#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]);
}
26.棧中允許進行插入和刪除的一端叫做______。
27.下述函數用于統計一行字符中的單詞個數,單詞之間用空格分隔。
word_num(str
charstr[];
{inti,num=0,word=0;
for(i=0;str[i]!=【】;i++)
if(【】=")word=0
elseif(word=0)
{
word=1;
【】;
}
return(num);
}
28.數據模型是用來描述數據庫的結構和語義的,數據模型有概念數據模型和結構數據模型兩類,E-R模型是【】
29.在面向對象方法中,類的實例稱為______。
30.若有以下定義,則不移動指針p,且通過指針p引用值為98的數組元素的表達式是______。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
31.執(zhí)行下面程序后,輸出結果是【】。
main()
{chars[12]="verygood!";
printf("%d",strlen(s));
}
32.以下程序的運行結果是【】。
#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]);
}
33.x、y、x均為int型變量,描述“x、y和z中至少有兩個為正數”的表達式是______。
34.子程序通常分為兩類:【】和函數,前者是命令的抽象,后者是為了求值。
35.下列程序的運行結果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-h,a+b));
printf("%d\n",a-b?a-b:a+b);
}
36.下面程序的輸出是【】。
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA"m,"BB","CC:,"DD"};
printf("%s%s%s\n,aa[em1],aa[em2],aa[em3]);
}
37.一般來說,數據庫的設計過程要經歷3個大的階段,即可行性分析與研究階段、系統設計階段、設計實施與系統運行階段。概念設計、邏輯結構設計、物理結構設計屬于數據庫設計的【】階段。
38.有以下程序
intfa(intx){returnx*x;}
intfb(intx){retumx*x*x;}
intf(int(*f1)(),int(*f2)(),intx)
{returnf2(x)-f1(x);}
main()
{inti;i=f(fa,fb,2);printf("%d\n",i);}
程序運行后,輸出結果是【】。
39.以下程序的輸出結果是【】。
#include<string.h>
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
40.對數組中的元素值進行排序。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta[]={2,4,15,3,17,5,8,23,9,7,11,13,}i,j,k;
for(k=0;k<12;k++)
for(i=k;i<12;i++)
if(a[i]>【】)
{j=a[i];
a[i]=【】;
【】=j;}
for(i=0;i<12;i++)
printf("%4d",a[i]);
printf("\n");
}
三、1.選擇題(20題)41.設有定義:chars[10];inti=0;,以下不能將一行(不超過100個字符)帶有空格的字符串正確讀入的語句或語句組是()。
A.gets(s);
B.scanf("%s",s);
C.while((s[i++]=getchar())!='\n');s[i]='\0';
D.do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';
42.若有以下說明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯誤的是
A.data的每個成員起始地址都相同
B.變量data所占內存字節(jié)數與成員c所占字節(jié)數相等
C.程序段:data.a=5;printf("%f\n",data.c);輸出結果為5.000000
D.data可以作為函數的實參
43.下面不屬于軟件設計原則的是()。
A.抽象B.模塊化C.自底向上D.信息隱蔽
44.下列不屬于軟件工程的3個要素的是______。
A.工具B.過程C.方法D.環(huán)境
45.定義如下變量和數組:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};則下面語句的輸出結果是()。for(i=0;i<3;i++)printf("%d",x[i][2-i]);
A.159B.147C.357D.369
46.下列數據模型中,具有堅實理論基礎的是()。
A.層次模型B.網狀模型C.關系模型D.以上3個都是
47.a、b、c、d變量均為float類型且已正確賦值,下列選項中與數學式子“2ab/(5cd)”等價的C語言表達式是()。
A.2/5*a/c*d/b
B.a/(5*c*d)*(2*b)
C.2*a*b/5*c*d
D.2/5*a*d*(1/c*d)
48.第
13
題
設有程序段
intk=10;
while(k=0)k=k-1;
則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次
49.以下程序段中,不能正確賦字符串(編譯時系統會提示錯誤)的是()。
A.chars[10]="abcdefg";
B.chart[]="abcdefg",*s=t;
C.chars[10];s="abcdefg";
D.chars[10];strcpy(s,"abcdefg");
50.下面程序的輸出結果是()。main(){structm1{inta;intb;}en[2]={1,3,2,7);printf("%d\n",en[0].b/en[0].a*en[1].a);
A.6B.0C.1D.3
51.線性表的鏈式存儲結構是一種
A.隨機結構B.順序結構C.索引結構D.散列結構
52.下列程序的輸出結果是______。#include<stdio.h>f(char8s){char*p=s;while(*p!='\0')p++;return(p-s);}main(){printf("%d\n",f("ABCDEF"));}
A.3B.6C.8D.0
53.關系表中的每一行稱為一個()。
A.元組B.字段C.屬性D.碼
54.下列關于單目運算符++、――的敘述中正確的是______。
A.它們的運算對象可以是任何變量和常量
B.它們的運算對象可以是char型變量和int型變量,但不能是float型變量
C.它們的運算對象可以是int型變量,但不能是double型變量和float型變量
D.它們的運算對象可以是char型變量、int型變量和float型變量
55.下面程序段的運行結果是char*s="abcde";s+=2;printf("%d",s);
A.cdeB.字符'c'C.字符'c'的地址D.無確定的輸出結果
56.下列敘述中,不正確的是
A.算法的執(zhí)行效率與數據的存儲結構有關
B.算法的空間復雜度是指執(zhí)行這個算法所需要的內存空間
C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止
D.算法的時間復雜度是指執(zhí)行這個算法所需要的時間
57.有定義語句doublda,b;intw;longc;若各變量已正確賦值,則下列選項中正確的表達式是()。
A.a=a+b=b++B.w%((int)a+b)C.(c+w)%(int)aD.w=a==b;
58.下列程序的運行結果為()。
#include<stdio.h>
voidabc(char*str)
{inta,b,i,j;
for(i=j=0;str[i]!='\0';i++)
if(str[i]!='a')
str[j++]=str[j];
str[j]='\0';
}
voidmain()
{charStr[]="abcdef';
abc(str);
printf("str[]=%s",str);
}
A.str[]=bcdefB.str[]=abcdefC.str[]=aD.str[]=ab
59.按照“先進先出”組織數據的數據結構是()。
A.隊列B.棧C.雙向鏈表D.二叉樹
60.標有/$$$/的語句的執(zhí)行次數是______。inty,i;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/$$$/;}
A.20B.19C.10D.9
四、選擇題(20題)61.若有定義:“inta,b;”,通過語句“scan[("%d;%d".,&a,&b);”,能把整數3賦給變量a,5賦給變量b的輸入數據是()。
A.35B.3,5C.3;5D.35
62.
已知有如下結構體:
structsk
{inta;
floatb;
}data,*p;
若有P=&data,則對data的成員a引用正確的是()。
A.(*p).data.aB.(*p).a;C.p->data.aD.p.data.a
63.有三個關系R、s和T如下:
由關系R和s通過運算得到關系T,則所使用的運算為()。
A.并B.自然連接C.笛卡爾積D.交
64.下面概念中,不屬于面向對象方法的是()。A.對象B.繼承C.類D.過程調用
65.有以下程序段:
以下關于程序段執(zhí)行情況的敘述,正確的是()。
A.for循環(huán)語句固定執(zhí)行8次
B.當產生的隨機數n為4時結束循環(huán)操作
C.當產生的隨機數n為1和2時不做任何操作
D.當產生的隨機數n為0時結束程序運行
66.以下程序運行后的輸出結果是()。
A.123B.234C.223D.233
67.以下語句的執(zhí)行結果是()。
intm=0,s=1;
do{
s+=m++;
}while(m<6);
printf("%d\n",s);
A.17B.16C.15D.18
68.
有以下程序:
main
{inti,j;
for(j=10;j<11;j++)
{for(i=9;i<j;i++)
if(!(j%i))break;
if(i==j-1)
printf("%d",j);
}
}
輸出結果是()。
A.11B.10C.9D.1011
69.有以下程序:
#include<stdio.h>
main()
{inta=2,b;
b=a<<2;printf("%d\n",b);
}
程序運行后的輸出結果是()。
A.2
B.4
C.6
D.8
70.有以下程序:
程序運行后的輸出結果是()。
A.1B.2C.3D.4
71.
72.
73.
74.函數調用strcat(strcpy(str1,str2),str3)的功能是()。
A.將字符串str1復制到字符串str2中后再連接到字符串str3之后
B.將字符串str1連接到字符串str2之后再復制到字符串str3之后
C.將字符串str2復制到字符串str1之后再將字符串str3連接到字符串str1之后
D.將字符串str2連接到字符串str1之后再將字符串strl復制到字符串str3中
75.
76.設有如下三個關系表
下列操作中正確的是()。
A.T=RnSB.T=RUSC.T=R×SD.T=R/S
77.
78.下列關于單目運算符++、--的敘述中正確的是A.它們的運算對象可以是任何變量和常量
B.它們的運算對象可以是char型變量和int型變量,但不能是float型變量
C.它們的運算對象可以是int型變量,但不能是double型變量和float型變量
D.它們的運算對象可以是char型變量、int型變量和float型變量
79.有以下程序則以下函數調用語句錯誤的是()。
A.k=*f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k=f(a,b);
80.下列敘述中正確的是()。
A.循環(huán)隊列是隊列的一種鏈式存儲結構
B.循環(huán)隊列是隊列的一種順序存儲結構
C.循環(huán)隊列是非線性結構
D.循環(huán)隊列是一種邏輯結構
五、程序改錯題(1題)81.下列給定程序中,函數fun的功能是:求兩個非零正整數的最大公約數,并作為函數值返回。例如,若nmnl和num2分別為49和21,則輸出的最大公約數為7;若num1和num2分別為27和81,則輸也的最大公約數為27。請改正程序中的錯誤,使它能得出正確結果。注意:不要改動main函數,不得增行或硼行,也不得更改程序的結構!試題程序:
六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數fun(),其功能是將一個數字字符串轉換成一個整數(不得調用C語言提供的將字符串轉換成整數的函數)。例如,若輸入字符串“-1234”,則函數把它轉換成整數值-1234。注意:部分源程序給出如下。請勿改動主函數main()和其他函數中的任何內容,僅在函數fun()的花括號中填入你編寫的若干語句。試題程序:#include<stdio.h>#include<string.h>longfun(char*p){}voidmain(){ chars[6]; longn; printf(“Enterastring:\n”); gets(s); n=fun(s); printf(“%ld\n”,n);}
參考答案
1.C首先計算表達式“a=9”;再計算表達式“a-=9”;即“a=a-9”,結果為0;最后計算表達式“a+=0”,即“a=a+0”,所以最終結果為0。故本題答案為C選項。
2.B
3.B
4.DA選項中,“*(&w[0][0]+1)”表示“w[0][1]”;B選項中,“*(*w+3)”表示“w[0][3]”;C選項中,“*(*(w+1))”表示“w[1][0]”;D選項中,“*(w+1)[4]”的正確寫法是“(*(w+1))[4]”,表示“w[1][4]”。故本題答案為D選項。
5.B在一個表達式中,括號的優(yōu)先級高,先計算3!=4,為真即是l,1>2為假。
6.D解析:本題考查宏替換的規(guī)則。宏替換分為簡單的字符替換和帶參數的宏替換兩類。使用宏時應注意以下幾點:①定義僅僅是符號替換,不是賦值語句,因此不做語法檢查;②為了區(qū)別程序中其他的標識符,宏名的定義通常用大寫字母,但不是必須用大寫;③雙引號中出現的宏名不替換;④使用宏定義可以嵌套,即后定義的宏中可以使用先定義的宏。
7.A
8.C該程序中“int*p1=&a,*p2=&b,*p=&c;”定義了3個指針變量,并賦值。指針變量p1指向a,p2指向b,p指向c。執(zhí)行“*p=*p1*(*p2);”語句,給p所指的存儲單元c賦值。p1所指的存儲單元的值,與p2所指的存儲單元b的值相乘,也就是c=a*b,等價于c=1*3=3。故本題答案為C選項。
9.D
10.B解析:C語言中注釋可以放在任何位置,選項A錯誤;C語言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項B正確;C語言中兩側數據類型可以不一致,系統可進行強制類型轉換,選項C錯誤;C語言數值常量中不允許存在空格,選項D錯誤。
11.DD?!窘馕觥克惴ǖ臅r間復雜度是指算法需要消耗的時間資源。一般來說,計算機算法是問題規(guī)模。09函數fin),算法的時間復雜度也因此記做T(n)=O(f(n))。因此,問題的規(guī)模n越大,算法執(zhí)行的時間的增長率與f(n)的增長率正相關,稱作漸進時間復雜度(AsymptoticTimeComplexity)。簡單來說就是算法在執(zhí)行過程中所需要的基本運算次數。
12.A用typedef沒有增加新類型,所以選擇A)。
13.A需求分析是軟件開發(fā)之前必須要做的準備工作之一。需求是指用戶對目標軟件系統在功能、行為、性能、設計約束等方面的期望。故需求分析的主要任務是確定軟件系統的功能。本題答案為A選項。
14.A解析:從關系中找出滿足給定條件的那些元組稱為選擇,是從行的角度進行的運算,即水平方向抽取元組。從關系模式中挑選若干屬性組成新的關系稱為投影,是從列的角度進行的運算,相當于對關系進行垂直分解。所以,本題選擇A。
15.C
16.D解析:本程序主要考查遞歸函數。fun(7),首先將參數代入函數,因為(7/2)>1,所以執(zhí)行f(3),以此類推直到f(1.5),(1.5/2)<1,所以執(zhí)行打印函數,此時x值為3,然后退出f(1.5)返回f(3),打印x值即7。所以選D。
17.C
18.A
19.D解析:break語句除了能用于switch語句外,還可以用于循環(huán)語句中,因此選項A不正確。在switch語句中,可以使用default來執(zhí)行所有case均失配時的分支,也可以不使用default,此時若所有case均失配則跳出switch,因此選項B不正確。在switch語句中,每個case的作用就是標出一個執(zhí)行的起點,當符合某個case時,程序就從該case所標出的起點處開始執(zhí)行,若沒有break語句中斷執(zhí)行的話,程序會一直執(zhí)行到switch的最后一條語句,而不是碰到下一個case就跳出switch。雖然break與case的配對使用會讓所有case分支互不重疊條理明確,但不配對使用在C語言中也是允許的。因此選項C不正確,應該選擇D。
20.D一個客戶可以在多家銀行辦理業(yè)務,一家銀行也有多個客戶辦理業(yè)務,因此,實體客戶和實體銀行之間的聯系是多對多。本題選擇D選項。
21.1111解析:程序中結構體數組data首地址(即&data[0])賦值給結構體指針變量p,++(P->x)表示先將p所指向的結構體變量的成員x值加1,然后將此x(即data[0].x)輸出。
22.HOWhowdoyoudo
23.55解析:此程序中,for循環(huán)語句后面直接跟了一個“;”,表明循環(huán)體為空。輸出語句不在for循環(huán)體內,所以在循環(huán)執(zhí)行完畢后才輸出s的值。s、i的初值分別為0和1,判斷循環(huán)條件,表達式“1<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為2和1,繼續(xù)判斷循環(huán)條件,表達式“2<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為3,再次判斷循環(huán)條件,表達式“3<3”不成立,循環(huán)結束。
24.求出數組元素平均值求出數組元素平均值解析:函數有一個數組形參a和一個整型形參n。函數首先用循環(huán)求數組a的前n個元素和,然后將和除以n。即求數組元素的平均值。
25.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”。
26.棧頂棧頂解析:棧是限定在表的一端進行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。
27.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點:
①for循環(huán)的結束條件應當是:str[i]已是字符串的最后一個字符;
②str[i]代表字符串str中的第i+1個字符;
③整型變量num的值是要記錄的單詞的個數。
C語言中規(guī)定字符串的最后一個字符是一個隱含的字符串結束符“\\0”,所以在題中第一個空中應填寫“\\0”;題中第二個空應填寫“str[i]”,以判斷當前位置的字符是否為空格;題中第三個空中應當填寫“num++”,通過變量num的加1累加得到字符串中的單詞個數。
28.概念數據模型概念數據模型
29.對象對象解析:類描述的是具有相似性質的一組對象。例如,每本具體的書是一個對象,而這些具體的書都有共同的性質,它們都屬于更一般的概念“書”這一類對象。一個具體對象稱為類的實例。
30.*(p+5)或p[5]*(p+5)或p[5]
31.1010解析:strlen(s)函數的返回值為字符串s包含的字符個數<不計最后的'\\0')。
32.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,'。
33.((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個為正數”,即x、y和x這3個數中必須有兩個是正數,且這3個數中的哪兩個數都有可能是正數,所以它們之間是或的關系。
34.過程過程
35.11371,13,7解析:本題考查3個知識點:①余數的計算,題中的a=10,b=3,a%b=1:②(表達式1,表達式2)形式的結果為最后一個表達式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結果為7。
36.DDBBCCDDBBCC解析:C語言對枚舉的定義規(guī)定:在枚舉中聲明的各個枚舉元素,如果沒有明確指出某個枚舉元素的值,它的上一個元素存在并有明確值的情況下,這個枚舉元素的值為其上一個元素的值+1。在本題中,沒有明確說明枚舉元素em3的值,則em3=em2+1=1+1=2,進而可知,在printf()打印函數中,要打印的數組元素是aa[3]、aa[1]、aa[2],因此最后的打印結果應當為“DDBBCC”。
37.系統設計系統設計解析:系統設計階段是系統的具體設計過程,主要包括概念設計、邏輯結構設計、物理結構設計3個步驟。這3個不同層次上的設計過程,是把實體以及相互之間的聯系轉換為“數據”并落實于計算機中。
38.44解析:在主函數中調用函數f,函數f有三個參數,形參f1與f2分別是兩個指向函數的指針。在f中執(zhí)行f2(x)-f1(x),實際上是執(zhí)行了fb(2)-fa(2),故執(zhí)行i=(fa,fb,2)后i的值為23-22=4。
39.99解析:本題要輸出的結果是字符串'IBM\\n012\\1\\\\'的長度,'IBM'是3個字符,\'\\n\'是1個字符,'012'又是3個字符,最后的\'\\1\'和\'\\\\\'都是1個字符。所以最終字符串的長度應該是3+1+3+1+1=9。故本題應該填9。
40.a[k]a[k]a[k]
41.B解析:本題考查標準輸入輸出函數和循環(huán)語句。gets(s)函數的作用是將輸入的字符讀入字符串s,直到遇到回車。而scanf()數接收字符串時的結束標志為回車或者空格。因此選巧
42.D解析:選項A),共用體的每個成員的起始地址都相同;選項B),共用體變量所占的內存長度等于最長的成員的長度;選項C)因為每個成員的起始地址相同,所以整型數5以浮點型輸出時為5.000000;選項D)C語言規(guī)定,不能把共用體變量作為函數的參數。
43.C解析:軟件設計遵循軟件工程的基本目標和原則,建立了適用于在軟件設計中應該遵循的基本原理和與軟件設計有關的概念。①抽象是一種思維工具,就是把事物本質的共同特性抽出來而不考慮其他細節(jié)。②模塊是指可以單獨命名且可編址的元素。如高級語言中的過程、函數、子程序等。③信息隱蔽是指在一個模塊內包含的信息(過程或數據),對于不需要這些信息的其他模塊來說是不能訪問的。④模塊獨立性是指每個模塊只完成系統要求的獨立的子功能,并且與其他模塊的聯系最少且接口簡單。因此,本題的正確答案是C。
44.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的技術手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。
45.C解析:題中通過二維數組的行、列下標來定位元素的位置從而實現元素的引用。注意:二維數組和數組元素的址。
46.C在數據庫設計中,目前常用的數據模型主要有三種,分別是層次模型、網狀模型和關系模型。
層次模型是數據庫系統中最早出現的數據模型。我們通常把滿足以下兩個條件的數據模型稱為層次模型。
(1)有且僅有一個結點無雙親,這個結點稱為根結點。
(2)其他結點有且僅有一個雙親。
層次模型用樹形結構來表示各實體與實體間的聯系。實體是數據庫中數據描述的對象,可以是一個人、一種商品等。在層次模型中,每個結點表示一個記錄類型,記錄之間的聯系用結點之間的連線表示,這種聯系是父子之間一對多的聯系。記錄就是描述實體的相關數據。
如果取消層次模型中的兩個限制,即允許一個以上的結點無雙親,則每一個結點可以有多個父結點,便形成了網狀。我們把網狀表示實體之間聯系的模型稱為網狀模型。
關系模型用表格形式表示實體類型及其實體間的聯系。關系模型是目前最重要的一種模型,它是建立在嚴格的數學概念的基礎上的,具有最堅實的理論基礎。關系模型的基本數據結構是二維表,每一張二維表稱為一個關系。
47.B解析:選項A和選項D中首先計算2/5,因為兩個計算分量都是整型,所以結果為2,與實際運算不符;選項B中因為乘除法滿足交換律,所以2*b放前面和放后面都是一樣的,所以滿足題目要求;選項C中的表達式等價于2abcd/5,所以不滿足題目要求。故應該選擇B。
48.C本題中,首先將0賦給k,表達式變?yōu)?,跳出循環(huán),沒有執(zhí)行循環(huán)體語句。解答本題的關鍵是掌握while語句。
49.C解析:選項A中定義了一個字符型數組并賦初值,故選項A正確;選項B定義了一個字符型數組t并初始化,然后定義了一個指針變量s并讓它指向t,故選項B正確;選項C先定義?一個長度為10的字符型數組,然后在給它賦值,這時應該分別給數組中的每個元素賦值,故選項C不正確;選項D中先定義了一個長度為10的字符型數組s,然后通過字符串拷貝函數將字符串“abedefs”賦值給它,選項D正確。所以,4個選項中選項C符合題意。
50.A解析:en[2]是結構體類型的數組,en[0].b/en[0].a*en[1].a=3/1*2=6。
51.B解析:線性表的鏈式存儲結構中的每一個存儲結點不僅含有一個數據元素,還包括指針,每一個指針指向一個與本結點有邏輯關系的結點。此類存儲方式屬于順序存儲。
52.B
53.A解析:關系表中,每一行稱為一個元組,對應表中的一條記錄;每一列稱為表中的一個屬性,對應表中的一個字段;在二維表中凡能唯一標識元組的最小屬性集稱為該表的鍵或碼。
54.D解析:本題考查++與--運算符的問題。自增運算符++與自減運算符--的運算對象只能是變量,不能是表達式或常量,變量的數據類型可以是int、char、float和double型,其結果是將變量的值加1或減1。
55.C解析:對于字符串指針,其保留的是整個串的首地址,即為第一個字符的起始地址,當該指針做算術運算時,就是該指針根據其類型向后移動相應的存儲空間。
56.D解析:算法的時間復雜度是指執(zhí)行算法所需要的計算工作量。
57.C解析:賦值運算符的左邊只能是變量,不能是表達式,選項A)錯誤;由于“%”兩邊表達式值的類型必須為整型,所以選項B)錯誤;題目要求的是正確的表達式,而表達式后面不能有“;”,選項D)錯誤。
58.A解析:本題考查函數調用時的參數傳遞。通過函數abc的執(zhí)行,將字符串中的字母a去掉,保留剩下的。由于是通過指針調用,所以改變字符串的結果。
59.A隊列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊尾”,刪除元素的一端叫“隊頭”。先插入的元素先被刪除,是按“先進先出”的原則組織數據的。
【知識拓展】“隊列”和“?!倍际且环N特殊的線性表。之所以稱之為“隊列”,其形式如“排隊”。要講究“先來后到”,先進先出,后進后出。
60.C解析:程序中標有/$$$/的語句y+=i在for循環(huán)中,由于該語句前面的條件語句使循環(huán)變量i在對2求余為0時就結束本次循環(huán),直接跳過標有/$$$/的語句,因此該語句執(zhí)行了10次。
61.C\n在輸入時必須遵守scanf函數中的格式才能正確地賦值給相應的變量,由于scanf函數為“%d;%d”,所以在輸入時要輸入3;5,答案為C。
\n
62.B
\n本題主要考查結構指針:P=&data,訪問結構體的成員。它可以通過結構變量訪問,即data,可以用等價的指針形式:(*p).a和P->a來訪問結構體變量中的成員。
\n
63.D關系R與s經交運算后所得到的關系是由那些既在R內又在S內的共有元組組成的,記為RnS。
64.D[答案]D
[考點]軟件工程基礎
[評析]
面向對象=對象+類+繼承+通過消息的通信
對象:一組屬性及其上的操作的封裝體
類:一組有相同屬性和操作的對象的集合
繼承:一個類為另一個類上的擴充的方式,子類繼承父類,主要目的是代碼復用
消息:對象間通信的手段
D是結構化程序設計或過程式(函數式)語言中的,一般的面向對象程序設計語言兼容這種方式,但不是其特征,故最佳選項為D
65.DCase常量表達式只是起語句標號作用,并不是該處進行條件判斷。在執(zhí)行switch語句時,根據switch的表達式,找到與之匹配的ease語句,就從此cafle子旬執(zhí)行下去,不再進行判斷,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版牧業(yè)養(yǎng)殖技術引進與推廣合同3篇
- 二零二五年鋼結構工程居間驗收服務合同3篇
- 2025年校園熱泵熱水設備供應合同樣本2篇
- 2025版學校圖書采購與配送服務承包合同3篇
- 2025版宣傳片制作與宣傳合同3篇
- 2025版塔吊租賃、安裝與安全維護服務合同3篇
- 全新二零二五年度廣告制作與發(fā)布合同6篇
- 家用紡織品智能溫控技術考核試卷
- 個人職業(yè)規(guī)劃社群考核試卷
- 2025版學校校園安全防范系統建設承包合同3篇
- 2024年山東省泰安市高考物理一模試卷(含詳細答案解析)
- 腫瘤患者管理
- 2025春夏運動戶外行業(yè)趨勢白皮書
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動合同
- 2024年醫(yī)療器械經營質量管理規(guī)范培訓課件
- 高低壓配電柜產品營銷計劃書
- 2024年4月自考02202傳感器與檢測技術試題
- 新入職員工培訓考試附有答案
- 互聯網的發(fā)展歷程
- 外觀質量評定報告
評論
0/150
提交評論