版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年江蘇省泰州市全國計算機等級考試C語言程序設計知識點匯總卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.計算機硬件組成中,CPU包含______。
A.控制器和存儲器B.控制器和運算器C.控制器、運算器和存儲器D.內存儲器和外存儲器
3.若有說明語句:charc='\72'則變量c()。
A.包含1個字符B.包含2個字符C.包含3個字符D.說明不合法,c的值不確定
4.下列標識符不是關鍵字的是()。
A.breakB.charC.SwithchD.return
5.
6.表達式a+=a-=a=9的值是()。
A.9B.-9C.18D.0
7.有以下程序:#include<stdio.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf(“%d\n”,t);}程序的運行結果是()。
A.3B.4C.1D.9
8.下面程序的輸出是()。A.17B.18C.23D.24
9.有以下程序
#include<stdio.h>
#include<stdlib.h>
main()
{int*a,*b,*c;
a=b=c=(int*)malloc(sizeof(int));
*a=1;*b=2,*c=3;
a=b
printf(”%d,%d,%d\n”,*a,*b,*c);
}
程序運行后的輸出結果是()。A.3,3,3B.2,2,3C.1,2,3D.1,1,3
10.下列關于字符串的說法中錯誤的是
A.在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符'\0'作為字符串結束標志
B.'\0'作為標志占用存儲空間,計入串的實際長度
C.在表示字符串常量的時候不需要人為在其末尾加入'\0'
D.在C語言中,字符串常量隱含處理成以'\0'結尾
11.下列排序算法中,()算法可能會出現(xiàn)下面情況:初始數(shù)據(jù)有序時,花費的時間反而最多。
A.堆排序B.冒泡排序C.快速排序D.希爾排序
12.如果某圖的鄰接矩陣是對角線元素均為零的上三角矩陣,則此圖是_______
A.有向完全圖B.連通圖C.強連通圖D.有向無環(huán)圖
13.
14.對n個元素的數(shù)組進行(),其平均時間復雜度和最壞情況下都為O(nlogn)。
A.希爾排序B.快速排序C.堆排序D.選擇排序
15.設有定義:intx=2.以下表達式中,值不為6的是()。A.2*x,x+=2B.x++.2*xC.x*=(1+x)D.x*=x+1
16.表達式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型為()。A.intB.floatC.doubleD.不確定
17.設inta=12,則執(zhí)行完語句a+=a-=a*a后,a的值是()。
A.552B.264C.144D.-264
18.
19.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)當執(zhí)行程序時,輸出的結果是()。A.-1B.1C.4D.0
20.以下敘述中錯誤的是()。
A.C語言程序在運行過程中的所有計算都以二進制方式進行
B.C語言程序在運行過程中的所有計算都以十進制方式進行
C.所有C語言程序都需要編譯、鏈接無誤后才能運行
D.C語言程序中字符變量存放的是字符的ASCII值
二、2.填空題(20題)21.閱讀下列程序,則在執(zhí)行后,程序的運行結果為#include"stdio.h"#include"string.h"main(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}
22.有如下圖所示的雙鏈表結構,請根據(jù)圖示完成結構體的定義:
structaa
{intdata;
【】}node;
23.如果一個工人可管理多個設施,而一個設施只可被一個工人管理,則實體“工人”與實體“設備”之間存在【】聯(lián)系。
24.不改變關系表中的屬性個數(shù)但能減少元組個數(shù)的是()。
25.以下程序運行后的輸出結果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}
26.在樹形結構中,樹根結點沒有______。
27.關系模型的完整性規(guī)則是對關系的某種約束條件,包括實體完整性、______和自定義完整性。
28.一棵二叉樹中共有80個葉子結點與10個度為1的結點,則該二叉樹中的總結點數(shù)為【】。
29.設y為血型變量,請寫出描述“y是偶數(shù)”的表達式______。
30.【】是從二維表列的方向進行的運算。
31.以下程序輸出的最后一個值是【】。
intff(intn)
{staticintf=1;
f=f*n;
returnf;
}
main()
{inti;
for(i=1;i<5;i++)printf("%d\n",ff(i));}
32.下面程序的輸出是【】。
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]);
}
33.若a是int型變量,則表達式(a=2*3,a*2),a+4的值為______。
34.下列程序的輸出結果是【】。
voidfun(int*n)
{
while((*n)--);
printf("%d",++(*n));
}
main()
{inta=100;
fun(&a);
}
35.以下函數(shù)用來求出兩整數(shù)之和,并通過形參將結果傳回,請?zhí)羁铡?/p>
voidfunc(intx,inty,【】z)
{*z=x+y;}
36.一個模塊直接調用的其他模塊的模塊個數(shù)稱為______。
37.對于圖書管理數(shù)據(jù)庫,將圖書表中"人民郵電出版社"的圖書的單價漲價5%。請對下面的SQL語句填空:UPDATE圖書【】WHERE出版單位="人民郵電出版社"
38.設有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
39.表達式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為______。
40.在數(shù)據(jù)的存儲結構中,不僅需要存儲各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
三、1.選擇題(20題)41.若有以下說明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則值為6的表達式是_______。
A.*p+6B.*(p+6)C.*p+=5D.p+5
42.已有定義:chara[]="xyz"'b[]={'x','y','z');,以下敘述中正確的是______。
A.數(shù)組a和b的長度相同B.a數(shù)組長度小于b數(shù)組長度C.a數(shù)組長度大于b數(shù)組長度D.上述說法都不對
43.對以下說明語句的正確理解是inta[10]={6,7,8,9,10};
A.將5個初值依次賦給a[1]至a[5]
B.將5個初值依次賦給a[0]至a[4]
C.將5個初值依次賦給a[6]至a[10]
D.因為數(shù)組長度與初值的個數(shù)不相同,所以此語句不正確
44.以下敘述中正確的是()。
A.構成C程序的基本單位是函數(shù)
B.可以在一個函數(shù)中定義另一個函數(shù)
C.main()函數(shù)必須放在其他函數(shù)之前
D.所有被調用的函數(shù)一定要在調用之前進行定義
45.以下程序的運行結果是()。#include<stdio.h>main(){st,uctdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}
A.6B.8C.10D.12
46.設ch是char型變量,其值為A,且有表達式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch。該表達式的值是______。
A.AB.aC.ZD.z
47.以下的for循環(huán)______。for(x=0,y=0;(y!=123)||(x<4);x++)
A.是無限循環(huán)B.循環(huán)次數(shù)不定C.執(zhí)行4次D.執(zhí)行3次
48.若定義了以下函數(shù):voidf(……){……*p=(double*)malloc(10*sizeof(double));……}p是該函數(shù)的形參,要求通過p把動態(tài)分配存儲單元的地址傳回主調函數(shù),則形參p的正確定義應當是()
A.double*pB.float**pC.double**pD.float*p
49.若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達式是______。
A.pb=&x;B.pb=x;C.*pb=&x;D.*pb=*x
50.數(shù)據(jù)的存儲結構是指______。
A.數(shù)據(jù)所占的存儲空間量B.數(shù)據(jù)的邏輯結構在計算機中的表示C.數(shù)據(jù)在計算機中的順序存儲方式D.存儲在外存中的數(shù)據(jù)
51.一個良好的算法由下面的基本結構組成,但不包括______。
A.順序結構B.選擇結構C.循環(huán)結構D.跳轉結構
52.若以“a+”方式打開一個已存在的文件,則下列敘述正確的是()。
A.文件打開時,原有文件內容不被刪除,位置指針移到文件末尾,可以進行添加或讀操作
B.文件打開時,原有文件內容不被刪除,只能進行讀操作
C.文件打開時,原有文件內容被刪除,只能進行寫操作
D.以上三種說法都不正確
53.有以下程序main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);)程序運行后的輸出結果是
A.12353514B.12353513C.12343514D.12343513
54.軟件需求分析階段的工作,可以分為四個方面需求獲取,需求分析,編寫需求規(guī)格說明書,以及()A.階段性報告B.需求評審C.總結D.以上都不正確
55.若要求從鍵盤讀入含有空格字符的字符串,應使用函數(shù)A.getc()B.gets()C.getchar()D.scanf()
56.已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達式是
A.kk>='A'&&kk<='Z'
B.!(kk>='A'||kk<="Z")
C.(kk+32)>='a'&&(kk+32)<='Z'
D.isalpha(kk)&&(kk<91)
57.結構化程序設計的一種基本方法是()
A.篩選法B.遞歸法C.歸納法D.逐步求精法
58.設有以下語句:charstrl[]="string",str2[8],*str,*str4="string";則______不是對庫函數(shù)的正確調用。
A.strcpy(strl,"HELLO1");
B.strcpy(str2,"HELLO2");
C.strcpy(str3,"HELLO3");
D.strcpy(str4,"HELLO4");
59.若有下面的程序段:chars[]="china";char*p;p=s;則下列敘述正確的是
A.s和p完全相同
B.數(shù)組s中的內容和指針變量p中的內容相等
C.s數(shù)組長度和p所指向的字符串長度相等
D.*p與s[0]相等
60.下面程序的輸出是______。main(){char*s="12134211";intv1=0,v2=0,v3=0,v4=0,k;for(k=0;s[k];k++)switch(s[k]){default:v4++;case'1':v1++;case'3':v3++;case'2':v2++;}printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
D.v1=8,v2=8,v3=8,v4=8
四、選擇題(20題)61.有以下程序:
程序的運行結果是()。
A.0987654321
B.4321098765
C.5678901234
D.0987651234
62.有以下程序程序運行后的輸出結果是()。
63.以下關于結構化程序設計的敘述中正確的是()。
A.結構化程序使用goto語句會很便捷
B.在c語言中,程序的模塊化是利用函數(shù)實現(xiàn)的
C.一個結構化程序必須同時由順序、分支、循環(huán)三種結構組成
D.由三種基本結構構成的程序只能解決小規(guī)模的問題
64.
65.已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷e中的字符是否為大寫字母的表達式是()。
A.isupper(c)
B.A<=c<=Z
C.A<=cc<=Z
D.c<=(z-32)(a-32)<=c
66.下列程序的輸出的結果是()。main{doubled=3.2;intx,Y;x=1.2;v=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.07
67.
68.
69.按照c語言規(guī)定的用戶標識符命名規(guī)則,不能出現(xiàn)在標識符中的是()。A.連接符B.大寫字母C.數(shù)字字符D.下劃線
70.第
15
題
非空的循環(huán)單鏈表head的尾結點(由p所指向),滿足
A.p->next==NULLB.p==NULLC.p->next=headD.p=head
71.以下關于C語言數(shù)據(jù)類型使用的敘述中錯誤的是()。
A.若要處理如“人員信息”等含有不同類型的相關數(shù)據(jù),應自定義結構體類型
B.若要保存帶有多位小數(shù)的數(shù)據(jù),可使用雙精度類型
C.若只處理“真”和“假”兩種邏輯值,應使用邏輯類型
D.整數(shù)類型表示的自然數(shù)是準確無誤差的
72.
數(shù)字字符0的ASCII值為48,運行以下程序的輸出結果是()。
main
(chara=1,b=2;
printf("%C,",b++);printf("%d\n",b—a);}
A.3,2B.50,2C.2,2D.2,50
73.
74.下列敘述中錯誤的是()。
A.線性表是由n個元素組成的一個有限序列
B.線性表是一種線性結構
C.線性表的所有結點有且僅有一個前件和后件
D.線性表可以是空表
75.以下敘述中錯誤的是()。
A.一個C程序中可以包含多個不同名的函數(shù)
B.一個C程序只能有一個主函數(shù)
C.C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過
D.C程序的主函數(shù)必須用main作為函數(shù)名
76.以下不能正確定義二維數(shù)組的選項是()。
A.
B.
C.
D.
77.若有下面的程序段
#include"stdio.h"
main()
{inti=6;
while(i--)
printf("%d",--i);
printf("\n");
}
那么程序的輸出結果為
A.531B.420
C.654321D.死循環(huán)
78.軟件需求分析一般應確定的是用戶對軟件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
79.已知二叉樹后序遍歷序列是dabeC,中序遍歷序列是debaC,它的前序遍歷序列是()。
A.aChedB.deCabC.deabeD.Cedba
80.在c語言中,只有在使用時才占用內存單元的變量,其存儲類型是()。
A.auto和static
B.extern和register
C.auto和register
D.static和register
五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:用選擇法對數(shù)組中的m個元素按從小到大的順序進行排序。
例如,排序前的數(shù)據(jù)為:1132-5214
則排序后的數(shù)據(jù)為:-52111432
請修改程序中的錯誤,使它能得到正確結果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。
試題程序:
六、程序設計題(1題)82.使用vc++2010打開文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),其功能是在一組得分中,去掉一個最高分和一個最低分,然后求平均值,并通過函數(shù)返回該值。函數(shù)形參a指向存放得分的數(shù)組,形參n中存放得分個數(shù)(n>2)。例如,若輸入8.4共10個得分,則輸出結果為8.687500。注意:部分源程序存放在文件prog1.c中,請勿改動主函數(shù)main()和其他函數(shù)中的任何內容,僅在函數(shù)fun()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.D
2.B
3.A解析:C語言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個“\\”開頭的字符。其中,“\\ddd”表示用ASCII碼(八進制數(shù))表示一個字符,本題中的charc='\\72'H口表示占一個字符的變量c的ASCII碼值。
4.C在C語言中,字母區(qū)分大小,所以break、char、return、switch都是C語言中的關鍵字,而Swithch不是。
5.A
6.D解析:+=、-=、=等符號優(yōu)先級相同結合性是由右至左,所以選D。
7.B內循環(huán)只循環(huán)一次就結束,第1次外循環(huán)時,t=t+b[0][b[0][0]]=1+b[0][0]=1+0=1;第2次外循環(huán)時,t=t+b[1][b[1][1]]=1+b[1][1]=1+1=2;第3次外循環(huán)時,1=1+b[2][b[2][2]]=2+b[2][2]=2+2=4。故本題答案為B選項。
8.B
9.A解析:本題中,首先創(chuàng)建開辟一個動態(tài)內存,然后將地址分別存入指針a、b、c中,即a、b、c都指向相同的變量。分別給a、b、C所指的變量賦值,最終a、b、c所指的變量中的值為3,最后打印a、b、c所指的變量的值,即3,3,3。所以選A。
10.B解析:'\\0'作為標志占用存儲空間,但是不計入串的實際長度。當給一個字符型指針賦值時,賦給這個指針的是這個字符串的地址。
11.C
12.D
13.A
14.C
15.A[解析]A)選項中逗號表達式先計算第一表達式2*x,然后計算表達式x+=2的值,即x=x+2即4.整個逗號表達式為第二個表達式的值4.所以選A)。B)選項中首先計算逗號表達式中第一個表達式x++,此時x為3.再執(zhí)行第二個表達式2*x=2*3=6.所以逗號表達式為第二個表達式的值6.C)選項的賦值表達式可以表示為x==x*(1+x)=2*(1+2)=6.D)選項中的表達式可以表示為x=x*(x+1)=2*3=6.
16.C因為c語言數(shù)據(jù)進行計算時數(shù)據(jù)類型會由低級向高級進行隱式轉化,sqrt函數(shù)得到的是double類型,比其他的int數(shù)據(jù)類型高,所以整個結果得到的是double類型。
17.D
18.D
19.A本題考查do-while循環(huán)。當--y是0(即y是o)時結束循環(huán),輸出--y,先將y的值減1再輸出Y的值。
20.BC語言程序在運行過程中的所有計算都以二進制方式進行,所以B選項錯誤。故本題答案為B選項。
21.D
22.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結構體對鏈表的定義。
23.一對多或1:N實體之間的對應關系稱為聯(lián)系,它反映現(xiàn)實世界事物之間的相互關聯(lián)。兩個實體間的聯(lián)系可以歸結為三種類型:一對一聯(lián)系表現(xiàn)為某一實體與另一實體一一對應相關聯(lián);一對多聯(lián)系表現(xiàn)為某一實體與相關多個實體相關聯(lián);多對多聯(lián)系表現(xiàn)為多個實體與相關多個實體相關聯(lián)。
24.選擇選擇解析:關系數(shù)據(jù)庫的專門關系運算包括選擇、投影和連接3種,其中選擇不改變關系表中的屬性個數(shù)但能減少元組個數(shù)。
25.1020010200解析:本題考查的是混合運算。“(a/b<1)&&(a%b<1)”的運算順序為:括號>算術運算符>關系運算符>邏輯運算符。其中a%b=10,a,b=0,所以a%b<1的值為0,a/b<1的值為1,故整個表達式的結果為0,所以輸出的a,b,c的值為10200。
26.前件前件
27.參照完整性參照完整性
28.179179解析:在任意一棵二叉樹中,度為0的結點(即葉子結點)總是比度為2的結點多一個。本題中的二叉樹有80個葉子結點,因此,該二叉樹有80-1=79個度為2的結點;又知本題中的二叉樹有10個度為1的結點。因此,本題中的二叉樹總結點數(shù)為:葉子結點數(shù)+度為1的結點數(shù)+度為2的結點數(shù)=80+10+79=179
29.(y%2)==0(y%2)==0解析:因符合偶數(shù)的條件是對2取余為0,所以要描述y是偶數(shù)的表達式是(y%2)==0。
30.投影投影解析:在關系模型的數(shù)據(jù)語言中,一般除了運用常規(guī)的集合運算,(并、交,差、笛卡爾積等)外,還定義了一些專門的關系運算,如投影、選擇、連接等。投影是從二維表的列方向上進行的運算。
31.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ù)的階乘。
32.DDBBCCDDBBCC解析:C語言對枚舉的定義規(guī)定:在枚舉中聲明的各個枚舉元素,如果沒有明確指出某個枚舉元素的值,它的上一個元素存在并有明確值的情況下,這個枚舉元素的值為其上一個元素的值+1。在本題中,沒有明確說明枚舉元素em3的值,則em3=em2+1=1+1=2,進而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結果應當為“DDBBCC”。
33.此題考查逗號表達式。逗號表達式的值是最后一個表達式的值,所以本題的返回值是a+4。前面已經給a賦值6,所以返回值a+4=6+4=10。
34.00解析:在函數(shù)fun()中,while((*n)-)是先引用*n的值,再做(*n)--運算,所以循環(huán)結束時*n的值為0,再做(*n)--運算后,*n的值為-1;執(zhí)行++(*n)后,*n的值是0。
35.int*int*解析:從題中代碼可知:z應該是一個整型指針,因此應填int*。
36.扇出扇出解析:在結構圖中,調用一個給定模塊的模塊個數(shù)稱為扇入,一個模塊直接調用的其他模塊個數(shù)稱為扇出。
37.SET單價=單價*1.05SET單價=單價*1.05解析:更新表中元組的值,使用UPDATE命令,一次可以更新表中的一個或多個屬性值。UPDATE短語之后指定更新數(shù)據(jù)所屬的表,將新的屬性值或表達式賦值給對應的屬性名(SET單價=單價*1.05),并置于SET短語之后。要求對人民郵電出版社的圖書漲5%,需要用WHERE短語對元組進行限制,即對符合條件的元組進行更新。
38.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個知識點:①在C語言中,字符型數(shù)組在存放字符串時會自動在末尾加上字符串結束標識符'\\0'所以題中數(shù)組str有6個元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
39.整型整型解析:上面的表達式中,通過強制類型轉換把最后參與運算的數(shù)據(jù)都轉換成了int型,所以最后得到的結果也是int類型。
40.前后件關系前后件關系解析:在數(shù)據(jù)存儲結構中,除了要存儲數(shù)據(jù),還要存儲數(shù)據(jù)的前后件關系,對于順序存儲的數(shù)據(jù)結構,前后件之間的關系,是通過存儲空間的位置來實現(xiàn)的,而對于鏈式存儲來說,數(shù)據(jù)元素之間的前后件關系是通過指針來實現(xiàn)的。
41.C解析:選項A,*p+6,其值等于1+6=7;選項B,*(p+6),其值等于a[6]=7;選項C,*p+=5,其值等于*p=*p+5=1+5=6;選項D,p+5是個地址值。
42.C解析:a數(shù)組是字符串,系統(tǒng)會自動地給它加一個結束標志符'\\0',因此a的長度就變?yōu)?了,所以a數(shù)組比b數(shù)組長。
43.B解析:本題中,表達式將5個初值分別賦給a[0]至a[4],系統(tǒng)自動給后面的元素a[5]至a[9]賦0。
44.A解析:本題綜合考查C語言的概念部分,關于C語言,我們應該了解以下必須要掌握的基礎知識:
①C程序是由函數(shù)構成的。
②一個函數(shù)由兩部分組成:函數(shù)的首部和函數(shù)體。
③一個C程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)的整個程序中的位置如何(main函數(shù)可以放在程序最開始,也可以放在程序最后,或寫在一些函數(shù)之前,在另一些函數(shù)之后)。
④C程序在書寫上,表現(xiàn)形式比較自由,一行內可以寫幾個語句,一個語句可以分寫在幾行上。每個語句和數(shù)據(jù)定義的最后必須有一個分號。
⑤C程序本身沒有輸入輸出語句。輸入和輸出的操作是由庫函數(shù)scanf和printf等函數(shù)來完成。
⑥可以用/*……*/對C語言的程序的任何部分作注釋。
45.A解析:結構體變量的長度是其內部成員總長度之和,在本題中,structdate中包含year,month,day三個整型變量。通常一個整型變量占2個字節(jié),因此,用sizeof求得該結構體變量的長度為6個字節(jié)。
46.B
47.A解析:本題考查for循環(huán)的結束條件。注意雖然x的值在增加,但y的值不增加,表達式(y!=123)||(x<4)的值永遠是1,所以會成為無限循環(huán)。
48.C解析:從上面程序中對指針變量p值的定義可見,p所指單元的內容又是一個地址,這個地址是申請分配內存空間后的返回首地址,而分配的空間中又存放double型的數(shù)據(jù),因此p是指向指針的指針變量,通過兩層間接尋址對double型的數(shù)據(jù)操作,故正確答案應該是選項C。
49.A解析:選項A將變量x的地址賦紿指針變量pb,使pb指向x‘選項B是烙x的值當作地址賦給指針pb,pb指向一個地址等于x值的內存單元;選項c將x的地址賦給指針pb指向的地址等于x的內存單元。
50.B解析:數(shù)據(jù)元素在計算機存儲空間中的位置關系與它們的邏輯關系不一定是相同的,而且一般不可能相同。數(shù)據(jù)的邏輯結構在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結構,也稱數(shù)據(jù)的物理結構。
51.D解析:1966年,Bohra和Jacopini提出了以下三種結構,用這三咱基本結構作為表示一個良好算法的基本單元:1、順序結構;2、選擇結構;3、循環(huán)結構。
52.A解析:本題考查文件使用方式標識符,以“a+”方式打開一個已存在的文件,則表示保留文件中原有的數(shù)據(jù),文件的位置指針在文件末尾,此時,可以進行追加或讀操作。
53.A解析:本題考查的是自加運算符的運用。自加運算符有前綴和后綴兩種不同的形式,對于變量本身來說,無論是前綴還是后綴其作用的效果都是相同的,使變量值增1。但作為表達式來說卻有著不同的值,前綴時自增表達式的值是變量增1,后的值,而后綴時自增表達式的值是變量增1前的值。本題程序開始定義了兩個整型變量m和n,并分別初始化為12和34.第一條輸出語句是按整型格式輸出表達式m++和++n的值,根據(jù)前面所述,表達式m++的值為12,++n的值為35,所以第一次輸出的字符串是'1235',執(zhí)行完后m和n的值都自增1,分別是13和35.接下來第二條輸出語句也是按整型格式輸出表達式n++和++m的值,分別是35和14,故最終的輸出應該為“12353514”,所以,4個選項中選項A符合題意。
54.B解析:需求分析階段的工作,可以概括為以下4個方面:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審。本題的正確答案為選項B。
55.Bscanf(\u3000)語句中用“空格”間隔不同的字符串,空格將被全部忽略掉,所以用scanf(\u3000)函數(shù)不能輸入空格;getehar(\u3000)函數(shù)用于輸入字符,其調用形式為:ch=getelaar(\u3000),getehar(\u3000)函數(shù)從終端讀入一個字符作為函數(shù)值,把讀入的字符賦給變量ch。在輸入時,空格、回車符都將作為字符讀入,而且只有在用戶敲入Enter鍵時,讀入才開始執(zhí)行。gets(\u3000)函數(shù)的凋用形式為:gets(str_adr),其中stradr是存放輸入字符串的起始地址,可以是字符數(shù)組名、字符數(shù)組元素的地址或字符指針變量。9ets函數(shù)用來從終端鍵盤讀入字符串(包括空格符),直到讀入一個換行符為止。getc(\u3000)函數(shù)的調用形式為:ch=getc(pf)其中pf是文件指針。函數(shù)的功能是從pf指定的文件中讀入一個字符,并把它作為函數(shù)值返回。
56.B解析:C語言的字符以其ASCII碼的形式存在,所以要確定某個字符是大寫字母,只要確定它的ASCII碼在“A”和“Z”之間就可以了,選項A和C符合要求。函數(shù)isalpha用來確定一個字符是否為字母,大寫字母的ASCII碼值的范圍為65-90,所以如果一個字母的ASCII碼小于91,那么就能確定它是大寫字母。
57.D解析:在結構化程序設計中,通常采取自頂向下、逐步求精的方法,尤其是在詳細設計和編碼階段,其總的思想就是先全局后局部、先整體后細節(jié)、先抽象后具體、程序自頂向下、逐步細化。而篩選法、遞歸法和歸納法指的都是程序的某種具體算法。逐步求精法是結構化程序設計中很重要的思想,一定要牢記!
58.C解析:C語言中strcpy(stl,st2);,其兩個參數(shù)均為字符指針或字符數(shù)組,選項C中的目的串指針str3沒有指向具體有效的存儲單元,故是錯誤的調用。
59.D解析:字符型指針變量p中存放的是'china'的首地址,所以選項A)和B)錯誤。e數(shù)組長度為6,而p所指向的字符串長度為5,二者不相等,排除選項C)。
60.C解析:當switch后面括弧內的表達式的值與某一個case后面的常量的表達式的值相等時,就執(zhí)行此case后面的語句,若所有的case中的常量表達式的值都沒有與表達式的值匹配的,就執(zhí)行default后面的語句。
61.C函數(shù)fun(int*s,intn1,intn2)的功能是對數(shù)組s中的元素進行首尾互相調換。所以在主函數(shù)中,當fun(a,0,3)執(zhí)行完后,數(shù)組a[12]={4,3,2,1,5,6,7,8,9,0};再執(zhí)行fun(a,4,9),數(shù)組a[12]={4,3,2,1,0,9,8,7,6,5};再執(zhí)行fun(a,0,9)后,數(shù)組a[12]={5,6,7,8,9,0,1,2,3,4}。所以正確答案為c)。
62.A涵數(shù)返回的結構體為在涵數(shù)里賦值的結構體,所以選擇A)。
63.B濫用90t0語句將使程序的流程毫無規(guī)律,可讀性差,對于初學者來說盡量不要使用,所以A錯誤?!獋€結構化程序可以包含順序、分支、循環(huán)結構中的一種或多種,所以C錯誤。由三種基本結構構成的程序可以解決任何復雜的問題,所以D錯誤。
64.B
65.B解析:在本題中,選項B,實際是先計算關系表達式“‘A<=c’”的值是0還是1,再比較該值與字符‘Z’之間的大小關系,顯然不能實現(xiàn)題目所要求的功能,而選項A,C,D都可以。
66.C根據(jù)賦值運算的類型轉換規(guī)則,先將double型的常量l.2轉換為int型,因為x的類型是int,則X的值為1;執(zhí)行語句y=(K+3.8)/5.0時,即先將整型變量X的值1轉換為double型1.0,然后3.8相加得4.8,進行除法運算4.8/5.0結果為0.即變量y的值為0,d*Y的值也為0,故選C選項。
67.C
68.A
69.AC語言中標識符由字母、下劃線或數(shù)字組成,且開頭必須是字母或下劃線。因此A選項中的連接符不合法。
70.C循環(huán)鏈表是另一種形式的鏈式存儲結構。表中最后一個結點的指針域指向頭結點,整個鏈表形成一個環(huán)。這種循環(huán)鏈表的好處是從任意結點開始都可以找到其他結點。
循環(huán)鏈表的操作和線性鏈表基本一致,差別僅在于鏈表最后的結點,線性鏈表的判斷條件是結點的指針域是否為“空”,而循環(huán)鏈表的判斷條件是結點的指針域是否指向頭結點。非空的循環(huán)單鏈表head的尾結點p滿足p->next=head。
71.CC語言中沒有邏輯類型,所以選項C錯誤。若要保存帶有多位小數(shù)的數(shù)據(jù),可以用單精度類型,也可以用雙精度類型。處理包含不同類型的相關數(shù)據(jù)可以自定義結構體類型。整數(shù)類型可以無誤差地表示自然數(shù)。故本題答案為C選項。
72.C
\nb++是先用表達式的值然后自增l,因此表達式值為2,b為3;b-a=3-1=2,因此最后輸出的結果為2,2,前一個為字符2,后一個為數(shù)字2。
\n
73.B
74.CC.【解析】線性表是一種線性結構,由n(n≥0)個元素組成,所以線性表可以是空表。但是在線性表中,第一個結點沒有前件,最后一個結點沒有后件,其他結點有且只有一個前件和后件,所以選項C.是錯誤的。
75.C【答案】C
【知識點】C程序的函數(shù)
【解析】C程序必須有且只有一個主函數(shù)m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)員工打架事件預防與干預協(xié)議書3篇
- 2025住建部下發(fā)新的合同文本
- 2025年度個人與公司租賃合同租賃物轉租及轉借限制3篇
- 二零二五年度環(huán)保型托盤租賃與可持續(xù)發(fā)展協(xié)議2篇
- 2025年度電梯行業(yè)市場調研與咨詢服務合同7篇
- 二零二四年度壓力鍋銷售返利及獎勵合同3篇
- 二零二四年文化旅游景區(qū)運營合同
- 2025年度個人住房室內水電維修服務合同范本
- 二零二五年度電視劇劇本改編與制作合作協(xié)議3篇
- 2025年度生態(tài)保護工程承包商安全環(huán)保責任協(xié)議4篇
- 道路瀝青工程施工方案
- 2025年度正規(guī)離婚協(xié)議書電子版下載服務
- 《田口方法的導入》課件
- 春節(jié)后安全生產開工第一課
- 內陸?zhàn)B殖與水產品市場營銷策略考核試卷
- 電力電纜工程施工組織設計
- 醫(yī)生給病人免責協(xié)議書(2篇)
- 票據(jù)業(yè)務居間合同模板
- 應急預案評分標準表
- “網絡安全課件:高校教師網絡安全與信息化素養(yǎng)培訓”
- 鋰離子電池健康評估及剩余使用壽命預測方法研究
評論
0/150
提交評論