版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021年河南省南陽市全國計算機(jī)等級考試C語言程序設(shè)計重點匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.下列程序的輸出結(jié)果是()。#include<stdio.h>main{structst{inty,x,z;};union{longi;intj;chark;}un;printf("%d,%d\n",sizeof(structst),sizeof(un))}A.6,2B.6,4C.8,4D.8,6
2.
3.有以下程序:intfun(intn){if(n==l)returnl;elsereturn(n+fun(n一1)):}main{intx;scanf("%d",&x);x=fun(x);printf("%d\n",x):}執(zhí)行程序時,給變量X輸入10,程序的輸出結(jié)果是()。A.55B.54C.65D.45
4.判定一個順序棧st(最多元素為MaxSize)為空的條件是()。
A.st->top!B.st->top!C.top==-1D.top==MaxSize
5.有以下程序
intfun1(doublea){returna*=a;}
intfun2(doublex,doubley)
{doublea=0,b=0;
a=fun1(x);b=fun1(y);return(int)(a+b);
}
main()
{doublew;w=fun2(1.1,2.0);……}
程序執(zhí)行后變量w中的值是A.5.21B.5C.5.0D.0.0
6.下列語句組中,正確的是()。
7.根據(jù)二叉樹的定義可知道二叉樹共有種不同形態(tài)的二叉樹()。
A.3B.4C.5D.7
8.以下敘述中錯誤的是()。
A.對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進(jìn)行整體輸入或輸出
B.數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變
C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出“下標(biāo)越界”的出錯信息
D.可以通過賦初值的方式確定數(shù)組元素的個數(shù)
9.若有定義intx=3,y=2和floata=2.5,b=3.5,則表達(dá)式:(x+y)%2+(int)a/(int)b的值是()。
A.0B.2C.1.5D.1
10.設(shè)有以下函數(shù):voidfun(intn,char*s){…}則下面對函數(shù)指針的定義和賦值均正確的是()。
A.void(*pf)();pf=fun;
B.void*pf();pf=fun
C.void*pf();*pf=fun;
D.void(*pf)(int,char);pf=&fun;
11.下列數(shù)據(jù)模型中,具有堅實理論基礎(chǔ)的是()。
A.層次模型B.網(wǎng)狀模型C.關(guān)系模型D.以上3個都是
12.以下非法的賦值語句是
A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;
13.以下敘述正確的是()。
A.C語言程序是由過程和函數(shù)組成的
B.C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))
C.C語言函數(shù)不可以單獨編譯
D.C語言中除了main函數(shù),其他函數(shù)不可作為單獨文件形式存在
14.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
15.以下程序的輸出結(jié)果是()。
main()
{charst[20]="hell0\O\t\\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.99
B.520
C.1320
D.2020
16.下列程序的輸出結(jié)果是()。main(){inta=1,b=2;printf("%d,%d\n",--a,++b);}
A.1,2B.1,3C.0,2D.0,3
17.
18.關(guān)于數(shù)組和指針,以下說法錯誤的是()。
A.數(shù)組名本身就是一個指針,指向數(shù)組內(nèi)存的起始位置
B.既可以讀入數(shù)據(jù)到數(shù)組中,也可以讀入數(shù)據(jù)到未賦初值的指針中
C.可以將指針指向一個同類型的數(shù)組
D.指針可以指向同類型的數(shù)組中的任意一個元素
19.若有說明:inta[][3]={0,0};則不正確的敘述是()。
A.數(shù)組a的每個元素的初值都是0
B.數(shù)組a的第一維大小為1
C.數(shù)組a的行數(shù)為1
D.只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
20.下列敘述中正確的是()。
A.算法就是程序B.設(shè)計算法時只需要考慮數(shù)據(jù)結(jié)構(gòu)的設(shè)計C.設(shè)計算法時只需要考慮結(jié)果的可靠性D.以上3種說法都不對
二、2.填空題(20題)21.設(shè)順序輸入數(shù)列為:24,30,8,5,1,27,24,26,10,21,9,28,7,13,15。假定每個結(jié)點的查找概率相同,若用順序存儲方式組織該數(shù)列,則查找一個數(shù)成功的平均比較次數(shù)為【】;若按二叉排序樹結(jié)構(gòu)組織該數(shù)列,則查找一個數(shù)成功的平均比較次數(shù)為【】。
22.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
23.以下程序運(yùn)行后的輸出結(jié)果是【】。
voidfun(intx,inty)
{x=x+y;Y=x-y;x=x-y;
printf(“%d,%d”,x,y);}
main()
{intx=2,y=3;
fun(x,y);
printf(“%d,%d\n”,x,y);
}
24.閱讀下面程序,則程序的執(zhí)行結(jié)果為【】。
#include"stdio.h"
fun(intk,int*p)
{inta,b;
if(k==1‖k==2)
*p=1;
else{fun(k-1,&a);
fun(k-2,&b);
*p=a+b;}}
main()
{intx;
fun(6,&x);
printf("%d\n",x);}
25.下列函數(shù)從字符數(shù)組s[]中刪除和c一樣的字符,請在下面橫線處填空。voiddelete(s,C)chars[],c;{inti,j;for(i=j=0;();i++)if(s[i]!='c')s[j++]=s[i];s[j]="\0";}
26.設(shè)有以下結(jié)構(gòu)類型說明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是【】。
structstud
{charnum[6];
mts[4];
doubleave;
}a,*p;
27.以下程序的輸出結(jié)果是【】。
#include<string.h>
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
28.fseek函數(shù)的正確調(diào)用形式是【】。
29.以下程序的功能是:輸出100以內(nèi)(不含100)能被3整除且個位數(shù)為6的所有整數(shù),請?zhí)羁铡?/p>
main()
(inti,j;
for(i=0;i<i0;i++)
{j=i*10+6;
if(())continue;
printf("%d",j);
}
}
30.計算機(jī)病毒除有破壞性、潛伏性和激發(fā)性外,還有一個最明顯的特性是【】
31.在Windows環(huán)境下,可以利用單擊、雙擊、拖動這三種鼠標(biāo)操作之一的【】操作實現(xiàn)窗口的移動。
32.下列程序的功能是計算數(shù)的階乘。
main()
{ihti,n;
nlongnp;
scanf("%d",&n);
np=【】;
for(i=2;i<=n;i++)
【】;
printf("n=%dn!=%ld\n",n,np);
}
33.下面程序的功能是:輸出100以內(nèi)能被3整除且個位數(shù)為9的所有整數(shù),清填空。main(){inti,j;for(i=0;();i++){j=i*10+9;if(j%3!=0)continue;printf("%d",j);}}
34.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
35.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
chara[]="123456789",*p;
inti=0;
p=a;
while(*p)
{
if(i%2==0)
*p='*';
p++;i++;
}
puts(a);
}
36.以下程序中函數(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));
}
37.以下程序的運(yùn)行結(jié)果是【】。
#include<string.h>
typedefstructstudent{
charname[10];
longsno);
floatscore
}STU;
main()
{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90}
c={"Anhua",2003,95},d,*p=&d;
d=a;
if(strcmp(,)>0)d=b;
if(strcmp(,)>0)d=c;
printf("%1d%s\n",d.sno,p->name);
}
38.數(shù)據(jù)庫保護(hù)分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。
39.以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長度,請?zhí)羁铡?/p>
FILE*myf;longfl;
myf=【】("test.t","rb");
fseek(myf,(),SEEK_END)fl+ftell(myf);
fclose(myf);
printf("%ld\n",fl);
40.\13'在內(nèi)存中占1個字節(jié),"\12"在內(nèi)存中占______個字節(jié)。
三、1.選擇題(20題)41.在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()
A.整型常量B.整型表達(dá)式C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式
42.函數(shù)重載是指
A.兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同
B.兩個以上的函數(shù)取相同的名字和具有相同的參數(shù)個數(shù),但形參的類型可以不同
C.兩個以上的函數(shù)名字不同,但形參的個數(shù)或類型相同
D.兩個以上的函數(shù)取相同的函數(shù)名,并且函數(shù)的返回類型相同
43.若變量a是int類型,并執(zhí)行了語句:a='A'+1.6;則正確的敘述是()。
A.a的值是字符'C'B.a的值是浮點型C.不允許字符型和浮點型相加D.a的值是字符'A'的ASCII碼值加上1
44.對于下述說明,不能使變量p->b的值增1的表達(dá)式是______。structexm{inta;intb;floatc}*p;
A.++p->bB.++(p++)->bC.p->b++D.(++p)->b++
45.下面程序在屏幕上的輸出是______。main(){printf(“ab\b\bc”);}A.ab\b\bcB.acC.abcD.abc
46.若有以下函數(shù)首部intfun(doublex[10],int*n)則下面針對此函數(shù)的函數(shù)聲明語句中正確的是______。A.intfun(doublex,int*n);
B.intfun(double,int);
C.intfun(double*x,intn);
D.intfun(double*,int*);
47.下列合法的聲明語句是()。
A.int_abc=50;
B.doubleint=3+5e2.5;
C.longdo=1L:
D.float3_asd=3e-3;
48.在16位IBM-PC機(jī)上使用C語言,若有如下定義:stmctdata{inti;charch;doublef;}b;則結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)是()。
A.1B.2C.7D.11
49.下列選項中不合法的十六進(jìn)制數(shù)是()。
A.OxffB.OX11C.OxlgD.OXabc
50.現(xiàn)有格式化輸入語句,scanf("x=%d],sum]y=%d,line]z=%dL",&x,&y,&z);,已知在輸入數(shù)據(jù)后,x,y,z的值分別是12,34,45,則下列選項中是正確的輸入格式的是
[注]:"]"表示空格,<Enter>表示回車
A.12,34,45<Enter>
B.x=12,y=34,z=45<Enter>
C.x=12C,sumy=34,z=45<Enter>
D.x=12],sum]y=34,line]z=45<Enter>
51.在學(xué)校中,“班級”與“學(xué)生”兩個實體集之間的聯(lián)系屬于()關(guān)系。
A.一對一B.一對多C.多對一D.多對多
52.設(shè)a和b均為double型變量,且a=5.5,b=2.5,則表達(dá)式(int)a+b/b的值是A.6.5B.6C.5.5D.6
53.算法的時間復(fù)雜度是指______。
A.執(zhí)行算法程序所需要的時間B.算法程序的長度C.算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)D.算法程序中的指令條數(shù)
54.已有定義:inti,a[10],*p;則合法的賦值語句是()。
A.p=100;B.p=a[5];C.p=a[2]+2;D.p=a+2;
55.下列程序的運(yùn)行結(jié)果為#include<stdio.h>voldabc(char*str){inta,b;for(a=b=0;str[a]!='\0';a++)if(str[a]!='c')str[b++]=str[a];str[b]='\0';}voidmain(){charstr[]="abcdef";abc(str);printf("str[]=%s",str);}
A.str[]=abdefB.str[]=abcdefC.str[]=aD.str[]=ab
56.設(shè)有以下語句,其中不是對a數(shù)組元素的正確引用的是:______(其中0≤i<10)inta[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;
A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))
57.有以下程序voidf(intv,intw){intt;t=v;v=w;w=t}main(){intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);pfintf("%d,%d,%d\n",x,y,2);}執(zhí)行后輸出結(jié)果是
A.1,2,3B.3,1,2C.1,3,2D.2,3,1
58.數(shù)據(jù)獨立性是數(shù)據(jù)庫技術(shù)的重要特點之一。所謂數(shù)據(jù)獨立性是指()
A.數(shù)據(jù)與程序獨立存放
B.不同的數(shù)據(jù)被存放在不同的文件中
C.不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用
D.以上三種說法都不對
59.已知ch是字符型變量,則下面正確的賦值語句是
A.ch='123';B.ch='\xff';C.CH='\08';D.ch="\";
60.設(shè)y為整型變量,a=6,a的地址為E2000,b=14,b的地址為E2001;執(zhí)行語句b=&a;y=&a;后Y的值為()。
A.E2000B.E2001C.6D.14
四、選擇題(20題)61.HTTP協(xié)議是運(yùn)行于()協(xié)議之上的應(yīng)用層協(xié)議。
A.FTPB.SMTPC.TCPD.UDP
62.23.若有下面的程序段
chars[]="china";char*p;p=s;
則下列敘述正確的是
A.s和p完全相同B.?dāng)?shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等
C.s數(shù)組長度和p所指向的字符串長度相等D.*p與s[0]相等
63.以下敘述中不正確的是()。
A.在不同的函數(shù)中可以使用相同名字的變量
B.函數(shù)中的形式參數(shù)是局部變量
C.在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D.在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效
64.以下程序的輸出結(jié)果是()。
main()
{char*s="12134211";
intv1=0,v2=0,v3=0,v4=0,k;
for(k=0;s[k];k++)
switch(s[k])
{case’1’:v1++;
case’3’:v3++;
case’2’:v2++;
defaule:v4++;
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n,v1,v2,v3,v4);
}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
D.v1=4,v2=7,v3=5,v4=8
65.軟件測試的目的是()。
A.評估軟件可靠性B.發(fā)現(xiàn)并改正程序中的錯誤C.改正程序中的錯誤D.發(fā)現(xiàn)程序中的錯誤
66.軟件詳細(xì)設(shè)計生產(chǎn)的圖如右圖:該圖是()。
A.N—S圖B.PAD圖C.程序流程圖D.E—R圖
67.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是()。
68.
69.
70.
以下程序的輸出結(jié)果是()。
main
{charch[3][4]={"123","456","78"),*p[3];inti;
for(i=0;i<3;i++)p[i]=ch[i];
for(i=0;i<3;i++)printf("%s",p[i]);}
A.123456780B.123456780C.12345678D.147
71.結(jié)構(gòu)化程序設(shè)計所規(guī)定的三種基本控制結(jié)構(gòu)是()。
A.for、while、switchB.輸入、輸出、處理C.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)D.主程序、子程序、函數(shù)
72.數(shù)據(jù)結(jié)構(gòu)作為計算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及()
A.數(shù)據(jù)的存儲結(jié)構(gòu)B.計算方法C.數(shù)據(jù)映像D.邏輯存儲
73.下列敘述中錯誤的是()。
A.一個C語言程序只能實現(xiàn)一種算法
B.c程序可以由多個程序文件組成
C.C程序可以由一個或多個函數(shù)組成
D.一個C函數(shù)可以單獨作為一個C稃序文件存存
74.以下關(guān)于字符串的敘述中正確的是()。
A.空串比空格打頭的字符串小
B.兩個字符串中的字符個數(shù)相同時才能進(jìn)行字符串大小的比較
C.可以用關(guān)系運(yùn)算符對字符串的大小進(jìn)行比較
D.C語言中有字符串類型的常量和變量
75.以下選項中,不合法的c語言用戶標(biāo)識符是()。
A.a_bB.AaBcC.f1一一bD.一1
76.下列關(guān)于棧的描述錯誤的是()。
A.棧按“先進(jìn)后出”組織數(shù)據(jù)B.棧是特殊的線性表,只能在一端插入或刪除數(shù)據(jù)C.棧具有記憶功能D.棧只能順序存儲
77.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.02B.13C.57D.12
78.
79.
80.
五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:計算并輸出m以內(nèi)最大的6個能被7或11整除的自然數(shù)之和。m的值由主函數(shù)傳人。例如,若m的值為600,則函數(shù)的值為3515。請修改程序中的錯誤,使它能得到正確結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。程序中將m個人的成績存放在score數(shù)組中,請編寫函數(shù)fun(),它的功能是將低于平均分的人數(shù)作為函數(shù)值返回,將低于平均分的分?jǐn)?shù)放在below所指的數(shù)組中。例如,當(dāng)score數(shù)組中的數(shù)據(jù)為10、20、30、40、50、60、70、80、90時,函數(shù)返回的人數(shù)應(yīng)該是4,below中的數(shù)據(jù)應(yīng)為10、20、30、40。注意:部分源程序在文件prog1.c中。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.B本題主要考查結(jié)構(gòu)和聯(lián)合內(nèi)存使用的一些區(qū)別:結(jié)構(gòu)中每個成員相互獨立,一個結(jié)構(gòu)所占內(nèi)存空間的大小是結(jié)構(gòu)中每個成員所占內(nèi)存空間大小的總和;聯(lián)合所占用內(nèi)存空間是指最長的成員占用的空間。
2.D
3.A函數(shù)intfun(intn)的功能是求1+2+…+n的值并返回。所以執(zhí)行程序時,給變量x輸入10后,執(zhí)行語句“x=fun(x);”,X的值將變?yōu)?到10中10個整數(shù)的累加和,即55。
4.B
5.C(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實型數(shù)據(jù)。
6.A字符型指針變量可以用選項A)的賦值方法:char*s;s=”O(jiān)lympictt;,選項C)的寫法:char*s,s={1.Olympic”};是錯誤的。字符數(shù)組可以在定義的時候初始化:chars[]_IfIOlympic”l;或者chars[]=”O(jiān)lympic'1.都是正確的,但是不可以在定義字符數(shù)組后,對數(shù)組名賦值(數(shù)組名是常量,代表數(shù)組首地址)。所以選項B)和選項D)都是錯誤的。對于本例,選項B)、D)中字符數(shù)組S的大小至少為8,才能存放下字符串(字符串的末尾都有結(jié)束標(biāo)志“\0”)。
7.B
8.C解析:在C語言中,除字符數(shù)組外,一個數(shù)組不能通過數(shù)組名對數(shù)姐進(jìn)行整體引用,因此選項A是對的。數(shù)組名中存放的是一個地址常量,它代表整個數(shù)組的首地址,因此選項B是對的。C語言程序在運(yùn)行過程中,系統(tǒng)不自動檢驗數(shù)組元素的下標(biāo)是否越界,因此選項C是錯誤的。C語官規(guī)定可以通過賦初值來定義數(shù)組的大小,這時數(shù)組說明符的一對方括號中可以不指定數(shù)組的大小,因此選項D也是正確的。所以,4個選項中選項C符合題意。
9.D
10.A函數(shù)指針的定義格式為函數(shù)類型(*指針變量名)(形參列表);函數(shù)名和數(shù)組名一樣代表了函數(shù)代碼的首地址,因此在賦值時,直接將函數(shù)指針指向函數(shù)名就行了。所以選項A正確。
11.C在數(shù)據(jù)庫設(shè)計中,目前常用的數(shù)據(jù)模型主要有三種,分別是層次模型、網(wǎng)狀模型和關(guān)系模型。
層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。我們通常把滿足以下兩個條件的數(shù)據(jù)模型稱為層次模型。
(1)有且僅有一個結(jié)點無雙親,這個結(jié)點稱為根結(jié)點。
(2)其他結(jié)點有且僅有一個雙親。
層次模型用樹形結(jié)構(gòu)來表示各實體與實體間的聯(lián)系。實體是數(shù)據(jù)庫中數(shù)據(jù)描述的對象,可以是一個人、一種商品等。在層次模型中,每個結(jié)點表示一個記錄類型,記錄之間的聯(lián)系用結(jié)點之間的連線表示,這種聯(lián)系是父子之間一對多的聯(lián)系。記錄就是描述實體的相關(guān)數(shù)據(jù)。
如果取消層次模型中的兩個限制,即允許一個以上的結(jié)點無雙親,則每一個結(jié)點可以有多個父結(jié)點,便形成了網(wǎng)狀。我們把網(wǎng)狀表示實體之間聯(lián)系的模型稱為網(wǎng)狀模型。
關(guān)系模型用表格形式表示實體類型及其實體間的聯(lián)系。關(guān)系模型是目前最重要的一種模型,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的,具有最堅實的理論基礎(chǔ)。關(guān)系模型的基本數(shù)據(jù)結(jié)構(gòu)是二維表,每一張二維表稱為一個關(guān)系。
12.C解析:本題考查的知識點是賦值語句的基本知識。在表達(dá)式的運(yùn)算中,雙目賦值運(yùn)算符的格式為“變量二表達(dá)式”,單目運(yùn)算符一般形式為“運(yùn)算符表達(dá)式”或“表達(dá)式運(yùn)算符”。常量和表達(dá)式是不能被賦值的。選項A為復(fù)合表達(dá)式,首先計算(i=2,++i)的值,然后賦值給n,故選項A正確;選項B為簡單自加運(yùn)算,故選項B正確;選項C在表達(dá)式++(i+1);中,(i+1)不是變量,該表達(dá)式的值為常量,而在++運(yùn)算中,其運(yùn)算對象必須為變量,故選項C錯誤;選項D中為復(fù)合賦值表達(dá)式,正確.所以應(yīng)當(dāng)選擇C。
13.B解析:C語言中只有函數(shù)沒有過程,故選項A錯誤;C語言可以嵌套調(diào)用,故選項B正確;C語言函數(shù)可以單獨編譯成.dll文件,故選項C錯誤;C語言中除main函數(shù)以外,其他函數(shù)可作為單獨文件形式存在,故選項D也錯誤。
14.D本題考查continue的用法,continue語句的作用是結(jié)束本次循環(huán),直接進(jìn)行下次循環(huán)。所以在程序中,只有當(dāng)a=10時,才退出循環(huán),故選擇D選項。
15.B\n從題目中可知,\O、\t、\\分別為一個字符,而sizeof是求字節(jié)個數(shù)的函數(shù),其中包括\O占的字節(jié),strlen函數(shù)是求數(shù)組長度的函數(shù);其以\0結(jié)束,因此strlen的值為5,sizeof的值為20。
\n
16.D解析:本題主要考查自加(++)、自減(--)運(yùn)算符的使用?!?+i,--i”在使用i之前,先使i的值加1或者減1,然后再使用i此時的值參與運(yùn)算;“i++,i--”是在使用i參與表達(dá)式運(yùn)算之后,再使i的值加1或者減1。本題中--a和++b是先執(zhí)行a減1和b加1操作,再輸出表達(dá)式的值。
17.C
18.BC語言中,數(shù)組名本身就是一個指針,指向數(shù)組內(nèi)存的起始位置,選項A正確;已經(jīng)定義的數(shù)組被分配了內(nèi)存空間,所以可以讀入數(shù)據(jù)到數(shù)組中,未賦初值的指針沒有分配內(nèi)存空間,不可以讀入數(shù)據(jù),選項B錯誤;可以將指針指向一個同類型的數(shù)組,選項C正確;指針指向一個數(shù)組后,可以通過移動指針,指向該數(shù)組中的任意一個元素,選項D正確。故本題答案為B選項。
19.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時應(yīng)注意下列兩點:①在對二維數(shù)組元素賦初值時,可以只對部分元素賦初值,未賦初值的元素自動取0。②二維數(shù)組第一維的大小由下列規(guī)則確定;當(dāng)初值的個數(shù)能被第二維的常量表達(dá)式的值除盡時,所得商數(shù)就是第一維的大小;當(dāng)初值的個數(shù)不能被第二維的常量表達(dá)式的值除盡時,第一維的大小等于所得商數(shù)加1。
20.D程序(program)是為實現(xiàn)特定目標(biāo)或解決特定問題而用計算機(jī)語言編寫的命令序列的集合。設(shè)計算法時要考慮到數(shù)據(jù)結(jié)構(gòu)的設(shè)計,但是不僅僅是要考慮到數(shù)據(jù)結(jié)構(gòu)的設(shè)計,還要考慮到其他的程序結(jié)構(gòu)的問題。設(shè)計算法時不能只考慮結(jié)果的正確性和可靠性,還需要考慮到程序的時間冗余度等方面。所以答案選擇D。
21.857/15
22.軟件開發(fā)
23.32233,2,2,3解析:主函數(shù)中首先定義了整型變量x和y,并分別給它們賦初值為2和3,接著調(diào)用fun()函數(shù),fun()函數(shù)把實參x和y的值傳給形式參數(shù)x和y,實參和形參不再有聯(lián)系。在fun()函數(shù)中,通過運(yùn)算使x和y的值交換過來,所以fun()函數(shù)中的輸出結(jié)果是“3,2”。fun()函數(shù)調(diào)用返回輸出x和y依然是原來的x和y,為“2,3”。原因是變量作為形參傳值的,對形參的修改并不影響對應(yīng)的實參。所以最后輸出為3,2,2,3。
24.88解析:函數(shù)可以被遞歸調(diào)用,但是不能遞歸定義。有返回值的函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式可以出現(xiàn)的任何地方。
25.s[i]!='\0's[i]!='\\0'解析:本題是要刪除字符數(shù)組中和c一樣的字符,for循環(huán)實現(xiàn)的功能是逐個讀出字符數(shù)組s中的元素,并和字符c做比較,直到遇到字符串結(jié)束標(biāo)志'\\0',結(jié)束循環(huán),所以橫線上應(yīng)該填s[i]!='\\0'。
26.2222解析:C語言里char類型占1個字節(jié),int類型占2個字節(jié),float類型占4個字節(jié),double類型占8個字節(jié),因此變量a在內(nèi)存中所占字節(jié)數(shù)=1*6+4*2+1*8=6+8+8=22。
27.99解析:本題要輸出的結(jié)果是字符串'IBM\\n012\\1\\\\'的長度,'IBM'是3個字符,\'\\n\'是1個字符,'012'又是3個字符,最后的\'\\1\'和\'\\\\\'都是1個字符。所以最終字符串的長度應(yīng)該是3+1+3+1+1=9。故本題應(yīng)該填9。
28.fseek(文件指針位移量起始點)fseek(文件指針,位移量,起始點)解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:
fseek(文件指針,位移量,起始點)
“起始點”用0,1或2代替,其中,0代表“文件開始”;1為“當(dāng)前位置”;2為“文件末尾”?!拔灰屏俊敝敢浴捌鹗键c”為基點,向前移動的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當(dāng)文件的長度大于64k時不致出現(xiàn)問題。ANSIC標(biāo)準(zhǔn)規(guī)定在數(shù)字的末尾加一個字母L,就表示long型。
29.j%3!=0j%3!=0解析:for循環(huán)語句中表達(dá)式“j=i*10+6;”可以給出100以內(nèi)個位數(shù)為6的所有整數(shù),因此if語句只需判斷該數(shù)能否被3整除即可,可應(yīng)用取余運(yùn)算表達(dá)式“j%3!=0”判斷。
30.傳染性或傳播性傳染性或傳播性
31.拖動拖動
32.1np*=i或np=np*i1\r\nnp*=i或np=np*i
33.i<10i<10解析:分析程序,當(dāng)(i=0,1,2,…)時,“j=i*10+9”語句的運(yùn)行結(jié)果是(9,39,69,99)個位數(shù)為9的所有整數(shù);題中要求是100以內(nèi)的整數(shù),所以i<10;“if(j%3!=0)continue;”語句的功能是當(dāng)條件不能被3整除時,繼續(xù)循環(huán)不執(zhí)行操作,直到能被3整除時輸出該數(shù),即輸出的數(shù)滿足條件100以內(nèi)能被3整除且個位數(shù)為9。
34.33解析:條件表達(dá)式的一般形式為;表達(dá)式1?表達(dá)式2:表達(dá)式3條件運(yùn)算符的執(zhí)行順序:先求解表達(dá)式1,若為非0(真)則求解表達(dá)式2,此時表達(dá)式2的值就作為整個條件表達(dá)式的值;若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個條件表達(dá)式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。
35.*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*
36.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。
37.2002shangxian2002shangxian解析:\'B\'的ASCII值是66。本題中指針變量p指向d,執(zhí)行第一個if語句時,條件成立,d=b;執(zhí)行第二個if語句時,條件不成立,故d=b,所以d.sno=2002,p->name'Shangxian'。
38.完整性控制完整性控制
39.fopenfopen解析:C語言中的文件分為:ASCII文件與二進(jìn)制文件。文件在使用前打開,使用后要關(guān)閉。打開文件的函數(shù)為:fopen(),調(diào)用形式為:fp=fopen('文件名','使用文件方式');關(guān)閉文件的函數(shù)為:fclose(),調(diào)用形式為:fclose(fp),其中fp為文件指針。
40.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個字符,占一個字節(jié);而”\\12”是個字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個字節(jié)。
41.C解析:C語言規(guī)定只能逐個引用數(shù)組元素而不能一次引用整個數(shù)組,數(shù)據(jù)元素的表示形式為數(shù)組名[下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式。
42.A解析:函數(shù)(方法)重載是多態(tài)性的一種表現(xiàn)。通過函數(shù)(方法)重載,一個類中可以有多個具有相同名字的方法,由傳遞給它們的不同個數(shù)和類型的參數(shù)來決定使用哪種方法,這就是多態(tài)。通過方法重寫,子類可以重新實現(xiàn)父類的某些方法,使其具有自己的特征。
43.D解析:字符“A”要轉(zhuǎn)換成相應(yīng)的ASCII碼值,由于運(yùn)算結(jié)果要賦值給int型變量,所以對1.6進(jìn)行取整運(yùn)算,最后a的值應(yīng)是66。
44.D解析:p->b應(yīng)作為一個整體看待,++p->b和p->b++都使變量b增1,++(p++)->b先使b增1,再使p后移,D中表達(dá)式的含義是使p+1所指結(jié)構(gòu)體變量中的成員b的值增1。
45.BC語言中允許使用一種特殊形式的字符常量,就是以一個“\\”開頭的字符序列,這樣的字符稱為“轉(zhuǎn)義字符”。常用的轉(zhuǎn)義字符有:\\n,換行;\\t,水平制表;\\b,退格;\\r,回車。
46.D解析:函數(shù)聲明可以照寫已定義的函數(shù)的首部,再加一個號就成為了對函數(shù)的聲明,在函數(shù)聲明中也可以不寫形參名,而只寫形參的類型,但要保證與函數(shù)首部寫法上的—致,即函數(shù)類型、函數(shù)名、參數(shù)個數(shù)、參數(shù)類型和參數(shù)順序相同。字符數(shù)組可用指針來表示,所以選頂D正確。
47.A解析:C語言規(guī)定,標(biāo)識符是由字母、數(shù)字或下劃線組成,并且它的第一個字符必須是字母或者下劃線。另外C語言規(guī)定了一些專用的標(biāo)識符,它們有著固定的含義,不能更改。int就是表達(dá)變量類型的標(biāo)識符,它不能再用做變量名和函數(shù)名,所以選項B)不正確。do是C語言的一個關(guān)鍵字,也不能再用做變量名和函數(shù)名,所以選項C)不正確。
48.D解析:結(jié)構(gòu)體變量所占用內(nèi)存的字節(jié)數(shù)是其所有成員所占用內(nèi)存字節(jié)數(shù)之和。本題中整型變量i所占用的內(nèi)存是2字節(jié),字符型變量ch所占用的內(nèi)存是1字節(jié),雙精度型變量f所占用的內(nèi)存是8字節(jié),三者相加即可。
49.C解析:十六進(jìn)制是以“0x”或“0X”開頭的字符串,字符串中只能含有0~9這10個數(shù)字和a、b、c、d、e、f這6個字母。
50.D解析:若在scanf的格式化控制串中插入了其他字符,則在輸入時要求按一一對應(yīng)的位置原樣輸入這些字符。格式化輸入函數(shù)必須嚴(yán)格按照雙引號里面的格式進(jìn)行輸入。在格式化輸出函數(shù)中,格式控制串中除了合法的格式說明外,可以包含任意的合法字符。
51.BB)【解析】一個班可以有多名學(xué)生,而一名學(xué)生只能屬于一個班級,所以“班級”與“學(xué)生”兩個實體集之間的聯(lián)系屬于一對多關(guān)系。
52.D解析:本題考查的知識點是運(yùn)算符的優(yōu)先級。在這個表達(dá)式中,優(yōu)先級最高的是(int)a,也就是對5.5取整,結(jié)果是5,其次是b/b,即2.5/2.5,結(jié)果是1.000000,最后相加結(jié)果為6.000000(表達(dá)式的最終結(jié)果為實型),所以4個選項中D正確。
53.C解析:算法的時間復(fù)雜度實際上就是執(zhí)行算法程序所需要的計算工作量。為了客觀地反映算法性能,在度量算法的時間復(fù)雜度時,應(yīng)該與編寫算法程序所使用的程序設(shè)計語言、執(zhí)行算法程序時所使用的計算的工具以及程序員的水平無關(guān)。選項A錯誤,因為同一算法程序在運(yùn)行速度不同的計算機(jī)上運(yùn)行時,其計算時間是不同的。選項B錯誤,因為算法所編寫的程序長度往往與程序設(shè)計語言以及程序員的水平有關(guān),同一個算法,用不同的程序設(shè)計語言或者不同的程序員所編寫出的程序其長度可能會大不相同。選項D錯誤,因為根據(jù)一個算法所編制出的程序之中,其指令條數(shù)往往與程序設(shè)計語言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來度量算法的時間復(fù)雜度。所以,本題正確答案為C。
54.D解析:本題考核的知識點是指針變量的賦值。本題中定義了一個整型數(shù)組a和一個整型指針變量P。選項A中將一個整型數(shù)賦值給一個指針變量,C語言規(guī)定,只能特地址賦給指針指針變量,故選項A不正確:選項B中a[5]為一數(shù)組元素,同樣不是一個地址,故選項B不正確;選項c中a[2]為一數(shù)組元素,同樣是一個整型數(shù)據(jù),不是個地址,故選項C不正確:選項D中數(shù)蛆名a代表數(shù)組首地址加2,代表第三個元素的地址,故選項D正確,所以,4個選項中選項D符合題意。
55.A解析:本題考查了用字符指針引用字符數(shù)組中的字符及對字符的操作。函數(shù)abc()的for語句執(zhí)行過程是:叢字符指針str所指向的字符數(shù)組的第一個元素開始,逐一判斷字符是否為'c',若不是就執(zhí)行一次數(shù)組元素的賦值過程,若字符為'c'就不執(zhí)行,所以答案為A)。
56.D解析:觀察程序可知,a實際上就是數(shù)組a的首地址,所以“*(a+i)”表示的就是數(shù)組a中的第i個元素的值,進(jìn)而,我們可以知道*(*(a+i))必然不是對a數(shù)組元素的正確引用。
57.C解析:C語言規(guī)定else總是和離它最近的if語句配對。分析可以知道,函數(shù)f()作用是讓形參v和形參w的值交換。在主函數(shù)中首先定義了三個變量x、y和z。然后再執(zhí)行下面的if-else語句。由程序可以看出第一個else和第一個if搭配,第二個else和第二個if搭配。由于調(diào)用函數(shù)時是進(jìn)行值傳遞的。即將實參x,y,z傳給形參v和w,以后形參和實參再無聯(lián)系,故通過if語句調(diào)用f()函數(shù)后,x、y和x的值并沒有改變。故最后輸出的x、y和z的值為1、3和2。
58.D解析:在數(shù)據(jù)庫系統(tǒng)中,通過系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨立性:一是物理獨立性。即由于數(shù)據(jù)的存儲結(jié)構(gòu)與邏輯結(jié)構(gòu)之間由系統(tǒng)提供映象,使得當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)改變時,其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改。二是邏輯獨立性。即由于數(shù)據(jù)的局部邏輯結(jié)構(gòu)(它是總體邏輯結(jié)構(gòu)的一個子集,由具體的應(yīng)用程序所確定,并且根據(jù)具體的需要可以作一定的修改)與總體邏輯結(jié)構(gòu)之間也由系統(tǒng)提供映象,使得當(dāng)總體邏輯結(jié)構(gòu)改變時,其局部邏輯結(jié)構(gòu)可以不變,從而根據(jù)局部邏輯結(jié)構(gòu)編寫的應(yīng)用程序也可以不必修改。由此可知,選項A.B與C中的說法都是錯誤的。
59.B解析:選項A)是3個字符,而不是1個,所以錯誤。選項C)和D)是將轉(zhuǎn)義字符賦給字符變量ch,但轉(zhuǎn)義字符的表達(dá)不正確。注意:常量的表示方法。
60.D解析:&是取地址運(yùn)算符,y=&a是將a的地址賦給y,而a的地址沒有發(fā)生變化,因此y的值為E2000。
61.C
62.D本題考查數(shù)組與指針的關(guān)系。C語言規(guī)定數(shù)組名代表數(shù)組中第一個元素的地址,題目中給出了p=s,即p=&s[0],所以有*p=s[0]。A選項說s和p完全相同是錯誤的,因為s是數(shù)組名,是一個常量,而p是一個指針變量;B選項說數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等也是錯誤的,因為數(shù)組s中的內(nèi)容是字符串“china”,而指針變量p中的內(nèi)容是數(shù)組的首地址;C選項說s數(shù)組長度和p所指向的字符串長度相等也是錯誤的,因為字符串存放在數(shù)組中時,至少需要多出一個存放字符串結(jié)束標(biāo)識的單元。
63.D在一個函數(shù)中的復(fù)合語中定義的變量,只能在這個復(fù)合語句范圍內(nèi)有效。
64.Dk=0,s[k]=1,v1++,v2++,v3++,v4++;k=1,s[k]=2,v2++,v4++;k=3,s[k]=1,……,直到k=8,s[k]=0.退出循環(huán)
65.D軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,測試要以查找錯誤為中心,而不是為了演示軟件的正確功能,也不是為了評估軟件或改正錯誤,因此本題答案為D)。
66.CN—s圖提出了用方框圖來代替?zhèn)鹘y(tǒng)的
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 我國商業(yè)銀行中小企業(yè)信貸業(yè)務(wù)發(fā)展路徑探尋
- 2025年內(nèi)容創(chuàng)作與編輯思維訓(xùn)練試卷及答案
- 吊裝技術(shù)交底
- 2025年環(huán)境保護(hù)法規(guī)與企業(yè)合規(guī)知識普及試題及答案解析
- 中考全科綜合模擬卷(語數(shù)英理化生歷地政人教)
- 2026年外貿(mào)商檢代辦協(xié)議(合規(guī)·通過版)
- 2026年婚慶租車服務(wù)協(xié)議(車隊·準(zhǔn)時版)
- 2026重慶望江中學(xué)校近期招聘教師6人備考題庫帶答案詳解
- 橋梁伸縮縫更換工程施工組織設(shè)計方案
- 部編版語文四年級上冊第四單元測試
- 經(jīng)銷商會議總結(jié)模版
- 兩癌預(yù)防知識講座
- 用電安全隱患檢測的新技術(shù)及應(yīng)用
- 新疆克州阿合奇縣2024-2025學(xué)年七年級上學(xué)期期末質(zhì)量檢測英語試卷(含答案及聽力原文無音頻)
- 《水庫泥沙淤積及影響評估技術(shù)規(guī)范》
- 2023-2024學(xué)年浙江省杭州市西湖區(qū)教科版五年級上冊期末考試科學(xué)試卷
- GB/T 7948-2024滑動軸承塑料軸套極限PV試驗方法
- DL∕T 1057-2023 自動跟蹤補(bǔ)償消弧線圈成套裝置技術(shù)條件
- AQ 2003-2018 軋鋼安全規(guī)程(正式版)
- 村委會指定監(jiān)護(hù)人證明書模板
- 送給業(yè)主禮物方案
評論
0/150
提交評論