




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年福建省寧德市全國計算機等級考試C語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.在位運算中,操作數(shù)左移一位,其結果相當于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
2.若有定義“intk=7,x=12;”,則以下表達式值為3的是()。
A.(x%=k)-(k%=5)B.x%=(k%=5)C.x%=(k-k%5)D.x%=k-k%5
3.設有定義“doublea;chard;floatb;”,若想把1.2賦給變量a、字符‘k’賦給變量d、3.4賦給變量b,程序運行時通過鍵盤輸入1.2k3.4并按<Enter>鍵,則以下正確的讀入語句是()。A.scanf(“%lf%c%f”,&a,&d,&b);
B.scanf(“%lf%c%f”,&a,&d,&b);
C.scanf(“%f%c%f”,&a,&d,&b);
D.scanf(“%f%c%f”,&a,&d,&b);
4.
5.下列表達式中,可以正確表示的關系是()。
A.(x>=1)10(x<=0)B.x>1‖x=0C.x>=1ORx<=0D.X>=1&&x<=0
6.下面的哪一個保留字不能作為函數(shù)的返回類型()。
A.voidB.intC.newD.long
7.有以下程序:main(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d,%d\n",x,y,z);程序運行后的輸出結果是()。
A.2,3,3B.2,3,2C.2,3,1D.2,2,1
8.有以下函數(shù):intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);}以下關于aaa函數(shù)功能敘述正確的是()。
A.將串s復制到串tB.比較兩個串的大小C.求字符串s的長度D.求字符串s所占字節(jié)數(shù)
9.
10.以下對結構體類型變量的定義中,不正確的是()。
A.typedefstruetaa{intn;floatm;}AA;AAtdl;
B.#defineAAstructaaAA{intn;floatm;}tdl;
C.struct{intn;floatm;}aa;structaatdl;
D.struct{intn;floatm;}tdl;
11.若有如下程序:main(){inta=0,t=0;while(!a!=0)t+=a++;printf("%d,%d\n",t,A);}則程序運行后的輸出結果是()
A.0,1B.1,0C.0,0D.1,1
12.下列敘述中,正確的是()
A.軟件交付使用后還需要進行維護
B.軟件一旦交付使用就不需要再進行維護
C.軟件交付使用后其生命周期就結束
D.軟件維護是指修復程序中被破壞的指令
13.結構化程序所規(guī)定的三種最基本控制結構是A.A.輸入、處理、輸出
B.樹形、網(wǎng)形、環(huán)形
C.順序、選擇、循環(huán)
D.主程序、子程序、函數(shù)
14.有以下程序段當執(zhí)行上述程序段,從鍵盤上輸A,555667777123后,y的值為()。
A.566.0B.55566.0C.7777.0D.566777.0
15.有以下程序段
#include<stdio.h>
voidfun(char*fname,char*st)
{FILE*myf;
inti;
myf=fopen(fname,"w");
for(i=0;i<strlen(st);i++)fputc(st[i],myf);
fclose(myf);
}
main()
{fun("test.t","newworld");
fun("test.t","hello,");}
程序執(zhí)行后,文件test.t中的內(nèi)容是A.A.hello,
B.newworldhello,
C.newworld
D.hello,rld
16.下列數(shù)據(jù)結構中,按先進后出原則組織數(shù)據(jù)的是
A.線性鏈表B.棧C.循環(huán)鏈表D.順序表
17.設有表示學生選課的三張表,學生S(學號,姓名,性別,年齡,身份證號),課程C(課號,課名),選課SC(學號,課號,成績.,則表SC的關鍵字(鍵或碼)為()
A.課號,成績B.學號,成績C.學號,課號D.學號,姓名,成績
18.以下敘述中正確的是()。
A.a是實型變量,C允許進行賦值a=10,但不可以這樣說:實型變量中允許存放整型值
B.在賦值表達式中,賦值號左邊既可以是變量也可以是任意表達式
C.執(zhí)行表達式a=b后,在內(nèi)存中a和b存儲單元中的原有值都將被改變,a的值已由原值改變?yōu)閎的值,b的值由原值變?yōu)?
D.已有a=3,b=5,當執(zhí)行了表達式a=b,b=a之后,使a中的值為5,b中的值為3
19.下列敘述中錯誤的是()。
A.列表框和組合框都有List屬性
B.列表框有Selected屬性,而組合框沒有
C.列表框和組合框都有Style屬性
D.組合框有Text屬性,而列表框沒有
20.將兩個字符串連接起來組成一個字符串時,選用()函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()
二、2.填空題(20題)21.下述程序的輸出結果是【】。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0||x==1)
return3;
else
p=x-fun(x-2);
returnp;}
voidmain()
{printf("\n%d",fun(9));}
22.下面程序有兩個printf語句,如果第一個printf語句輸出的是194,則第二個printf語句的輸出結果是【】。
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%x\n",p);
printf("%x\n,p+9);
}
23.以下程序運行后的輸出結果是______。
main()
inta.b,c;
a=10;b=20;c=(a%b<)||{a/b>1);
printf("%d%d%dn",a,b,c);
}
24.下面程序運行后的輸出結果是()。
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6},*k[3],i=1;
while(i<4)
{k[i-1]=&a[2*i-1];
printf("%d",*k[i-1]);
i++;
}
}
25.若有定義:inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[2][2]得到的初值是______。
26.數(shù)據(jù)管理技術發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段,其中數(shù)據(jù)獨立性最高的階段是______。
27.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機制稱為______。
28.若intx=1,y=2;則計算表達式y(tǒng)+=y-=x*=y后的y值是()。
29.fseek函數(shù)的正確調(diào)用形式是【】。
30.輸入字母a時,下列程序的運行結果為【】。
#include<stdio.h>
main()
{charch;
ch=getchar();
(ch>='a'&&ch<='z')?putchar(ch+'A'-'a'):putchar(ch);
}
31.下列語句的輸出結果是______。
chars[20]="aaaa",*sp=s;
puts(strcat(sp,"AAAAA"));
32.下列程序的輸出結果是【】。
main()
{
inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)
z=(*(ptr+y)<x)?*(ptr+y):x;
printf("%d\n",z);
}
33.算法的復雜度主要包括時間復雜度和______復雜度。
34.閱讀下列程序,則程序的輸出結果為______。
#include"stdio.h"
struetty
{intdata;
charc;};
main()
{streettya={30,'x'};
fun(a);
printf("%d%c",a.data,a.c);}
fun(structtyb)
{b.data=20;
b.c='y';}
35.在數(shù)據(jù)庫的概念結構設計中,常用的描述工具是【】。
36.以下程序的輸出結果是______。
main()
{inta=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%d,%d\n",a,b);
}
37.數(shù)據(jù)流圖的類型有【】和事務型。
38.算法復雜度主要包括時間復雜度和【】復雜度。
39.若有語句:
inti=-19,j=i%4;
printf("%d\n",j);
則輸出結果是【】。
40.下面程序的運行結果是______。
typedefunionstudent
{
charname[10];
longsno;
charsex;
floatscore[4];
}STU;
main()
{
STUa[5];
printf("%d\n",sizeof(A));
}
三、1.選擇題(20題)41.下列選項中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
42.以下程序段的輸出結果為()。staticchara[]="programme";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);
A.programmeB.pormC.有語法錯誤D.prog
43.對以下程序段的描述,正確的是()。x=-1;do{x=x*x;}while(!x);
A.是死循環(huán)B.循環(huán)執(zhí)行兩次C.循環(huán)執(zhí)行一次D.有語法錯誤
44.函數(shù)fseek(pf,0L,SEEK_END)中的SEEK_END代表的是()。
A.文件開始B.文件末尾C.文件當前位置D.以上都不對
45.應用數(shù)據(jù)庫的主要目的是為了()
A.解決數(shù)據(jù)的保密問題B.解決數(shù)據(jù)的共享問題C.解決數(shù)據(jù)量大的問題D.解決數(shù)據(jù)的完整性問題
46.下列關鍵字中,不屬于C語言變量存儲類別的是______。
A.registerB.autoC.externD.public
47.有下列程序:main(){inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);printf("\n");}}程序運行后的輸出結果是()。
A.1*1=11*2=21*3=32*1=22*2=43*1=3
B.1*1=11*2=21*3=32*2=42*3=63*3=9
C.1*1=11*2=22*2=41*3=32*3=63*3=9
D.1*1=12*1=22*2=43*1=33*2=63*3=9
48.假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入:PROGABCDEFGHIJKL<回車>則輸出結果是()。#include<stdio.h>main(intargc,char*argv[]){while(--argc>0)printf("%s",argv[argc]);printf("\n");}
A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH
49.以下程序的輸出結果是______。#include<stdio.h>main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d",a,b);}
A.6,1B.2,1C.6,0D.2,0
50.有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=p[5];則b的值是
A.5B.6C.9D.8
51.若已包括頭文件<string.h>且已有定義chars1[18],s2={"ABCDE"}和inti,現(xiàn)要將字符串"ABCDE"賦給s1,下列語句錯誤的是()。
A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.s1="ABCDE";
D.for(i=0;i<6;i++)s1[i]=s2[i];
52.以下程序的輸出結果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19B.17C.15D.12
53.下面程序的輸出結果是()#include<stdio.h>f(b,n)intb[],n;{inti,r;r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}main(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}
A.720B.120C.24D.6
54.以下不正確的轉(zhuǎn)義字符是()。
A.'\\'B.'\d'C.'\s'D.'088'
55.若執(zhí)行下述程序時,從鍵盤輸入的數(shù)據(jù)是3和6,則程序的輸出結果是()。#include<stdio.h>voidmain(){intx,y,z;scanf("%d%d",&X,&y);z=y+x;if(x<y)z=y+x;printf("%d",z);}
A.9B.3C.0D.有語法錯誤
56.字符串"\\\"ABCDEF\"\\"的長度是()。
A.15B.10C.7D.8
57.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。A.A.冒泡排序B.選擇排序C.快速排序D.歸并排序
58.在C語言中,不適用于局部變量的存儲類說明符是()
A.autoB.registerC.staticD.extern
59.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯誤的,其錯誤原因是main(){int*p,*q,a,b;p=&a;printf("inputa:");scanf("%d",*p);}
A.*p表示的是指針變量p的地址
B.*p表示的是變量a的值,而不是變量a的地址
C.*p表示的是指針變量p的值
D.*p只能用來說明p是一個指針變量
60.若有運算符:>、=、<<、%、sizeof,則它們按優(yōu)先級(由高至低)的正確排列順序為()。
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
四、選擇題(20題)61.若有定義:intX=0,*P=&x;,則語句printf(”%d\n”,*P.的輸出結果是()。
A.隨機值B.0C.X的地址D.P的地址
62.若變量已正確定義,要求程序段完成求5!的計算,不能完成此操作的程序段是
A.for(i=1,p=1;i<=5;i++)p*=i;B.i=1;p=1;while(i<=5){p*=i;i++;}
C.for(i=1;i<=5;i++){p=1;p*=i;}D.i=1;p=1;do{p*=i;i++;}while(i<=5);
63.(11)算法的時間復雜度是指()
A.執(zhí)行算法程序所需要的時間
B.算法程序的長度
C.算法執(zhí)行過程中所需要的基本運算次數(shù)
D.算法程序中的指令條數(shù)
64.有以下程序:
當運行時輸入:a<回車>后,以下敘述正確的是()。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序?qū)⒌却脩糨斎氲?個字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無確定值
65.
下列程序的運行結果是()。
inty=5,x=14;
y=((x=3*Y,x+1),x-1);
printf("x=%d,y=%d",x,y);
A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27
66.
67.一間宿舍可住多名學生,則實體宿舍和學生之間的聯(lián)系是()。A.一對一B.一對多C.多對一D.多對多
68.有以下程序(strcat函數(shù)用以連接兩個字符串)
69.
程序運行后的輸出結果是()。A.1002,ZhangDa,1202.0
B.1002,ChangRon9。1202.0
C.1001,ChangRon9,1098.0
D.1001,ZhangDa,1098.0
70.下列敘述中錯誤的是()。
A.線性表是由n個元素組成的一個有限序列
B.線性表是一種線性結構
C.線性表的所有結點有且僅有一個前件和后件
D.線性表可以是空表
71.
72.有以下程序:
#include<stdio.h>
main()
{intX=011;
printf("%d\n",++x);
}
程序運行后的輸出結果是()。
A.12B.11C.10D.9
73.有以下程序:
程序的運行結果是()。
A.1212B.117C.1111D.127
74.
75.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
76.
77.
78.下面概念中,不屬于面向?qū)ο蠓椒ǖ氖?)。A.對象B.繼承C.類D.過程調(diào)用
79.有以下程序:
voidmain()
{inta=1,b;
for(b=1;b<1;b++)
{if(a>=8)break;
if(a%2==1){a+5;continue;}
a-=3;
}
printf("%d\n",b);
}
程序運行后的輸出結果是()。
A.3B.1C.5D.6
80.
五、程序改錯題(1題)81.已知一個數(shù)列從0項開始的前3項為0,0,1,以后的各項都是其相鄰的前3項之和。下列給定的程序中,函數(shù)proc()的功能是:計算并輸出該數(shù)列前n項的和sum。n的值通過形參傳人。例如,當n-20時,程序的輸出結果應為42762.000000。請修改程序中的錯誤,使它能得到正確結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:
六、程序設計題(1題)82.輸出1900~2000年中所有的閏年。每輸出3個年號換一行。(判斷閏年的條件為下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)
參考答案
1.A左移運算符“<<”是雙目運算符,其功能是把“<<”左邊的運算數(shù)的各二進位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。例如,a<<4是把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位后為00110000(十進制48)。
2.A選項A中,表達式“x%=k”結果為5,表達式“k%=5”結果為2,5-2結果為3;選項B中,“k%=5”結果為2,“x%=2”結果為0;選項C中,“k%5”結果為2,“k-k%5”結果為5,“x%5”結果為2;選項D中,“k%5”結果為2,“k-k%5”結果為5,x%5結果為2。故本題答案為A選項。
3.B變量a是double類型,輸入格式符為%lf;變量d是char類型,輸入格式符為%c;變量b是float類型,輸入格式符為%f,選項C、D錯誤。由于輸入的數(shù)據(jù)之間使用空格間隔,因此scanf函數(shù)中的格式控制字符串中,格式字符之間也要使用空格。故本題答案為B選項。
4.A
5.A解析:題中要求x的取值是小于等于0或者大于等于1,這說明表達式是或的關系,所以在寫成C語言表達式應是邏輯或的關系,邏輯或運算符是'‖'。
6.C
7.C解析:z=x++是先把x的值1賦給z,所以z=1,然后再把x加1賦給x,x=2,++y后y又加1,所以y=3。
8.Caaa函數(shù)中,首先定義了一個字符指針t指向形參s,然后通過一個while循環(huán)讓指針t不斷遞增,直到t指向字符串結束標識處。當t指向結束標識處時,由于后綴“運算符,它還會被再遞增1,因此“t--”語句讓它回到結束標識處。最后返回t-s,s還是指向字符串第1個字符處,而t指向了字符串結尾,故返回值為字符串的長度。故本題答案為C選項。
9.C
10.C解析:定義結構體類型的變量有如下幾種方法:
①定義結構體類型的同時,定義結構體類型的變量,如:
stractaa
{…}tdl;
選項B)中將宏名AA用宏體structaa替換后,與該定義形式一樣,因此是正確的。在這一定義形式中,結構體類型名aa是可以省略的,因此,D)項也是正確的。
②先定義結構體類型,然后再定義結構體類型的變量,形式如下:
structaa
{…};
strnctaatdl;
這種定義形式也可演變?yōu)椋合扔妙愋投x語句typedef將該結構體類型定義成一個類型名AA,然后直接用該類型名AA定義一個結構體變量(這時不再需要使用關鍵字struct)。因此選項A)正確。
11.A
12.A解析:維護是軟件生命周期的最后一個階段,也是持續(xù)時間最長、付出代價最大的階段。軟件工程學的目的就在于提高軟件的可維護性,同時也要設法降低維護的代價。
軟件維護通常有以下四類;
①為糾正使用中出現(xiàn)的錯誤而進行的改正性維護;
②為適應環(huán)境變化而進行的適應性維護;
③為改進原有軟件而進行的完善性維護;
④為將來的可維護和可靠而進行的預防性維護。
軟件維護不僅包括程序代碼的維護,還包括文檔的維護。文檔可以分為用戶文檔和系統(tǒng)文檔兩類。但無論是哪類文檔,都必須與程序代碼同時維護。只有與程序代碼完全一致的文檔才有意義和價值。由此可知,本題中選項B、C、D中的說法都是錯誤的。
13.C解析:結構化程序設計方法采用順序、選擇和循環(huán)三種基本程序控制結構編寫程序,從而使程序具有好的結構。
14.A本題考查的是格式輸)ki$i數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中,其中的格式命令可以說明最大域?qū)挕T诎俜痔?%)與格式碼之間的整數(shù)用于限制從對應域讀入的最大字符數(shù)。因此j的值為55,y的值為566.0,字符數(shù)組nanle的值為7777123。故本題答案為A)。
15.D本題主要考查文件的操作。在本題的程序中,首先定義了一個無返回值的函數(shù)fun,該函數(shù)帶有兩個指針類型的形參,其中第一個形參指向需要被操作文件的文件名,而第二個形參指向被操作的字符串。在函數(shù)體中,首先定義一個文件指針,然后以只寫的方式打開第一個形參所指向的文件,接著執(zhí)行for循環(huán),循環(huán)結束的條件是循環(huán)變量小于被操作字符串的長度,循環(huán)體中的程序fputc(st[i],myf);的功能是將字符串中的當前字符輸入到文件中。由這些分析我們可以知道,函數(shù)fun的作用是將字符串的內(nèi)容寫入到文件中。
在主函數(shù)中,兩次調(diào)用函數(shù)fun,當?shù)谝淮握{(diào)用時,寫入文件的內(nèi)容為newworld,然后第二次調(diào)用函數(shù),此時打開文件,文件的指針重新回到開始,然后往文件中寫內(nèi)容“hello,”,由于此時文件中已經(jīng)有內(nèi)容“newworld”,則需要覆蓋前面一部分的內(nèi)容,因此,程序的最終輸出結果是hello,rld,本題的正確答案選D。
16.B解析:棧是限定在二端進行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進后出”或“后進先出”的原則組織數(shù)據(jù)的。注意:隊列組織數(shù)據(jù)的原則是“先進先出”或“后進后出”。注意:數(shù)據(jù)結構中,棧和隊列組織數(shù)據(jù)的原則。
17.C學號是學生表S的主鍵,課號是課程表C的主鍵,所以選課表SC的關鍵字就應該是與前兩個表能夠直接聯(lián)系且能唯一定義的學號和課號,所以選擇C項。
18.AC語言中語法上規(guī)定實型變量是不能存放整型類型的數(shù)據(jù)的,整型數(shù)據(jù)也不能存放實型數(shù)據(jù)。是為了避免類型轉(zhuǎn)換之間可能會發(fā)生的錯誤。
19.BB?!窘馕觥拷M合框和列表框都沒有selected屬性。
20.C將兩個字符串連接起來組成一個字符串,選用strcat函數(shù)來連接。
21.77解析:本題考查的是函數(shù)的遞歸調(diào)用。x=0或x=1是遞歸的終止條件,然后用回代的方法從一個已知值推出下一個值,直到計算出最終結果。
22.1a61a6解析:對于指針變量的運算,就是對地址的運算。本題中由于指針指向的是整型變量,所以,使指針變量移動9個位置也就是移動18個字節(jié)。注意,本題是以十六進制輸出的。
23.1020010200解析:本題的關鍵在于求表達式(a%b<1)‖a/b>1)的值。已知a=10,b=20,所以a%b=10,因此(a%b<1)為“假”。而a/b=0,因此(a/b>1)亦為“假”。,D運算的兩邊同時為“假”,所以整個表達式的值為?!凹佟?,即c等于0。所以,本題最終輸出為:10200。
24.246
25.88解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個一維數(shù)組都有4個元素,a[0]的元素為ap[0][0]、a[0][1]、a[0][2]、a[0][3]。
26.數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術階段數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術階段解析:在數(shù)據(jù)庫系統(tǒng)管理階段,數(shù)據(jù)是結構化的,是面向系統(tǒng)的,數(shù)據(jù)的冗余度小,從而節(jié)省了數(shù)據(jù)的存儲空間,也減少了對數(shù)據(jù)的存取時間,提高了訪問效率,避免了數(shù)據(jù)的不一致性,同時提高了數(shù)據(jù)的可擴充性和數(shù)據(jù)應用的靈活性;數(shù)據(jù)具有獨立性,通過系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨立性:一是物理獨立性,二是邏輯獨立性;保證了數(shù)據(jù)的完整性、安全性和并發(fā)性-綜上所述,數(shù)據(jù)獨立性最高的階段是數(shù)據(jù)庫系統(tǒng)管理階段。
27.繼承繼承
28.0
29.fseek(文件指針位移量起始點)fseek(文件指針,位移量,起始點)解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:
fseek(文件指針,位移量,起始點)
“起始點”用0,1或2代替,其中,0代表“文件開始”;1為“當前位置”;2為“文件末尾”?!拔灰屏俊敝敢浴捌鹗键c”為基點,向前移動的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當文件的長度大于64k時不致出現(xiàn)問題。ANSIC標準規(guī)定在數(shù)字的末尾加一個字母L,就表示long型。
30.A
31.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動覆蓋字符數(shù)組sp末尾的\'\\0\'。
32.66解析:條件運算符的優(yōu)先級高于賦值運算符,因此本題先計算關系表達式(*ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當y=0時,*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=2,所以z=2;當y-1時,*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=4,所以z=4;當y=2時,*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=6,所以z=6;循環(huán)結束。因此輸出z的結果為6。
33.空間空間解析:算法的復雜度主要包括時間復雜度和空間復雜度。所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量。一個算法的空間復雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。
34.30x30x解析:本題的參數(shù)傳遞屬于值傳遞,所以被調(diào)用函數(shù)內(nèi)不能改變調(diào)用函數(shù)中的數(shù)據(jù)。
35.E-R圖E-R圖解析:E-R圖是設計概念模型的有力工具。
36.21
37.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務型。變換型是指信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務。
38.空間空間解析:程序在計算機上運行時所耗費的時間由程序運行時所需輸入的數(shù)據(jù)總量、對源程序進行編譯所需時間、計算機執(zhí)行每條指令所需時間、程序中的指令重復執(zhí)行的次數(shù)等決定。習慣上常常把語句重復執(zhí)行的次數(shù)作為算法運行時間的相對量度,稱作算法的時間復雜度。算法在運行過程中需輔助存儲空間的大小稱為算法的空間復雜度。
39.-3-3解析:%運算符是求兩個數(shù)相除的余數(shù),其結果與被除數(shù)的符號一致,本題中“-19%4”的值為“-3”。
40.8080解析:本題考查的知識點是共用體數(shù)組變量所占內(nèi)存的長度。數(shù)組a是共用體變量,共用體類型變量所占的內(nèi)存長度為最大成員的長度,即單精度數(shù)組的長度,為4×4=16,因此,數(shù)組a所占的內(nèi)存長度為5×16=80,所以最后輸出的s的值為80。
41.B水平制表符中,'\t'表示的是橫向跳若干格;選項B中,'\039'錯誤,'\039'是八進制形式表的字符,最大數(shù)為7,但其中出現(xiàn)'9',','是字符逗號;選項D中,'\n'表示的是換行。
42.B解析:本程序首先定義了靜態(tài)字符數(shù)組a,然后將指針p指向數(shù)組a的首地址,第一次for循環(huán),p=a,p指向數(shù)組的第一個元素,*p是取指針p所指地址的內(nèi)容,輸出p;第二次for循環(huán),p=p+2,則p指向數(shù)組的第三個元素,*p是取指針p所指地址的內(nèi)容,輸出o;第三次for循環(huán),p=p+2,則p指向數(shù)組的第5個元素,*p是取指針p所指地址的內(nèi)容,輸出r;第四次for循環(huán),p=p+2,則p指向數(shù)組的第7個元素,*p是取指針p所指地址的內(nèi)容,輸出m;結束循環(huán)。
43.C解析:do-while語句的執(zhí)行過程是:首先執(zhí)行循環(huán)體語句,再判斷表達式值的真假。在本題中,表達式的值為假,因此循環(huán)體只執(zhí)行一次。
44.B解析:SEEK_END代表的是文件末尾,SEEK_SET代表的是文件的開始,SEEK_CUR代表的是文件當前位置。
45.D
46.D解析:變量的存儲類別具體包含四種:自動的(auto),靜態(tài)的(static),寄存器的(register),外部的(extern)。
47.B解析:外層for循環(huán)的自變量i從1開始,每次循環(huán)后增1,直到i等于3結束.對于外層循環(huán)自變量i的每一個值,內(nèi)層循環(huán)的自變量j每次從i開始,每次循環(huán)后增1,直到j等于3結束。所以在每次外循環(huán)開始后,內(nèi)層循環(huán)在一行先打印i*j=兩個乘數(shù)的積,然后回車換行,下次循環(huán)從下一行開始打印輸出結果。
48.D解析:本題中,arge表示參數(shù)的個數(shù),應為3。argv是一個指向字符串的指針數(shù)組,指針數(shù)組argv中的元素argv[0]指向字符串“PROG”,元素argv[1]指向字符串“ABCDEFGH”,argv[2]指向字符串“IJKL”。在while循環(huán)條件中,先進行自減運算,再執(zhí)行相應的printf語句。
49.B解析:在表達式的值作為邏輯值時,非0值一律為1,0值才為0。
50.C解析:p=&a[3]將指針指向數(shù)組a的第4個元素,p[5]指向數(shù)組a的第9個元素,而a[8]=9,所以b=9。
51.C解析:數(shù)組名s1是代表s1數(shù)組首地址的地址常量,而不是變量,因為“=”左邊不能出現(xiàn)常量,因此sl='ABCDE'的方法是錯誤的。
52.D解析:C語言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:
#define宏名(形參表)字符串
本題的M(a+b,b+c,c+a)被字符串a(chǎn)+b*b+c+c+a代替。
53.B
54.D解析:'\\\\'是反斜線符,'\\d'是整型變量轉(zhuǎn)義字符,'\\s'是字符串型轉(zhuǎn)義字符,C語言中沒有規(guī)定'088'為轉(zhuǎn)義字符。
55.B解析:變量x得到數(shù)據(jù)3,變量y得到數(shù)據(jù)6。z=6+3=9。x<y即3<6關系表達式的值為1,執(zhí)行z=y-x=6-3=3。最后輸出z的值為3。
56.B解析:本題涉及字符串最基本的兩個概念:①字符串的長度是指字符串中字符的個數(shù),但不包括字符串結束符;②以反斜杠“\\”開頭的特殊字符序列,意思是把反斜杠后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來的含義,不包含在字符串長度之內(nèi),“\\”連同后面的字符為一個長度。
57.A解析:以下幾種算法的時間復雜度分別為:冒泡排序(n2);選擇排序(n2);快速排序(nlog2n);歸并排序(nlog2n)。當排序元素序列基本有序的情況下,冒泡排序的交換次數(shù)為0,只是順序掃描數(shù)據(jù)而已,所以其效率是最高的。
58.D
59.B在本題中,題目告訴我們程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯誤的,要求我們找出其錯誤的原因,這是一類錯誤原因分析題。
在本題程序中,首先定義兩個整型指針變量p和q,然后定義兩個整型變量a和b,讓指針變量p執(zhí)行變量a,接著輸出提示語句“請輸入a”,執(zhí)行格式輸入語句scanf,由于輸入語句的輸入列表中給出的應該是輸入的地址,即存放輸入數(shù)據(jù)的存儲地址,但在本題的輸入語句中給出的是*p,這表示一個數(shù)值,而非地址。因此,無法完成數(shù)據(jù)的輸入,若要完成輸入,可以將*p改為p。
根據(jù)上面的分析,我們可以知道本題程序出錯的原因是*p表示的是變量a的值,而不是變量a的地址。因此本題正確答案選B。
60.D解析:主要考查運算符的優(yōu)先級。sizeof的優(yōu)先級最高,后面的順序是:%、<<、>,優(yōu)先級最低的是“=”。
61.B題中定義的語句等價于以下語句。
故本題定義一個整型變量x和一個指向整型的指針P,并把變量X的地址賦值給P,即P為指向整型變量x的指
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年高中物理 第二章 機械波 2 波速與波長、頻率的關系教學設計3 教科版選修3-4
- 7.2 運動的快慢 速度(教學設計)-2024-2025滬粵版物理八年級下冊
- 遠東宏信租賃鑄劍培訓
- 九年級英語下冊 Unit 1 Asia Integrated skill and Study skills教學設計 (新版)牛津版
- 2024-2025學年高中歷史 第五單元 第2課 拿破侖帝國的建立與封建制度的復辟教學設計1 新人教版選修2
- 七年級地理下冊 第八章 第四節(jié) 澳大利亞教學設計 (新版)新人教版
- 2019商務星球版七年級下冊地理6.1《世界第一大洲》教學設計
- Unit 2 Know your body 第3課時(教學設計)-2024-2025學年外研版(三起)(2024)英語三年級下冊
- 月嫂上崗技巧培訓課件
- 2023八年級英語下冊 Module 2 Experiences Unit 2 They have seen the Pyramids第三課時教學設計 (新版)外研版
- 2024版《安全生產(chǎn)法》考試題庫附答案(共90題)
- 企業(yè)天然氣轉(zhuǎn)讓協(xié)議書范文范本
- 帶式運輸機傳動裝置的設計
- 玩具照相機細分市場深度研究報告
- 人工智能算法與實踐-第16章 LSTM神經(jīng)網(wǎng)絡
- 中考監(jiān)考和考務人員培訓手冊
- 數(shù)學史簡介課件可編輯全文
- 第22課《從局部抗戰(zhàn)到全國抗戰(zhàn)》 課件 統(tǒng)編版高中歷史中外歷史綱要上冊
- 浙江省A9協(xié)作體2023-2024學年高二下學期4月期中英語試題
- 水電站110kV變電站接地電阻計算書
- 2025屆江蘇南京市鹽城市高三第二次模擬考試歷史試卷含解析
評論
0/150
提交評論