




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年江蘇省揚州市全國計算機等級考試C語言程序設計測試卷一(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序:#include<stdio.h>main(){intx=072;printf(“>%d<\n”,x+1);}程序運行后的輸出結果是()。
A.>073<B.>73<C.>142<D.>59<
2.對包含N個元素的散列表進行檢索,平均檢索長度________
A.為o(log2N)B.為o(N)C.不直接依賴于ND.上述三者都不是
3.十進制數(shù)124轉換成二進制數(shù)是()
A.111l010B.1111100C.1011111D.1111011
4.算法分析的目的是()。
A.找出數(shù)據(jù)結構的合理性B.研究算法中的輸入和輸出的關系C.分析算法的效率以求改進D.分析算法的易讀性和文檔性
5.下列語句中,說法正確的是______。
A.C程序書寫格式嚴格,每行只能寫一個語句
B.C程序書寫格式嚴格,每行必須有行號
C.C程序書寫格式自由,每行可以寫多條語句,但之間必須用逗號隔開
D.C程序書寫格式自由,一個語句可以分寫在多行
6.下列程序的輸出結果是#include"stdio.h”"main(){inti,a=0,b=0;for(i=1;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}
A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5
7.成功的測試是指A.A.運行測試實例后未發(fā)現(xiàn)錯誤
B.發(fā)現(xiàn)程序的錯誤
C.證明程序正確
D.軟件產(chǎn)生
8.
9.設R是一個2元關系,有3個元組,S是一個3元關系,有3個元組。如T=R×S,則T的元組的個數(shù)為()。A.6B.8C.9D.12
10.以下能正確定義字符串的語句是()。
A.charstr=“\x43”;
B.charstr[]=“\0”;
C.charstr=”;
D.charstr[]={‘\064’};
11.當用戶要求輸入的字符串中含有空格時,應使用的輸入函數(shù)是()。
A.scanfB.getcharC.getsD.getc
12.有以下程序:#include<stdio.h>main(){FILE*f;f=fopen(“fllea.txt”,“w”);fprintf(f,“abc”);fclose(f);}若文本文件filea.txt中原有內容為hello,則運行以上程序后,文件filea.txt中的內容為()。
A.abcloB.abcC.helloabcD.abchello
13.在C語言中,int、char和short種類型數(shù)據(jù)在內存中所占用的字節(jié)數(shù)()。
A.由用戶自己定義B.均為2個字節(jié)C.是任意的D.由所用機器的機器字長決定
14.設有定義“intm=1,n=2;”,則以下if語句中,編譯時會產(chǎn)生錯誤信息的是()。
A.if(m>n)m--elsen--;
B.if(m=n){m++;n++;}
C.if(m<0&&n<0){}
D.if(m>0);elsem++;
15.有如下定義:inta[5],*p;p=a;則下列描述錯誤的是()。
A.表達式p=p+1合法的B.表達式a=a+1是合法的C.表達式p-a是合法的D.表達式a+2是合法的
16.以下程序的輸出結果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1];a[3][0]);}
A.650B.1470C.5430D.輸出值不定
17.有以下程序:#include<stdio.h>#include<string.h>main(){charv[4][10]={“efg”,“abcd”,“mnopq”,“hijkl”},*p[4],*t;inti,j;for(i=0;i<4;i++)p[i]=v[i];for(i=0;i<3;i++) for(j=i+1;j<4;j++) if(strcmp(p[i],p[j])>0) {t=p[i];p[i]=p[j];p[j]=t}for(i=0;i<4;i++) printf(“%s”,p[i]);}程序運行后的輸出結果是()。
A.efgabcdhijklmnopq
B.abcdefghijklmnopq
C.mnopqhijklefgabcd
D.efgabcdmnopqhijkl
18.有以下程序:
main()
{intX,i;
for(i=1;i<=50;i++)
{x=i;
if(X%2=O)
if(x%3=O)
if(X%7=0)
printf("%d,i)";
}
}
輸出結果是()。
A.28
B.27
C.42
D.41
19.用鄰接矩陣A表示有向圖G的存儲結構,則有向圖G中頂點i的入度為()。
A.第i行非0元素的個數(shù)之和B.第i列非0元素的個數(shù)之和C.第i行0元素的個數(shù)之和D.第i列0元素的個數(shù)之和
20.有以下程序:#include<stdio.h>intadd(inta,intb){return(a+b);}main(){intk,(*f)(),a=5,b=10;f=add;…}則以下函數(shù)調用語句錯誤的是()。
A.k=f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k=*f(a,b);
二、2.填空題(20題)21.以下程序的輸出結果是【】。
main()
{char*p=“abodefgh”,*r;
long*q;
q=(long*)p;
q++;
r=(char*)q;
printf(“%s\n”,r);
}
22.若按功能劃分,軟件測試的方法通常分為______測試方法和黑盒測試方法。
23.以下程序的功能是將字符串s中的數(shù)字字符放人d數(shù)組中,最后輸出d中的字符串。例如,輸入字符串a(chǎn)bc123edf456gh,執(zhí)行程序后輸出123456。請?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{chars[80],d[80];inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(【】){d[j]=s[i];j++;)
d[j]='\0';
puts(D);
}
24.下列循環(huán)的循環(huán)次數(shù)是______。
intk=2;
while(k=0)
printf["%d",k);
k--;
printf("\n");
25.以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調用ftell函數(shù)返回當前文件位置指針的具體位置,從而確定文件長度。請?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,0,SEEK_END);f1=ftell(myf);
fclose(myf);
printf("%1d\n",f1);
26.軟件測試是保證軟件質量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設計來實現(xiàn)。
27.以下程序的輸出結果是【】。
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]={1,2,3,4,5,6,7,8,9,10};inti,s=0;
reverse(b,8);
for(i=6;i<10;i++)s+=b[i];
printf("%d\n",s);
}
28.下程序的輸出結果是【】。
#include<stdio.h>
#defineMAX_COUNT4
voidfun()
main()
{intcount;
for(count=1;count<=MAX_COUNT;coun++)fun();
}
voidfun()
{staicinti;
i+=2;
printf(”%d,i);
}
29.面向對象的模型中,最基本的概念是對象和______。
30.下列程序的輸出結果是______。
#include<stdio.h>
main()
{inta=2,b=-1,c=2;
if(a<b)
if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
31.下面rotate函數(shù)的功能是:將n行n列的矩陣A轉置未AT,例如:
請?zhí)羁?/p>
#defineN4
voidrotate(inta[][])
{inti,j,t;
for(i=0;i<N;i++)
for(j=0;【】;j++)
{t=a[i][j];【】;a[j][i]=t;}
}
32.單元測試又稱模塊測試,一般采用【】測試。
33.以下程序的定義語句中,x[1]的初值是【】,程序運行后輸出的內容是【】。
#include<stdio.h>
main()
{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;
for(i=0;i<4;i++)
{p[i]=&x[2*i+1];
printf("%d",p[i][0]);
}
printf("\n");)
}
34.下面程序的輸出是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
for(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n"k);}
35.以下程序的功能是建立一個帶有頭結點的單向鏈表,鏈表結點中的數(shù)據(jù)通過鍵盤輸入,當輸入數(shù)據(jù)為-1時,表示輸入結束(鏈表頭結點的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請?zhí)羁铡?/p>
#include<stdio.h>
structlist{intdata;structlist*next;};
structlist*creatlist()
{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));
p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");
scanf("%d",&a);
while(a!=-1)
{p=(structlist*)malloc(sizeof(structlist));
【】=a;q->next=p;【】=p;scanf("%d",&a);}
p->next=′\0;return(ph);}
main()
{structlist*head;head=creatlist();}
36.沒有chara,b;,,若要通過a&b運算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進制是【】。
37.若有如下程序:
main()
{ints=8,a=3,b=5,c=6;
if(a>b)s=a;a=b;b=s;
if(a>c){s=a;a=c;b=s);
if(b>c)s=b;b=c;c=s;
printf("%d,%d,%d\n",a,b,c);
}
則程序運行后的輸出結果是【】。
38.以下程序的輸出結果是【】。
#include<stdio.h>
#deftneJFT(x)x*x
main()
{inta,k=3;
a=++JFT(k+1);
printf("%d",a);
}
39.以下程序運行時若從鍵盤輸入:102030<回車>。輸出結果是【】。
#include<stdio.h>
main()
{
inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
40.在數(shù)據(jù)的存儲結構中,不僅需要存儲各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
三、1.選擇題(20題)41.執(zhí)行下面的程序時,輸入abc<CR>(其中CR代表回車),輸出結果是()。#include<stdio.h>#include<string.h>main(){charch;while((cn=getchar())!='n'){switch(ch-'a'){case0:putchar(ch+1);case1:putchar(ch+1);break;case2:putchar(ch+2);caSe3:putchar(ch+2);break;}}}
A.abcB.bbcC.abcdD.bbcee
42.有定義語句:“intx,y;”,若要通過“scanf("%d,%d,&x,&y);”語句使變量x得到數(shù)值11,變量y得到數(shù)值12,下面四組輸入形式中,錯誤的是
A.1112<回車>B.11,12<回車>C.11,12<回車>D.11,<回車>12<回車>
43.有以下程序:main(){inta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf("%d\n",C);}執(zhí)行后的輸出結果是()。
A.1B.2C.3D.4
44.若調用一個函數(shù),且此函數(shù)中沒有return語句,則以下正確的說法是______。
A.該函數(shù)沒有返回值B.該函數(shù)返回若干個系統(tǒng)默認值C.該函數(shù)能返回一個用戶所希望的函數(shù)值D.該函數(shù)返回一個不確定的值
45.利用fseek函數(shù)可實現(xiàn)的操作是()。
A.實現(xiàn)文件的順序讀寫B(tài).改變文件的位置指針C.實現(xiàn)文件的隨機讀寫D.以上答案均正確
46.對長度為n的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為()。
A.log2nB.n/2C.nD.n+1
47.數(shù)據(jù)的存儲結構是指()。
A.存儲在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲空間量C.數(shù)據(jù)在計算機中的順序存儲方式D.數(shù)據(jù)的邏輯結構在計算機中的表示
48.設a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達式中,值為0的表達式是______。
A.'a'&&'b'
B.a<=b
C.a||+c&&b-c
D.!((a<b)&&!c||1)
49.設有定義:inta,*pa=&a;以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是()。
A.scanf("%d",pA);
B.scanf("%d",A);
C.scanf("%d",&pA);
D.seanf("%d",*pA);
50.下列敘述中錯誤的是()。
A.線性表是由n個元素組成的一個有限序列
B.線性表是一種線性結構
C.線性表的所有結點有且僅有一個前件和后件
D.線性表可以是空表
51.若有如下定義:intx=3,y=2,Z;則表達式Z=X/y*3.0的值是()。
A.2B.2C.3D.3
52.設函數(shù)fun的定義形式為voidfun(charch,floatx){…}則以下對函數(shù)fun的調用語句中,正確的是
A.fun("abc",3.0);
B.t=fun('D',16.5);
C.fun('65',2.8);
D.fun(32,32);
53.以下敘述中正確的是()。
A.構成C程序的基本單位是函數(shù)
B.可以在一個函數(shù)中定義另一個函數(shù)
C.main函數(shù)必須放在其他函數(shù)之前
D.C函數(shù)定義的格式是K&R格式
54.使計算機病毒傳播范圍最廣的媒介是________
A.硬磁盤B.軟磁盤C.內部存儲器D.互聯(lián)網(wǎng)
55.若運行以下程序時,從鍵盤輸入ADescriptor<CR>(<CR>表示回車),則下面程序的運行結果是
#include<stdio.h>
main()
{charc;
intv0=1,v1=0,v2=0;
do{switch(c=getchar())
{case′a′:case′A′:
case′e′:case′E′:
case′i′:case′I′:
case′o′:case′O′:
case′u′:case′U′:v1+=1;
default:v0+=1;v2+=1;}}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
56.相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
57.若有“doublea;”,則正確的輸入語句是()。
A.scanf("%1f",a);
B.scanf("%f",&a);
C.scanf("%lf",&a)
D.scanf("%le",&a);
58.現(xiàn)有格式化輸入語句,
A.intB.floatC.doubleD.不確定
59.以下說法中正確的是______。
A.C語言程序總是從第一個定義的函數(shù)開始執(zhí)行
B.C語言程序中,要調用的函數(shù)必須在main()函數(shù)中定義
C.C語言程序總是從main()函數(shù)開始執(zhí)行
D.C語言程序中的main()函數(shù)必須放在程序的開始部分
60.設有以下語句:charX=3,y=6,z;z=XY<<2;則2的二進制值是
A.10100B.O0011011C.11100D.11000
四、選擇題(20題)61.以下結構體類型說明和變量定義中正確的是()。
62.數(shù)字字符0的ASCIl值為48,若有以下程序:
程序運行后的輸出結果是()。
A.3,2B.50,2C.2,2D.2,50
63.設有定義:intX=2;,以下表達式中,值不為6的是()。
A.2*x.x+=2B.x++,2*xC.x*=(1+x)D.x*!x+1
64.
下述程序執(zhí)行的輸出結果是()。
#include<stdio.h>
main
{chara[2][4];
strcpy(a,"are");strcpy(a[1],"you");
a[0][3]=&;
printf("%s\n",a):
}
A.are&youB.youC.areD.&
65.
有以下程序:
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
66.
67.軟件設計中劃分模塊的一個準則是()。A.低內聚低耦合B.高內聚低耦合C.低內聚高耦合D.高內聚高耦合
68.有以下程序
69.若有定義語句:intx=10;,則表沃式㈣的值為()。A.一10B.-20C.0D.10
70.
71.支持子程序調用的數(shù)據(jù)結構是()。
A.棧B.樹C.隊列D.二叉樹
72.
73.
74.有以下程序:
程序運行后的輸出結果是()。
A.3B.2C.1D.0
75.若變量已正確定義,有以下程序段其輸出結果是()。
A.0,1B.0,0C.1,1D.程序進入無限循環(huán)
76.有以下函數(shù):
函數(shù)的功能是()。
A.將Y所指字符串賦給x所指存儲空間
B.查找x和y所指字符串中是否有
C.統(tǒng)計x和y所指字符串中最前面連續(xù)相同的字符個數(shù)
D.統(tǒng)計x和Y所指字符串中相同的字符個數(shù)
77.
78.
79.下列字符串不屬于標識符的是()
A.sumB.averageC.day_nightD.M,D.JOHN
80.有以下程序:
main
{inta[]=(2,4,6,8,10},y=0,x,*P;
p=&a[1];
for(x=1;x<3;x++)y+=p[x];
printf("%d\n,y");
}
程序運行后的輸出結果是()。A.A.10B.11C.14D.15
五、程序改錯題(1題)81.假如整數(shù)數(shù)列中的數(shù)不重復,并存放在數(shù)組中。下列給定的程序中,函數(shù)proc()的功能是:刪除數(shù)列中值為x的元素。n中存放的是數(shù)列中元素的個數(shù)。請修改程序中的錯誤,使它能夠得出正確的結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:
六、程序設計題(1題)82.請編寫函數(shù)proc(),該函數(shù)的功能是:計算并輸出
例如,若主函數(shù)從鍵盤給n輸入10后,則輸出為S=104.478749。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。
試題程序:
參考答案
1.D題干中x是一個整型變量,賦值為072。以0開頭的整數(shù)是八進制的表示形式。printf函數(shù)中,格式字符%d表示以十進制形式輸出“x+1”,所以需要將072轉換成十進制數(shù),即7×8+2=58,輸出“x+1”為59。故本題答案為D選項。
2.C
3.B
4.C
5.D
6.B解析:continue語句的作用是跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)條件的判定。當能被2整除時,a就會增1,之后執(zhí)行continue語句,直接執(zhí)行到for循環(huán)體的結尾,進行i++,判斷循環(huán)條件。
7.B軟件測試的目的主要有以下幾個方面。
(1)軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。
(2)一個好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤。
(3)一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。
另外,即使經(jīng)過了最嚴格的測試,可能仍然還有沒被發(fā)現(xiàn)的錯誤藏在程序中,測試只是找出程序中的錯誤,不能證明程序中沒有錯誤。
8.C
9.CC。R為n元關系,有P個元組S為m元關系,有q個元組。兩個關系笛卡兒積是一個n+m元的關系,元組個數(shù)是q×p。所以T的元組的個數(shù)為9個。
10.BC語言中,字符串是用一對雙引號標識的字符序列,并用字符型數(shù)組來存放。C選項和D選項不屬于字符串,A選項定義的是一個字符變量str,但賦值字符串,顯然也不正確。故本題答案為B選項。
11.C解析:C語言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求輸入的是字符串,所以可以排除getchar,而且要求輸入的字符串中包含空格,而scanf函數(shù)默認將輸入的空格字符作為分割符,所以空格不會被輸入,故可排除scanf。getc的作用是從文件中輸入一個字符,故也不可取。gets函數(shù)可以輸入一整行作為一個字符串,其中也包括空格字符,故應該選擇C。
12.B執(zhí)行“fprintf(f,“abc”);”后,f文件原有內容被“abc”覆蓋。故本題答案為B選項。
13.D
14.A選項A中,if語句的語句塊“m--”后面少了分號,不合法,編譯會出錯。其他選項都是正確的。故本題答案為A選項。
15.B
16.A解析:對未給出初始值的整數(shù)數(shù)組元素,被默認初始化為零。
17.Bmain函數(shù)中定義一個二維數(shù)組v,另外還定義一個指針數(shù)組p。通過for循環(huán),將v的各個行(字符串的首地址)賦給P的對應下標的元素。然后通過嵌套的for循環(huán),為該二維數(shù)組中存放的各個字符串進行排序。strcmp函數(shù)返回值大于0時(p[i]>p[j])交換兩個字符串,所以每一輪內嵌的for循環(huán),都將下標為i的字符串放在最終的排序位置上,即排序規(guī)則是按字符串升序排列。字符串排序時,是將兩個字符串自左向右逐個字符比較(按字符的ASCII值大?。钡匠霈F(xiàn)不同的字符或遇到‘\\0’為止。排序后,再將v中各個排序后的字符串輸出。所以程序輸出結果為:abcdefghijklmnopq。故本題答案為B選項。
18.C\n只有當3個if條件同時成立,即能夠同時被2、3、7整除時,才輸出i的值,而從0到50能夠同時被2、3、7整除的數(shù)只有42,故選擇c選鞏。
\n
19.B
20.D運算符“()”的優(yōu)先級高于運算符“*”?!?*f)()”定義函數(shù)指針,f是指向函數(shù)的指針。執(zhí)行語句“f=add;”,將函數(shù)add的首地址賦給指針f,所以調用函數(shù)add可以寫為f。函數(shù)的返回值是整型,不是指針類型,不能用運算符,故*f(a,b);”的調用方式錯誤。故本題答案為D選項。
21.efghefgh解析:本題定義了一個字符型指針變量p并通過賦初值讓它指向了一個字符串,定義了另一個字符型指針變量r和一個長整型指針變量q。首先通過語句“q=(long*)p;”把P的地址值強制轉換為長整型地址值并賦值給q,然后執(zhí)行“q++;”,地址值增加了4,執(zhí)行語句“r=(char*)q;”,把長整型指針變量q的值再強制轉換成字符型地址值并賦給r,r的值應為字符串中字符“e”的地址,最后輸出,指向的字符中,是“efgh”。
22.白盒白盒解析:軟件測試的方法分為白盒測試方法和黑盒測試方法.
23.s[i]>='0'&&s[i]<='9'或s[i]>=48&&s[i]<=57s[i]>='0'&&s[i]<='9'或s[i]>=48&&s[i]<=57解析:根據(jù)題意,if語句的條件應當是判斷數(shù)組元素s[i]是否為數(shù)字,故正確答案為:s[i]>='0'&&s[i]<='9'或s[i]>=48&&s[i]<=57,其中48是字符0的ASCII碼值,57是字符9的ASCII碼值。
24.00解析:解答本題需要注意表達式“k=0”,它是賦值表達式而不是關系表達式,不論k為何值,表達式k=0總會使k為0,所以不能進入循環(huán)。
25.fopen
26.測試實例測試實例解析:進行軟件測試時,應精心設計測試實例和選擇測試數(shù)據(jù),以對系統(tǒng)進行全面測試。
27.2222解析:在main函數(shù)中,調用reverse函數(shù)將b數(shù)組中的前8個成員進行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},然后再執(zhí)行for循環(huán)結構,將b[6],b[7]...b[9]的值相加,結果為22。
28.2468(若字符間有空格扣1分)2468(若字符間有空格扣1分)
29.類類
30.22解析:分析程序,a=2,b=-1,c=2時,if語句的表達式a<b不成立,不再往下判斷,直接退出if語句,執(zhí)行后面的輸出語句,程序結束。在這個程序中a、b、c的值沒做任何改變。
31.j<=ia[i][j]=a[j][i]j<=i\r\na[i][j]=a[j][i]解析:將矩陣轉置就是將行列互換,所以第一處應填j<=i,第二處應填a[i][j]=a[j][i]。
32.白盒法白盒法
33.224682,2468解析:在主函數(shù)中根據(jù)整型數(shù)組x[]的定義可知,x[1]的初值等于2。在for循環(huán)語句中,當i=0時,p[0]=&x[1],p[0][0]=2;當i=1時,p[1]=&x[3],p[1][0]=4;當i=2時,p[2]=&x[5],p[2][0]=6;當i=3時,p[3]=&x[7],\ue008p[3][0]\ue009=8,所以程序輸出的結果為2、4、6、8。
34.1212解析:本題通過第一個for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過第二個for循環(huán)的三次循環(huán)累加,求出結果為12,具體分析如下:
i=1:k=0+arr[1]+1即k=2;
i=2:k=2+arr[2]+2即k=6;
i=3:k=6+arr[3]+3即k=12;
35.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結構對結構體變量中數(shù)據(jù)的引用。鏈表的特點是結構體變量中有兩個域,一個是數(shù)據(jù),另一個是指向該結構體變量類型的指針,用以指明鏈表的下一個結點。
36.1000001010000010解析:運算“&”的規(guī)則是只有當兩個相應的二進制位都為1時,該位的結果才為1。要保留第2、8位,只要將其與二進制數(shù)10000010相與。
37.5685,6,8解析:首先要清楚當滿足第1個if的判斷條件時只執(zhí)行一條語句“s=a;”,當滿足第2個if的判斷條件時執(zhí)行一條復合語句“{s=a;a=c;b=s};”,當滿足第3個if的判斷條件時只執(zhí)行一條語句“s=b;”。執(zhí)行程序:判斷a>b,由于a=3,b=5則3>5為假,不執(zhí)行“s=a;”,執(zhí)行“a=b;”和“b=s;”,則a=5,b=8。判斷a>c,由于a=5,c=6則5>6為假,不執(zhí)行“{s=a;a=c;b=s};”。判斷b>c,由于b=5,c=6則5>6為假,不執(zhí)行“s=b;”,執(zhí)行“b=c;”和“c=s;”,則b=6,c=8。最后輸出5,6,8。
38.99解析:宏替換的原則是按原樣替換,本題中遇到形參x則以實參k+1替換,其他字符不變,所以JFT(k+1)經(jīng)替換后為k+1,k+1,則a=++k+1*k+1。若k的值為3,則經(jīng)過運算為a=4+1*4+1=9。
39.1030010300解析:本題的scanf()函數(shù)要求用戶輸入三個十進制整數(shù),但只接受第一和第三個到函數(shù)的第二和第三個參數(shù)所指的內存地址中。所以本題的輸出為:10300。
40.前后件關系前后件關系解析:在數(shù)據(jù)存儲結構中,除了要存儲數(shù)據(jù),還要存儲數(shù)據(jù)的前后件關系,對于順序存儲的數(shù)據(jù)結構,前后件之間的關系,是通過存儲空間的位置來實現(xiàn)的,而對于鏈式存儲來說,數(shù)據(jù)元素之間的前后件關系是通過指針來實現(xiàn)的。
41.D解析:當ch='a'時,ch-'a'=0,進入case0分支輸出b,再進入case1分支輸出b,然后結束本次循環(huán)。當ch='b'時,'b'-'a'=1,進入case1分支輸出c,然后結束本次循環(huán)。當ch='c'時,'c'-'a'=2,進入case2分支輸出e,再進入case3分支輸出e,然后結束次循環(huán)。遇到'-n'結束循環(huán)。顯示輸出為bbcee。
42.A解析:本題考核的知識點是scanf()函數(shù)的運用。seanf()函數(shù)有兩個參數(shù),第一個參數(shù)為輸入格式字符串,第二個參數(shù)為輸入變量地址列表,在scallf()語句中非格式字符可以作為輸入時數(shù)據(jù)的間隔,輸入時必須原樣輸入,在本題中輸入格式串為%d,%d其中“,”為非格式字符,所以輸入時必須原樣輸入。所以4個選項中選項A符合題意。
43.C解析:*p1=1,*p2=3,*p=3,指針p指向變量c,故正確選項為C。
44.D解析:函數(shù)體可以沒有return語句,程序執(zhí)行到末尾為“}”時結束,然后返回調用函數(shù),但沒有確定的函數(shù)值返回。
45.D解析:改變文件位置指針函數(shù)fseek()的功能:①改變文件的位置指針;②輔助實現(xiàn)文件的順序讀寫;③輔助實現(xiàn)文件的隨機讀寫。
46.C本題考查的是順序查找。在進行順序查找過程中,如果線性表中的第一個元素就是被查找元素,則只需做一次比較就查找成功,查找效率最高;但如果被查找的元素是線性表中的最后一個元素,或者被查找的元素根本就不在線性表中,則為了查找這個元素需要與線性表中所有的元素進行比較,這是順序查找的最壞情況。所以對長度為n的線性表進行順序查找,在最壞情況下需要比較n次。故本題答案為C。
47.D數(shù)據(jù)的邏輯結構是指數(shù)據(jù)元素之間的邏輯關系的數(shù)據(jù)結構。數(shù)據(jù)的存儲結構則是數(shù)據(jù)的邏輯結構在計算機中的物理實現(xiàn),有時也稱作數(shù)據(jù)的物理結構。兩者的區(qū)別是數(shù)據(jù)的邏輯結構只涉及到數(shù)據(jù)之間抽象的數(shù)學關系。存儲結構則涉及到如何在計算機中通過對數(shù)據(jù)的物理存儲進行組織來表達數(shù)據(jù)元素之間的邏輯關系。比如在線性表的順序存儲中是利用物理存儲空間上的連續(xù)性來表達線性表中數(shù)據(jù)的前后件關系;在線性表的鏈式存儲中是通過指針域構成的邏輯鏈條來表達數(shù)據(jù)的前后件關系。一般的,一種數(shù)據(jù)的邏輯結構對應的物理實現(xiàn),即數(shù)據(jù)的存儲結構不止一種。因此選項D正確。
48.D解析:選項A:'a'&&'b'是字符a與b的相與,不為0:選項B:a<=b,由題中變量賦值可知,結果為1。選項C:a||+c&&b-c,結果為1;選項D:!((a<B)&&!c||1),運算結果為0。
49.A解析:本題中定義了整型變量a和一個指向整型數(shù)據(jù)的指針變量pa,并定義pa是一個存放a的地址的變量。選項B是應該將a改為&a,故選項B不正確;選項c應該將&pa改為pa,因為pa已經(jīng)表示存放:的地址,故選項C不正確:選項D中*pa表示的是指針p8所指向存儲空間的變量的值,而不是一個地址,故選項D不正確,所以,4個選項十選項A符合題意。
50.CC.【解析】線性表是一種線性結構,由n(n≥0)個元素組成,所以線性表可以是空表。但是在線性表中,第一個結點沒有前件,最后一個結點沒有后件,其他結點有且只有一個前件和后件,所以選項C.是錯誤的。
51.C解析:變量z被定義為整型,所以選項B和D不符合題意,首先被排除。變量x和y也被定義為整型,所以表達式x/y的值為整數(shù)1,最后z被賦值為3,選項C正確。
52.D解析:題目中定義的函數(shù)fun()有兩個參數(shù),一個是字符型變量ch,另一個是浮點型變景x,函數(shù)類型是void即無返回值。選項A調用fun的第1個參數(shù)是字符串常量與字符變量不匹配,所以不正確。選項B是有返回值函數(shù)的調用形式,不正確。選項C的第1個參數(shù)是錯誤的字符常量,字符常量是用單引號括起來的—個字符(是轉義字符可能有多個字符),故也不正確。選項D使用兩個整型常量調用fun這在C語言中是允許的。因為整型到字符型可以自動轉換,整型到浮點型也可以自動轉換。故應該選擇D。
53.A解析:本題考查C語言的綜合基礎知識。構成C程序的基本單位是函數(shù),一個C程序總是從main函數(shù)開始執(zhí)行,而不論main函數(shù)在整個程序中的位置如何。C語言的函數(shù)定義都是互相平行、獨立的,在定義函數(shù)時,一個函數(shù)內不能定義另一個函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。
54.D
55.D解析:本題考查switch語句的掌握。必須撐握以下內容:首先應該明白switch語句的語法格式:
switch語句的語法格式為:
switch(表達式)
{
case常量表達式1:語句組1;
case常量表達式2:語句組2;
case常量表達式n:語句組n;
default:語句組n+1;
}
另外,以下幾點關于switch語句的重點:
①系統(tǒng)在執(zhí)行時計算開關表達式的值;②根據(jù)所得的值在各個case標號表達式中尋找匹配,直到發(fā)現(xiàn)與表達式匹配的標號(本例中匹配的是case\'B\':);\ue008③找\ue009到匹配后執(zhí)行后面相應的語句表,順序往下執(zhí)行;④如果無相匹配的標號,若存在default標號,則執(zhí)行該語句標號后面的語句表n+1;當不存在default標號時,不執(zhí)行switch中的任何一個語句表。
一般而言,在多分支結構中總會出現(xiàn)'意外'的情況,這時均可歸入default程序段,作統(tǒng)一的處理。default標號是可選性的,不必每次都有,視需要而定。switch語句中還可以包含switch語句,形成switch的嵌套。
56.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨立的,因此相對于數(shù)據(jù)庫系統(tǒng),以此為基礎的數(shù)據(jù)處理存在3個缺點,數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)各自的特點,人工管理階段及數(shù)據(jù)庫系統(tǒng)三代的特點。
57.D解析:scanf函數(shù)的調用形式是:scanf(格式字符串,輸入項地址表)。其中,“格式字符串”是要輸入的變量的格式符;“輸入項地址表”是要輸入的變量的地址。題中定義變量a為雙精度型變量,雙精度變量的格式符為“l(fā)e”;變量的地址用取地址符“&”加變量名表示,例如變量a的地址為“&a”。
58.C解析:根據(jù)混合運算規(guī)則,如果有一個數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉化為double型,運算的結果最終也是double型。
59.C解析:要調用的函數(shù)必須先定義(不能嵌套),但是可以互相嵌套調用。
60.B解析:本題考查兩個位運算符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 擴大一老一小健康服務供給實施方案
- 《向量加減法的幾何意義:高中數(shù)學教學教案》
- 木質纖維素中試平臺的運營管理與安全保障體系
- 一氧化碳中試平臺的技術創(chuàng)新與未來發(fā)展方向
- 特崗教師培訓管理制度
- 特殊合同評審管理制度
- 特殊崗位證件管理制度
- 特殊服藥人員管理制度
- 特殊物質倉庫管理制度
- 特殊行業(yè)員工管理制度
- 用S7200編寫搖臂鉆床PLC程序梯形圖
- 2024年造價工程師-水運工程造價工程師筆試參考題庫含答案
- 2024年北京化學工業(yè)集團有限責任公司招聘筆試參考題庫附帶答案詳解
- 項目工程實體質量(路基、路面工程)檢查表
- 圖文高中英語語法if條件句If - Clauses
- 中國網(wǎng)民權益保護調查報告
- 2022年四川省成考(專升本)經(jīng)濟學考試真題含解析
- 大模型在航空航天領域的應用:智能探索宇宙的無限可能
- 《直流電源》課件
- 《中醫(yī)藥健康知識講座》課件
- 解決多模穴流動不平衡問題之流道翻轉技術
評論
0/150
提交評論