版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年福建省寧德市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
2.若有定義“intk=7,x=12;”,則以下表達(dá)式值為3的是()。
A.(x%=k)-(k%=5)B.x%=(k%=5)C.x%=(k-k%5)D.x%=k-k%5
3.設(shè)有定義“doublea;chard;floatb;”,若想把1.2賦給變量a、字符‘k’賦給變量d、3.4賦給變量b,程序運(yùn)行時(shí)通過鍵盤輸入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.下列表達(dá)式中,可以正確表示的關(guān)系是()。
A.(x>=1)10(x<=0)B.x>1‖x=0C.x>=1ORx<=0D.X>=1&&x<=0
6.下面的哪一個(gè)保留字不能作為函數(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);程序運(yùn)行后的輸出結(jié)果是()。
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);}以下關(guān)于aaa函數(shù)功能敘述正確的是()。
A.將串s復(fù)制到串tB.比較兩個(gè)串的大小C.求字符串s的長度D.求字符串s所占字節(jié)數(shù)
9.
10.以下對(duì)結(jié)構(gòu)體類型變量的定義中,不正確的是()。
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);}則程序運(yùn)行后的輸出結(jié)果是()
A.0,1B.1,0C.0,0D.1,1
12.下列敘述中,正確的是()
A.軟件交付使用后還需要進(jìn)行維護(hù)
B.軟件一旦交付使用就不需要再進(jìn)行維護(hù)
C.軟件交付使用后其生命周期就結(jié)束
D.軟件維護(hù)是指修復(fù)程序中被破壞的指令
13.結(jié)構(gòu)化程序所規(guī)定的三種最基本控制結(jié)構(gòu)是A.A.輸入、處理、輸出
B.樹形、網(wǎng)形、環(huán)形
C.順序、選擇、循環(huán)
D.主程序、子程序、函數(shù)
14.有以下程序段當(dāng)執(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ù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是
A.線性鏈表B.棧C.循環(huán)鏈表D.順序表
17.設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績.,則表SC的關(guān)鍵字(鍵或碼)為()
A.課號(hào),成績B.學(xué)號(hào),成績C.學(xué)號(hào),課號(hào)D.學(xué)號(hào),姓名,成績
18.以下敘述中正確的是()。
A.a是實(shí)型變量,C允許進(jìn)行賦值a=10,但不可以這樣說:實(shí)型變量中允許存放整型值
B.在賦值表達(dá)式中,賦值號(hào)左邊既可以是變量也可以是任意表達(dá)式
C.執(zhí)行表達(dá)式a=b后,在內(nèi)存中a和b存儲(chǔ)單元中的原有值都將被改變,a的值已由原值改變?yōu)閎的值,b的值由原值變?yōu)?
D.已有a=3,b=5,當(dāng)執(zhí)行了表達(dá)式a=b,b=a之后,使a中的值為5,b中的值為3
19.下列敘述中錯(cuò)誤的是()。
A.列表框和組合框都有List屬性
B.列表框有Selected屬性,而組合框沒有
C.列表框和組合框都有Style屬性
D.組合框有Text屬性,而列表框沒有
20.將兩個(gè)字符串連接起來組成一個(gè)字符串時(shí),選用()函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()
二、2.填空題(20題)21.下述程序的輸出結(jié)果是【】。
#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.下面程序有兩個(gè)printf語句,如果第一個(gè)printf語句輸出的是194,則第二個(gè)printf語句的輸出結(jié)果是【】。
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.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
inta.b,c;
a=10;b=20;c=(a%b<)||{a/b>1);
printf("%d%d%dn",a,b,c);
}
24.下面程序運(yùn)行后的輸出結(jié)果是()。
#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ù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個(gè)階段,其中數(shù)據(jù)獨(dú)立性最高的階段是______。
27.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為______。
28.若intx=1,y=2;則計(jì)算表達(dá)式y(tǒng)+=y-=x*=y后的y值是()。
29.fseek函數(shù)的正確調(diào)用形式是【】。
30.輸入字母a時(shí),下列程序的運(yùn)行結(jié)果為【】。
#include<stdio.h>
main()
{charch;
ch=getchar();
(ch>='a'&&ch<='z')?putchar(ch+'A'-'a'):putchar(ch);
}
31.下列語句的輸出結(jié)果是______。
chars[20]="aaaa",*sp=s;
puts(strcat(sp,"AAAAA"));
32.下列程序的輸出結(jié)果是【】。
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.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。
34.閱讀下列程序,則程序的輸出結(jié)果為______。
#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ù)庫的概念結(jié)構(gòu)設(shè)計(jì)中,常用的描述工具是【】。
36.以下程序的輸出結(jié)果是______。
main()
{inta=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%d,%d\n",a,b);
}
37.數(shù)據(jù)流圖的類型有【】和事務(wù)型。
38.算法復(fù)雜度主要包括時(shí)間復(fù)雜度和【】復(fù)雜度。
39.若有語句:
inti=-19,j=i%4;
printf("%d\n",j);
則輸出結(jié)果是【】。
40.下面程序的運(yùn)行結(jié)果是______。
typedefunionstudent
{
charname[10];
longsno;
charsex;
floatscore[4];
}STU;
main()
{
STUa[5];
printf("%d\n",sizeof(A));
}
三、1.選擇題(20題)41.下列選項(xiàng)中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
42.以下程序段的輸出結(jié)果為()。staticchara[]="programme";char*p;p=a;for(p=a;p<a+8;p+=2)putchar(*p);
A.programmeB.pormC.有語法錯(cuò)誤D.prog
43.對(duì)以下程序段的描述,正確的是()。x=-1;do{x=x*x;}while(!x);
A.是死循環(huán)B.循環(huán)執(zhí)行兩次C.循環(huán)執(zhí)行一次D.有語法錯(cuò)誤
44.函數(shù)fseek(pf,0L,SEEK_END)中的SEEK_END代表的是()。
A.文件開始B.文件末尾C.文件當(dāng)前位置D.以上都不對(duì)
45.應(yīng)用數(shù)據(jù)庫的主要目的是為了()
A.解決數(shù)據(jù)的保密問題B.解決數(shù)據(jù)的共享問題C.解決數(shù)據(jù)量大的問題D.解決數(shù)據(jù)的完整性問題
46.下列關(guān)鍵字中,不屬于C語言變量存儲(chǔ)類別的是______。
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");}}程序運(yùn)行后的輸出結(jié)果是()。
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<回車>則輸出結(jié)果是()。#include<stdio.h>main(intargc,char*argv[]){while(--argc>0)printf("%s",argv[argc]);printf("\n");}
A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH
49.以下程序的輸出結(jié)果是______。#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,下列語句錯(cuò)誤的是()。
A.strcpy(s1,s2)
B.strcpy(s1,"ABCDE");
C.s1="ABCDE";
D.for(i=0;i<6;i++)s1[i]=s2[i];
52.以下程序的輸出結(jié)果是______。#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.下面程序的輸出結(jié)果是()#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í),從鍵盤輸入的數(shù)據(jù)是3和6,則程序的輸出結(jié)果是()。#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.有語法錯(cuò)誤
56.字符串"\\\"ABCDEF\"\\"的長度是()。
A.15B.10C.7D.8
57.在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。A.A.冒泡排序B.選擇排序C.快速排序D.歸并排序
58.在C語言中,不適用于局部變量的存儲(chǔ)類說明符是()
A.autoB.registerC.staticD.extern
59.以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,其錯(cuò)誤原因是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是一個(gè)指針變量
60.若有運(yùn)算符:>、=、<<、%、sizeof,則它們按優(yōu)先級(jí)(由高至低)的正確排列順序?yàn)?)。
A.%、sizeof、>、<<、=
B.sizeof、%、>、=、<<
C.sizeof、<<、>、%、=
D.sizeof、%、<<、>、=
四、選擇題(20題)61.若有定義:intX=0,*P=&x;,則語句printf(”%d\n”,*P.的輸出結(jié)果是()。
A.隨機(jī)值B.0C.X的地址D.P的地址
62.若變量已正確定義,要求程序段完成求5!的計(jì)算,不能完成此操作的程序段是
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)算法的時(shí)間復(fù)雜度是指()
A.執(zhí)行算法程序所需要的時(shí)間
B.算法程序的長度
C.算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
D.算法程序中的指令條數(shù)
64.有以下程序:
當(dāng)運(yùn)行時(shí)輸入:a<回車>后,以下敘述正確的是()。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序?qū)⒌却脩糨斎氲?個(gè)字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無確定值
65.
下列程序的運(yùn)行結(jié)果是()。
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.一間宿舍可住多名學(xué)生,則實(shí)體宿舍和學(xué)生之間的聯(lián)系是()。A.一對(duì)一B.一對(duì)多C.多對(duì)一D.多對(duì)多
68.有以下程序(strcat函數(shù)用以連接兩個(gè)字符串)
69.
程序運(yùn)行后的輸出結(jié)果是()。A.1002,ZhangDa,1202.0
B.1002,ChangRon9。1202.0
C.1001,ChangRon9,1098.0
D.1001,ZhangDa,1098.0
70.下列敘述中錯(cuò)誤的是()。
A.線性表是由n個(gè)元素組成的一個(gè)有限序列
B.線性表是一種線性結(jié)構(gòu)
C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件
D.線性表可以是空表
71.
72.有以下程序:
#include<stdio.h>
main()
{intX=011;
printf("%d\n",++x);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.12B.11C.10D.9
73.有以下程序:
程序的運(yùn)行結(jié)果是()。
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.對(duì)象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);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.3B.1C.5D.6
80.
五、程序改錯(cuò)題(1題)81.已知一個(gè)數(shù)列從0項(xiàng)開始的前3項(xiàng)為0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)proc()的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的和sum。n的值通過形參傳人。例如,當(dāng)n-20時(shí),程序的輸出結(jié)果應(yīng)為42762.000000。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.輸出1900~2000年中所有的閏年。每輸出3個(gè)年號(hào)換一行。(判斷閏年的條件為下面二者之一:能被4整除,但不能被100整除?;蛘吣鼙?00整除。)
參考答案
1.A左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0。例如,a<<4是把a(bǔ)的各二進(jìn)位向左移動(dòng)4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。
2.A選項(xiàng)A中,表達(dá)式“x%=k”結(jié)果為5,表達(dá)式“k%=5”結(jié)果為2,5-2結(jié)果為3;選項(xiàng)B中,“k%=5”結(jié)果為2,“x%=2”結(jié)果為0;選項(xiàng)C中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,“x%5”結(jié)果為2;選項(xiàng)D中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,x%5結(jié)果為2。故本題答案為A選項(xiàng)。
3.B變量a是double類型,輸入格式符為%lf;變量d是char類型,輸入格式符為%c;變量b是float類型,輸入格式符為%f,選項(xiàng)C、D錯(cuò)誤。由于輸入的數(shù)據(jù)之間使用空格間隔,因此scanf函數(shù)中的格式控制字符串中,格式字符之間也要使用空格。故本題答案為B選項(xiàng)。
4.A
5.A解析:題中要求x的取值是小于等于0或者大于等于1,這說明表達(dá)式是或的關(guān)系,所以在寫成C語言表達(dá)式應(yīng)是邏輯或的關(guān)系,邏輯或運(yùn)算符是'‖'。
6.C
7.C解析:z=x++是先把x的值1賦給z,所以z=1,然后再把x加1賦給x,x=2,++y后y又加1,所以y=3。
8.Caaa函數(shù)中,首先定義了一個(gè)字符指針t指向形參s,然后通過一個(gè)while循環(huán)讓指針t不斷遞增,直到t指向字符串結(jié)束標(biāo)識(shí)處。當(dāng)t指向結(jié)束標(biāo)識(shí)處時(shí),由于后綴“運(yùn)算符,它還會(huì)被再遞增1,因此“t--”語句讓它回到結(jié)束標(biāo)識(shí)處。最后返回t-s,s還是指向字符串第1個(gè)字符處,而t指向了字符串結(jié)尾,故返回值為字符串的長度。故本題答案為C選項(xiàng)。
9.C
10.C解析:定義結(jié)構(gòu)體類型的變量有如下幾種方法:
①定義結(jié)構(gòu)體類型的同時(shí),定義結(jié)構(gòu)體類型的變量,如:
stractaa
{…}tdl;
選項(xiàng)B)中將宏名AA用宏體structaa替換后,與該定義形式一樣,因此是正確的。在這一定義形式中,結(jié)構(gòu)體類型名aa是可以省略的,因此,D)項(xiàng)也是正確的。
②先定義結(jié)構(gòu)體類型,然后再定義結(jié)構(gòu)體類型的變量,形式如下:
structaa
{…};
strnctaatdl;
這種定義形式也可演變?yōu)椋合扔妙愋投x語句typedef將該結(jié)構(gòu)體類型定義成一個(gè)類型名AA,然后直接用該類型名AA定義一個(gè)結(jié)構(gòu)體變量(這時(shí)不再需要使用關(guān)鍵字struct)。因此選項(xiàng)A)正確。
11.A
12.A解析:維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長、付出代價(jià)最大的階段。軟件工程學(xué)的目的就在于提高軟件的可維護(hù)性,同時(shí)也要設(shè)法降低維護(hù)的代價(jià)。
軟件維護(hù)通常有以下四類;
①為糾正使用中出現(xiàn)的錯(cuò)誤而進(jìn)行的改正性維護(hù);
②為適應(yīng)環(huán)境變化而進(jìn)行的適應(yīng)性維護(hù);
③為改進(jìn)原有軟件而進(jìn)行的完善性維護(hù);
④為將來的可維護(hù)和可靠而進(jìn)行的預(yù)防性維護(hù)。
軟件維護(hù)不僅包括程序代碼的維護(hù),還包括文檔的維護(hù)。文檔可以分為用戶文檔和系統(tǒng)文檔兩類。但無論是哪類文檔,都必須與程序代碼同時(shí)維護(hù)。只有與程序代碼完全一致的文檔才有意義和價(jià)值。由此可知,本題中選項(xiàng)B、C、D中的說法都是錯(cuò)誤的。
13.C解析:結(jié)構(gòu)化程序設(shè)計(jì)方法采用順序、選擇和循環(huán)三種基本程序控制結(jié)構(gòu)編寫程序,從而使程序具有好的結(jié)構(gòu)。
14.A本題考查的是格式輸)ki$i數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中,其中的格式命令可以說明最大域?qū)?。在百分?hào)(%)與格式碼之間的整數(shù)用于限制從對(duì)應(yīng)域讀入的最大字符數(shù)。因此j的值為55,y的值為566.0,字符數(shù)組nanle的值為7777123。故本題答案為A)。
15.D本題主要考查文件的操作。在本題的程序中,首先定義了一個(gè)無返回值的函數(shù)fun,該函數(shù)帶有兩個(gè)指針類型的形參,其中第一個(gè)形參指向需要被操作文件的文件名,而第二個(gè)形參指向被操作的字符串。在函數(shù)體中,首先定義一個(gè)文件指針,然后以只寫的方式打開第一個(gè)形參所指向的文件,接著執(zhí)行for循環(huán),循環(huán)結(jié)束的條件是循環(huán)變量小于被操作字符串的長度,循環(huán)體中的程序fputc(st[i],myf);的功能是將字符串中的當(dāng)前字符輸入到文件中。由這些分析我們可以知道,函數(shù)fun的作用是將字符串的內(nèi)容寫入到文件中。
在主函數(shù)中,兩次調(diào)用函數(shù)fun,當(dāng)?shù)谝淮握{(diào)用時(shí),寫入文件的內(nèi)容為newworld,然后第二次調(diào)用函數(shù),此時(shí)打開文件,文件的指針重新回到開始,然后往文件中寫內(nèi)容“hello,”,由于此時(shí)文件中已經(jīng)有內(nèi)容“newworld”,則需要覆蓋前面一部分的內(nèi)容,因此,程序的最終輸出結(jié)果是hello,rld,本題的正確答案選D。
16.B解析:棧是限定在二端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。注意:隊(duì)列組織數(shù)據(jù)的原則是“先進(jìn)先出”或“后進(jìn)后出”。注意:數(shù)據(jù)結(jié)構(gòu)中,棧和隊(duì)列組織數(shù)據(jù)的原則。
17.C學(xué)號(hào)是學(xué)生表S的主鍵,課號(hào)是課程表C的主鍵,所以選課表SC的關(guān)鍵字就應(yīng)該是與前兩個(gè)表能夠直接聯(lián)系且能唯一定義的學(xué)號(hào)和課號(hào),所以選擇C項(xiàng)。
18.AC語言中語法上規(guī)定實(shí)型變量是不能存放整型類型的數(shù)據(jù)的,整型數(shù)據(jù)也不能存放實(shí)型數(shù)據(jù)。是為了避免類型轉(zhuǎn)換之間可能會(huì)發(fā)生的錯(cuò)誤。
19.BB?!窘馕觥拷M合框和列表框都沒有selected屬性。
20.C將兩個(gè)字符串連接起來組成一個(gè)字符串,選用strcat函數(shù)來連接。
21.77解析:本題考查的是函數(shù)的遞歸調(diào)用。x=0或x=1是遞歸的終止條件,然后用回代的方法從一個(gè)已知值推出下一個(gè)值,直到計(jì)算出最終結(jié)果。
22.1a61a6解析:對(duì)于指針變量的運(yùn)算,就是對(duì)地址的運(yùn)算。本題中由于指針指向的是整型變量,所以,使指針變量移動(dòng)9個(gè)位置也就是移動(dòng)18個(gè)字節(jié)。注意,本題是以十六進(jìn)制輸出的。
23.1020010200解析:本題的關(guān)鍵在于求表達(dá)式(a%b<1)‖a/b>1)的值。已知a=10,b=20,所以a%b=10,因此(a%b<1)為“假”。而a/b=0,因此(a/b>1)亦為“假”。,D運(yùn)算的兩邊同時(shí)為“假”,所以整個(gè)表達(dá)式的值為?!凹佟保碿等于0。所以,本題最終輸出為:10200。
24.246
25.88解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個(gè)一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個(gè)一維數(shù)組都有4個(gè)元素,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ù)階段數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術(shù)階段解析:在數(shù)據(jù)庫系統(tǒng)管理階段,數(shù)據(jù)是結(jié)構(gòu)化的,是面向系統(tǒng)的,數(shù)據(jù)的冗余度小,從而節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,也減少了對(duì)數(shù)據(jù)的存取時(shí)間,提高了訪問效率,避免了數(shù)據(jù)的不一致性,同時(shí)提高了數(shù)據(jù)的可擴(kuò)充性和數(shù)據(jù)應(yīng)用的靈活性;數(shù)據(jù)具有獨(dú)立性,通過系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨(dú)立性:一是物理獨(dú)立性,二是邏輯獨(dú)立性;保證了數(shù)據(jù)的完整性、安全性和并發(fā)性-綜上所述,數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫系統(tǒng)管理階段。
27.繼承繼承
28.0
29.fseek(文件指針位移量起始點(diǎn))fseek(文件指針,位移量,起始點(diǎn))解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:
fseek(文件指針,位移量,起始點(diǎn))
“起始點(diǎn)”用0,1或2代替,其中,0代表“文件開始”;1為“當(dāng)前位置”;2為“文件末尾”?!拔灰屏俊敝敢浴捌鹗键c(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件的長度大于64k時(shí)不致出現(xiàn)問題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字的末尾加一個(gè)字母L,就表示long型。
30.A
31.aaaaAAAAAaaaaAAAAA解析:函數(shù)strcat(sp,'AAAAA')的作用是將字符中“AAAAA”連接到字符串sp的末尾,并自動(dòng)覆蓋字符數(shù)組sp末尾的\'\\0\'。
32.66解析:條件運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符,因此本題先計(jì)算關(guān)系表達(dá)式(*ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當(dāng)y=0時(shí),*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=2,所以z=2;當(dāng)y-1時(shí),*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=4,所以z=4;當(dāng)y=2時(shí),*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=6,所以z=6;循環(huán)結(jié)束。因此輸出z的結(jié)果為6。
33.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
34.30x30x解析:本題的參數(shù)傳遞屬于值傳遞,所以被調(diào)用函數(shù)內(nèi)不能改變調(diào)用函數(shù)中的數(shù)據(jù)。
35.E-R圖E-R圖解析:E-R圖是設(shè)計(jì)概念模型的有力工具。
36.21
37.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。
38.空間空間解析:程序在計(jì)算機(jī)上運(yùn)行時(shí)所耗費(fèi)的時(shí)間由程序運(yùn)行時(shí)所需輸入的數(shù)據(jù)總量、對(duì)源程序進(jìn)行編譯所需時(shí)間、計(jì)算機(jī)執(zhí)行每條指令所需時(shí)間、程序中的指令重復(fù)執(zhí)行的次數(shù)等決定。習(xí)慣上常常把語句重復(fù)執(zhí)行的次數(shù)作為算法運(yùn)行時(shí)間的相對(duì)量度,稱作算法的時(shí)間復(fù)雜度。算法在運(yùn)行過程中需輔助存儲(chǔ)空間的大小稱為算法的空間復(fù)雜度。
39.-3-3解析:%運(yùn)算符是求兩個(gè)數(shù)相除的余數(shù),其結(jié)果與被除數(shù)的符號(hào)一致,本題中“-19%4”的值為“-3”。
40.8080解析:本題考查的知識(shí)點(diǎn)是共用體數(shù)組變量所占內(nèi)存的長度。數(shù)組a是共用體變量,共用體類型變量所占的內(nèi)存長度為最大成員的長度,即單精度數(shù)組的長度,為4×4=16,因此,數(shù)組a所占的內(nèi)存長度為5×16=80,所以最后輸出的s的值為80。
41.B水平制表符中,'\t'表示的是橫向跳若干格;選項(xiàng)B中,'\039'錯(cuò)誤,'\039'是八進(jìn)制形式表的字符,最大數(shù)為7,但其中出現(xiàn)'9',','是字符逗號(hào);選項(xiàng)D中,'\n'表示的是換行。
42.B解析:本程序首先定義了靜態(tài)字符數(shù)組a,然后將指針p指向數(shù)組a的首地址,第一次for循環(huán),p=a,p指向數(shù)組的第一個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出p;第二次for循環(huán),p=p+2,則p指向數(shù)組的第三個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出o;第三次for循環(huán),p=p+2,則p指向數(shù)組的第5個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出r;第四次for循環(huán),p=p+2,則p指向數(shù)組的第7個(gè)元素,*p是取指針p所指地址的內(nèi)容,輸出m;結(jié)束循環(huán)。
43.C解析:do-while語句的執(zhí)行過程是:首先執(zhí)行循環(huán)體語句,再判斷表達(dá)式值的真假。在本題中,表達(dá)式的值為假,因此循環(huán)體只執(zhí)行一次。
44.B解析:SEEK_END代表的是文件末尾,SEEK_SET代表的是文件的開始,SEEK_CUR代表的是文件當(dāng)前位置。
45.D
46.D解析:變量的存儲(chǔ)類別具體包含四種:自動(dòng)的(auto),靜態(tài)的(static),寄存器的(register),外部的(extern)。
47.B解析:外層for循環(huán)的自變量i從1開始,每次循環(huán)后增1,直到i等于3結(jié)束.對(duì)于外層循環(huán)自變量i的每一個(gè)值,內(nèi)層循環(huán)的自變量j每次從i開始,每次循環(huán)后增1,直到j(luò)等于3結(jié)束。所以在每次外循環(huán)開始后,內(nèi)層循環(huán)在一行先打印i*j=兩個(gè)乘數(shù)的積,然后回車換行,下次循環(huán)從下一行開始打印輸出結(jié)果。
48.D解析:本題中,arge表示參數(shù)的個(gè)數(shù),應(yīng)為3。argv是一個(gè)指向字符串的指針數(shù)組,指針數(shù)組argv中的元素argv[0]指向字符串“PROG”,元素argv[1]指向字符串“ABCDEFGH”,argv[2]指向字符串“IJKL”。在while循環(huán)條件中,先進(jìn)行自減運(yùn)算,再執(zhí)行相應(yīng)的printf語句。
49.B解析:在表達(dá)式的值作為邏輯值時(shí),非0值一律為1,0值才為0。
50.C解析:p=&a[3]將指針指向數(shù)組a的第4個(gè)元素,p[5]指向數(shù)組a的第9個(gè)元素,而a[8]=9,所以b=9。
51.C解析:數(shù)組名s1是代表s1數(shù)組首地址的地址常量,而不是變量,因?yàn)椤?”左邊不能出現(xiàn)常量,因此sl='ABCDE'的方法是錯(cuò)誤的。
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關(guān)系表達(dá)式的值為1,執(zhí)行z=y-x=6-3=3。最后輸出z的值為3。
56.B解析:本題涉及字符串最基本的兩個(gè)概念:①字符串的長度是指字符串中字符的個(gè)數(shù),但不包括字符串結(jié)束符;②以反斜杠“\\”開頭的特殊字符序列,意思是把反斜杠后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來的含義,不包含在字符串長度之內(nèi),“\\”連同后面的字符為一個(gè)長度。
57.A解析:以下幾種算法的時(shí)間復(fù)雜度分別為:冒泡排序(n2);選擇排序(n2);快速排序(nlog2n);歸并排序(nlog2n)。當(dāng)排序元素序列基本有序的情況下,冒泡排序的交換次數(shù)為0,只是順序掃描數(shù)據(jù)而已,所以其效率是最高的。
58.D
59.B在本題中,題目告訴我們程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯(cuò)誤的,要求我們找出其錯(cuò)誤的原因,這是一類錯(cuò)誤原因分析題。
在本題程序中,首先定義兩個(gè)整型指針變量p和q,然后定義兩個(gè)整型變量a和b,讓指針變量p執(zhí)行變量a,接著輸出提示語句“請(qǐng)輸入a”,執(zhí)行格式輸入語句scanf,由于輸入語句的輸入列表中給出的應(yīng)該是輸入的地址,即存放輸入數(shù)據(jù)的存儲(chǔ)地址,但在本題的輸入語句中給出的是*p,這表示一個(gè)數(shù)值,而非地址。因此,無法完成數(shù)據(jù)的輸入,若要完成輸入,可以將*p改為p。
根據(jù)上面的分析,我們可以知道本題程序出錯(cuò)的原因是*p表示的是變量a的值,而不是變量a的地址。因此本題正確答案選B。
60.D解析:主要考查運(yùn)算符的優(yōu)先級(jí)。sizeof的優(yōu)先級(jí)最高,后面的順序是:%、<<、>,優(yōu)先級(jí)最低的是“=”。
61.B題中定義的語句等價(jià)于以下語句。
故本題定義一個(gè)整型變量x和一個(gè)指向整型的指針P,并把變量X的地址賦值給P,即P為指向整型變量x的指
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《經(jīng)絡(luò)與腧穴》課件-任脈
- 2025版臨建場(chǎng)地臨時(shí)建筑拆除與清運(yùn)服務(wù)合同4篇
- 2025年文藝巡回演出演員經(jīng)紀(jì)代理合同3篇
- 二零二五年度城市綠化景觀規(guī)劃設(shè)計(jì)分包合同4篇
- 二零二五年度知識(shí)產(chǎn)權(quán)保密許可協(xié)議3篇
- 2025年廠房裝修改造及配套設(shè)備采購合同4篇
- 個(gè)人理財(cái)產(chǎn)品代理銷售協(xié)議(2024版)3篇
- 二零二五版房地產(chǎn)股權(quán)托管與風(fēng)險(xiǎn)控制合同3篇
- 2025年合資投資合同書
- 2025版碼頭綠色物流配送體系與環(huán)保責(zé)任協(xié)議4篇
- 資本金管理制度文件模板
- 2025年生產(chǎn)主管年度工作計(jì)劃
- 2025年急診科護(hù)理工作計(jì)劃
- 高中家長會(huì) 高二寒假線上家長會(huì)課件
- 違規(guī)行為與處罰管理制度
- 個(gè)人教師述職報(bào)告錦集10篇
- 四川省等八省2025年普通高中學(xué)業(yè)水平選擇性考試適應(yīng)性演練歷史試題(含答案)
- 《內(nèi)部培訓(xùn)師培訓(xùn)》課件
- 《雷達(dá)原理》課件-3.3.3教學(xué)課件:相控陣?yán)走_(dá)
- 西方史學(xué)史課件3教學(xué)
- 2024年中國醫(yī)藥研發(fā)藍(lán)皮書
評(píng)論
0/150
提交評(píng)論