版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年江蘇省徐州市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下列4項(xiàng)說法中,不正確的是______。
A.數(shù)據(jù)庫減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫避免了一切數(shù)據(jù)的重復(fù)D.數(shù)據(jù)庫具有較高的數(shù)據(jù)獨(dú)立性
2.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是()。
A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系
B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念
C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題
D.不強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而強(qiáng)調(diào)概念
3.函數(shù)filecopy的功能是,將fin所指文件中的內(nèi)容輸出到fout所指文件中,但函數(shù)不完整:voidfilecopy(FILE*fin,FILE*fout){charch;ch=getc(fin);while(_______){putc(ch,fout);ch=getc(fin);}}其中下劃線處應(yīng)填入的是()。A.!feof(fin)B.!feof(fout)C.feof(fin)==1D.feof(fout)==1
4.
5.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序運(yùn)行后的輸出結(jié)果是()。
A.10,One*Dream!
B.9,One*Dream!
C.9,One*World
D.10,One*World
6.
7.在C語言中,函數(shù)隱含的類型是()
A.autoB.staticC.intD.void
8.有以下程序:#include<stdio.h>main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(“%d,%d,%d,%d\n”,a,b,c,d);}程序輸出為()。
A.編譯有錯(cuò)B.0,0,0,3C.1,1,2,0D.0,1,2,0
9.設(shè)有以下定義uniondata{intd1;floatd2;}demo;則下面敘述中錯(cuò)誤的是A.變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同
B.變量demo中各成員的地址相同
C.變量demo和各成員的地址相同
D.若給demo.d1賦99后,demo.d2中的值是99.0
10.字符串"alibaba"的二進(jìn)制哈夫曼編碼有多少位()
A.11B.12C.13D.14
11.
12.在C語言中,退格符是
A.\nB.\tC.\fD.\b
13.下述關(guān)于C語言文件的操作的結(jié)論中,正確的是______。
A.對(duì)文件操作必須先關(guān)閉文件
B.對(duì)文件操作必須先打開文件
C.對(duì)文件操作順序無要求
D.對(duì)文件操作前必須先測(cè)文件是否存在,然后再打開文件
14.假設(shè)某算法的計(jì)算時(shí)間可用遞推關(guān)系式T(n)=2T(n/2)+n,T(1)=1表示,則該算法的時(shí)間復(fù)雜度為()
A.O(logn)B.O(n*logn)C.O(n)D.O(n^2)
15.
16.若有定義:typedefint*INTEGER;INTEGERp,*q;則以下敘述正確的是()。
A.q是基類型為int的指針變量
B.p是int型變量
C.p是基類型為int的指針變量
D.程序中可用INTEGER代替類型名int
17.下列不屬于過程設(shè)計(jì)工具中圖形工具的是()。
A.N—SB.PADC.程序流程圖D.PDL
18.若i和k都是int類型變量,有以下for語句:for(i=0,k=-1;k=1;k++)printf("*****\n");下面關(guān)于語句執(zhí)行情況的敘述中正確的是()。
A.循環(huán)體執(zhí)行兩次B.循環(huán)體執(zhí)行一次C.循環(huán)體一次也不執(zhí)行D.構(gòu)成無限循環(huán)
19.
20.視圖設(shè)計(jì)一般有3種設(shè)計(jì)次序,下列不屬于視圖設(shè)計(jì)次序的是()。
A.自頂而下B.由內(nèi)向外C.由外向內(nèi)D.自底向上
二、2.填空題(20題)21.以下程序的輸出結(jié)果是【】。
main()
{ints,i;
for(s=0,i=1;1<3;i++,s+=i);
printf("%d\n",s);
}
22.設(shè)C語言中,一個(gè)int型數(shù)據(jù)在內(nèi)存中占兩個(gè)字節(jié),則int型數(shù)據(jù)的取值范圍為【】。
23.以下程序中函數(shù)fun的功能是:統(tǒng)計(jì)person所指結(jié)構(gòu)體數(shù)組中所有性別(sex)為M的記錄的個(gè)數(shù),存入變量n中,并作為函數(shù)值返回。請(qǐng)?zhí)羁眨?/p>
#include<stdio.h>
#defineN3
typedefstruct
{intmum,charname[10];charsex;}SS;
intfun(SSperson[])
{inti,n=0;
for(i=0;i<N;i++)
if(()=='M')n++;
returnn;
}
main()
{SSW[N]={{1,'AA','F'},{2,'BB','M'},{3,'CC','M'}};intn;
n=fun(W);printf("n=%d\n",n);
}
24.下面rotate函數(shù)的功能是:將n行n列的矩陣A轉(zhuǎn)置為A',例如:
#defineN4
voidrotate(inta()[N])
{inti,j,t;
for(i=0;i<N;i++)
for(j=0;【】;j++)
{t=a[i][j];
【】;
a[j][i]=t;
}
}
25.下述程序的輸出結(jié)果是【】。
#include<stdio.h>
voidmain()
{
charc1[20]="1234";
charc2[20]="5678";
char*p1,*p2;
p1=c1;
p2=c2;
while(*p1++)
while(*p1++=*p2++);
printf("%s,c1);
}
26.以下程序建立了一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過鍵盤輸入,當(dāng)輸人數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next=NULL).
#include<stdio.h>
structlist{intdatd;structlist*next;};
【】creatlist()
{structlist*p,*q,*ph;
inta;
ph=(structlist*)malloc(sizeof(structlist));
p=q=ph;
printf("Inputanintegernumber,enter-1toend:\n");
scanf("%d",&a);
while(a!=-1)
{
p=(structlist*)malloc(sizeof(structlist));
p->data=a;
q->next=p;
【】=p;
scanf("%d",&a);
}
p->next='\0';
return(ph);
}
main()
{
structlisthead;
head=creatlist();
}
27.己定義charch='$';inti=l,j;,執(zhí)行j=!ch&&ii++以后,i的值為【】。
28.以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫字母A開始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:
ABCDE
FGHI
JKL
MN
O
請(qǐng)?zhí)羁胀瓿稍摮绦颉?/p>
main()
{inti,j,n;charch='A';
scanf("%d",&n);
if(n<11)
{for(i=1;i<=n;i++)
{for(j=1;j<=n-i+1;j++)
{printf("%2c",ch);
【】;
}
【】;
}
}
elseprintf("nistoolarge!\n")
printf("\n"0);
}
29.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
30.有以下程序
main()
{intt=1,i=5;
for(;i>=0;i--)t*=i;
printf("%d\n",t);
}
執(zhí)行后輸出結(jié)果是______。
31.已知head指向一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,鏈表中每個(gè)結(jié)點(diǎn)包含數(shù)據(jù)域(data)和指針域(next),數(shù)據(jù)域?yàn)檎?。以下函?shù)求出鏈表中所有鏈結(jié)點(diǎn)數(shù)據(jù)域的和值,作為函數(shù)值返回。請(qǐng)?jiān)跈M線處填入正確內(nèi)容。
structlink
{intdata;structlink*next;}
main()
{structlink*head;
......
sum(head);
......
}
sum(【】);
{structlink*p;ints=0;
p=head->next;
while(p){s+=p->data;p=p->next;}
return(s);}
32.下面程序的功能是求整數(shù)m、n的最大公約數(shù),請(qǐng)?zhí)羁铡?/p>
main()
{intm,n,r;
scanf("%d,%d",&m,&n);
if(【】){r=m;m=n;n=r;)
while(【】)
{r=m%n;m=n;n=r;}
printf("%d",m);
}
33.函數(shù)fun的功能是使一個(gè)字符串按逆序存放。請(qǐng)?zhí)羁铡?/p>
voidfun(charstr[])
{charm;inti,j;
for(i=0,j=strlen(str);i<【】;i++,j--)
{m=str[i];
str[i]=【】;
str[j-1]=m;
}
printf("%s\n",str);
}
34.以下程序的功能是:求出數(shù)組x中各相鄰兩個(gè)元素的和依次存放到a數(shù)組中,然后輸出。請(qǐng)?zhí)羁铡?/p>
main()
{intx[10],a[9],I;
for(I=0;I<10;I++)scanf("%d",&x[I]);
for(【】;I<10;I++)
a[I-1]=x[I]+【】;.
for(I=0;I<9;I++)printf("%d",a[I]);
printf("");
}
35.閱讀下面程序,則執(zhí)行后的輸出結(jié)果是【】。
#include"stdio.h"
main()
{intx,y,z;
x=1;y=2;z=3;
if(x>y)if(x>z)printf("%d",x);
elseprintf("%d",y);
printf("%d\n",z);}
36.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。
37.下面程序的功能是將一個(gè)字符串str的內(nèi)容倒序,請(qǐng)?zhí)羁铡?/p>
#inelude<stdio.h>
#include<strins.h>
main()
{inti,j,【】;
charstr[]={"1234567"};
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);
}
38.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inta=1,b=3,c=5;
if(c=a+b)printf("yes\n");
elseprintf("no\n");
}
39.下面程序的運(yùn)行結(jié)果是【】。
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{intx==3,y=5,*p=&x,*q=&y;
swap(p,q);
printf("%d%d\n",*p,*q);
}
40.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
inta.b,c;
a=10;b=20;c=(a%b<)||{a/b>1);
printf("%d%d%dn",a,b,c);
}
三、1.選擇題(20題)41.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。
A.控制程序的執(zhí)行順序B.模塊之間的調(diào)用關(guān)系C.數(shù)據(jù)的流向D.程序的組成成分
42.以下程序運(yùn)行后的輸出結(jié)果是()。#include<stdio.h>voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t==a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){intb[10]={10,9,8,7,6,5,4,3,2,1};inti,s=0;reverse(b,10);for(i=0;i<3;i++)s+=b[i];printf("%d\n",s);}
A.27B.6C.25D.30
43.設(shè)有下列語句inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,C的值為()。
A.6B.7C.8D.9
44.有以下程序:#include<stdio.h>main()char*p[]={"3697","2548"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){if((p[i][j]-'0')%2)num=10*num+p[i][j]-'0';j+=2;}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。
A.35B.37C.39D.3975
45.關(guān)系表中的每一橫行稱為一個(gè)()。A.元組B.字段C.屬性D.碼
46.以下4個(gè)程序中,完全正確的是
A.#include<stdio.h>main();{/*programming*/printf("programming!\n");}
B.#include<stdio.h>main();{/*/programming/*/printf("programming!\n");}
C.#include<stdio.h>main(){/*/*programming*/*/printf("programming!\n");}
D.include<stdio.h>main(){/*programming*/printf("programming!\n");}
47.下面各選項(xiàng)中,均是C語言合法標(biāo)識(shí)符的選項(xiàng)組是
A.33weautoB._23me_3ewC._433e_elseD.ER-DF32
48.若int類型數(shù)據(jù)占兩個(gè)字節(jié),則下列語句intk=-1;printf("%d,%u\n",k,k);的輸出為()
A.-1,-1B.-132,767C.-132,768D.-165,535
49.下列選項(xiàng)中不合法的十六進(jìn)制數(shù)是()。
A.OxffB.OXllC.OxlgD.OXabc
50.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是()。
A.循環(huán)隊(duì)列B.棧C.順序表D.循環(huán)鏈表
51.以下程序的輸出結(jié)果是_______。#include<stdio.h>#include<string.h>fun(char*w,intn){chart,*s1,*s2;s1=w;s2=w+n-1;while(s1<s2){t=*s1++:*sl=*s2-;*s2=t;}}main(){char*p;p="1234567";fun(p,strlen(p));puts(p);}
A.1234567B.7654321C.1711717D.7177171
52.已知intt=0;while(t=1){…}則以下敘述正確的是()。
A.循環(huán)控制表達(dá)式的值為0B.循環(huán)控制表達(dá)式的值為1C.循環(huán)控制表達(dá)式不合法D.以上說法都不對(duì)
53.運(yùn)行下列程序時(shí),若輸入數(shù)據(jù)為“321”,則輸出結(jié)果是()。main(){intnum,i,j,k,s;scanf("%d",&num);if(num>99)s=3;elseif(num>9)s=2;elses=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch(s){case3:printf("%d%d%d\n",k,j,i);break;case2:printf("%d%d\n",k,j);case1:printf("%d\n",k);}}
A.123B.1,2,3C.321D.3,2,1
54.閱讀如下程序段#include"stdio.h"main(){intx,a,b;scanf("%d",&x);a=b=x;for(;x!=0;){if(x<b)b=x;if(x>a)a=x;scanf("%d",&x);}printf("a=%d,b=%d\n",a,b);}
輸入后輸出結(jié)果是
A.a=7569,b=789B.a=5,b=365C.a=7,b=789D.a=7569,b=5
55.以下不合法的用戶標(biāo)識(shí)符是______。A.j2KEYB.DoubleC.4dD._8_
56.在下面關(guān)于指針的說法中,錯(cuò)誤的一條是()
A.變量的指針就是變量的地址
B.可以將一個(gè)整型量或任何其他非地址類型的數(shù)據(jù)賦給一個(gè)指針變量
C.一個(gè)指針變量只能指向同一個(gè)類型的變量
D.指針變量中只能存放地址(指針)
57.若待排序序列中元素非常多,而且它們的排列是完全無序的,那么最好選用下列排序方法中的______。
A.冒泡排序B.簡(jiǎn)單選擇排序C.直接插入排序D.快速排序
58.在“文件包含”預(yù)處理語句的使用形式中,當(dāng)#include后面的文件名用"",(雙撇號(hào))括起時(shí),尋找被包含文件的方式是()。
A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
C.僅僅搜索源程序所在目錄
D.僅僅搜索當(dāng)前目錄
59.下列實(shí)體的聯(lián)系中,屬于多對(duì)多聯(lián)系的是()
A.學(xué)生與課程B.學(xué)校與校長C.住院的病人與病床D.工資級(jí)別與職工
60.請(qǐng)選出以下程序的輸出結(jié)果
#include<stdio.h>
main()
{inta[]={1,2,3,4},i;
intx=0;
for(i=0;i<4;i++)
{sub(a,x);printf("%d",x);}
printf("\n");}
sub(s,y)
int*s,y;
{staticintt=3;
y=s[t];t--;}
A.1234B.4321C.0000D.4444
四、選擇題(20題)61.下列程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
voidfun(int*S,int*p)
{staticintt=3:
*p=s[t];
t--;
}
voidmain
{inta[]={2,3,4,5),k;
intx;
for(k=0,k<4,k++)
{fun(a,&x);
printf("%d,",x);
}
}A.A.5,4,3,2B.2,3,4,5C.2,2,2,2D.5,5,5,5
62.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,1,2,0B.0,0,0,3C.編譯有錯(cuò)D.0,1,2,0
63.假定X和Y為double型,則表達(dá)式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
64.
65.以下關(guān)于typedef的敘述錯(cuò)誤的是()。
A.用typedef可以增加新類型
B.typedef只是將已存在的類型用一個(gè)新的名字來代替
C.用typedef可以為各種類型說明一個(gè)新名,但不能用來為變量說明一個(gè)新名
D.用typedef為類型說明一個(gè)新名,通常可以增加程序的可讀性
66.
67.
68.下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是()。
A.
B.
C.
D.
69.
70.有以下程序:
#include<stdio.h>
main()
{inta[]={10,20,30,40},*p=a,j;
for(i=0;i<=3;i++){a[i]=*P;p++;}
printf("oAd\n",a[2]);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.30
B.40
C.10
D.20
71.合法的數(shù)組定義是()。
A.
B.
C.
D.
72.
73.
74.以下敘述中正確的是()。A.A.當(dāng)對(duì)文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開一個(gè)已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個(gè)數(shù)據(jù)
D.c語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
75.
下列程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
#defineADD(x)x+x
main
{intm=1,n=2,k=3;
intS=ADD(m+n)*k;
printf("s=%d",s);
}
A.sum=18B.sum=10C.sum=9D.sum=25
76.有以下程序:
fun(inta[],intm,intn)
{inti;
for(i=m;i<n;i++)
a[i+1]=a[i]+3;
returna[i+1];
}
voidmain()
{
inti,a[6]={2,4,6,8,10,12};
fun(a,2,5);
for(i=0;i<6;i++)
printf("%d",a[i]);
}
程序運(yùn)行后輸出的結(jié)果是()。
A.24691315B.24691215C.249121518D.249121415
77.
78.有下列程序:
main
{inti,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是()。A.A.45B.20C.25D.36
79.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.32B.16C.1D.0
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,fun()函數(shù)的功能是:從整數(shù)1~50中,選出能被3整除且有一位上的數(shù)是5的數(shù),并把這些數(shù)放b所指的數(shù)組中,這些數(shù)的個(gè)數(shù)作為函數(shù)值返回。規(guī)定,函數(shù)中a1放個(gè)位數(shù),a2放十位數(shù)。
請(qǐng)修改函數(shù)中的錯(cuò)誤,得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不能增行或減行,也不能更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)fun,其功能是:找出2×M整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。
注意:部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
參考答案
1.C解析:數(shù)據(jù)庫系統(tǒng)具有以下4個(gè)特點(diǎn):數(shù)據(jù)的集成性、數(shù)據(jù)的高共享性與低冗余性、數(shù)據(jù)的獨(dú)立性、數(shù)據(jù)統(tǒng)一管理與控制。
2.C\n面向?qū)ο蟮脑O(shè)計(jì)方法的基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。它雖強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,但是它鼓勵(lì)開發(fā)者在軟件開發(fā)的過程中從應(yīng)用領(lǐng)域的概念角度去思考。
\n
3.Afilecopy函數(shù)每次從fin文件指針調(diào)用getc函數(shù)讀取一個(gè)字符存放到ch中,再通過while循環(huán)調(diào)用putc函數(shù)將ch寫入fout,直到fin指向文件尾部為止。所以while的循環(huán)條件是判斷fin是否到文件尾部。這里使用feof函數(shù)判斷:feof返回值為真時(shí),表示fin指向了文件尾部,否則表示fin未到文件尾部。所以while循環(huán)條件為!feof(fin)。故本題答案為A選項(xiàng)。
4.D
5.A函數(shù)“strlen(char*s)”;計(jì)算字符串s的長度,不包括‘\\0’在內(nèi)。p指向數(shù)組的第2個(gè)元素,因此“Strien(P)=10”,并輸出“one*Dream!”。故本題答案為A選項(xiàng)。
6.A
7.C
8.AC語言中規(guī)定else總是和之前與其最近的且不帶else的if配對(duì)。題目中,“if(a=1)b=1;c=2;”默認(rèn)省略了else,導(dǎo)致下一句else沒有匹配語句。故本題答案為A選項(xiàng)。
9.D解析:聯(lián)合體的所有成員共占同一段內(nèi)存,所以聯(lián)合體變量的長度與它的最長成員所占長度…致,本題中float所占內(nèi)存字節(jié)數(shù)為4,而\u3000int類型在TurboC\u30002.0中是占2字節(jié)、在VisualC++6.0中占4字節(jié),所以int類型所占內(nèi)存字節(jié)數(shù)不會(huì)超過float,那demo就與成員d2所占字節(jié)數(shù)是相同的,選項(xiàng)A的說法正確。聯(lián)合體的所有成員的首地址都是相同的,和聯(lián)合體變量的地址一致。故選項(xiàng)B和C都是正確的。由于int類型數(shù)據(jù)和float類型數(shù)據(jù)在內(nèi)存中的存放格式是不一樣的,所以給d1賦99后,d2中不會(huì)得到99.0這個(gè)值。故選項(xiàng)D不正確,答案應(yīng)該選擇D。
10.C
11.C
12.D解析:在C++語言中退格符表示為\\b退格。注意:其他轉(zhuǎn)義字符的意義:\\n表示回車換行,\\t表示橫向跳到下一制表位置,\\v表示豎向跳格,\\r表示回車,\\f表示走紙換頁,\\\\表示反斜線符,\\a表示鳴鈴,\\ddd1~3位表示八進(jìn)制數(shù)所代表的字符,\\xhh1~2位表示十六進(jìn)制數(shù)所代表的字符。
13.B解析:在C中對(duì)文件操作必須先打開文件,待文件操作完畢后要關(guān)閉文件。對(duì)文件以讀的方式進(jìn)行打開操作時(shí),同時(shí)會(huì)執(zhí)行文件的檢查文件是否存在,不存在將會(huì)返回空的文件指針,如果對(duì)文件以寫的方式打開時(shí),文件不存在,將會(huì)自動(dòng)創(chuàng)建文件,因此在C中打開文件前不必對(duì)其檢查文件是否存在,故答案為B。
14.B
15.D
16.C題干中使用typedef定義新類型名INTEGER,它代表int*類型。使用INTEGER定義p,相當(dāng)于int*p。使用INTEGER定義*q,相當(dāng)于int**q。所以p是基類型為int的指針變量,q是基類型為int*的指針變量,選項(xiàng)A、B、D錯(cuò)誤。故本題答案為C選項(xiàng)。
17.D\n常用的過程設(shè)計(jì)工具有圖形工具(程序流程圖、N-S圖、PAD圖、HIPO)、表格工具(判定表)、語言工具(PDL)。
\n
18.D此題考查的是基本的循環(huán),答案為D。
19.C
20.C視圖設(shè)計(jì)的設(shè)計(jì)次序分3種:自頂向下、自底向上和由內(nèi)向外。它們?yōu)橐晥D設(shè)計(jì)提供了具體的操作方法,設(shè)計(jì)者可根據(jù)實(shí)際情況靈活掌握。
21.55解析:此程序中,for循環(huán)語句后面直接跟了一個(gè)“;”,表明循環(huán)體為空。輸出語句不在for循環(huán)體內(nèi),所以在循環(huán)執(zhí)行完畢后才輸出s的值。s、i的初值分別為。和1,判斷循環(huán)條件,表達(dá)式“1<3”成立,執(zhí)行“i++,s+=i”后,i和s的值分別為2和1,繼續(xù)判斷循環(huán)條件,表達(dá)式“2<3”成立,執(zhí)行“i++,s+=j”后,i和s的值分別為3,再次判斷循環(huán)條件,表達(dá)式“3<3”不成立,循環(huán)結(jié)束。
22.-32768~32767
23.person[i].scx
24.j<ia[i][j]=a[j][i]j<i\r\na[i][j]=a[j][i]解析:本題中要求將n行n列的矩陣A轉(zhuǎn)置,即讓數(shù)組中行上的元素變成對(duì)應(yīng)列上的元素。即把對(duì)角線兩邊的元素對(duì)換,所以本題的第一個(gè)空格處應(yīng)該填寫j<i,第二個(gè)空格處填寫交換對(duì)角線兩邊的元素的語句a[i][j]=a[j][i]。
25.1567815678解析:本題使用了雙重while循環(huán),外循環(huán)的循環(huán)條件是*p1++,即每次循環(huán)時(shí)讓p1指向其后面的一個(gè)元素,而p1自增之前所指內(nèi)容為0時(shí)循環(huán)結(jié)束。內(nèi)循環(huán)的循環(huán)條件是*p1++=*p2++,即每次循環(huán)時(shí)讓p1和p2指向其后面的一個(gè)元素,而將p2自增之前所指的元素復(fù)制到p1自增之前所指的地址中去,直到p2自增之前所指內(nèi)容為0時(shí)循環(huán)結(jié)束。p1本來一開始是指向c1[0],由于外循環(huán)判斷條件時(shí)讓p1自增了,所以進(jìn)入內(nèi)循環(huán)時(shí)p1指向c1[1],而內(nèi)循環(huán)將p2所指字符串復(fù)制到p1所指位置,所以內(nèi)循環(huán)的結(jié)果是c1[1]、c1[2]、c1[3]、c1[4]、c1[5]分別被c2[0]、c2[1]、c2[2]、c2[3]、c2[4]改寫成'5'、'6'、'7'、'8'、'\\0'。故程序輸出的結(jié)果為15678。
26.structlist*q
27.11解析:本題中的ch是一個(gè)字符變量,其初始值為'$'(非0值即為真),所以!ch的結(jié)果為假,此時(shí)&&右邊的i++被“短路”,即不會(huì)被計(jì)算。由此可見,i的值不會(huì)改變,故本題應(yīng)該填1。
28.ch++;或++ch;或ch=ch+1;或ch=1+ch;或ch+=1;priintf("\n");或putchar('\n');ch++;或++ch;或ch=ch+1;或ch=1+ch;或ch+=1;\r\npriintf('\\n');或putchar(\'\\n\');解析:因?yàn)閏h被初始化為\'A\',而內(nèi)循環(huán)中有—條輸出ch的語句,整個(gè)程序都沒有一條改變ch值的語句。所以,第1空應(yīng)該填ch++或其它類似的表達(dá)式,以使每次輸出一個(gè)字母后ch都能變?yōu)橄乱粋€(gè)字母。內(nèi)循環(huán)結(jié)束后,代表這一行已經(jīng)輸出完畢,此時(shí)即將開始下一行的輸出,所以在第2空位置應(yīng)該輸出一個(gè)換行符,故應(yīng)填入printf('\\n');或其他等價(jià)形式。
29.1371513715解析:本題中,定義了一個(gè)整型數(shù)組n并初始化,在for循環(huán)語句中,再對(duì)數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時(shí),n[1]=n[0]*2+1=0+1=1,printf函數(shù)輸出1,然后i的值加1,比較i<=4成立,繼續(xù)執(zhí)行循環(huán)體語句,使后一個(gè)數(shù)為前一個(gè)數(shù)的2倍加1。所以最后輸出為1、3、7、15。
30.00解析:本題中的for循環(huán)共執(zhí)行了6次,每執(zhí)行一次將相應(yīng)i的值相乘,最后當(dāng)i=-1時(shí)停止循環(huán).該for循環(huán)執(zhí)行完后t的值為5*4*3*2*1*0=0,故最后輸出I的值為0。
31.structlink*headstructlink*head解析:考查用指針引用結(jié)構(gòu)體變量成員數(shù)據(jù)的方法。因?yàn)楸绢}中是用結(jié)構(gòu)體變量構(gòu)成了鏈表,所以要從鏈表頭節(jié)點(diǎn),逐個(gè)節(jié)點(diǎn)的引用結(jié)構(gòu)體的數(shù)據(jù)域,需要有指向結(jié)構(gòu)體變量的指針,依次指向各個(gè)節(jié)點(diǎn),即p=p->next,而用指針引用結(jié)構(gòu)體成員數(shù)據(jù)的方法為:p->data。
32.m<n或n>mr或r!=0m<n或n>m\r\nr或r!=0解析:本題使用的是“輾轉(zhuǎn)相除”法求兩個(gè)數(shù)的最大公約數(shù),即以兩個(gè)數(shù)中較大的除以較小的,如果余數(shù)不為0,則將較小的數(shù)和余數(shù)做同樣處理,直到被除斷為止,此時(shí)較小的數(shù)就是兩個(gè)數(shù)的最大公約數(shù)。本題第一空要求填寫一個(gè)if語句的判斷條件,如果滿足此條件則交換m和n的值,再看后面while循環(huán)的循環(huán)體,使用m%n求余,則此if語句的作用應(yīng)該是保證m是兩個(gè)數(shù)中較大的那個(gè),故第一空填m<n或n>m。接下來的while循環(huán)實(shí)現(xiàn)整個(gè)輾轉(zhuǎn)相除的過程,其結(jié)束條件應(yīng)該是余數(shù)r為0,所以while的循環(huán)條件應(yīng)該填r或r!=0。
33.strlen(str)/2str[j-1]
34.I=1x[I-1]I=1,x[I-1]解析:對(duì)于10個(gè)數(shù),相臨的兩個(gè)數(shù)相加取和,總共要進(jìn)行9次加法運(yùn)算,所以空14處應(yīng)填入I=1。相臨的兩個(gè)數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空15處應(yīng)填入x[I-1]。
35.33解析:C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合。因?yàn)閤不大于y,所以執(zhí)行printf('%d\\n',z);語句。
36.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過程。其中的每一個(gè)加工對(duì)應(yīng)一個(gè)處理模塊。
37.k-1k-1解析:第一處應(yīng)該是定義的某個(gè)變量,讀程序可知,變量k沒有定義,所以此處應(yīng)填入k。字符串的倒序,就是將首尾對(duì)應(yīng)的字符(數(shù)組元素)兩兩交換??捎脙蓚€(gè)游標(biāo)變量i和j分別代表前端元素的下標(biāo)和后端元素的下標(biāo),交換以這兩個(gè)變量值為下標(biāo)的元素str[i]和str[j]。開始時(shí),i的值為0,j的值為字符串末元素的下標(biāo)(字符串長度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]仍然位于str[j]的前面,即i<j。字符串末元素的下標(biāo)是它的長度減1,所以在第二處應(yīng)填入-1。
38.yesyes解析:if語句的條件語句為c=a+b=1+3=4,即條件為真,執(zhí)行語句printf('yes\\n');,輸出結(jié)果為yes。
39.3535解析:主函數(shù)中通過定義和賦初值使p和q分別指向了x和y,執(zhí)行函數(shù)調(diào)用swap(p,q),把p和q中的地址值傳給了形參指針變量a和b,此時(shí)a和b分別指向了主函數(shù)中的變量x和y。在函數(shù)swap()中交換了指針變量a和b的值,但并沒有改變a和b所指向的內(nèi)容,所以函數(shù)調(diào)用返回后x和y依舊是原來的值。故運(yùn)行結(jié)果為35。
40.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á)式的值為。“假”,即c等于0。所以,本題最終輸出為:10200。
41.C解析:數(shù)據(jù)流相當(dāng)于一條管道,并有一級(jí)數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實(shí)體流向系統(tǒng)或從系統(tǒng)流向外部實(shí)體。
42.B解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)reverse將數(shù)組b進(jìn)行了逆置,此時(shí)b[10]={10,9,8,7,6,5,4,3,2,1),后面for語句的功能是將b中的后3個(gè)數(shù)累加,并將結(jié)果放在s中,最后將s輸出,結(jié)果s=1+2+3=6。
43.D解析:變量b的初值等于2,所以表達(dá)式b<<2表示b的值二進(jìn)制左移兩位,即擴(kuò)大4倍,所以變量b的等于8。然后與a的值1進(jìn)行異或運(yùn)算,得9。
44.C解析:執(zhí)行main函數(shù)中的for語句,當(dāng)i=0,j=0時(shí),p[i][j]=p[0)[0]='3',滿足while循環(huán)條件,執(zhí)行循環(huán)體中的if語句得num=3,j=2,此時(shí)p[i][j]=p[0][2]='9',滿足循環(huán)條件,執(zhí)行while循環(huán)體得num=39,j=4,判斷while條件,不滿足并退出while循環(huán);再次執(zhí)行for語句,當(dāng)i=1,j=0,p[i][j]=p[1][0]=2,滿足while條件,執(zhí)行循環(huán)體中的if語句,但不符合if條件,所以num不進(jìn)行運(yùn)算,j進(jìn)行加2運(yùn)算j=2,此時(shí)p[i][j]=p[1][2]=4,if條件為假,num不進(jìn)行運(yùn)算,j進(jìn)行加2運(yùn)算j=4,再執(zhí)行while語句,條件不符合退出循環(huán)。所以結(jié)果為39。
45.A解析:關(guān)系表中,每一行稱為一個(gè)元組,對(duì)應(yīng)表中的一條記錄;每一列稱為表中的一個(gè)屬性,對(duì)應(yīng)表中的一個(gè)字段;在二維表中凡能惟一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。
46.B解析:選項(xiàng)A)main();的分號(hào)是錯(cuò)誤的,不能有分號(hào);選項(xiàng)C)的注釋語句多了兩個(gè)*號(hào);選項(xiàng)D)include前面沒有#。
47.B解析:合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或下劃線,用戶定義的標(biāo)識(shí)符不能與關(guān)鍵字相同。選項(xiàng)A),數(shù)字不能為第一個(gè)字母,auto為關(guān)鍵字;選項(xiàng)C)中,也是數(shù)字不能為第一個(gè)字母,else為關(guān)鍵字;選項(xiàng)D)中負(fù)號(hào)不合法。
48.D
49.C解析:十六進(jìn)制是以“0x”或“0X”開頭的字符串,字符串中只能含有0~9這10個(gè)數(shù)字和a、b、c、d、e、f這6個(gè)字母。
50.B解析:循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu),隊(duì)列是以先進(jìn)先出為原則組織數(shù)據(jù)的一種特殊線性表,選項(xiàng)A錯(cuò)誤;棧是以先進(jìn)后出為原則組織數(shù)據(jù)的一種特殊線性表,選項(xiàng)B正確;順序表是線性表的順序存儲(chǔ)結(jié)構(gòu),選項(xiàng)C錯(cuò)誤;循環(huán)鏈表是一般線性表的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),選項(xiàng)D錯(cuò)誤。
51.C解析:在于函數(shù)fun中,s1為字符串w的起始地址,s2為字符串的結(jié)束地址(字符\'\\0\'除外),當(dāng)執(zhí)行循環(huán)結(jié)束循環(huán),w='1711717'。
52.B解析:t=1是將t賦值為1,所以循環(huán)控制表達(dá)式的值為1。判斷t是否等于1時(shí),應(yīng)用t==1,注意“=”與“==”的用法。
53.A解析:本題考查if-else語句和switch語句。scan函數(shù)通過鍵盤讀入nUm的值。因?yàn)閚um=321>99,所以s=3,i=3,i=2k=1。因?yàn)閟=3,所以執(zhí)行case3,輸出k,j,i的值,然后通過breed結(jié)束程序。
54.D解析:本題的功能是求出輸入序列的最大值和最小值,并打印輸出。
55.C解析:C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第—個(gè)字符必須是字母或下劃線。大寫字母和小寫字母被認(rèn)為是兩個(gè)不同的字符,用戶在定義標(biāo)識(shí)符時(shí)應(yīng)做到“見名知意”,且不允許使用關(guān)鍵字作標(biāo)識(shí)符。
56.B
57.D
58.B解析:本題考查庫函數(shù)調(diào)用的知識(shí)點(diǎn)。格式1:#include<文件名>,預(yù)處理程序在標(biāo)準(zhǔn)目錄下查找指定的文件;格式2:#include'文件名',預(yù)處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒找到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄搜索。
59.AA本題考查關(guān)系數(shù)據(jù)庫中實(shí)體之間的聯(lián)系。實(shí)體之間的聯(lián)系有3種:一對(duì)一關(guān)系、一對(duì)多關(guān)系和多對(duì)多關(guān)系。一個(gè)學(xué)生可以選擇多門課程,一門課程可被多個(gè)學(xué)生選擇,所以學(xué)生與課程之間是多對(duì)多的聯(lián)系
60.C解析:考查通過指針來引用一維數(shù)組元素的方法。若指針s指向數(shù)組a,則s[t]可以引用數(shù)組a中下標(biāo)為t的元素。
61.A依據(jù)fun函數(shù),可知其要實(shí)現(xiàn)的功能是將S中第(t+1)個(gè)元素以前的元素逆置賦給數(shù)組P。由于fun中函數(shù)定義了靜態(tài)變量t=3
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年國際貿(mào)易實(shí)務(wù)考試題國際貿(mào)易規(guī)則與操作流程
- 2026年人工智能技術(shù)與應(yīng)用專業(yè)考試題集
- 2026年公務(wù)員考試行測(cè)邏輯推理與判斷能力提升題集
- 2026年財(cái)經(jīng)法規(guī)與職業(yè)道德規(guī)范題庫
- 中石油消防管理規(guī)范
- 客訴知識(shí)培訓(xùn)
- 2026上海中醫(yī)藥大學(xué)國際教育學(xué)院英語教師招聘1人考試重點(diǎn)試題及答案解析
- 2026年上海大學(xué)單招綜合素質(zhì)筆試參考題庫含詳細(xì)答案解析
- 2026山西白求恩醫(yī)院 山西醫(yī)學(xué)科學(xué)院急需緊缺高層次人才招聘5人參考考試試題及答案解析
- 2026年鄭州電力職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考試題含詳細(xì)答案解析
- 大采高綜采工作面操作規(guī)程
- 保密車間出入管理制度
- 肯德基副經(jīng)理養(yǎng)成課程
- 鐵路勞動(dòng)安全 課件 第四章 機(jī)務(wù)勞動(dòng)安全
- 智慧人社大數(shù)據(jù)綜合分析平臺(tái)整體解決方案智慧社保大數(shù)據(jù)綜合分析平臺(tái)整體解決方案
- 脊柱與四肢檢查課件
- 2024年河北省供銷合作總社招聘筆試參考題庫附帶答案詳解
- 宅基地及地上房屋確權(quán)登記申請(qǐng)審批表
- 醫(yī)療衛(wèi)生輿情課件
- 2024年甘肅省安全員A證考試題庫及答案
- 數(shù)據(jù)安全保護(hù)與隱私保護(hù)
評(píng)論
0/150
提交評(píng)論