![2021-2022年黑龍江省雞西市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第1頁](http://file4.renrendoc.com/view/3e34d77bd8a1a5d34d121260b3b6418d/3e34d77bd8a1a5d34d121260b3b6418d1.gif)
![2021-2022年黑龍江省雞西市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第2頁](http://file4.renrendoc.com/view/3e34d77bd8a1a5d34d121260b3b6418d/3e34d77bd8a1a5d34d121260b3b6418d2.gif)
![2021-2022年黑龍江省雞西市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第3頁](http://file4.renrendoc.com/view/3e34d77bd8a1a5d34d121260b3b6418d/3e34d77bd8a1a5d34d121260b3b6418d3.gif)
![2021-2022年黑龍江省雞西市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第4頁](http://file4.renrendoc.com/view/3e34d77bd8a1a5d34d121260b3b6418d/3e34d77bd8a1a5d34d121260b3b6418d4.gif)
![2021-2022年黑龍江省雞西市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)_第5頁](http://file4.renrendoc.com/view/3e34d77bd8a1a5d34d121260b3b6418d/3e34d77bd8a1a5d34d121260b3b6418d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
2021-2022年黑龍江省雞西市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________一、單選題(20題)1.為非法的字符串常量()。A.“case”B.“”C.”056”D.‘123’
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.以下敘述中正確的是()。
A.算法的時間復(fù)雜度是指算法在執(zhí)行過程中基本運算的次數(shù)
B.算法的時間復(fù)雜度是指算法執(zhí)行所需要的時間
C.算法的時間復(fù)雜度是指算法執(zhí)行的速度
D.算法的復(fù)雜度是指算法控制結(jié)構(gòu)的復(fù)雜程度
4.以下定義語句中正確的是()。
A.inta=b=0;
B.charA=65+1,b=‘b’;
C.floata=1,*b=&a,*c=&b;
D.doublea=0.0;b=1.1;
5.有下列程序:
main()
{inty=20;
do{y--;}while(--y);
phntf("%d\n",y--);
}
當(dāng)執(zhí)行程序時,輸出的結(jié)果是()。
A.-1B.1C.4D.0
6.若有定義語句:"inta[4][10],*P,*q[4];"且0≤i<4,則錯誤的賦值是()。
A.D=aB.q[i]=a[i]C.p=a[l]D.P=&a[2][1]
7.下列描述中不正確的是()。
A.字符型數(shù)組中可能存放字符串。
B.可以對字符型數(shù)組進行整體輸入、輸出。
C.可以對整型數(shù)組進行整體輸入、輸出。
D.不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進行整體賦值。
8.某二叉樹結(jié)點的中序序列為A、B、C、D、E、F、G,后序序列為B、D、C、A、F、G、E,該二叉樹對應(yīng)的層次遍歷序列為()
A.E、G、F、A、C、D、B
B.E、A、C、B、D、G、F
C.E、A、G、C、F、B、D
D.E、G、A、C、D、F、B
9.設(shè)有定義語句
則以下敘述正確的是().
A.f是指向函數(shù)的指針變量,該函數(shù)具有_個int類型的形參
B.f是基類型為int的指針變量
C.f是指向int類型一維數(shù)組的指針變量
D.f是函數(shù)名,該函數(shù)的返回值是基類型為int類型的地址
10.以下程序的輸出結(jié)果是______。
A.54321
B.12345
C.12345
D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}
11.
12.程序中頭文件typel.h的內(nèi)容是:#defineN5#defineM1N*3程序如下:#include“typel.h”#defineM2N*2main(){inti;i=M1+M2;Printf(“%d\n”,0;}程序編譯后運行的輸出結(jié)果是:
A.10B.20C.25D.30
13.在下列語句中,其含義為“q是一個函數(shù)指針,該指針指向整型數(shù)據(jù)”的定義語句是()。
A.int**q;B.int(*q);C.int*q;D.int*q;
14.若以“a+”方式打開一個已存在的文件,以下敘述正確的是()。
A.文件打開時,原有文件內(nèi)容不被刪除,可以進行添加和讀操作
B.文件打開時,原有文件內(nèi)容不被刪除,位置指針移到文件開頭,可以進行重寫和讀操作
C.文件打開時,原有文件內(nèi)容不被刪除,位置指針移到文件中間,可以進行重寫和讀操作
D.文件打開時,原有文件內(nèi)容被刪除,只可進行寫操作
15.以下說法不正確的是
A.C程序中必須有一個main()函數(shù),C程序是從main()函數(shù)的第1條語句開始執(zhí)行的。
B.非主函數(shù)都是在執(zhí)行主函數(shù)時,通過函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的。
C.C程序中的main()函數(shù)必須放在程序的開始位置。
D.C程序中的main()函數(shù)位置可以任意指定。
16.體育課的鈴聲響了,同學(xué)們都陸續(xù)地奔向操場,按老師的要求從高到矮站成一排。每個同學(xué)按順序來到操場時,都從排尾走向排頭,找到第一個比自己高的同學(xué),并站在他的后面。這種站隊的方法類似于()算法。
A.快速排序B.插入排序C.冒泡排序D.歸并排序
17.
18.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。A.Zhao,m,85,Zhao,m,85
B.Sun,f,90,Zhao,m,85
C.Zhao,m,85,Sun,f,90
D.Sun,f,90,Sun,f,90
19.有以下程序:#include<stdio.h>main(){charc;for(;(c=getchar())!=‘#’;){if(c>=‘a(chǎn)’&&c<=‘z’)c=c-‘a(chǎn)’+‘A’;putchar(++c);}}執(zhí)行時輸入aBcDefG##并按<Enter>鍵,則輸出結(jié)果是()。
A.AbCdEFgB.ABCDEFGC.BCDEFGHD.bcdefgh
20.在具有n個結(jié)點的有序單鏈表中插入一個新結(jié)點并使鏈表仍然有序的時間復(fù)雜度是________
A.O(1)B.O(n)C.O(nlogn)D.O(n2)
二、2.填空題(20題)21.數(shù)據(jù)的獨立性分為邏輯獨立性與物理獨立性。當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時,其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,這稱為______。
22.下面的程序可對指定字符串中的字符串進行從大到小排序,請將程序填完整。(注:程序采用了冒泡排序法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n-->1)
for(i=0;i<n;i++)
if(str[i]<str[i+l])
{temp=【】;
str[i]=str[i+l];
【】=temp;
}
printf(【】);
}
23.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\N,*p,*q))
}
24.下列二維數(shù)組初始化語句中,正確且與語句floata[][3]={0,3,8,0,9};等價的是
25.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++)
printf("%d%d",X--,y);
}
26.設(shè)有以下定義和語句,sizeof(a)的值是【】,sizeof(b)的值是【】。
struct{intday;Charmonth;intyear;}a,*b;
b=&a;
27.若有如下定義,doublea[100];,則a數(shù)組元素的下標(biāo)上限是【】。
28.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。
29.以下程序運行后的輸出結(jié)果是【】。
main()
{
charc1,c2;
for(c1='0',c2='9';c1<c2;c1++,c2--)
printf("%c%c",c1,c2);
printf("\n");
}
30.以下程序中函數(shù)huiwen的功能是檢查一個寧符串是否是回文,當(dāng)字符串是回文時,函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adgda。請?zhí)羁誣_____。
#include<string.h>
chat*huiwen(chat*str)
{char*p1,*p2;inti,t=0;
p1=str;p2=【】;
for(i=0;i<=strlen(str)/2;i++)
if(*p1++!=*p2--){t=1;break;}
if(!t或t!=0)return("yes!");
elsereturn("no!");
}
main()
{charstr[50];
printf("Input:");scanf("%s",str);
printf("%s\n",huiwen(str));
}
31.在一棵二叉樹上第6層的結(jié)點個數(shù)最多是【】。
32.以下程序的輸出結(jié)果是【】。
#include<string.h>
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
33.一個關(guān)系表的行稱為()。
34.設(shè)有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請將語句補充完整。
scanf("%d",【】);
printf("%d\n",【】);
35.下面程序的功能是將一個字符串str的內(nèi)容顛倒過來,請?zhí)羁铡?/p>
#include<string.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);}
36.以下程序中函數(shù)huiwen.的功能是檢查一個字符串是否是回文,當(dāng)字符串是回文時,函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出,所謂回文即正向與反向的拼寫都一樣,例如:adgda。請?zhí)羁铡?/p>
#include<string.h>
char*huiwen(char*str)
{char*p1,*P2;inti,t=0;
P1=str;p2=【】;
for(i=0;i<=strlen(str)/2;i++)
if(*p1++!=*p2--){t=1;break;}
if(【】)return("yes!");
elsereturn("no!");
}
main()
{charstr[50];
printf("Input:");scanf("%s",str);
printf("%s\n",【】);
}
37.以下程序運行后的輸出結(jié)果是______。
main()
{
chara[]="123456789",*p;
inti=0;
p=a;
while(*p)
{
if(i%2==0)
*p='*';
p++;i++;
}
puts(a);
}
38.以下程序運行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{charc;intn=100;
floatf=10:doublex:
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
39.若想通過以下輸入語句使a=5.0,b=4,c=3,則輸入數(shù)據(jù)的形式應(yīng)該是【】。
intb,c;floata;
scanf("%f,%d,c=%d",&a,&b,&c)
40.若變量a,b已定義為int類型并分別賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請寫出完整的輸出語句行:【】。
三、1.選擇題(20題)41.設(shè)有以下語句:chara=3,b=6,c;c=ab<<2;則c的二進制值是()。
A.11011B.10100C.11100D.11000
42.若已定義以下語句,其中0≤i≤9,則對a數(shù)組元素不正確的引用為______。inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
43.當(dāng)用戶要求輸入的字符串中含有空格時,應(yīng)使用的輸入函數(shù)是()。
A.scanfB.getcharC.getsD.getc
44.有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序運行的結(jié)果是()。
A.234B.432C.23D.4534554334344523
45.讀下面程序段(字符串內(nèi)沒有空格字符):printf("%d\n",strlen("ATS\n012\1\\"));其輸出結(jié)果是()。
A.11B.10C.9D.8
46.下面程序的輸出是______。fun(char*s,intp1,intp2){charc;while(p1<p2){c=s[p1];s[p1]=s[p2];s[p2]=c;p1++;p2--;}}main(){chara[]="ABCDEFG",k,*p;fun(a,0,2);fun(a,4,6);printf("%s\n",a);}
A.ABCDEFGB.DEFGABCC.GFEDCBAD.CBADGFE
47.一個關(guān)系中屬性個數(shù)為1時,稱此關(guān)系為()。
A.對應(yīng)關(guān)系B.單一關(guān)系C.一元關(guān)系D.二元關(guān)系
48.下面程序的輸出結(jié)果是()maint(){char*s="121";intk=0,a=0,b=0;do{k++;if(k%2==0){a=a+s[k]-'0';continue;}b=b+s[k]-'0';a=a+s[k]-'0'}wnile(s[k+1]);printf("k=%da=%db=%d\n",k,a,b);}
A.k=3a=2b=3B.k=3a=3b=2C.k=2a=3b=3D.k=2a=2b=3
49.若有結(jié)構(gòu)體定義:structstu{intnum;charsex;intage;}a1,a2;則下列語句中錯誤的是()。
A.printf("%d,%c,%d",a1);
B.a2.age=a1.age;
C.a1.age++;
D.a1.num=5;
50.下列關(guān)于軟件測試的目的和準(zhǔn)則的敘述中,正確的是()
A.軟件測試是證明軟件沒有錯誤
B.主要目的是發(fā)現(xiàn)程序中的錯誤
C.主要目的是確定程序中錯誤的位置
D.測試最好由程序員自己來檢查自己的程序
51.以下程序的輸出結(jié)果是______。#include<stdio.h>main(){inta=200;#definea100printf("%d",a);#undefaprintf("%d",a);}
A.200100B.100100C.100200D.200200
52.下列選項中,不屬于模塊間耦合的是()
A.內(nèi)容耦合B.異構(gòu)耦合C.控制耦合D.數(shù)據(jù)耦合
53.以下敘述中錯誤的是()。
A.C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序
B.C程序經(jīng)過編譯、連接步驟后才能形成一個真正可執(zhí)行的二進制機器指令文件
C.用C語言編寫的程序稱為源程序,它以ASCⅡ代碼形式存放在一個文本文件中
D.C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令
54.請讀程序:#include<stdio.h>inta[]={2,4,6,8};main(){inti;int*p=a;for(i=0;i<4;i++)a[i]=*p++;printf("%d\n”,a[2]);}上面程序的輸出結(jié)果是()
A.6B.8C.4D.2
55.在一棵二叉樹上,第5層的結(jié)點數(shù)最多是()A.8B.9C.15D.16
56.以下程序的輸出結(jié)果是______。#include<stdio.h>#defineFUDGE(y)2.84+y#definePR(a)printf("%d\n",(int)(a))#definePRINT1(a)PR(a);putchar('\n')main(){intx=2;PRINT1(FUDGE(5)*x);}
A.11B.12C.13D.15
57.下面程序的輸出是______。main(){intx=3,y=6,a=0;while(x++!=y-=1)){a+=1;if(y<x)break;}printf("x=%d,a=%d\n",x,y,A);}
A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=,a=1
58.有以下程序:main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);}執(zhí)行后輸出結(jié)果是()。
A.1,1,2B.2,2,1C.2,2,2D.2,2,3
59.設(shè)x、y、t均為血型變量,則執(zhí)行語句x=y=3;t=++x||++y;后,y的值為______。
A.不定值B.4C.3D.1
60.線性表若采用鏈?zhǔn)酱鎯Y(jié)構(gòu)時,要求內(nèi)存中可用存儲單元的地址()
A.必須是連續(xù)的B.部分地址必須是連續(xù)的C.一定是不連續(xù)的D.連續(xù)不連續(xù)都可以
四、選擇題(20題)61.
62.
63.有以下程序:
程序運行后的輸出結(jié)果是()。
A.6B.3C.8D.12
64.以下結(jié)構(gòu)體類型說明和變量定義中正確的是()。
65.最常用的一種基本數(shù)據(jù)模型是關(guān)系數(shù)據(jù)模型,對于它的表示應(yīng)采用
A.樹B.網(wǎng)絡(luò)C.圖D.二維表
66.
67.以下選項中不能作為c語言合法常量的是()。.
A.0.1e+6B.’cd’.C.”、a”D.’\011
68.一個工作人員可以使用多臺計算機,而一臺計算機可被多個人使用,則實體工作人員與實體計算機之間的聯(lián)系是()。
A.一對一B.一對多C.多對多D.多對一
69.以下程序的輸出結(jié)果是()。
A.1B.2C.3D.0
70.
71.
72.
73.
74.下列程序的輸出結(jié)果是()。#include<stdio.h>main{inta[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[o][1]+a[1][1]+a[1][2]);}A.8B.7C.12D.9
75.有如下嵌套的if語句:
以下選項中與上述if語句等價的語句是()。
A.
B.
C.
D.
76.
有以下程序
#include<stdio.h>
#include<string.h>
typedefstrlIct{charname[9];charsex;floatscore[2];}STU;
STUf(STUa)
{STUb={"Zhao",m,85.0,90.0);inti;
strcpy(aname,b.name);
sex:b.sex;
for(i=0;i<2;i++)a.score[i]=b.score[i];
returna;
}
main
{STUc="Qian",f,95.0,92.0},d;
d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);
}
程序的運行結(jié)果是()。
A.Qian,f,95,92
B.Qian,m,85,90
C.Zhao,m,85,90
D.Zhao,f,95,92
77.若有代數(shù)式(其中e僅代表自然對數(shù)的底數(shù),不是變量),則以下能夠正確表示該代數(shù)式的C語言表達式是()。
A.sqrt(fabs(pow(n,x)+exp(x)))
B.sqrt(fabs(pow(n,x)+pow(x,e)))
C.sqrt(abs(n^x+e^x)
D.sqrt(fabs(pow(x,n)+exp(x)))
78.設(shè)變量X和y均已正確定義并賦值。以下if語句中,在編譯時將產(chǎn)生錯誤信息的是()。A.if(x++);
B.if(x>y&&y!=0);
C.if(x>y)x--elsey++;
D.if(y<0){;}elsex++;
79.在C程序中有如下語句:char*func(intx,inty);它是()。
A.對函數(shù)func的定義。B.對函數(shù)func的調(diào)用。C.對函數(shù)func的原型說明。D.不合法的
80.下面描述中,不屬于軟件危機表現(xiàn)的是()A.軟件過程不規(guī)范B.軟件開發(fā)生產(chǎn)率低C.軟件質(zhì)量難以控制D.軟件成本不斷提高
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將長整型數(shù)中為偶數(shù)的數(shù)依次取出,構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為87653142時,t中的數(shù)為8642。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.編程將文件read.txt中的字符讀出顯示到屏幕上。
參考答案
1.D
2.A選項A中,表達式“x%=k”結(jié)果為5,表達式“k%=5”結(jié)果為2,5-2結(jié)果為3;選項B中,“k%=5”結(jié)果為2,“x%=2”結(jié)果為0;選項C中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,“x%5”結(jié)果為2;選項D中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,x%5結(jié)果為2。故本題答案為A選項。
3.A算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量,其計算工作量是用算法所執(zhí)行的基本運算次數(shù)來度量的。本題答案為A選項。
4.BA選項中的變量b沒有定義,不能直接給變量a賦值。C選項中,*b、*c表示的是一個實型變量的地址,不能將指針型變量b的地址賦值給指針型變量c。D選項中,“a=0.0”后面應(yīng)該為逗號,不能是分號。故本題答案為B選項。
5.D解析:本題考查do…while循環(huán)。當(dāng)--寸是0(即y是0)時結(jié)束循環(huán),輸出y--是先輸出y的值再將y的值減1。
6.A數(shù)組名是一個存放一個數(shù)組首地址的值,是一個地址常量。而p=a不是合法的,因為p和a的基本類型不同。
7.C
8.C
9.A
10.B
11.D
12.C解析:編譯預(yù)處理時,用“typel.h”中的內(nèi)容替代命令#include“typel.h”。表達式“i=M1+M2”經(jīng)過宏替換為“i=5*3+5*2”即i=25,所以最后輸出的i的值為25。
13.B本題考查指針函數(shù)。其定義的基本格式為:類型說明符(*函數(shù)名)。“類型說明符”表示返回的指針值指向的數(shù)據(jù)類型。
14.AC語言中,文件打開方式“a+”表示打開一個文本文件,從文件開始位置讀,在文件尾部添加數(shù)據(jù),如果指定的文件不存在,系統(tǒng)將使用調(diào)用fopen時指定的文件名創(chuàng)建一個新的文件;如果指定的文件存在,那么文件原有內(nèi)容將被保存,新的數(shù)據(jù)追加到原有文件之后。故本題答案為A選項。
15.C解析:本題考核的知識點是main()函數(shù)的作用,以及main()函數(shù)在程序中出現(xiàn)的位置。一個完整的C語言程序有且僅有一個主函數(shù)(main()函數(shù))。程序總從main()函數(shù)的第一條語句開始執(zhí)行,到main()函數(shù)的最后一條語句結(jié)束,其他函數(shù)都是在執(zhí)行main()函數(shù)時,通過函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的。C語言規(guī)定,main()函數(shù)在程序中的位置是任意的,故選項c不正確。所以,4個選項中C符合題意。
16.B
17.B
18.D程序定義結(jié)構(gòu)體類型STU,main函數(shù)定義結(jié)構(gòu)體STU變量b,并將b的地址賦給指針變量a。調(diào)用函數(shù)f,傳入a。在函數(shù)f中,定義了STU變量c,并將c的地址賦給d,再用d指向的值賦給a指向的地址,接著輸出a指向的值,也就是c的值:Sun,f,90。由于函數(shù)f的調(diào)用通過指針參數(shù)a修改了變量b的值,因此a指向的值也就是b的值等價于c:Sun,f,90。本題答案為D選項。
19.C題干中,循環(huán)的作用是將輸入的字符串轉(zhuǎn)化為大寫,getchar函數(shù)讀入一個字符,putchar函數(shù)輸出一個字符,當(dāng)遇到‘#’字符結(jié)束?!皃utcha(++C);”,表示將字符變量c加1后輸出。當(dāng)輸入“aBcDefG##”時,得到的結(jié)果是BCDEFGH。故本題答案為C選項。
20.B
21.物理獨立性物理獨立性解析:數(shù)據(jù)的獨立性是指數(shù)據(jù)和應(yīng)用程序相互獨立,分為物理獨立性和邏輯獨立性。其中物理獨立性是指數(shù)據(jù)的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)、存取方式)改變時,不需要修改應(yīng)用程序。而邏輯獨立性是指當(dāng)邏輯結(jié)構(gòu)改變時,不需要修改應(yīng)用程序。
22.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實過程是將相鄰兩個字符進行比較,如果當(dāng)前字符小于下一個字符,則通過中間變量temp將字符兩兩交換,所以第—空應(yīng)填:str[i],第二空應(yīng)填str[i+1]最終打印輸出得到的字符串str,所以第三空應(yīng)填'%s',str。
23.3535解析:函數(shù)swap(int*a,int*b)的功能是實現(xiàn)*a和*b中兩個數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒有發(fā)生變化,所以輸出結(jié)果為35。
24.B
25.101091101091解析:for(表達式1;表達式2;表達式3)語句的功能是:首先計算表達式1的值,然后檢測表達式2的值,若其值為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢后,再計算表達式3的值。然后再檢測表達式2的值是否為真,若為真,繼續(xù)執(zhí)行循環(huán)體語句,若為假,則退出循環(huán);第1次循環(huán)x>8成立,輸出x=10,y=10后,x的值減1,i=1,執(zhí)行y=++i操作,y的值變?yōu)?;判斷條件還成立,輸出x=9,y=1,然后x的值減1,循環(huán)條件不成立,則退出循環(huán)。
26.52
27.9999解析:數(shù)組的下標(biāo)是從0開始存放數(shù)據(jù)的,而不是1,當(dāng)數(shù)組大小為n時,其下標(biāo)從0開始,到n-1,所以本題的答案為99。
28.非線性結(jié)構(gòu)非線性結(jié)構(gòu)
29.09182736450918273645解析:題目中為for循環(huán)定義了兩個字符型循環(huán)變量c1和c2,循環(huán)開始時分別初始化為字符‘0’和‘9’,然后每次循環(huán)結(jié)束給c1增1、c2減l,循環(huán)條件為c1<c2,即讓c1的值依次為‘0’、‘1’、‘2’…,c2的值依次為‘9’、‘8’、‘7’…,直到兩個數(shù)相遇時結(jié)束循環(huán)。又因為該循環(huán)的循環(huán)體每次按字符形式輸出c1和c2的值。所以最終的輸出結(jié)果為:0918273645。
30.str+strlen(str)-1str+strlen(str)-1解析:先從main函數(shù)開始看,它先讀入字符串,接下來肯定是要判斷這個字符串是否是回文,冉看huiwen函數(shù),它的主要思想是用p1指向字符串的首地址,p2指向字符串的尾地址(不包括結(jié)束符‘/0‘),將p1左移,p2右移,直到這兩個指針相遇,如果在移動過程中發(fā)現(xiàn)p1!=p2,則該字符串不是回文,否則其是同文。因此。在空中填str+strlen(str)-1。
31.3232解析:根據(jù)二叉樹的性質(zhì),在二叉樹的第k層上,最多有2的k-1次方個結(jié)點。所以,第6層的結(jié)點數(shù)最多為32。
32.99解析:本題要輸出的結(jié)果是字符串'IBM\\n012\\1\\\\'的長度,'IBM'是3個字符,\'\\n\'是1個字符,'012'又是3個字符,最后的\'\\1\'和\'\\\\\'都是1個字符。所以最終字符串的長度應(yīng)該是3+1+3+1+1=9。故本題應(yīng)該填9。
33.元組元組解析:一個關(guān)系表中的行稱為元組,列稱為屬性。
34.k*kk\r\n*k解析:scanf()函數(shù)有兩個參數(shù),第一個參數(shù)是格式控制部分(格式控制部分是字符串,主要由%號和格式字符組成)第二個參數(shù)是一地址列表(地址列表是由多個地址組成,可以是變量的地址,也可以是字符串的首地址)。而第一個空位于scanf()函數(shù)的第二個參數(shù)處,所以,第一個空應(yīng)該填地址k。printf()函數(shù)有兩個參數(shù),第一個參數(shù)是輸出格式字符串(輸出格式字符串是由控制輸出格式的字符和非格式字符組成,通常是字符常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時原樣輸出)第二個參數(shù)為一輸出表達式表(輸出表達式表是由若干個需要計算和輸出的表達式組成的,表達式之間用逗號分隔開)。而第二個空位于printf()函數(shù)的第二個參數(shù)處,所以應(yīng)該填*k。
35.k-1k,-1解析:顛倒一個字符串中的字符,就是首尾對應(yīng)的元素兩兩交換。簡單地可用兩個游標(biāo)變量i和j,i是前端元素的下標(biāo),j是后端元素的下標(biāo),交換以這兩個變量值為下標(biāo)的元素str[i]和str[j]。開始時,i的值為0,j的值為字符串末元素的下標(biāo)(字符串長度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]位于str[j]的前面,即i<j。字符串末元素的下標(biāo)是它的長度減1,所以在第二個空框處應(yīng)填入-1。程序為了交換str[i]和str[j],使用了變量k,該變量應(yīng)在程序的變量定義部分中一起定義,所以在第一個空框處應(yīng)填入k。
36.str+strlen(str)-1i>strlen(str)/2huiwen(str)str+strlen(str)-1\r\ni>strlen(str)/2\r\nhuiwen(str)解析:首先使指針p1指向字符串的首地址,指針p2指向字符串的尾地址(不包括字符串結(jié)束標(biāo)記'\\0'),然后指針p1從前往后,指針p2從后往前,直到移至字符串的中間元素,若兩者所指的元素不相等,則跳出循環(huán),此時i<=strlen(str)/2,若兩者所指的元素均相等,則此時i>strlen(str)/2。
通過if語句判斷,如果i>strlen(str)/2,則返回“yes!”,否則返回“no!”。
主函數(shù)中要求輸出函數(shù)huiwen(str)的返回值。
37.*2*4*6*8**2*4*6*8*解析:程序中定義了一個字符數(shù)組a,并初始化為123456789,接著定義了一個指針p并讓它指向數(shù)組a,緊接著執(zhí)行了一個while循環(huán),此循環(huán)的作用是:當(dāng)i為偶數(shù)時,將“*”賦給a[i],p指向數(shù)組末尾,循環(huán)結(jié)束,此時數(shù)組中a[0]、a[2]、a[4]、a[6]和a[8]的值都為“*”,所以最后調(diào)用puts()函數(shù)輸出的a的值為*2*4*6*8*
38.220220解析:根據(jù)賦值運算符“自右至左”的結(jié)合順序,程序中賦值表達式x=f*=n/=(c=50)的求解步驟為:首先計算n/=(c=50),即n=n/c=100/50=2;然后計算f*=n,即f=f*n=10*2=20.000000,由此得到x的值為20.000000。
39.5.04c=35.0,4,c=3解析:scanf(掐式控制,地址列表),如果在“格式控制”字符串中除了格式說明以外還有其他字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。所以此題中輸入數(shù)據(jù)的形式是5.04,c=3。
40.printf("a=%db=%d"ab);printf('a=%d,b=%d',a,b);解析:根據(jù)printf函數(shù)的格式可知輸出語句應(yīng)該為:printf('a=%d,b=%d',a,b);
41.A解析:“<<”是C語言中規(guī)定的左移運算符,例如,a=a<<2,是將a的二進制數(shù)左移兩位,左移一位相當(dāng)于該數(shù)乘以2,左移兩位相當(dāng)于該數(shù)乘以2的2次方;“^”是異或運算符,所以,c的二進制值應(yīng)為00011011。
42.D
43.C解析:C語言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求輸入的是字符串,所以可以排除getchar,而且要求輸入的字符串中包含空格,而scanf函數(shù)默認(rèn)將輸入的空格字符作為分割符,所以空格不會被輸入,故可排除scanf。getc的作用是從文件中輸入一個字符,故也不可取。gets函數(shù)可以輸入一整行作為一個字符串,其中也包括空格字符,故應(yīng)該選擇C。
44.D解析:本題主要考查for循環(huán)語句的嵌套。外層主循環(huán)執(zhí)行了3次,嵌套的循環(huán)語句每輪執(zhí)行2次,每次輸出i+j的值,推出嵌套循環(huán)語句后換行。
45.C解析:本題考查字符串的長度。printf的功能是輸出'ATS\\n012\\1\\\\'這個字符串的長度,在字符串中“\\\\”代表一個“\\”,僅為一個字符,而“\\1”代表數(shù)字1,占一個字符,“\\n”是回車換行符,也占一個字符,加上A、T、S、0、1、2,一共是9個字符。
46.D解析:本題主要通過while循環(huán)對滿足條件的元素進行交換。
47.C解析:在關(guān)系模型數(shù)據(jù)庫中,基本結(jié)構(gòu)是二維表,這種二維表稱為關(guān)系。關(guān)系的列稱為屬性,一個具有N個屬性的關(guān)系稱為N元關(guān)系。注意:各種關(guān)系查詢語言與過程性語言和非過程性語言的關(guān)系,過程性語言的特點。
48.C
49.A解析:題中a1和a2兩個結(jié)構(gòu)體變量名所對應(yīng)的成員相同,可以與運算“++’相結(jié)合。結(jié)構(gòu)體變量的輸出格式為:printf('要輸出變量名;%d\\t',結(jié)構(gòu)變量名.要輸出的成員變量名),
50.BB)【解析】軟件側(cè)試的目的:
\n①軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;
\n②一個好的測試用例能夠發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤;
\n⑧一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤。
\n軟件側(cè)試的準(zhǔn)則:
\n①所有測試都應(yīng)追溯到需求;
\n②嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性;
\n③充分注意測試中的群集現(xiàn)象:
\n④程序員應(yīng)避免檢查自己的程序;
\n⑤窮舉測試不可能;
\n⑥妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護提供方便。
51.C解析:#define宏名的有效范圍為定義命令之后到本源文件結(jié)束,可以在程序中使用#undef命令終止宏定義的作用域。本題由于#undef的作用,使a的作用范圍在#definea100到#undefa之間,故答案為C。
52.B\nB)【解析】耦合可以分為下列幾種,它們之間的耦合度由高到低排列:
\n內(nèi)容耦合——若一個模塊直接訪問另一模塊的內(nèi)容,則這兩個模塊稱為內(nèi)容耦合。
\n公共耦合——若一組模塊都訪問同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),則稱為公共耦合。
\n外部耦合——若一組模塊都訪問同一全局?jǐn)?shù)據(jù)項,則稱為外部耦合
\n控制耦合——若一模塊明顯地把開關(guān)量、名字等信息送入另一模塊控制另一模塊的功能,則稱為控制耦合。
\n標(biāo)記耦合——若兩個以上的模塊都需要其余某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu)時,不使用其余全局變量的方式而全使用記錄傳遞的方式,這樣的耦合稱為標(biāo)記耦合。
\n數(shù)據(jù)耦合——若一個模塊訪問另一個模塊,被訪問模塊的輸入和輸出都是數(shù)據(jù)項參數(shù),則這兩個模塊為數(shù)據(jù)耦合。
\n直接耦合——若兩個模塊沒有直接關(guān)系,它們之間的聯(lián)系完全是通過程序的控制和調(diào)用來實現(xiàn)的,則稱這兩個模塊為非直接耦合,這樣的耦合獨立性最強。
\n
53.D解析:C語言程序編譯時,每條可執(zhí)行語句將轉(zhuǎn)換為二進制的機器指令,非執(zhí)行語句如注釋語句等不被編譯。
54.A
55.DD)根據(jù)二叉樹的性質(zhì):二叉樹第i(i≥1)層上至多多有2i-1個結(jié)點。得到第5層的結(jié)點數(shù)最多是16個。
56.B解析:在程序中如果有帶實參的宏,則按#define命令行中指定的字符串從左到右進行置換,如果串中包含宏中的形參,則將程序語句中相應(yīng)的實參代替形參。將實參帶入已經(jīng)定義的宏中,可以得出答案為“12”。
57.D解析:注意的是x++中x值的引用時,這里應(yīng)當(dāng)是先引用,后自加,具體執(zhí)行過程如下:
第一次while循環(huán):條件為真,執(zhí)行a=a+1=1;此時,x的值已為4,判斷y<x不成立,繼續(xù)執(zhí)行循環(huán);
第二次while循環(huán);條件為假,此時x的值已為5,退出while循環(huán),執(zhí)行printf。
58.C解析:首先計算if語句后面的表達式值,先計算運算符&&前面括號里的||運算。在||運算中先計算j++,值為1(j的值為2),為真,后面的k++將不再計算,k的值依舊為2。計算&&后面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工現(xiàn)場施工防突發(fā)公共衛(wèi)生事件威脅制度
- 跨界合作中的對公客戶關(guān)系管理策略探討
- 中外合資經(jīng)營企業(yè)合同(交通基礎(chǔ)設(shè)施項目)
- 二手車行業(yè)合同標(biāo)準(zhǔn)格式
- 一手房購買合同樣本大全
- 個人保證擔(dān)保債務(wù)合同樣本
- 中外合作生產(chǎn)合同(環(huán)保鍋爐)
- 專利權(quán)轉(zhuǎn)讓合同(三)
- 個人土地流轉(zhuǎn)合同范本
- 個體工商戶勞動雇傭合同
- 慢性腎衰竭的護理課件
- 2024-2025學(xué)年河南省鄭州市高二上期期末考試數(shù)學(xué)試卷(含答案)
- 甲流乙流培訓(xùn)課件
- 兒科學(xué)川崎病說課
- 2025《省建設(shè)工程檔案移交合同書(責(zé)任書)》
- 2025年云南農(nóng)墾集團總部春季社會招聘(9人)管理單位筆試遴選500模擬題附帶答案詳解
- 四百字作文格子稿紙(可打印編輯)
- 新概念二冊課文電子版
- 零件的工藝分析及毛坯選擇
- 三筆字講座(完整版)
- 地埋管地源熱泵系統(tǒng)巖土熱響應(yīng)試驗、地埋管外徑及壁厚、巖土體熱物性參數(shù)
評論
0/150
提交評論