




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年福建省泉州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.C語(yǔ)言中標(biāo)準(zhǔn)庫(kù)函數(shù)fputs(str,fp)的功能是()。
A.從str指向的文件中讀一個(gè)字符串存入fp指向的內(nèi)存
B.把str所指的字符串輸出到fp所指的文件中
C.從fp指向的文件中讀一個(gè)字符串存入str指向的內(nèi)存
D.把fp指向的內(nèi)存中的一個(gè)字符串輸出到str指向的文件
2.下面程序的運(yùn)行結(jié)果是()#include<stdio.h>#include<string.h>main(){char*a="AbcdEf",*b="aBcD"a++;b++;printf("%d\n",strcmp(a,b));}
A.0B.負(fù)數(shù)C.正數(shù)D.無(wú)確定值
3.下列寫(xiě)法正確的是()。
A.main(){inti=3,j;j=5}
B.main(){inti=3;
C.main()
D.main(){;}
4.請(qǐng)問(wèn)對(duì)一個(gè)排好序的數(shù)組進(jìn)行查找,時(shí)間復(fù)雜度為()
A.O(n)B.O(lgn)C.O(nlgn)D.O(1)
5.如有inta=11;則表達(dá)式(a++*1/3)的值是()。
A.0B.3C.4D.12
6.判定一個(gè)順序棧st(最多元素為MaxSize)為滿的條件是()。A.st->top!B.st->top!C.top==-1D.top==MaxSize
7.用不帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)隊(duì)列時(shí),其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn),其隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行刪除操作時(shí)()。
A.僅修改隊(duì)頭指針B.僅修改隊(duì)尾指針C.隊(duì)頭、隊(duì)尾指針都要修改D.隊(duì)頭,隊(duì)尾指針都可能要修改
8.若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
9.在一個(gè)長(zhǎng)度為n(n>1)的單鏈表上,設(shè)有頭和尾兩個(gè)指針,執(zhí)行()操作與鏈表的長(zhǎng)度有關(guān)。
A.刪除單鏈表中的第一個(gè)元素
B.刪除單鏈表中的最后一個(gè)元素
C.在單鏈表第一個(gè)元素前插入一個(gè)新元素
D.在單鏈表最后一個(gè)元素后插入一個(gè)新元素
10.有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此處do-while循環(huán)的結(jié)束條件是
A.P的值不等于12345并且n的值小于3
B.P的值等于12345并且n的值大于等于3
C.P的值不等于12345或者n的值小于3
D.P的值等于12345或者n的值大于等于3
11.
12.以下選項(xiàng)中是非轉(zhuǎn)義字符的是()。
A.‘\d’B.‘\t’C.‘\b’D.‘\r’
13.下列程序段的輸出結(jié)果是()。chara=9,b=020;prihtf("%o\n",~a&b<<1);
A.100000B.8C.40D.77
14.若有定義“intx[10],*pt=x;”,則對(duì)x數(shù)組元素的引用正確的是()。
A.pt+3B.*&x[10]C.*(pt+10)D.*(x+3)
15.下面哪種排序的平均比較次數(shù)最少()
A.插入排序B.選擇排序C.堆排序D.快速排序
16.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
B.C程序經(jīng)過(guò)編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件
C.用C語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序,它以ASCII形式存放在一個(gè)文本文件中
D.C語(yǔ)言源程序經(jīng)編譯后生成擴(kuò)展名為.obj的目標(biāo)文件
17.采用鄰接表存儲(chǔ)的圖的深度優(yōu)先遍歷算法類(lèi)似于二叉樹(shù)的()。
A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷
18.以下不屬于C語(yǔ)言整數(shù)的是()。
A.12fB.25uC.-32D.+20L
19.下列選項(xiàng)中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
20.軟件生命周期是指()。
A.軟件的定義和開(kāi)發(fā)階段
B.軟件的需求分析、設(shè)計(jì)與實(shí)現(xiàn)階段
C.軟件的開(kāi)發(fā)階段
D.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程
二、2.填空題(20題)21.若有定義:doubleW[10],則W數(shù)組元素下標(biāo)的上限為【】,下限為【】。
22.設(shè)有下列宏定義:
#defineA2
#defineB(A+3)
則執(zhí)行賦值語(yǔ)句"k=B*20;"(k為int型變量)后,k的值是______。
23.執(zhí)行以下程序后,輸出“#”的個(gè)數(shù)是【】。
#include<stdio.h>
main()
{inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)putchar('#');
}
24.以下程序的輸出結(jié)果是()。main(){char*p[]={"ABC","DEF","GHI","JKL"};inti;for(i=3;i>=0;i--,i--)printf("%c",*p[i]);}
25.本程序用改進(jìn)冒泡法對(duì)數(shù)組a[n]的元素從小到大排序,請(qǐng)?jiān)诔绦蚩瞻滋幪羁铡?/p>
voidbubble(inta[],intn)
{intj,k,jmax,temp;
jmax=【】;
do{
k=0;
for(j=0;j<jmax;j++)
if(a[j]>a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;
jmax=k;
}while(jmax>0);}
26.以下程序段的輸出結(jié)果是【】。
inti=9;
printf("%o\n",i);
27.以下程序調(diào)用函數(shù)swap_p將指針s和t所指單元(a和b)中的內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>
main()
{inta=10,b=20,*s,*t;
s=&a;t=&b;
swap_p(【】);
printf("%d%d,a,b");}
swap_p(int**ss,int**tt)
{intterm;
term=**ss;
**ss=**tt;
**tt=term;}
28.語(yǔ)句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫(xiě)出一條同一功能的賦值語(yǔ)句______。
29.在計(jì)算機(jī)領(lǐng)域中,通常用英文單詞“Byte'’表示【】。
30.下列程序的運(yùn)行結(jié)果是______。
#definePOW(r)(r)*?
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
31.若采用直接插入法對(duì)字母序列(W,S,E,L,X,G,I)進(jìn)行排序,使字母按升序排列,那么第一次排序的結(jié)果為【】。
32.在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為【】。
33.下列程序的功能是將字符串s中所有的字符c刪除。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c')
s[j]='\0';
puts(s);
}
34.下列程序的輸出結(jié)果是______。
longfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printf("%1d\n",x);}
35.下列程序的運(yùn)行結(jié)果為【】。
main()
{inta=5,b=5,y,z;
y=b-->++a?++b:a;
z=++a>b?a:y;
printf("%d,%d,%d,%d",a,b,y,z);
}
36.軟件的【】設(shè)計(jì)又稱(chēng)為總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。
37.在關(guān)系運(yùn)算中,【】運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。
38.在數(shù)據(jù)庫(kù)理論中,數(shù)據(jù)物理結(jié)構(gòu)的改變,如存儲(chǔ)設(shè)備的更換、物理存儲(chǔ)的更換、存取方式改變等都不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,稱(chēng)為_(kāi)_____。
39.請(qǐng)用位運(yùn)算實(shí)現(xiàn)下述目標(biāo)(設(shè)16位二進(jìn)制數(shù)的最低位為零位):
(1)輸出無(wú)符號(hào)正整數(shù)m的第i個(gè)二進(jìn)制位的數(shù)值。
(2)將m的第i個(gè)二進(jìn)制位置1,其余的位不變,然后輸出m。
#include"stdio.h"
【】
main()
{
unsignedk,i,m=0;
scanf("%d%d",&m,&i);
k=【】;
printf("%d\n",k);
k=pow(2,i);
m=【】;
printf("%d\n",m);
}
40.下列程序中的數(shù)組a包括10個(gè)整數(shù)元素,分別將前項(xiàng)和后項(xiàng)之和存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta[10],b[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
______;
for(i=0;i<9;i++)
{if(i%4=0)printf("\n");
printf("%3d",b[i]);
}
}
三、1.選擇題(20題)41.執(zhí)行以下程序段后,m的值為_(kāi)_____。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));
A.15B.14C.13D.12
42.下列關(guān)于線性鏈表的描述中正確的是()。
A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的
B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面
D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
43.下列敘述中正確的是______。
A.程序設(shè)計(jì)就是編制程序
B.程序測(cè)試必須由程序員自己去做
C.程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測(cè)試
D.程序經(jīng)調(diào)度改錯(cuò)后不必進(jìn)行再測(cè)試
44.設(shè)已包含頭文件<string.h>,下列程序段的運(yùn)行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));
A.3B.4C.6D.5
45.若變量a,b已正確定義,且b已正確賦值,則合法的語(yǔ)句是()。
A.b=double(b);B.++b;C.a=a++=5;D.a=double(b);
46.開(kāi)發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱(chēng)做
A.軟件投機(jī)B.軟件危機(jī)C.軟件工程D.軟件產(chǎn)生
47.若有以下定義,則對(duì)a數(shù)組元素地址的正確引用是()。
inta[5],*p=a;A.A.p5B.*a1C.&a1D.&a[0]
48.軟件工程的結(jié)構(gòu)化生命周期方法,通常是將軟件生命周期劃分為計(jì)劃、開(kāi)發(fā)和運(yùn)行3個(gè)時(shí)期,下列選項(xiàng)中的______工作應(yīng)屬于軟件開(kāi)發(fā)期的內(nèi)容。
①需求分析
②可行性研究
③總體設(shè)計(jì)
④問(wèn)題定義
A.①和②B.①和③C.①、②和④D.全部
49.以下選項(xiàng)中可作為C語(yǔ)言合法常量的是()。
A.-80B.-80C.-80.0D.-80.0e
50.以下敘述中正確的是A.A.C程序中的注釋只能出現(xiàn)在程序的開(kāi)始位置和語(yǔ)句的后面
B.C程序書(shū)寫(xiě)格式嚴(yán)格,要求一行內(nèi)只能寫(xiě)一個(gè)語(yǔ)句
C.C程序書(shū)寫(xiě)格式自由,一個(gè)語(yǔ)句可以寫(xiě)在多行上
D.用C語(yǔ)言編寫(xiě)的程序只能放在一個(gè)程序文件中
51.下列敘述中正確的是A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹(shù)是線性結(jié)構(gòu)
52.以下合法的賦值語(yǔ)句是______。
A.X=Y=100B.D-;C.X+Y;D.C=int(A+B)
53.若有代數(shù)式
(其中P僅代表自然對(duì)數(shù)的底數(shù),不是變量),則下列能夠正確表示該代數(shù)式的C語(yǔ)言表達(dá)式是()。
A.sqrt(abs(n^x+e^x))
B.sqrt(fabs(pow(n,x)+pow(x,e)))
C.sqrt(fabs(pow(n,x)+exp(x)))
D.sqrt(fabs(pow(x,n)+exp(x)))
54.有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;……}程序在執(zhí)行了“c=&b;b=&a;”語(yǔ)句后,表達(dá)式“**c”的值是()。
A.變量a的地址B.變量b中的值C.變量a中的值D.變量b的地址
55.若有語(yǔ)句:char*line[5];以下敘述中正確的是()。
A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類(lèi)型為char的指針變量
B.定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組
C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的.號(hào)稱(chēng)為求地址運(yùn)算符
D.定義line是一個(gè)指向字符型函數(shù)的指針
56.以下不是面向?qū)ο笏枷胫械闹饕卣鞯氖?/p>
A.多態(tài)B.繼承C.封裝D.垃圾回收
57.分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("%d,%d",*p1,*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為()。
A.9,66,9B.6,99,6C.6,96,9D.9,69,6
58.有以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);}
程序運(yùn)行后的輸出結(jié)果是
A.4B.3C.2D.1
59.有以下程序:main(){inti=1,j=2,k=3;if(i++==l&&(++j==3||k++==3))printf("%d%d%d\n",i,j,k):}程序運(yùn)行后的輸出結(jié)果是()。
A.123B.234C.223D.233
60.有如下說(shuō)明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
四、選擇題(20題)61.一名教師可講授多門(mén)課程,一門(mén)課程可由多名教師講授。則實(shí)體教師和課程間的聯(lián)系是()。
A.1:l聯(lián)系B.1:m聯(lián)系C.m:l聯(lián)系D.m:n聯(lián)系
62.對(duì)如下二叉樹(shù)進(jìn)行后序遍歷的結(jié)果為()。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
63.
64.在面向?qū)ο蠓椒ㄖ?,不屬于“?duì)象”基本特點(diǎn)的是A.一致性B.分類(lèi)性C.多態(tài)性D.標(biāo)識(shí)唯一性
65.
66.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.7,4.2,B.8,7,5,2,C.9,7,6,4,D.8,5,4,2,
67.有以下程序
68.有以下程序
prt(int*m,intn)
{
inti;
for(i=0;i<n;i++)
m[i]++;
}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是A.A.1,2,3,4,5,
B.3,4,5,6,7,
C.2,3,4,5,6,
D.2,3,4,5,1,
69.
則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。
A.
B.
C.
D.
70.排序的一個(gè)重要目的是為了對(duì)已排序數(shù)據(jù)進(jìn)行
A.合并B.打印輸出C.查找D.分類(lèi)
71.
72.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.02356B.0235C.235D.2356
73.若有以下程序:inta=1,b=2:a=a^b:b=b^a:則執(zhí)行以上語(yǔ)句后a和b的值分別是()。
A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2.b=1
74.
有以下程序:
fun(intx)
{intP;
if(x==0||x==l)return(3);
p=x-fun(x-2);
returnp;
}
main
{printf("%d\n",fun(7));}
程序執(zhí)行后的輸出結(jié)果是()。
A.7B.3C.2D.0
75.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+C—k值的類(lèi)型為:()。
A.intB.doubleC.floatD.char
76.有以下程序:
#include<stdio.h>
main()
{inta,b,k,m,*pl,*p2;
k=1,m=8;
p1=&k,p2=&m;
a=/*pl-m;b=*p1+*p2+6;
printf("%d",a);printf("%d\n",b);
}
編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。
A.a=/*pl-m;
B.b=*p1+*p2+6;
C.k=1,m=8;
D.pl=&k,p2-&m;
77.設(shè)文件指針fp已定義,執(zhí)行語(yǔ)句fp=fopen(”61e”,”W”);后,以下針對(duì)文本文件file操作敘述的選項(xiàng)中正確的是()。
A.只能寫(xiě)不能讀B.寫(xiě)操作結(jié)束后可以從頭開(kāi)始讀C.可以在原有內(nèi)容后追加寫(xiě)D.可以隨意讀和寫(xiě)
78.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B
79.以下能正確定義一維數(shù)組的選項(xiàng)是A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
80.
五、程序改錯(cuò)題(1題)81.下列給定程序的功能是:讀入一個(gè)整數(shù)n(2<;=n<;=5000),打印它的所有為素?cái)?shù)的因子。例如,若輸入整數(shù)1234,則應(yīng)輸出2,617。請(qǐng)修改程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不能增選或刪行,也不能更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和。號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將字符串尾部的。號(hào)全部刪除,前面和中間的*號(hào)不動(dòng)。
參考答案
1.B函數(shù)fputs(str,fp)的功能是把str所指的字符串輸出到fp所指的文件中。故本題答案為B選項(xiàng)。
2.C
3.D解析:本題考查語(yǔ)句的基本構(gòu)成。選項(xiàng)A)中j=5后面少了一個(gè)分號(hào):選項(xiàng)B)中少了“}”;選項(xiàng)C)不是一個(gè)完整的函數(shù)定義格式,一個(gè)完整的函數(shù)定義格式還包括一對(duì)花括號(hào):選項(xiàng)D)正確,是一個(gè)空語(yǔ)句。
4.B
5.B
6.D
7.D
8.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對(duì)象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。
9.B
10.D解析:本題考查的知識(shí)點(diǎn)是do-while循環(huán)結(jié)構(gòu)循環(huán)執(zhí)行條件的判斷.使用do-while語(yǔ)句必須注意以下幾點(diǎn):
先執(zhí)行語(yǔ)句,后判斷表達(dá)式。所以,無(wú)論一開(kāi)始表達(dá)式的值為“真”還是“假”,循環(huán)體中的語(yǔ)句至少執(zhí)行一次,這一點(diǎn)與while不同,
如果do-while語(yǔ)句循環(huán)體部分是由多個(gè)語(yǔ)句組成,則必須用花括號(hào)括起來(lái),使其形成復(fù)合語(yǔ)句。
C語(yǔ)言中的do—while語(yǔ)句是在表達(dá)式“真”時(shí)重復(fù)執(zhí)行循環(huán)體。
在本題中,循環(huán)執(zhí)行判斷條件為while后面括號(hào)里的表達(dá)式即p!=12345&&n<3(意思為p不等于12345且n小于3)是否為“真”,由此可得循環(huán)結(jié)束的條件為:p大于12345或者p小于12345又或者n大于等于3。選項(xiàng)A的意思是:p的值不等于12345并且n的小于3和while后面括號(hào)里的表達(dá)式等價(jià)是循環(huán)執(zhí)行的條件而不是循環(huán)結(jié)束的條件,所以選項(xiàng)A不正確;選項(xiàng)B的意思是:p的值等于12345并且n的值大于3,不是循環(huán)結(jié)束的條件一個(gè)子集,所以選項(xiàng)B不正確;選項(xiàng)C的意思是:p的值不等于12345或者n的值小于3前一半是結(jié)束條件的子集,后一部分不是結(jié)束條件,所以選項(xiàng)C不正確;選項(xiàng)D描述的意思是:p的值等于12345或者你的大于等于3是結(jié)束條件的子集,所以選項(xiàng)D滿足題意。所以4個(gè)選項(xiàng)中D正確。
11.C
12.AC語(yǔ)言中,轉(zhuǎn)義字符又稱(chēng)反斜線字符,這些字符常量總是以一個(gè)反斜線開(kāi)頭后加一個(gè)特定的字符。題干中,‘\\t’表示橫向跳若干格,‘\\b’表示退格符,‘\\r’表示回車(chē)符,選項(xiàng)B、C、D正確,選項(xiàng)A錯(cuò)誤。故本題答案為A選項(xiàng)。
13.C解析:將變量a按位求反,再與b按位與,最后左移1位。9的二進(jìn)制表示為00001001,020的二進(jìn)制表示為00010000。a按位求反為11110110,再與b按位與結(jié)果為00010000,左移1位結(jié)果為00100000。按八進(jìn)制輸出為040。
14.D選項(xiàng)A中,“pt+3”使指針變量Pt移動(dòng)3個(gè)單元,指向第4個(gè)元素,不能正確引用。運(yùn)算符“*”與“&”放在一起,其作用相互抵消,且下標(biāo)10超出了數(shù)組下標(biāo)范圍,所以B選項(xiàng)錯(cuò)誤?!?(pt+i)”表示引用指針pt所指元素后的第i個(gè)元素,引用數(shù)組第11個(gè)元素,C選項(xiàng)錯(cuò)誤。故本題答案為D選項(xiàng)。
15.D
16.AC語(yǔ)言中的非執(zhí)行語(yǔ)句不會(huì)被編譯,不會(huì)被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令,所以A選項(xiàng)錯(cuò)誤。由C語(yǔ)言構(gòu)成的指令序列稱(chēng)為C語(yǔ)言源程序,C語(yǔ)言源程序經(jīng)過(guò)C語(yǔ)言編譯程序編譯之后,生成一個(gè)擴(kuò)展名為.obj的二進(jìn)制文件(稱(chēng)為目標(biāo)文件);最后要由“連接程序”把此目標(biāo)文件與C語(yǔ)言提供的各種庫(kù)函數(shù)連接起來(lái)生成一個(gè)擴(kuò)展名為.exe的可執(zhí)行文件。故本題答案為A選項(xiàng)。
17.A
18.AC語(yǔ)言中整型常量,從表示形式來(lái)看,有十進(jìn)制、八進(jìn)制或十六進(jìn)制;從符號(hào)位來(lái)看,有有符號(hào)整數(shù)和無(wú)符號(hào)整數(shù)兩類(lèi)。選項(xiàng)A的“12f”是float類(lèi)型的實(shí)數(shù),不是整數(shù);選項(xiàng)B的“25u”屬于無(wú)符號(hào)整數(shù);選項(xiàng)C的“-32”是十進(jìn)制形式的有符號(hào)整數(shù);選項(xiàng)D的“+20L”是十進(jìn)制形式的長(zhǎng)整數(shù)。故本題答案為A選項(xiàng)。
19.B水平制表符中,'\t'表示的是橫向跳若干格;選項(xiàng)B中,'\039'錯(cuò)誤,'\039'是八進(jìn)制形式表的字符,最大數(shù)為7,但其中出現(xiàn)'9',','是字符逗號(hào);選項(xiàng)D中,'\n'表示的是換行。
20.D通常把軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用、維護(hù)到停止使用、退役的過(guò)程稱(chēng)為軟件生命周期。選項(xiàng)A、B、C選項(xiàng)均為生命周期的一部分。故選D選項(xiàng)。
21.90
22.100100解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算。運(yùn)算過(guò)程為:k=B*20=(A+3)*20=(2+3)*20=100。
23.66解析:本題考察的是一個(gè)嵌套的循環(huán),當(dāng)滿足j<=i時(shí),輸出一個(gè)“#”號(hào),符合條件的有i=2,j=2;i=3,j=2;i=3,j=3;i=4,j=2;i=4,j=3;i=4,j=4,共輸出6個(gè)“#”。
24.JD
25.n-1jn-1\r\nj解析:此題采用了do…while循環(huán)內(nèi)嵌for循環(huán)的雙層循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)了數(shù)組元素的排序。數(shù)組元素通過(guò)首地址和數(shù)組下標(biāo)的方式來(lái)引用的。
26.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。
27.&s&t&s,&t解析:指針做函數(shù)參數(shù)時(shí),形參和實(shí)參指向同一個(gè)數(shù)據(jù),所以函數(shù)中對(duì)形參所指向的數(shù)據(jù)的改變也能影響到實(shí)參。本題中函數(shù)swap_p的形參為指向指針的指針,即雙重指針,原理跟普通的指針是一樣的。注意:通過(guò)指針來(lái)引用一個(gè)存儲(chǔ)單元。
28.x+=1x+=1解析:本題考查“++”,“--”運(yùn)算符?!?+”、“--”只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來(lái)的值,使用完后再使其增1或減1。
29.字節(jié)字節(jié)
30.解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過(guò)程為:t=POW(x+y)=(2+3)*(2+3)=25。
31.SWELXGI
32.log2n
33.S[j++]=s[i]S[j++]=s[i]解析:循環(huán)開(kāi)始后如果數(shù)組s中儲(chǔ)存值與字符c相同,則i++直接跳過(guò)當(dāng)前值;如果不相同,則將當(dāng)前值賦予數(shù)組指定位置,并通過(guò)j++將下標(biāo)加1,指向下一元素要存儲(chǔ)的位置。
34.考查ifelse語(yǔ)句,n=4不滿足條件,所以fun5(4)=4+fun5(3),n==3也不滿足條件,fun5(3)=3+fun5(2),n==2滿足條件fun5(2)=2,故x=4+3+2=9。\r\n\r\n
35.7467
36.概要概要
37.投影投影解析:在關(guān)系運(yùn)算中,投影運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。
38.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)的物理結(jié)構(gòu)改變,不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,這種性質(zhì)叫做物理獨(dú)立性。
39.#include"math.h"m>>i&1m|k
40.b[i]=a[i]+a[i+1]b[i]=a[i]+a[i+1]解析:將數(shù)組a中元素a[i]與a[j+1]值相加后的值賦予數(shù)組b中元素b[i],即可實(shí)現(xiàn)將一個(gè)數(shù)組的前項(xiàng)和后項(xiàng)之和存入另一數(shù)組。
41.A
42.A解析:線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中的結(jié)點(diǎn)空間是動(dòng)態(tài)生成的,它們?cè)趦?nèi)存中的地址可能是連續(xù)的,也可能是不連續(xù)的。
43.C解析:軟件測(cè)試包括需求分析、結(jié)構(gòu)功能模塊設(shè)計(jì)、編制程序等階段。程序的測(cè)試可以由專(zhuān)門(mén)的測(cè)試人員來(lái)完成。程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測(cè)試。
44.A解析:頭文件<string.h>是字符串處理函數(shù)對(duì)應(yīng)的頭文件,要想調(diào)用C語(yǔ)言的庫(kù)函數(shù)時(shí),都要在程序中嵌入該函數(shù)對(duì)應(yīng)的頭文件,否則無(wú)法使用庫(kù)函數(shù)。
strcpy(s1,s2)把s2中的字符串復(fù)制到s1中,所以結(jié)果就為s2的長(zhǎng)度。
45.B解析:要解答此題只要知道兩個(gè)知識(shí)點(diǎn):①在C語(yǔ)言中規(guī)定進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換的格式是:(double)變量名;②在C語(yǔ)言中不允許給表達(dá)式賦值。
46.B解析:軟件工程概念的出現(xiàn)源自軟件危機(jī)。所謂軟件危機(jī)是泛指在計(jì)算機(jī)軟件的開(kāi)發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題??傊?,可以將軟件危機(jī)歸結(jié)為成本、質(zhì)量、生產(chǎn)率等問(wèn)題。
47.D本題考查如何引用數(shù)組元素的地址。選項(xiàng)A)中,p5引用的是af51的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1]、a[2]、a[3]、a[4],所以引用錯(cuò)誤;選項(xiàng)B)中,*a1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C)中,這種引用方式錯(cuò)誤;選項(xiàng)D)中,&a[0]引用的是數(shù)組的首地址。
48.B
49.A
50.C
51.A根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類(lèi)型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件:1,有且只有一根節(jié)結(jié)點(diǎn),2,每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,則稱(chēng)該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱(chēng)線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹(shù)是非線性結(jié)構(gòu)。
52.B解析:本題中的答案A與D都缺少“;”,而答案C中,表達(dá)式是不能獨(dú)立成為語(yǔ)句的,答案B使用了C語(yǔ)言的自減運(yùn)算符它就相當(dāng)于D=D-1,所以答案B為一賦值語(yǔ)句。
53.C解析:n和e的x冪次方,要分別調(diào)用C語(yǔ)言的數(shù)學(xué)庫(kù)函數(shù)doublepow(n,x)和doubleexp(x),因?yàn)檫@兩個(gè)函數(shù)的返回值都為double型,對(duì)兩者的和計(jì)算絕對(duì)值,調(diào)用庫(kù)函數(shù)doublefabs(pow(n,x)+exp(x)),求出和的絕對(duì)值,再調(diào)用開(kāi)平方函數(shù)doublesqrt(fabs(pow(n,x)+exp(x))),這樣計(jì)算出的結(jié)果就是題干中表達(dá)式的值。
54.C解析:主函數(shù)中定義了一個(gè)整型變量a,一個(gè)整型指針變量b和一個(gè)二級(jí)指針變量c,并讓c指向指針變量b,讓指針b指向整形變量a,所以**c為變量a的值,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
55.A解析:由于運(yùn)算符[]優(yōu)先級(jí)比*高,所以line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類(lèi)型為char的指針變量。
56.D解析:面向?qū)ο笏枷胫械娜齻€(gè)主要特征是:封裝性、繼承性和多態(tài)性。
57.A解析:通過(guò)p1=&a,p2=&b分別將a、b的地址賦給指針p1、p2,接著執(zhí)行if語(yǔ)句,發(fā)現(xiàn)a<b成立,則通過(guò)交換p1、p2的值,即交換a、b所在存儲(chǔ)單元的地址,但是a、b的值并沒(méi)有發(fā)生變化。
58.B解析:在main函數(shù)中,對(duì)f(1)和f(2)的值進(jìn)行了累加。
f(1)=1
f(2)=f(1)+1=2
最后,j的值為1+2=3
59.D解析:本題的考點(diǎn)是關(guān)于C語(yǔ)言的邏輯表達(dá)式的計(jì)算規(guī)則。對(duì)于邏輯表達(dá)式“i++==1&&(++j==3||k++==3)”,首先判斷“i++==1”,由于i初值為1,“i++==1”為真,同時(shí)i加1值為2。由于第一項(xiàng)為真,對(duì)于“&&”運(yùn)算符,結(jié)果取決于后一項(xiàng)“(++j==3||k++==3)”。而邏輯表達(dá)式“(++j==3||k++==3)”計(jì)算時(shí),首先判斷“++j==3”,由于j初值為2,++j后j值為3,“++j==3”為真,對(duì)于“||”運(yùn)算符不需要判斷后一項(xiàng)表達(dá)式的結(jié)果就可以斷定此邏輯表達(dá)式結(jié)果為真,因此“k++==3”并沒(méi)有進(jìn)行判斷,k++也未執(zhí)行,k仍是初值3,輸出結(jié)果應(yīng)該是233。正確選項(xiàng)是D。
60.B解析:在C語(yǔ)言的數(shù)組元素的引用方法,我們?cè)谇懊嬉呀?jīng)講過(guò)了,比如數(shù)組元素a[0],可以用表達(dá)式*(p+0),即*p來(lái)引用,對(duì)于數(shù)組元素a[1],可以用表達(dá)式*(p+1)來(lái)引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對(duì)此地址使用“間接訪問(wèn)運(yùn)算符”:*(p+1)就代表存儲(chǔ)單元a[1],注意:一對(duì)圓括號(hào)不可少。同樣,對(duì)于數(shù)組元素a[2],則可以用表達(dá)式。(p+2)來(lái)引用…,對(duì)于數(shù)組元素a[9],可以用表達(dá)式,(p+9)來(lái)引用。因此,當(dāng)指針變量p指向a數(shù)組的起始地址時(shí),若0≤i<10,則數(shù)組元素a[i]可以用*(p+i)來(lái)表示。
61.D因?yàn)橐幻處熆芍v授多門(mén)課程,而一門(mén)課程又能由多名教師講授,所以教師和課程之間是多對(duì)多的關(guān)系,可以表示為m:n,選擇D)。
62.D解析:后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹(shù)與遍歷右子樹(shù)這三者中,道先遍歷左子樹(shù),然后遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn):并且遍歷左、右子樹(shù)時(shí),仍然先遍歷左子樹(shù),然后遍歷右子樹(shù),最后訪問(wèn)根結(jié)點(diǎn)。
63.B
64.A對(duì)象具有如下特性:標(biāo)識(shí)唯一性、分類(lèi)性、多態(tài)性、封裝性、模塊獨(dú)立性。
65.C
66.DCou血ue的作用是跳出循環(huán)體中剩余的語(yǔ)句而進(jìn)行下一次循環(huán)。第一次循環(huán)x的值為8,循環(huán)體中if條件成立,打印x的值8后將x減1,再執(zhí)行continue語(yǔ)句,跳出本次循環(huán)。第二次判斷循環(huán)條件時(shí),x的值變?yōu)?,不滿足循環(huán)體內(nèi)if條件,執(zhí)行打印一一x的操作,即打印5后跳出循環(huán)。第三次判斷循環(huán)條件時(shí)x的值為4,滿足循環(huán)體中if條件,執(zhí)行打印x一一的操作,即打印4,后將x值減一,執(zhí)行continue語(yǔ)句,跳出本次循環(huán)。第四次判斷循環(huán)條件時(shí)x的為2,滿足循環(huán)體中if條件,打印x一一,即打印2后將x減一,執(zhí)行continue語(yǔ)句,跳出本次循環(huán)。在進(jìn)行for條件表達(dá)式中第三個(gè)表達(dá)式x一一的操作后x的值為0,不滿足條件結(jié)束循環(huán)。所以打印結(jié)果為8,5,4,2,。
67.A外層循環(huán)i,值分別為l23,內(nèi)層循環(huán)j分別為l23、23和3,所以答案為A)。
68.C用數(shù)組名作為函數(shù)實(shí)參時(shí),不是把數(shù)組的值傳遞給形參,而是把實(shí)參數(shù)組的起始地址傳遞給形參數(shù)組,這樣兩個(gè)數(shù)組就共同占用同一段內(nèi)存單元。本題通過(guò)“prt(a,5);”將數(shù)組a的首地址傳遞給了指針變量m,使指針變量m指向數(shù)組a的首地址,那么,對(duì)指針變量所指向的存儲(chǔ)單元的內(nèi)容的改變就是對(duì)數(shù)組a中的元素的改變。題中函數(shù)prt的作用是將指針變量m所指向的存儲(chǔ)單元中的元素值各加上1,故數(shù)組a中的值也隨之變化,所以。輸出的數(shù)組元素的值為2,3,4,5,6,。
69.C選項(xiàng)c)中int(f)不正確,因?yàn)閺?qiáng)制類(lèi)型轉(zhuǎn)換表示為:(類(lèi)型名)(表達(dá)式),正確表示為(int)f.
70.C排序是計(jì)算機(jī)程序中一種重要的操作,它的功能是將任意一個(gè)數(shù)據(jù)元素序列排成有序的數(shù)據(jù)元素序列;而查找是要在數(shù)據(jù)元素序列中找到一個(gè)與之相符的結(jié)果。不難看出,如果數(shù)據(jù)元素序列有序,則查找起來(lái)就方便很多。因此,排序的一個(gè)重要目的是為了對(duì)已排序數(shù)據(jù)進(jìn)行查找。
71.D
72.Ck的值為5,逐個(gè)對(duì)caBe語(yǔ)句進(jìn)行匹配,均不匹配,執(zhí)行default下的語(yǔ)句n=0;k一一。再執(zhí)行case2:ca804:后面的語(yǔ)句n+=2;k一一;。執(zhí)行break語(yǔ)句跳出switch判斷,打印n的值,即2。經(jīng)過(guò)第一次循環(huán)后,k的值為3,然后進(jìn)行k>0&&ll<5條件判斷為真。第二次執(zhí)行循環(huán)體,執(zhí)行case3:后面的語(yǔ)句n+=1;k一一;。再執(zhí)行break語(yǔ)句跳出循環(huán),此時(shí)打印n的值3,此時(shí)k的值為2。第三次執(zhí)行循環(huán)體k的值為2,滿足條件,執(zhí)行case2:case4:后面的語(yǔ)句n+=2;k一一;。執(zhí)行break語(yǔ)句跳出循環(huán)體。打印n的值5。此時(shí)n不滿足條件k>0&&n<5,所以結(jié)束循環(huán)。整個(gè)程序的打印結(jié)果為235。
73.B本題考查按位異或的用法。按位異或運(yùn)算的規(guī)則是:兩個(gè)運(yùn)算數(shù)的相應(yīng)二進(jìn)制位相同,則結(jié)果為0,相異則結(jié)果為1。b=2的二進(jìn)制為00000010,a=1的二進(jìn)制為00000001,a=a^b=00000011,轉(zhuǎn)化為十進(jìn)制后為3,b=b^a=00000010-00000011=00000001,即1。
74.C
\n在函數(shù)funlintx)中,有個(gè)if語(yǔ)句判斷,如果參數(shù)x等于0或1時(shí),返回值,否則進(jìn)入下面的p=x-fun(x-2)遞歸函數(shù)。當(dāng)在主函勢(shì)中調(diào)用fun(7)時(shí),其過(guò)程為:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的輸出結(jié)果為2。
\n
75.B雙目運(yùn)算中兩邊運(yùn)算量類(lèi)型轉(zhuǎn)換規(guī)律:
運(yùn)算數(shù)1\t\t\t\r\n\t\t\t\t\t運(yùn)算數(shù)2\t\t\t\t\r\n\t\t\t\t\t轉(zhuǎn)換結(jié)果類(lèi)型\t\t\t\t\r\n\t\t\t\t\t短整型\t\t\t\t\r\n\t\t\t\t\t長(zhǎng)整型\t\t\t\t\r\n\t\t\t\t\t短整型一>長(zhǎng)整型\t\t\t\t\r\n\t\t\t\t\t整型\t\t\t\t\r\n\t\t\t\t\t長(zhǎng)整型\t\t\t\t\r\n\t\t\t\t\t整型一>長(zhǎng)整型\t\t\t\t\r\n\t\t\t\t\t字符型\t\t\t\t\r\n\t\t\t\t\t整型\t\t\t\t\r\n\t\t\t\t\t字符型一>整型\t\t\t\t\r\n\t\t\t\t\t有符號(hào)整型\t\t\t\t\r\n\t\t\t\t\t無(wú)符號(hào)整型\t\t\t\t\r\n\t\t\t\t\t有符號(hào)整型一>無(wú)符號(hào)整型\t\t\t\t\r\n\t\t\t\t\t整型\t\t\t\t\r\n\t\t\t\t\t浮點(diǎn)型\t\t\t\t\r\n\t\t\t\t\t整型一>浮點(diǎn)型\t\t\t\t\r\n\t在a/b的時(shí)候,a,b的類(lèi)型不一致,根據(jù)類(lèi)型轉(zhuǎn)換規(guī)則,把整型轉(zhuǎn)換成double類(lèi)型,之后的加、減類(lèi)似。轉(zhuǎn)化規(guī)則為char,short一>int->unsigned->long->double←float。
76.A\n本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類(lèi)推,在對(duì)指針進(jìn)行賦值時(shí)沒(méi)有錯(cuò)誤。a=/*p+m賦值,在c語(yǔ)言中'/*'表示的注釋?zhuān)源鸢高x擇A。
\n
77.A考查文件操作函數(shù)fopen的基礎(chǔ)知識(shí),以”W”方式打開(kāi)文件,只能寫(xiě)不能讀。選項(xiàng)A正確。
78.A本題重點(diǎn)考察函數(shù)的調(diào)用,首先要了解字母對(duì)應(yīng)的ASCIl碼。例如A為65,a為97。即字母+1劂可得到下一個(gè)字母。-其次是函數(shù)形參和實(shí)參的問(wèn)題,運(yùn)行過(guò)程如下:在fun(&b,a)中,}c=.a(chǎn)-,d=65。}c+l=V,d+1=66,prinff(”%c,%c,”,}C,d);輸出b,B,因?yàn)橹羔榗指向地址的值為b,此時(shí)b=}C=.b.;豳數(shù)返回執(zhí)行ptud(。%C,%c、n”,b,8);輸出b,A,因此A選項(xiàng)正確。
79.B解析:選項(xiàng)A定義數(shù)組時(shí)省略了長(zhǎng)度,而C語(yǔ)言中規(guī)定,只有在定義并同時(shí)進(jìn)行初始化時(shí),數(shù)組的長(zhǎng)度才可以省略,數(shù)組的長(zhǎng)度為初始化時(shí)候的成員個(gè)數(shù),故選項(xiàng)A錯(cuò)誤;在C語(yǔ)言中規(guī)定,數(shù)組的長(zhǎng)度必須是一個(gè)整數(shù)或整型常量表達(dá)式,故選項(xiàng)C不正確:定義時(shí)數(shù)組的長(zhǎng)度不能使用變量表示,故選項(xiàng)D不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
80.D
81.(1)錯(cuò)誤:Prime(intm);
正確:Prime(intm)
(2)錯(cuò)誤:if!(m%j)
正確:if(!(m%j))
【解析】(1)第一個(gè)標(biāo)識(shí)下面的“Prime(intm);”在程序中顯然是一個(gè)函數(shù),因此應(yīng)將后面的分號(hào)去掉。
(2)第二個(gè)標(biāo)識(shí)下面的for語(yǔ)句最簡(jiǎn)單的應(yīng)用形式為:for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)語(yǔ)句。顯然if語(yǔ)句后面缺少括號(hào),因此,“if!(m%j)”改為“if(!(m%j))”。
本題主要考查標(biāo)點(diǎn)符號(hào)、運(yùn)算符、基本定義。
82.
voidfun(char*a){
while(*a!=’、0。)
a++:
a一一;/*指針a指向字符串的尾部*/while(}a==’*。)
a一一;/·指針a指向最后一個(gè)字母*/
*(a+1)=’、0’;/*在字符串最后加上結(jié)束標(biāo)志符·/
【考點(diǎn)分析】
本題考查:刪除字符串尾部*號(hào);刪除的主要思想是把不刪除的字符保留起來(lái)。
【解題思路】
對(duì)于一個(gè)字符串要?jiǎng)h除其尾部的*號(hào),只需要在最后一個(gè)不是*號(hào)的字符后面加上結(jié)束符號(hào)‘、0’。具體操作為:首先找到字符串的結(jié)尾,然后從最后一個(gè)字符開(kāi)始往前逐個(gè)判斷是否為*號(hào),直到找到非·號(hào)字符為止。最后在該字符后面加上結(jié)束符號(hào)’\0。2021年福建省泉州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.C語(yǔ)言中標(biāo)準(zhǔn)庫(kù)函數(shù)fputs(str,fp)的功能是()。
A.從str指向的文件中讀一個(gè)字符串存入fp指向的內(nèi)存
B.把str所指的字符串輸出到fp所指的文件中
C.從fp指向的文件中讀一個(gè)字符串存入str指向的內(nèi)存
D.把fp指向的內(nèi)存中的一個(gè)字符串輸出到str指向的文件
2.下面程序的運(yùn)行結(jié)果是()#include<stdio.h>#include<string.h>main(){char*a="AbcdEf",*b="aBcD"a++;b++;printf("%d\n",strcmp(a,b));}
A.0B.負(fù)數(shù)C.正數(shù)D.無(wú)確定值
3.下列寫(xiě)法正確的是()。
A.main(){inti=3,j;j=5}
B.main(){inti=3;
C.main()
D.main(){;}
4.請(qǐng)問(wèn)對(duì)一個(gè)排好序的數(shù)組進(jìn)行查找,時(shí)間復(fù)雜度為()
A.O(n)B.O(lgn)C.O(nlgn)D.O(1)
5.如有inta=11;則表達(dá)式(a++*1/3)的值是()。
A.0B.3C.4D.12
6.判定一個(gè)順序棧st(最多元素為MaxSize)為滿的條件是()。A.st->top!B.st->top!C.top==-1D.top==MaxSize
7.用不帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)隊(duì)列時(shí),其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn),其隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行刪除操作時(shí)()。
A.僅修改隊(duì)頭指針B.僅修改隊(duì)尾指針C.隊(duì)頭、隊(duì)尾指針都要修改D.隊(duì)頭,隊(duì)尾指針都可能要修改
8.若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
9.在一個(gè)長(zhǎng)度為n(n>1)的單鏈表上,設(shè)有頭和尾兩個(gè)指針,執(zhí)行()操作與鏈表的長(zhǎng)度有關(guān)。
A.刪除單鏈表中的第一個(gè)元素
B.刪除單鏈表中的最后一個(gè)元素
C.在單鏈表第一個(gè)元素前插入一個(gè)新元素
D.在單鏈表最后一個(gè)元素后插入一個(gè)新元素
10.有以下程序段intn=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此處do-while循環(huán)的結(jié)束條件是
A.P的值不等于12345并且n的值小于3
B.P的值等于12345并且n的值大于等于3
C.P的值不等于12345或者n的值小于3
D.P的值等于12345或者n的值大于等于3
11.
12.以下選項(xiàng)中是非轉(zhuǎn)義字符的是()。
A.‘\d’B.‘\t’C.‘\b’D.‘\r’
13.下列程序段的輸出結(jié)果是()。chara=9,b=020;prihtf("%o\n",~a&b<<1);
A.100000B.8C.40D.77
14.若有定義“intx[10],*pt=x;”,則對(duì)x數(shù)組元素的引用正確的是()。
A.pt+3B.*&x[10]C.*(pt+10)D.*(x+3)
15.下面哪種排序的平均比較次數(shù)最少()
A.插入排序B.選擇排序C.堆排序D.快速排序
16.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)言中的每條可執(zhí)行語(yǔ)句和非執(zhí)行語(yǔ)句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令
B.C程序經(jīng)過(guò)編譯、連接步驟之后才能形成一個(gè)真正可執(zhí)行的二進(jìn)制機(jī)器指令文件
C.用C語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序,它以ASCII形式存放在一個(gè)文本文件中
D.C語(yǔ)言源程序經(jīng)編譯后生成擴(kuò)展名為.obj的目標(biāo)文件
17.采用鄰接表存儲(chǔ)的圖的深度優(yōu)先遍歷算法類(lèi)似于二叉樹(shù)的()。
A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷
18.以下不屬于C語(yǔ)言整數(shù)的是()。
A.12fB.25uC.-32D.+20L
19.下列選項(xiàng)中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
20.軟件生命周期是指()。
A.軟件的定義和開(kāi)發(fā)階段
B.軟件的需求分析、設(shè)計(jì)與實(shí)現(xiàn)階段
C.軟件的開(kāi)發(fā)階段
D.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程
二、2.填空題(20題)21.若有定義:doubleW[10],則W數(shù)組元素下標(biāo)的上限為【】,下限為【】。
22.設(shè)有下列宏定義:
#defineA2
#defineB(A+3)
則執(zhí)行賦值語(yǔ)句"k=B*20;"(k為int型變量)后,k的值是______。
23.執(zhí)行以下程序后,輸出“#”的個(gè)數(shù)是【】。
#include<stdio.h>
main()
{inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)putchar('#');
}
24.以下程序的輸出結(jié)果是()。main(){char*p[]={"ABC","DEF","GHI","JKL"};inti;for(i=3;i>=0;i--,i--)printf("%c",*p[i]);}
25.本程序用改進(jìn)冒泡法對(duì)數(shù)組a[n]的元素從小到大排序,請(qǐng)?jiān)诔绦蚩瞻滋幪羁铡?/p>
voidbubble(inta[],intn)
{intj,k,jmax,temp;
jmax=【】;
do{
k=0;
for(j=0;j<jmax;j++)
if(a[j]>a[j+1])
{temp=a[j];a[j]=a[j+1];a[j+1]=temp;k=【】;
jmax=k;
}while(jmax>0);}
26.以下程序段的輸出結(jié)果是【】。
inti=9;
printf("%o\n",i);
27.以下程序調(diào)用函數(shù)swap_p將指針s和t所指單元(a和b)中的內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>
main()
{inta=10,b=20,*s,*t;
s=&a;t=&b;
swap_p(【】);
printf("%d%d,a,b");}
swap_p(int**ss,int**tt)
{intterm;
term=**ss;
**ss=**tt;
**tt=term;}
28.語(yǔ)句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫(xiě)出一條同一功能的賦值語(yǔ)句______。
29.在計(jì)算機(jī)領(lǐng)域中,通常用英文單詞“Byte'’表示【】。
30.下列程序的運(yùn)行結(jié)果是______。
#definePOW(r)(r)*?
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
31.若采用直接插入法對(duì)字母序列(W,S,E,L,X,G,I)進(jìn)行排序,使字母按升序排列,那么第一次排序的結(jié)果為【】。
32.在長(zhǎng)度為n的有序線性表中進(jìn)行二分查找。最壞的情況下,需要的比較次數(shù)為【】。
33.下列程序的功能是將字符串s中所有的字符c刪除。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c')
s[j]='\0';
puts(s);
}
34.下列程序的輸出結(jié)果是______。
longfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printf("%1d\n",x);}
35.下列程序的運(yùn)行結(jié)果為【】。
main()
{inta=5,b=5,y,z;
y=b-->++a?++b:a;
z=++a>b?a:y;
printf("%d,%d,%d,%d",a,b,y,z);
}
36.軟件的【】設(shè)計(jì)又稱(chēng)為總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。
37.在關(guān)系運(yùn)算中,【】運(yùn)算是在給定關(guān)系的某些域上進(jìn)行的運(yùn)算。
38.在數(shù)據(jù)庫(kù)理論中,數(shù)據(jù)物理結(jié)構(gòu)的改變,如存儲(chǔ)設(shè)備的更換、物理存儲(chǔ)的更換、存取方式改變等都不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,稱(chēng)為_(kāi)_____。
39.請(qǐng)用位運(yùn)算實(shí)現(xiàn)下述目標(biāo)(設(shè)16位二進(jìn)制數(shù)的最低位為零位):
(1)輸出無(wú)符號(hào)正整數(shù)m的第i個(gè)二進(jìn)制位的數(shù)值。
(2)將m的第i個(gè)二進(jìn)制位置1,其余的位不變,然后輸出m。
#include"stdio.h"
【】
main()
{
unsignedk,i,m=0;
scanf("%d%d",&m,&i);
k=【】;
printf("%d\n",k);
k=pow(2,i);
m=【】;
printf("%d\n",m);
}
40.下列程序中的數(shù)組a包括10個(gè)整數(shù)元素,分別將前項(xiàng)和后項(xiàng)之和存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta[10],b[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
______;
for(i=0;i<9;i++)
{if(i%4=0)printf("\n");
printf("%3d",b[i]);
}
}
三、1.選擇題(20題)41.執(zhí)行以下程序段后,m的值為_(kāi)_____。inta[2][3]={{1,2,3},{4,5,6}};intm,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));
A.15B.14C.13D.12
42.下列關(guān)于線性鏈表的描述中正確的是()。
A.存儲(chǔ)空間不一定連續(xù),且各元素的存儲(chǔ)順序是任意的
B.存儲(chǔ)空間不一定連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C.存儲(chǔ)空間必須連續(xù),且各前件元素一定存儲(chǔ)在后件元素的前面
D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
43.下列敘述中正確的是______。
A.程序設(shè)計(jì)就是編制程序
B.程序測(cè)試必須由程序員自己去做
C.程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測(cè)試
D.程序經(jīng)調(diào)度改錯(cuò)后不必進(jìn)行再測(cè)試
44.設(shè)已包含頭文件<string.h>,下列程序段的運(yùn)行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));
A.3B.4C.6D.5
45.若變量a,b已正確定義,且b已正確賦值,則合法的語(yǔ)句是()。
A.b=double(b);B.++b;C.a=a++=5;D.a=double(b);
46.開(kāi)發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱(chēng)做
A.軟件投機(jī)B.軟件危機(jī)C.軟件工程D.軟件產(chǎn)生
47.若有以下定義,則對(duì)a數(shù)組元素地址的正確引用是()。
inta[5],*p=a;A.A.p5B.*a1C.&a1D.&a[0]
48.軟件工程的結(jié)構(gòu)化生命周期方法,通常是將軟件生命周期劃分為計(jì)劃、開(kāi)發(fā)和運(yùn)行3個(gè)時(shí)期,下列選項(xiàng)中的______工作應(yīng)屬于軟件開(kāi)發(fā)期的內(nèi)容。
①需求分析
②可行性研究
③總體設(shè)計(jì)
④問(wèn)題定義
A.①和②B.①和③C.①、②和④D.全部
49.以下選項(xiàng)中可作為C語(yǔ)言合法常量的是()。
A.-80B.-80C.-80.0D.-80.0e
50.以下敘述中正確的是A.A.C程序中的注釋只能出現(xiàn)在程序的開(kāi)始位置和語(yǔ)句的后面
B.C程序書(shū)寫(xiě)格式嚴(yán)格,要求一行內(nèi)只能寫(xiě)一個(gè)語(yǔ)句
C.C程序書(shū)寫(xiě)格式自由,一個(gè)語(yǔ)句可以寫(xiě)在多行上
D.用C語(yǔ)言編寫(xiě)的程序只能放在一個(gè)程序文件中
51.下列敘述中正確的是A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹(shù)是線性結(jié)構(gòu)
52.以下合法的賦值語(yǔ)句是______。
A.X=Y=100B.D-;C.X+Y;D.C=int(A+B)
53.若有代數(shù)式
(其中P僅代表自然對(duì)數(shù)的底數(shù),不是變量),則下列能夠正確表示該代數(shù)式的C語(yǔ)言表達(dá)式是()。
A.sqrt(abs(n^x+e^x))
B.sqrt(fabs(pow(n,x)+pow(x,e)))
C.sqrt(fabs(pow(n,x)+exp(x)))
D.sqrt(fabs(pow(x,n)+exp(x)))
54.有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;……}程序在執(zhí)行了“c=&b;b=&a;”語(yǔ)句后,表達(dá)式“**c”的值是()。
A.變量a的地址B.變量b中的值C.變量a中的值D.變量b的地址
55.若有語(yǔ)句:char*line[5];以下敘述中正確的是()。
A.定義line是一個(gè)數(shù)組,每個(gè)數(shù)組元素是一個(gè)基類(lèi)型為char的指針變量
B.定義line是一個(gè)指針變量,該變量可以指向一個(gè)長(zhǎng)度為5的字符型數(shù)組
C.定義line是一個(gè)指針數(shù)組,語(yǔ)句中的.號(hào)稱(chēng)為求地址運(yùn)算符
D.定義line是一個(gè)指向字符型函數(shù)的指針
56.以下不是面向?qū)ο笏枷胫械闹饕卣鞯氖?/p>
A.多態(tài)B.繼承C.封裝D.垃圾回收
57.分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("%d,%d",*p1,*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為()。
A.9,66,9B.6,99,6C.6,96,9D.9,69,6
58.有以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);}
程序運(yùn)行后的輸出結(jié)果是
A.4B.3C.2D.1
59.有以下程序:main(){inti=1,j=2,k=3;if(i++==l&&(++j==3||k++==3))printf("%d%d%d\n",i,j,k):}程序運(yùn)行后的輸出結(jié)果是()。
A.123B.234C.223D.233
60.有如下說(shuō)明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
四、選擇題(20題)61.一名教師可講授多門(mén)課程,一門(mén)課程可由多名教師講授。則實(shí)體教師和課程間的聯(lián)系是()。
A.1:l聯(lián)系B.1:m聯(lián)系C.m:l聯(lián)系D.m:n聯(lián)系
62.對(duì)如下二叉樹(shù)進(jìn)行后序遍歷的結(jié)果為()。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
63.
64.在面向?qū)ο蠓椒ㄖ?,不屬于“?duì)象”基本特點(diǎn)的是A.一致性B.分類(lèi)性C.多態(tài)性D.標(biāo)識(shí)唯一性
65.
66.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.7,4.2,B.8,7,5,2,C.9,7,6,4,D.8,5,4,2,
67.有以下程序
68.有以下程序
prt(int*m,intn)
{
inti;
for(i=0;i<n;i++)
m[i]++;
}
main()
{
inta[]={1,2,3,4,5},i;
prt(a,5);
for(i=0;i<5;i++)
printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是A.A.1,2,3,4,5,
B.3,4,5,6,7,
C.2,3,4,5,6,
D.2,3,4,5,1,
69.
則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。
A.
B.
C.
D.
70.排序的一個(gè)重要目的是為了對(duì)已排序數(shù)據(jù)進(jìn)行
A.合并B.打印輸出C.查找D.分類(lèi)
71.
72.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.02356B.0235C.235D.2356
73.若有以下程序:inta=1,b=2:a=a^b:b=b^a:則執(zhí)行以上語(yǔ)句后a和b的值分別是()。
A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2.b=1
74.
有以下程序:
fun(intx)
{intP;
if(x==0||x==l)return(3);
p=x-fun(x-2);
returnp;
}
main
{printf("%d\n",fun(7));}
程序執(zhí)行后的輸出結(jié)果是()。
A.7B.3C.2D.0
75.現(xiàn)有定義inta;doubleb;floatc;chark;,則表達(dá)式a/b+C—k值的類(lèi)型為:()。
A.intB.doubleC.floatD.char
76.有以下程序:
#include<stdio.h>
main()
{inta,b,k,m,*pl,*p2;
k=1,m=8;
p1=&k,p2=&m;
a=/*pl-m;b=*p1+*p2+6;
printf("%d",a);printf("%d\n",b);
}
編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語(yǔ)句是()。
A.a=/*pl-m;
B.b=*p1+*p2+6;
C.k=1,m=8;
D.pl=&k,p2-&m;
77.設(shè)文件指針fp已定義,執(zhí)行語(yǔ)句fp=fopen(”61e”,”W”);后,以下針對(duì)文本文件file操作敘述的選項(xiàng)中正確的是()。
A.只能寫(xiě)不能讀B.寫(xiě)操作結(jié)束后可以從頭開(kāi)始讀C.可以在原有內(nèi)容后追加寫(xiě)D.可以隨意讀和寫(xiě)
78.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B
79.以下能正確定義一維數(shù)組的選項(xiàng)是A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
80.
五、程序改錯(cuò)題(1題)81.下列給定程序的功能是:讀入一個(gè)整數(shù)n(2<;=n<;=5000),打印它的所有為素?cái)?shù)的因子。例如,若輸入整數(shù)1234,則應(yīng)輸出2,617。請(qǐng)修改程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不能增選或刪行,也不能更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和。號(hào)。請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將字符串尾部的。號(hào)全部刪除,前面和中間的*號(hào)不動(dòng)。
參考答案
1.B函數(shù)fputs(str,fp)的功能是把str所指的字符串輸出到fp所指的文件中。故本題答案為B選項(xiàng)。
2.C
3.D解析:本題考查語(yǔ)句的基本構(gòu)成。選項(xiàng)A)中j=5后面少了一個(gè)分號(hào):選項(xiàng)B)中少了“}”;選項(xiàng)C)不是一個(gè)完整的函數(shù)定義格式,一個(gè)完整的函數(shù)定義格式還包括一對(duì)花括號(hào):選項(xiàng)D)正確,是一個(gè)空語(yǔ)句。
4.B
5.B
6.D
7.D
8.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對(duì)象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。
9.B
10.D解析:本題考查的知識(shí)點(diǎn)是do-while循環(huán)結(jié)構(gòu)循環(huán)執(zhí)行條件的判斷.使用do-while語(yǔ)句必須注意以下幾點(diǎn):
先執(zhí)行語(yǔ)句,后判斷表達(dá)式。所以,無(wú)論一開(kāi)始表達(dá)式的值為“真”還是“假”,循環(huán)體中的語(yǔ)句至少執(zhí)行一次,這一點(diǎn)與while不同,
如果do-while語(yǔ)句循環(huán)體部分是由多個(gè)語(yǔ)句組成,則必須用花括號(hào)括起來(lái),使其形成復(fù)合語(yǔ)句。
C語(yǔ)言中的do—while語(yǔ)句是在表達(dá)式“真”時(shí)重復(fù)執(zhí)行循環(huán)體。
在本題中,循環(huán)執(zhí)行判斷條件為while后面括號(hào)里的表達(dá)式即p!=12345&&n<3(意思為p不等于12345且n小于3)是否為“真”,由此可得循環(huán)結(jié)束的條件為:p大于12345或者p小于12345又或者n大于等于3。選項(xiàng)A的意思是:p的值不等于12345并且n的小于3和while后面括號(hào)里的表達(dá)式等價(jià)是循環(huán)執(zhí)行的條件而不是循環(huán)結(jié)束的條件,所以選項(xiàng)A不正確;選項(xiàng)B的意思是:p的值等于12345并且n的值大于3,不是循環(huán)結(jié)束的條件一個(gè)子集,所以選項(xiàng)B不正確;選項(xiàng)C的意思是:p的值不等于12345或者n的值小于3前一半是結(jié)束條件的子集,后一部分不是結(jié)束條件,所以選項(xiàng)C不正確;選項(xiàng)D描述的意思是:p的值等于12345或者你的大于等于3是結(jié)束條件的子集,所以選項(xiàng)D滿足題意。所以4個(gè)選項(xiàng)中D正確。
11.C
12.AC語(yǔ)言中,轉(zhuǎn)義字符又稱(chēng)反斜線字符,這些字符常量總是以一個(gè)反斜線開(kāi)頭后加一個(gè)特定的字符。題干中,‘\\t’表示橫向跳若干格,‘\\b’表示退格符,‘\\r’表示回車(chē)符,選項(xiàng)B、C、D正確,選項(xiàng)A錯(cuò)誤。故本題答案為A選項(xiàng)。
13.C解析:將變量a按位求反,再與b按位與,最后左移1位。9的二進(jìn)制表示為00001001,020的二進(jìn)制表示為00010000。a按位求反為11110110,再與b按位與結(jié)果為00010000,左移1位結(jié)果為00100000。按八進(jìn)制輸出為040。
14.D選項(xiàng)A中,“pt+3”使指針變量Pt移動(dòng)3個(gè)單元,指向第4個(gè)元素,不能正確引用。運(yùn)算符“*”與“&”放在一起,其作用相互抵消,且下標(biāo)10超出了數(shù)組下標(biāo)范圍,所以B選項(xiàng)錯(cuò)誤?!?(pt+i)”表示引用指針pt所指元素后的第i個(gè)元素,引用數(shù)組第11個(gè)元素,C選項(xiàng)錯(cuò)誤。故本題答案為D選項(xiàng)。
15.D
16.AC語(yǔ)言中的非執(zhí)行語(yǔ)句不會(huì)被編譯,不會(huì)被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令,所以A選項(xiàng)錯(cuò)誤。由C語(yǔ)言構(gòu)成的指令序列稱(chēng)為C語(yǔ)言源程序,C語(yǔ)言源程序經(jīng)過(guò)C語(yǔ)言編譯程序編譯之后,生成一個(gè)擴(kuò)展名為.obj的二進(jìn)制文件(稱(chēng)為目標(biāo)文件);最后要由“連接程序”把此目標(biāo)文件與C語(yǔ)言提供的各種庫(kù)函數(shù)連接起來(lái)生成一個(gè)擴(kuò)展名為.exe的可執(zhí)行文件。故本題答案為A選項(xiàng)。
17.A
18.AC語(yǔ)言中整型常量,從表示形式來(lái)看,有十進(jìn)制、八進(jìn)制或十六進(jìn)制;從符號(hào)位來(lái)看,有有符號(hào)整數(shù)和無(wú)符號(hào)整數(shù)兩類(lèi)。選項(xiàng)A的“12f”是float類(lèi)型的實(shí)數(shù),不是整數(shù);選項(xiàng)B的“25u”屬于無(wú)符號(hào)整數(shù);選項(xiàng)C的“-32”是十進(jìn)制形式的有符號(hào)整數(shù);選項(xiàng)D的“+20L”是十進(jìn)制形式的長(zhǎng)整數(shù)。故本題答案為A選項(xiàng)。
19.B水平制表符中,'\t'表示的是橫向跳若干格;選項(xiàng)B中,'\039'錯(cuò)誤,'\039'是八進(jìn)制形式表的字符,最大數(shù)為7,但其中出現(xiàn)'9',','是字符逗號(hào);選項(xiàng)D中,'\n'表示的是換行。
20.D通常把軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用、維護(hù)到停止使用、退役的過(guò)程稱(chēng)為軟件生命周期。選項(xiàng)A、B、C選項(xiàng)均為生命周期的一部分。故選D選項(xiàng)。
21.90
22.100100解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算。運(yùn)算過(guò)程為:k=B*20=(A+3)*20=(2+3)*20=100。
23.66解析:本題考察的是一個(gè)嵌套的循環(huán),當(dāng)滿足j<=i時(shí),輸出一個(gè)“#”號(hào),符合條件的有i=2,j=2;i=3,j=2;i=3,j=3;i=4,j=2;i=4,j=3;i=4,j=4,共輸出6個(gè)“#”。
24.JD
25.n-1jn-1\r\nj解析:此題采用了do…while循環(huán)內(nèi)嵌for循環(huán)的雙層循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)了數(shù)組元素的排序。數(shù)組元素通過(guò)首地址和數(shù)組下標(biāo)的方式來(lái)引用的。
26.1111解析:本題考核的知識(shí)點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。
27.&s&t&s,&t解析:指針做函數(shù)參數(shù)時(shí),形參和實(shí)參指向同一個(gè)數(shù)據(jù),所以函數(shù)中對(duì)形參所指向的數(shù)據(jù)的改變也能影響到實(shí)參。本題中函數(shù)swap_p的形參為指向指針的指針,即雙重指針,原理跟普通的指針是一樣的。注意:通過(guò)指針來(lái)引用一個(gè)存儲(chǔ)單元。
28.x+=1x+=1解析:本題考查“++”,“--”運(yùn)算符?!?+”、“--”只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來(lái)的值,使用完后再使其增1或減1。
29.字節(jié)字節(jié)
30.解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過(guò)程為:t=POW(x+y)=(2+3)*(2+3)=25。
31.SWELXGI
32.log2n
33.S[j++]=s[i]S[j++]=s[i]解析:循環(huán)開(kāi)始后如果數(shù)組s中儲(chǔ)存值與字符c相同,則i++直接跳過(guò)當(dāng)前值;如果不相同,則將當(dāng)前值賦予數(shù)組指定位置,并通過(guò)j++將下標(biāo)加1,指向下一元素要存儲(chǔ)的位置。
34.考查ifelse語(yǔ)句,n=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 5 Launching Your Career Learning About Language 1 教學(xué)設(shè)計(jì)-2023-2024學(xué)年高二英語(yǔ)人教版(2019)選擇性必修第四冊(cè)
- 2024-2025學(xué)年新教材高中化學(xué)第二章化學(xué)鍵化學(xué)反應(yīng)規(guī)律第三節(jié)化學(xué)反應(yīng)的快慢和限度第1課時(shí)化學(xué)反應(yīng)的快慢學(xué)案魯科版必修第二冊(cè)
- 高中信息技術(shù)必修一1.1《數(shù)據(jù)及其特征》教學(xué)設(shè)計(jì)
- 人教版新課標(biāo)七年級(jí)上冊(cè)歷史與社會(huì)第三單元綜合探究三《如何認(rèn)識(shí)區(qū)域-以南非為例》教學(xué)設(shè)計(jì)
- 25少年閏土 教學(xué)設(shè)計(jì)2024-2025學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)上冊(cè)
- 第2課《新航路開(kāi)辟后的食物物種交流》教學(xué)設(shè)計(jì)-2024-2025學(xué)年高二歷史統(tǒng)編版(2019)選擇性必修2經(jīng)濟(jì)與社會(huì)生活
- 專(zhuān)題十九青春時(shí)光(教學(xué)設(shè)計(jì))2024年上學(xué)期道德與法治部編版七下
- 22 鳥(niǎo)的天堂 教學(xué)設(shè)計(jì)-2024-2025學(xué)年統(tǒng)編版語(yǔ)文五年級(jí)上冊(cè)
- Unit 1 A new start Developing ideas(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(2024)七年級(jí)英語(yǔ)上冊(cè)
- 綠色餐飲與可持續(xù)發(fā)展趨勢(shì)
- DL-T 5148-2021水工建筑物水泥灌漿施工技術(shù)條件-PDF解密
- 宗教知識(shí)的課件
- GB/T 22849-2024針織T恤衫
- JGJ6-2011 高層建筑筏形與箱形基礎(chǔ)技術(shù)規(guī)范
- (詳盡多應(yīng)用版)鋼結(jié)構(gòu)工程合同范本(完整版)
- 設(shè)備維保的維修流程與服務(wù)流程
- 隔膜計(jì)量泵維護(hù)檢修規(guī)程培訓(xùn)
- 桌游店創(chuàng)業(yè)計(jì)劃書(shū)
- 《生物制品技術(shù)》課程標(biāo)準(zhǔn)
- 心血管內(nèi)科高血壓一病一品
- 頸動(dòng)脈斑塊預(yù)防課件
評(píng)論
0/150
提交評(píng)論