![2021年山東省威海市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)_第1頁](http://file4.renrendoc.com/view/9dc1a79c30d5366e6b9f7dadbc3bcb33/9dc1a79c30d5366e6b9f7dadbc3bcb331.gif)
![2021年山東省威海市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)_第2頁](http://file4.renrendoc.com/view/9dc1a79c30d5366e6b9f7dadbc3bcb33/9dc1a79c30d5366e6b9f7dadbc3bcb332.gif)
![2021年山東省威海市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)_第3頁](http://file4.renrendoc.com/view/9dc1a79c30d5366e6b9f7dadbc3bcb33/9dc1a79c30d5366e6b9f7dadbc3bcb333.gif)
![2021年山東省威海市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)_第4頁](http://file4.renrendoc.com/view/9dc1a79c30d5366e6b9f7dadbc3bcb33/9dc1a79c30d5366e6b9f7dadbc3bcb334.gif)
![2021年山東省威海市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)_第5頁](http://file4.renrendoc.com/view/9dc1a79c30d5366e6b9f7dadbc3bcb33/9dc1a79c30d5366e6b9f7dadbc3bcb335.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021年山東省威海市全國計算機(jī)等級考試C語言程序設(shè)計知識點(diǎn)匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.與單鏈表相比,雙向鏈表的優(yōu)點(diǎn)之一是()。
A.插入、刪除操作更加簡單B.可以隨機(jī)訪問C.可以省略表頭指針或表尾指針D.順序訪問相鄰結(jié)點(diǎn)更加靈活
2.利用E-R模型進(jìn)行數(shù)據(jù)庫的概念設(shè)計,可以分成3步:首先設(shè)計局部E-R模型,然后把各個局部E-R模型綜合成一個全局的模型,最后對全局E-R模型進(jìn)行(),得到最終的E-R模型。
A.簡化B.結(jié)構(gòu)化C.最小化D.優(yōu)化
3.C語言可執(zhí)行程序的開始執(zhí)行點(diǎn)是()。
A.包含文件中的第一個函數(shù)B.程序中第一個函數(shù)C.程序中的main()函數(shù)D.程序中第一條語句
4.以下程序擬實(shí)現(xiàn)計算s=1+2*2+3*3+…+n*n+…,直到s>1000為止。#include<stdio.h>main(){ints,n;s=1;n=1;do{n=n+1;s=s+n*n;}while(s>1000);printf(“s=%d\n”,s);}程序運(yùn)行后,不能得到正確結(jié)果,以下修改方案正確的是()。
A.把“while(s>1000);”改為“while(s<=1000);”
B.把“s=1”改為“s=0”
C.把“n=1;”改為“n=0;”
D.把“n=n+1”改為“n=n*n”
5.若有定義語句:inta[3][6];,按在內(nèi)存中的存放順序,a數(shù)組的第10個元素是A.a[0][4]B.a[1][3]C.a[0][3]D.a[1][4]
6.
7.設(shè)有以下函數(shù)f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}如果在下面的程序中調(diào)用該函數(shù),則輸出結(jié)果是______。main(){inta=2,i;for(i=0;i<3;i++)printf("%d\n"f(a));}
A.789B.7911C.71013D.777
8.在位運(yùn)算中,操作數(shù)左移一位,其結(jié)果相當(dāng)于A.A.操作數(shù)乘以2
B.操作數(shù)除以2
C.操作數(shù)除以4
D.操作數(shù)乘以4
9.以下敘述中錯誤的是(
)。A.函數(shù)形參的值也可以傳回給對應(yīng)的實(shí)參
B.函數(shù)調(diào)用可以作為一個獨(dú)立的語句存在
C.若函數(shù)有返回值,必須通過r;mm語句返回
D.C程序必須由一個或一個以上的函數(shù)組成
10.以下關(guān)于C語言的敘述中正確的是()。
A.C語言中的注釋不可以夾在變量名或關(guān)鍵字的中間
B.C語言中的變量可以在使用之前的任何位置進(jìn)行定義
C.在C語言算術(shù)表達(dá)式的書寫中,運(yùn)算符兩側(cè)的運(yùn)算數(shù)類型必須一致
D.C語言的數(shù)值常量中夾帶空格不影響常量值的正確表示
11.按照C語言規(guī)定的用戶標(biāo)識符命名規(guī)則,不能出現(xiàn)在用戶標(biāo)識符中的是()。
A.大寫字母B.下劃線C.數(shù)字D.連接符
12.變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是
A.a^bB.a|bC.a&bD.a<<4
13.
14.
15.軟件調(diào)試的目的是______。
A.發(fā)現(xiàn)錯誤B.改正錯誤C.改善軟件的性能D.挖掘軟件的潛能
16.下列程序的輸出結(jié)果是()#include<stdio.h>main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1:case2:a+=2;default:a+=3;}printf(“%d”,a);}A.19B.18C.6D.8
17.有三個關(guān)系R、s和T如下:
由關(guān)系R和s通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.并B.自然連接C.笛卡爾積D.交
18.若有說明:int*p,m=5,n;以下正確的程序段是
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p)
C.scanf("%d",&n);*p=n;
D.p=&n;*p=m;
19.對包含N個元素的散列表進(jìn)行檢索,平均檢索長度________
A.為o(log2N)B.為o(N)C.不直接依賴于ND.上述三者都不是
20.下列程序的輸出結(jié)果是()。main(){inta=1,b=2;printf("%d,%d\n",--a,++b);}
A.1,2B.1,3C.0,2D.0,3
二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
chara[]="123456789",*p;
inti=0;
p=a;
while(*p)
{
if(i%2==0)
*p='*';
p++;i++;
}
puts(a);
}
22.函數(shù)調(diào)用語句:“fgets(buf,n,fp);”從fp指向的文件中讀入,n個字符放到buf字符數(shù)組中,函數(shù)返回值為______。
23.以下程序的輸出結(jié)果是______。
voidfun()
{staticinta=0;
a+=2;printf("%d",a);
}
main()
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
24.關(guān)系數(shù)據(jù)庫的關(guān)系演算語言是以【】為基礎(chǔ)的DML語言。
25.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
charc1,c2;
for{c1='0',c2='9';c1<c2;c1++,C2--)
printf("%c%c",c1,c2);
printf("\n");
}
26.下面程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{staticchara[]="language",b[]="program";
char*ptr1=a,*ptr2=b;
intk;
for(k=0;k<7;k++)
if(*(ptr1+k)==*(ptr2+k))
printf("%c",*(ptr1+k));}
27.閱讀下面程序,則執(zhí)行后的輸出結(jié)果是【】。
#include"stdio.h"
main()
{intx,y,z;
x=1;y=2;z=3;
if(x>y)if(x>z)printf("%d",x);
elseprintf("%d",y);
printf("%d\n",z);}
28.以下程序的輸出結(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);
}
29.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{charm;
m='B'+32;
printf("%c\n",m);
}
30.實(shí)體聯(lián)系模型是一種常用的高級概念數(shù)據(jù)模型,而______是實(shí)體聯(lián)系模型中的核心。
31.下面程序的輸出結(jié)果是【】。
#defineMAX3
inta[MAX];
main()
{fun1();fun2(a);printf("\n");}
fun1()
{intk,t=0;
for(k=0;k<MAX;k++,t++)a[k]=t+t;
}
fun2(intb[])
{intk;
for(k=0;k<MAX;k++)printf("%d",*(b+k));
}
32.下面程序的運(yùn)行結(jié)果是【】。
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
33.在面向?qū)ο蠓椒ㄖ?,【】描述的是具有相似屬性與操作的一組對象。
34.用以下語句調(diào)用庫函數(shù)malloc,使字符指針st指向具有11個字節(jié)的動態(tài)存儲空間,請?zhí)羁?。st=(char*)【】;
35.若有以下程序:
main()
{
inta=4,b=3,c==5,t=0;
if(a<b)t=a;a=b;b=t;
if(a<c)t=a;a=c;c=t;
printf("%d%d%d\n",a,b,C);
}
執(zhí)行后輸出結(jié)果是【】。
36.下列程序執(zhí)行后輸出的結(jié)果是【】。
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);
}
37.某二叉樹中度為2的結(jié)點(diǎn)有18個,則該二叉樹中有【】個葉子結(jié)點(diǎn)。
38.下列程序的功能:對輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{charc;
inta,s=0;
while(______)
if(isdigit(c))
{a=c-'0';s+=a;}
printf("s=%d",s);
}
39.對于軟件測試,從是否需要執(zhí)行被測軟件的角度,可以分為靜態(tài)測試和動態(tài)測試。代碼檢查屬于______測試。
40.若有定義:intx=1,y=2;floata=3.7,b=2.1;則(x+y)%2+(int)a/(int)b表達(dá)式的值為()。
三、1.選擇題(20題)41.下列選項可以正確表示字符型常量的是
A.′\r′B.aC.\897D.296
42.有以下程序:main(){inta[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;pa=a;for(i=0;i<3;i++)if(i<2)pa[1][i]=pa[1][i]-1;elsepa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}執(zhí)行后輸出結(jié)果是()。
A.7B.6C.8D.無確定值
43.沒有程序段:intk=10;while(k=0)k=k-1;則下面描述中正確的是()。
A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次
44.設(shè)c1,c2均是char類型變量,則不正確的函數(shù)調(diào)用為______。
A.printf("%c,%c,",c1,c2)
B.getchar(c1)
C.putchar('\')
D.putchar(c1)
45.以下程序運(yùn)行時若要正確輸出函數(shù)的入口地址和輸入數(shù)的絕對值,應(yīng)在程序空缺處填入的正確選項是()。abs(intx){if(x>=0)returnx:elsereturn-x;}main(){inty,z,(*p)(intx)=abs;scanf("%d",&y);z=(*p)(y);______;}
A.printf("%d%d\n",&p,z)
B.printf("%d%d\n",p,z)
C.printf("%d%d\n",*p,z)
D.Printf("%d%d\n",p,*z)
46.下列程序的輸出結(jié)果是()。main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}
A.22B.76C.72D.62
47.數(shù)據(jù)庫系統(tǒng)的核心是()A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.軟件工具D.數(shù)據(jù)庫
48.閱讀以下程序及對程序功能的描述,其中正確的是#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf(“Entertheinfilename:\n”);scanf(“%s”,infile);printf(“Entertheoutfilename:\n”);scanf(“%s”,outfile);if((in=foen(infile,“r”))==NULL)printf(“cannotopeninfile\n”);exit(0);if((out=fopen(outfile,“w”))==NULL)printf(“cannotopenoutfile\n”);exit(0);while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);A.程序完成將磁盤文件的信息在屏幕上顯示的功能
B.程序完成將兩個磁盤文件合二為一的功能
C.程序完成將一個磁盤文件復(fù)制到另一個磁盤文件中
D.程序完成將兩個磁盤文件合并并在屏幕上輸出
49.以下程序運(yùn)行后,輸出結(jié)果是#definePT5.5#defineS(x)PT*x*x#include<stdio.h>main(){inta=1,b=2;printf("%4.1f\n",S(a+b));}
A.49.5B.9.5C.22D.45
50.在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()。
A.整型表達(dá)式B.整型常量C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式
51.若fp已正確定義并指向某個文件,當(dāng)未遇到該文件結(jié)束標(biāo)志時函數(shù)feof(fp)的值為()
A.0B.1C.-1D.一個非0值
52.有以下程序:main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運(yùn)行后的輸出結(jié)果是(選項D中的第一行是空行)______。
A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No
53.當(dāng)運(yùn)行以下程序時,從鍵盤輸入;AhaMA(空格)Aha<CR>,則下面程序的運(yùn)行結(jié)果是#include<stdio.h>main(){chars[80],c='a';inti=0;scanf("%s",s);while(s[i]!='\n'){if(s[i]==c)s[i]-32;elseif(s[i]==c-32)s[i]=s[i]+32;i++;}puts(s);}
A.ahaMaB.AbAMaC.AhAMa[空格]ahAD.ahAMa[空格]ahA
54.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inti;for(i=1;i<=10;i++){if((i*i>=20)&&(i*i<=100))}break;printf("%d\n",i*i);}
A.49B.36C.25D.64
55.下列程序的輸出結(jié)果是#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
56.以下對枚舉類型名的定義中正確的是______。
A.enuma={one,two,three};
B.enuma{on=9,two=-1,three};
C.enuma={"one","two","three"};
D.enuma{"one","two","three"};
57.在宏定義#definePI3.14159中,用宏名PI代替一個()
A.單精度數(shù)B.雙精度數(shù)C.常量D.字符串
58.有定義語句:intb;charc[10];,則正確的輸入語句是
A.scanf("%d%s",&b,&c);
B.scanf("%d%s",&b,c);
C.scanf("%d%s",b,c);
D.scanf("%d%s",b,&c);
59.以下能正確定義一維數(shù)組的選項是
A.inta[5]={0,1,2,3,4,5}
B.chara[]={'0','1','2','3','4','5','\0'};
C.chara={'A','B','C'};
D.inta[5]="0123";
60.閱讀下列程序,當(dāng)運(yùn)行函數(shù)時,輸入asdafaaz67,則輸出為
#include<stdio.h>
#include<ctype.h>
#include<string.h>
intfun(char*str)
{inti,j=0;
for(i=0;str[i]!=′\0′;i++)
if(str[i]!=′′)str[j++]=str[i];
str[j]=′\0′;
}
main()
{
charstr[81];
intn;
printf("Inputastring:");
gets(str);
puts(str);
fun(str);
printf("%s\n",str);
}
A.asdafaaz67B.asdafaaz67C.asdD.z67
四、選擇題(20題)61.
62.棧和隊列的共同特點(diǎn)是()。
A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒有共同點(diǎn)
63.
64.
65.
66.以下對一維數(shù)組c進(jìn)行正確的定義初始化的語句是
A.intc[10]=0;B.intc[10]={0}*10;
C.intc[1]={0,0,0,0,0,0,0};D.intc[10]={0};
67.以下程序的輸出結(jié)果是()。
A.1B.7C.9D.13
68.
69.
70.有以下程序程序的運(yùn)行結(jié)果是()。
A.3B.1C.2D.0
71.軟件生命周期中花費(fèi)時間最多的階段是
A.詳細(xì)設(shè)計B.軟件維護(hù)C.軟件編碼D.軟件測試
72.有以下程序:
#include<stdio.h>
intfun(intX,inty)
{if(X!=y)return((x+y)/2);
elsereturn(x);
}
main()
{inta=4,b=5,c=6;
printf("%d/n",fun(2*a,fun(b,c)));
}
程序運(yùn)行后的輸入結(jié)果是()。
A.3
B.6
C.8
D.12
73.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.8B.2C.4D.1
74.
75.有以下程序段:
inti,n;
for(i=0;i<8;i++)
{n=rand()%5;
switch(n)
{casel:
case3:printf("%d\n",n);break;
case2:
case4:print?("%d\n",n);continue;
case():exit(0);
}
printf("%d\n",n);
}
以下關(guān)于程序段執(zhí)行情況的敘述,正確的是()。
A.for循環(huán)語句固定執(zhí)行8次
B.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為4時結(jié)束循環(huán)操作
C.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為1和2時不做任何操作
D.當(dāng)產(chǎn)生的隨機(jī)數(shù)n為0時結(jié)束程序運(yùn)行
76.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.10,l4B.8,11C.7,llD.9,l8
77.(53)已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是()
A.cedba
B.acbed
C.decab
D.deabc
78.
79.在JavaScript語言中,要定義局部變量則可以()。
A.由關(guān)鍵字private在函數(shù)內(nèi)定義
B.由關(guān)鍵字private在函數(shù)外定義
C.由var在函數(shù)內(nèi)定義
D.由關(guān)鍵字var在函數(shù)外定義
80.有如下程序:main{intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++.b++;}printf("a=%d,b=%d\n",a,b);}該程序的輸出結(jié)果是()。
A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是計算正整數(shù)m各位上數(shù)字的平方和。 例如,輸入498,則輸出應(yīng)該是161。 請修改程序中的錯誤,使它能得到正確結(jié)果。 注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。 試題程序: #include<stdlib.h> #include<stdio.h> #include<conio.h> longproc(10ngm) {//****found****longsum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum); } voidmain {longn;system("CLS");printf("Pleaseenteranumber:");scanf("%1d",&n);printf("\n%ld\n",proc(n)); }
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下析prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),它的功能是計算下列級數(shù)和,和值由函數(shù)值返回。例如,當(dāng)n=10,x=0.3時,函數(shù)值為1.349859。注意:部分源程序在文件prog1.c中。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.D
2.D解析:在概念設(shè)計中按照模塊的劃分畫出每個模塊的E-R圖,然后把這些圖合成一張E-R圖作為全局模型,最后應(yīng)該對全局E-R圖進(jìn)行優(yōu)化,看看是否有重復(fù)和不合理的地方。不能只是進(jìn)行簡單的合并。
3.C解析:每個C程序有且只有一個主函數(shù)main(),且程序必須從main函數(shù)開始執(zhí)行,并在main()函數(shù)中結(jié)束。
4.A題目中程序不能實(shí)現(xiàn)預(yù)期功能是因為while的循環(huán)條件錯誤。選項B中把“s=1;”改為s=0;”,最終的結(jié)果“s=4”,與題目原意不同。選項C中把“n=1;”,改為“n=0;”最終的結(jié)果“s=2”,與題目原意不同。選項D中把“n=n+1;”改為“n=n*n;”,最終的結(jié)果“s=2”,與題目原意不同。選項A正確地修改了while循環(huán)條件,可以得到正確結(jié)果。故本題答案為A選項。
5.B解析:二維數(shù)組的元素在內(nèi)存中是按行列順序連續(xù)存放的。以本題的二維數(shù)組a[3][6]為例,它的元素在內(nèi)存中的存放順序是:a[0][0]、a[0][1]、a[0][2]…a[0][5]、a[1][0]、\u3000a[1][1]…a[1][5]、a[2][0]…a[2][5]。由此可見,第10個元素就是第2行第4個元素,即a[1][3]。故應(yīng)該選擇B。
6.A
7.A解析:本題考查靜態(tài)變量的問題。函數(shù)f中c是靜態(tài)變量存放在靜態(tài)存儲區(qū),在程序的整個運(yùn)行期間都不釋放占據(jù)的存儲單元。函數(shù)f被調(diào)用3次,調(diào)用過程如下。
第1次調(diào)用;a=2、b=0、c=3,執(zhí)行b++和c++后b=1、c=4,f(a)=a+b+c=2+1+4=7
第2次調(diào)用:a=2、b=0、c=4.執(zhí)行b++和c++后b=1、c=5,f(a)=a+b+c=2+1+5=8
第3次調(diào)用:a=2、b=0、c=5,執(zhí)行b++和c++后b=1、c=6,f(a)=a+b+c=2+1+6=9
所以輸出結(jié)果為選項A。
8.A左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補(bǔ)0。例如,a<<4是把a(bǔ)的各二進(jìn)位向左移動4位。如a=00000011(十進(jìn)制3),左移4位后為00110000(十進(jìn)制48)。
9.A函數(shù)參數(shù)傳遞是個不可逆的過程,形參不會把值傳回實(shí)參,所以A)選項(24)[答案]A)[解析]c的值為a乘以b的值,為3。所以答案選擇A)。
10.B解析:C語言中注釋可以放在任何位置,選項A錯誤;C語言中的變量只要在使用之前定義即可,位置可以是使用前的任何位置,故選項B正確;C語言中兩側(cè)數(shù)據(jù)類型可以不一致,系統(tǒng)可進(jìn)行強(qiáng)制類型轉(zhuǎn)換,選項C錯誤;C語言數(shù)值常量中不允許存在空格,選項D錯誤。
11.DC語言只符由字母、數(shù)字、下劃線組成,且第1個字符必須是字母或下劃線,所以D選項中的連接符不合法。故本題答案為D選項。
12.A解析:本題考查的是位運(yùn)算的知識,對于任何二進(jìn)制數(shù),和1進(jìn)行異或運(yùn)算會讓其取反,而和0進(jìn)行異或運(yùn)算不會產(chǎn)生任何變化。
13.A
14.C
15.B解析:在對程序進(jìn)行測試時會發(fā)現(xiàn)錯誤,這就要進(jìn)行程序調(diào)試(排錯)。程序調(diào)試活動由三部分組成:一是錯誤定位,根據(jù)錯誤的外部表現(xiàn)形式,確定程序中出錯的位置,找出錯誤的內(nèi)在原因;二是對程序進(jìn)行修改,排除這個錯誤;三是進(jìn)行回歸測試,防止引進(jìn)新的錯誤。所以程序調(diào)試的目的就是診斷和改正程序中的錯誤。軟件調(diào)試不能改善軟件的性能,也不能挖掘軟件的潛能。
16.A本題考查switch語句。當(dāng)i=1時,執(zhí)行case1,因為沒有遇到break語句,所以依次往下運(yùn)行,a=a+2=2,a=a+3=5;當(dāng)i=2時,執(zhí)行case2,因為沒有遇到break語句,所以依次往下運(yùn)行,a=a+2=7,a=a+3=10;當(dāng)i=3時,執(zhí)行case3,a=a+1=11,因為沒有遇到break語句,所以依次往下運(yùn)行,a=a+2=13,a=a+3=16;當(dāng)i=4時,執(zhí)行default,a=a+3=19,結(jié)束循環(huán)。
17.D關(guān)系R與s經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。
18.D解析:“&”是求址運(yùn)算符,“*”是指變量說明符。選項A)、B)應(yīng)改為scanf('%d',p);選項C)中指針變量p未指向一確定的內(nèi)存單元,不能為其賦值,并且這樣做很危險,建議不使用。
19.C
20.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á)式的值。
21.*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*
22.buf的首地址buf的首地址解析:考查fgets()函數(shù)的功能,fgets()函數(shù)用來從文件中讀入字符串。調(diào)用格式為:fgets(buf,n,fp)。此處,fp是文件指針,buf是存放字符串的起始地址,n是一個int型變量。調(diào)用函數(shù)fgets()時,最多能讀入n-1個字符,系統(tǒng)自動在最后加字符串結(jié)束標(biāo)志,并以buf作為函數(shù)值返回。
23.246
24.謂詞演算謂詞演算
25.918273645918273645解析:題目中為for循環(huán)定義了兩個字符型循環(huán)變量c1和c2,循環(huán)開始時分別初始化為字符'0'和'9',然后每次循環(huán)結(jié)束給c1增1、c2減1,循環(huán)條件為c1<c2,即讓c1的值依次為'0'、'1'、'2'…,c2的值依次為'9'、'8'、'7'…,直到兩個數(shù)相遇時結(jié)束循環(huán)。又因為該循環(huán)的循環(huán)體每次按字符形式輸出c1和c2的值.所以最終的輸出結(jié)果為:0918273645。
26.gaga解析:考查了用字符指針處理字符串的方法。用字符指針處理字符串,首先要使指針指向這個字符串,即題中的ptr1=a和ptr2=b,然后就是通過指針的移動可以引用到字符串中的每一個字符。題中的*(ptr1+k)是使指針ptr1向后移動k個位置,然后取出指向的字符。
27.33解析:C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結(jié)合。因為x不大于y,所以執(zhí)行printf('%d\\n',z);語句。
28.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(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。
29.bb解析:本題實(shí)現(xiàn)的功能是把大寫字母轉(zhuǎn)換為小寫字母。小寫字母的ASCII碼值比相應(yīng)的大寫字母的ASCII碼值大32。
30.實(shí)體聯(lián)系圖或E-R圖實(shí)體聯(lián)系圖或E-R圖解析:實(shí)體聯(lián)系圖(B-R圖)是實(shí)體聯(lián)系模型中的核心。由于E-R圖描述的是數(shù)據(jù)流圖中數(shù)據(jù)存儲及其之間的關(guān)系,因此它是數(shù)據(jù)庫觀念設(shè)計的最常用的工具。
31.024
32.1-21,-2解析:題中外層while循環(huán)的循環(huán)條件是y--!=-1,即y>=0;內(nèi)層do…while循環(huán)的循環(huán)條件是y--即y-->0,y>=1。注意:break和continue語句在循體中的作用。
33.類類解析:在面向?qū)ο蠓椒ㄖ?,類描述的是具有相似屬性與操作的一組對象。
34.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲區(qū),此題要分配11字節(jié)的單元,把11代入即可。
35.503503解析:先判斷表達(dá)式a<b為假,不執(zhí)行t=a,但執(zhí)行“a=b;b=t;”,a的值為3,b的值為0。再判斷表達(dá)式a<C,值為真,所以執(zhí)行后面的3條語句“t=a;a=c;c=t”,結(jié)果a的值為5,c的值為3,所以最后輸出的結(jié)果為5、0和3。
36.1212解析:本題的第—個for循環(huán)用于紿數(shù)組arr賦初值,第二個for循環(huán)用于求和運(yùn)算。由于第二個for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。
37.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個。
38.分析題目可知,程序中運(yùn)用函數(shù)c=getchar()從標(biāo)準(zhǔn)輸入設(shè)備讀取下一個字符,而且是一行的字符(即沒有換行),所以條件為(c=getchar())!='\\n'。\r\n\r\n
39.靜態(tài)靜態(tài)解析:靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析,代碼質(zhì)量度量等。靜態(tài)測試不實(shí)際運(yùn)行軟件。
40.22解析:本題考查表達(dá)式的運(yùn)算。因為x=1,y=2,所以表達(dá)式(x+y)%2=3%2=1,(int)a/(int)b=(int)}(3/2)=1,因此整個表達(dá)式的結(jié)果為(x+y)%2+(int)a/(int)b=1+1=2。
41.A解析:C語言中,一個字符常量代表ASCII字符集中的一個字符,在程序中用單引號括起來作為字符常量,字符常量的的范圍是0~127。由于字符常量用單引號括起來,所以選項B),C)錯誤,選項D)超過了字符常量的表示范圍。
42.A解析:本題定義了一個指向由3個元素組成的一維數(shù)組的指針變量pa,通過賦值讓它指向具有2行3列的數(shù)組a,此時用指針變量pa,表示數(shù)組元素a[i][j]的形式是pa[im][j])。for循環(huán)執(zhí)行了3次;第一次i值為0,執(zhí)行pa[1][0]=pa[1][0]-1,執(zhí)行后a[1][0]的值變?yōu)?;第二次i值為1,執(zhí)行pa=[1][1]=pa[1][1]-1,執(zhí)行后a[1][1]的值為4;第三次i值為2,執(zhí)行pa[1][2]=1,執(zhí)行后a[1][2]的值變?yōu)?。故prinff語句輸入的值為2+4+1=7。所以,A選項為所選。
43.C解析:本題的while語句是將0賦給k,表達(dá)式的值為0,沒有執(zhí)行循環(huán)體語句。
44.B
45.B解析:可以使用函數(shù)指針來調(diào)用函數(shù)。調(diào)用形式為:(*指針變量)(實(shí)參表列)。注意:調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞。
46.C解析:函數(shù)slzeof(a)的功能是求出字符串a(chǎn)中的字符占用存儲空間的大小,由于字符數(shù)組a有長度為7,所以i=7;函數(shù)strlen(a)的功能是:求出字符串a(chǎn)的長度。而每個字符串都以'\\0'為字符串的結(jié)束標(biāo)記,所以j的值等于2。
47.B數(shù)據(jù)庫管理系統(tǒng)DBMS是數(shù)據(jù)庫系統(tǒng)的核心。DBMS是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護(hù)的軟件。DBMS建立在操作系統(tǒng)之上,實(shí)施對數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過DBMS。另外,DBMS還承擔(dān)著數(shù)據(jù)庫的安全保護(hù)工作,按照DBA所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。
48.C
49.A解析:宏替換用“#define宏名宏體”的形式來定義。在進(jìn)行編譯預(yù)處理時,將把程序中宏定義之后的所有宏名用宏體替換。宏雖然可以帶參數(shù),但宏替換過程中不像函數(shù)那樣要進(jìn)行參數(shù)值的計算、傳遞及結(jié)果返回等操作;宏替換只是簡單的字符替換,不進(jìn)行計算。因而本題中的S(a+b)進(jìn)行宏替換后為PT*1+2*1+2=5.5*1+2*1+2=9.5。注意:帶參數(shù)的宏定義。
50.C解析:在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型可以是整型常量,也可以是整型表達(dá)式。
51.A解析:文件尾測試函數(shù)feof()的應(yīng)用,讀取文件時,當(dāng)文件中的數(shù)據(jù)全部讀完后,文件位置指針將位于文件的結(jié)尾。此時如果讀數(shù)據(jù),將會出現(xiàn)錯誤。為了保證讀寫數(shù)據(jù)的正確性,需要進(jìn)行文件尾測試,文件尾測試使用函數(shù)feof(),它的功能是測試fp指向的文件是否到達(dá)文件尾。若到達(dá)文件尾,返回值為非0,否則返回值為0。在本題中fP指向的某文件還沒有到了文件尾,因此返回0。
52.B解析:本題中ps指向符號串'Ye\\n/No',ps+4表示“/”的地址,故puts(ps+4)輸出符號串/No,執(zhí)行語句*(ps+4)=0后,字符數(shù)組s中的符號串為'Yes\\n\\0No',\'\\0\'是字符串的結(jié)束標(biāo)志,故puts(s)輸出Yes。
53.A解析:本題主要考查的知識點(diǎn)是大寫字母比它對應(yīng)的小寫字母ASCII碼值小32,并且字符可以看作整數(shù)進(jìn)行算術(shù)運(yùn)算等操作。
54.C解析:本題考查if語句。當(dāng)執(zhí)行到第一個滿足(i*i>=20)&&(i*i<=100)這個條件的i出現(xiàn)時,通過break語句跳出循環(huán),執(zhí)行下列的printf語句。
55.B解析:continue語句的作用是跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)條件的判定。當(dāng)能被2整除時,a就會增1,之后執(zhí)行continue語句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進(jìn)行i++,判斷循環(huán)條件。
56.B解析:聲明枚舉類型用enum開頭。例如:enumweekday(sun,mon,tue,wed,thu,fri,sat);說明;1、在C編譯中,對枚單元素按常量處理,同時可以改變他們的值。2、枚舉值可以用來做判斷比較。3、一個整數(shù)不能直接賦給一個牧舉變量。
57.D解析:程序中用#define定義后,PI代表一串字符。
58.B解析:scanf函數(shù)的第一個參數(shù)是格式控制字符串,該字符串中所出現(xiàn)的格式控制符必須與scanf函數(shù)的笫二個及其后面的參數(shù)一一對應(yīng).本題中四個選項的格式控制字符串都是'%d%s',其中包括兩個格式控制符%d和%s,它們分別表示輸入一個十進(jìn)制整數(shù)和輸入一個字符串,其對應(yīng)的參數(shù)應(yīng)該分別為一個整型變量的地址和一個字符型數(shù)組的首地址。變量的地址可以通過對變量做取地址(&)運(yùn)算來得到,而宇符型數(shù)組的首地址則可以直接通過數(shù)組名來得到。所以,4個選項中選項B符合題意。
59.B解析:選項A)中,定義的初值個數(shù)大于數(shù)組的長度;選項C)中,數(shù)組名后少了中括號;選項D)中,整型數(shù)組不能賦予字符串。
60.A解析:本題題意要求刪除所有空格,即除了空格以外的其他所有字符都要留下。由于C語言中沒有直接刪除字符的操作,所以我們對于刪除字符的操作都是采用'留下'字符的算法,以前的題目亦是如此。用str[i]從串頭到串尾逐一走動,每走到一個字符都判斷其是否為空格,若不是空格(注意在if()的單引號之間有一個空格),則將其保存str[j]中。注意j的下標(biāo)變化、初值及最后加串結(jié)束符\'\\0\'。
61.C
62.C解析:考查棧和隊列概念的掌握。棧和隊列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種'后進(jìn)先出'的線性表;而隊列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種'先進(jìn)先出'的線性表。模塊之間的耦合程度反映了模塊的獨(dú)立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強(qiáng),可以將其分成5級,分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項C),沒有這種耦合方式。
63.C
64.B
65.D
6
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 濟(jì)南幼兒師范高等??茖W(xué)?!秱鞲衅骷夹g(shù)于應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北工業(yè)大學(xué)工程技術(shù)學(xué)院《審計實(shí)務(wù)實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025寒假開學(xué)第一課發(fā)言稿(三)
- 食堂就餐優(yōu)惠方案簡單
- 北京大學(xué)a類數(shù)學(xué)試卷
- 山西財經(jīng)大學(xué)華商學(xué)院《中國工藝美術(shù)史》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄂爾多斯職業(yè)學(xué)院《生物醫(yī)學(xué)傳感器實(shí)驗》2023-2024學(xué)年第二學(xué)期期末試卷
- 湘教版數(shù)學(xué)七年級下冊《垂線》聽評課記錄
- 【公開課教案】仰臥起坐-八年級全一冊體育與健康教學(xué)設(shè)計
- 部編人教版道德與法治九下6.1《學(xué)無止境》配套聽課評課記錄
- 《化工設(shè)備機(jī)械基礎(chǔ)(第8版)》完整全套教學(xué)課件
- 疥瘡病人的護(hù)理
- 2024年江西省中考英語試題含解析
- GB/T 23473-2024林業(yè)植物及其產(chǎn)品調(diào)運(yùn)檢疫規(guī)程
- 公務(wù)員2012年國考《申論》真題卷及答案(地市級)
- 跨學(xué)科實(shí)踐活動2 制作模型并展示科學(xué)家探索物質(zhì)組成與結(jié)構(gòu)的歷程(分層作業(yè))-九年級化學(xué)上冊同步高效課堂(人教版2024)(解析版)
- 新員工三級安全教育考試試題參考答案
- 山東省物流工程師職稱考試參考試題及答案(新版)
- 35kV輸變電工程(變電站、輸配電線路建設(shè))技術(shù)方案
- 數(shù)學(xué)史簡介課件可編輯全文
- 化學(xué)廢水水池清理施工方案
評論
0/150
提交評論