版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021-2022年山東省菏澤市全國計算機(jī)等級考試C語言程序設(shè)計重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.下列條件語句中,輸出結(jié)果與其他語句不同的是()。
A.if(a!=0)printf(“%d\n”,x);elseprintf(“%d\n”,y);
B.if(a==0)printf(“%d\n”,y);elseprintf(“%d\n”,x);
C.if(a==0)printf(“%d\n”,x);elseprintf(“%d\n”,y);
D.if(a)printf(“%d\n”,x);elseprintf(“%d\n”,y);
2.有以下程序:
程序運(yùn)行后的輸出結(jié)果是().
A.1,3
B.2,3
C.1,4
D.1,2
3.線性表的順序存儲結(jié)構(gòu)是一種()。
A.隨機(jī)存取的存儲結(jié)構(gòu)B.順序存取的存儲結(jié)構(gòu)C.索引存取的存儲結(jié)構(gòu)D.Hash存取的存儲結(jié)構(gòu)
4.求2n個數(shù)中的最大值和最小值,最少的比較次數(shù)是()
A.4n/3B.2n-2C.3n-2D.3n/2
5.若有定義“intx,y;”,并已正確給變量賦值,則以下選項中與表達(dá)式“(x-y)?(x++):(y++)”中的條件表達(dá)式“(x-y)”等價的是()。
A.(x-y<0||x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y==0)
6.排序方法中,將整個無序序列分割成若干小的子序列并分別進(jìn)行插入排序的方法,稱為______。
A.希爾排序B.冒泡排序C.插入排序D.選擇排序
7.有以下程序:#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++)printf("%d.",aa[i]);printf("\n");}其輸出結(jié)果是()。
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.9,2,7,4,5,6,3,8,1,10,
D.1,10,3,8,5,6,7,4,9,2,
8.若以下選項中的變量已正確定義,則正確的賦值語句是()。
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
9.以下敘述中正確的是()。
A.C語言比其他語言高級
B.C語言可以不用編譯就被計算機(jī)識別并執(zhí)行
C.C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
D.C語言出現(xiàn)最晚,具有其他語言的一切優(yōu)點(diǎn)
10.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測試計劃B.軟件詳細(xì)設(shè)計說明書C.用戶手冊D.軟件需求規(guī)格說明書
11.計算機(jī)識別.存儲和加工處理的對象被統(tǒng)稱為_________
A.數(shù)據(jù)B.數(shù)據(jù)元素C.數(shù)據(jù)結(jié)構(gòu)D.數(shù)據(jù)類型
12.
13.有以下程序:voidfun1(char*p){char*q;q=p;while(*q!='\0'){(*q)++;q++;}}main(){chara[]={"Program"),*p;p=&a[3];fun1(p)printf("%s\n",A);}程序執(zhí)行后的輸出結(jié)果是()。
A.ProhsbnB.PrphsbnC.ProgsbnD.Program
14.下列程序的輸出結(jié)果是()。main{inta,b,d=25;a=d/10%9;b=a&&(一1);printf("%d,%d\n",a,b);}A.6,1B.2,1C.6,0D.2,0
15.下面程序的輸出結(jié)果是()。#include<stdio.h>intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}main(){inta=7,b=5;printf("%d\n",fun2(a,b)/m);}
A.1B.2C.7D.10
16.變量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
17.
18.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a;++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}
A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=3
19.對于C語言的函數(shù),下列敘述中正確的是()。
A.函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套
B.函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套
C.函數(shù)的定義和調(diào)用都不能嵌套
D.函數(shù)的定義和調(diào)用都可以嵌套
20.以下程序運(yùn)行后,輸出結(jié)果是______。fut(int**s,intp[2][3]){**s=p[1][1];}main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);printf("%d\n",*p);}
A.1B.7C.9D.11
二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是______。
voidswap(intx,inty)
{intt;
t=x;x=y;y=t;printf("%d%d",x,y);
}
main()
{inta=3,b=4;
swap(a,b);printf("%d%d\n",a,b);
}
22.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
23.一個項目具有一個項目主管,一個項目主管可管理多個項目,則實體“項目主管”與實體“項目”的聯(lián)系屬于【】。
24.以下函數(shù)的功能是計算s=1+1/2!+1/3!+……+1/n!,請?zhí)羁铡?/p>
doublefun(intn)
{
doubles=0.0,fac=1.0;inti;
for(i=1,i<=n;i++)
{
fac=fac______;
s=s+fac;
}
returns;
}
25.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{intfun();fun();}
fun()
{staticinta[3]={0,1,2};
inti;
for(i=0;i<3;i++)a[i]+=a[i];
for(i=0;i<3;i++)printf("%d,",a[i]);
printf("\n");}
26.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型;請寫出fun函數(shù)的首部【】(要求形參名為b)。main(){doubles[10][22];intn;……fun(s);……}
27.軟件維護(hù)活動包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
28.軟件設(shè)計模塊化的目的是______。
29.Jackson方法是一種面向【】的結(jié)構(gòu)化方法。
30.若a=1,b=2,c=3,d=4;則條件表達(dá)式a>b?a:c<d?c:d的結(jié)果為()。
31.一個模塊直接調(diào)用的其他模塊的模塊個數(shù)稱為______。
32.若有定義:inta=10,b=8,c=4;然后順序執(zhí)行下列語句后,變量a中的值是()。c=(b-=(a-4));a=(c%2)+(b-1);
33.數(shù)據(jù)庫設(shè)計分為以下6個設(shè)計階段:需求分析階段、______、邏輯設(shè)計階段、物理設(shè)計階段、實施階段、運(yùn)行和維護(hù)階段。
34.以下程序段的輸出結(jié)果是【】。
inti=9;
prinff("%o\n",i);
35.執(zhí)行以下程序后,輸出‘#’號的個數(shù)是【】。
#include<atdio.h>
main()
{inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)putchar('#');
}
36.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。
37.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
38.寫出下列程序的輸出結(jié)果______。
main()
{intn=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
39.以下程序由終端鍵盤輸入一個文件名,然后把從終端鍵盤輸入的字符依次放到該文
件中,用井作為結(jié)束輸入的標(biāo)志。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;
charch,fname[10];
printf("Inputthenameoffile\n");
gets(fname);
if((fp=【】)==NULL)
{printf("Cannotope\n");exit(O);}
printf("Enterdata\n");
while((ch=getchar())!='#')
fputc(【】,fp);
fclose(fp);
}
40.在面向?qū)ο蟪绦蛟O(shè)計中,從外面看只能看到對象有外部特征,而不知道也無需知道數(shù)據(jù)的具體結(jié)構(gòu)以及實現(xiàn)操作的算法,這稱為對象的______。
三、1.選擇題(20題)41.一個漢字的機(jī)內(nèi)碼在計算機(jī)內(nèi)部需用2個字節(jié)存儲,每個字節(jié)的最高位是()
A.0和0B.0和1C.1和0D.1和1
42.以下程序段的輸出結(jié)果是______。intsbr[]={10,8,6,4,2},*p=str+1;printf("%d\n",*(p+2));
A.6B.4C.10D.不確定的值
43.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為______。
A.0B.1C.2D.3
44.若要求從鍵盤讀人含有空格字符的字符串,應(yīng)該使用函數(shù)()。
A.getc()B.gets()C.getchar()D.scanf()
45.下列關(guān)于復(fù)合語句和空語句的說法錯誤的是
A.復(fù)合語句是由“{”開頭,由“}”結(jié)尾的
B.復(fù)合語句在語法上視為一條語句
C.復(fù)合語句內(nèi),可以有執(zhí)行語句,不可以有定義語句部分
D.C程序中的所有語句都必須由一個分號作為結(jié)束
46.下面說明不正確的是()。
A.chara[10]="china";
B.chara[10],*p=a;p="chiua";
C.char*a;a="china";
D.chara[10],*p;p=a="china";
47.c語言規(guī)定,在一個源程序中,main函數(shù)的位置()。
A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C.可以任意D.必須在最后
48.信息隱蔽的概念與下述哪一種概念直接相關(guān)?
A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類型的劃分D.模塊耦合度
49.以下4個選項中,不能看作一條語句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
50.在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負(fù)責(zé)數(shù)據(jù)的查詢及增、刪、改等操作的是
A.數(shù)據(jù)定義語言B.數(shù)據(jù)轉(zhuǎn)換語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言
51.閱讀下面程序,則執(zhí)行后的結(jié)果為#include"stdio.h"longfun(intn){if(n>2)return(fun(n-1)+fun(n-2));elsereturn(2);}main(){printf("%ld\n",fun(5));}
A.10B.15C.20D.以上3個答案都不正確
52.有以下程序段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
53.有以下程序
#include<stdio.h>
intfun(chars[])
{intn=0;
while(*s<='9'&&*s>='0'){n=10*n+*s-'0';s++;}
retum(n);
}
main()
{chars[10]={'6','1','*','4','*','9','*','0','*'};
printf("%d\n",fun(s));
}
程序的運(yùn)行結(jié)果是
A.9B.61490C.61D.5
54.下列哪個是面向?qū)ο蟪绦蛟O(shè)計不同于其他語言的主要特點(diǎn)?
A.繼承性B.消息傳遞C.多態(tài)性D.靜態(tài)聯(lián)編
55.若有以下程序:#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
56.有以下程序main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}程序運(yùn)行后的輸出結(jié)果是______。
A.22B.76C.72D.62
57.在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是
A.樹結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表
58.以下能正確定義一維數(shù)組的選項是A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
59.有以下程序
#inGlude<stdlib.h>
structNODE{
intnum;
structNODE*next;
}
main()
{structNODE*p,*q,*r;
intsum=0;
p=(structNODE*)malloc(sizeof(structNODE));
q=(structNODE*)malloc(sizeof(structNODE));
r=(stnlctNODE*)malloc(sizeof(structNODE));
p->num=1;q->num=2;r->num=3;
p->next=q;q->next;r;r->next=NULL;
sum+=q->next->Num,sum+=p->num;
printf("%d\n",sum);
}
執(zhí)行后輸出結(jié)果是
A.3B.4C.5D.6
60.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=1,b=3;if((++a<0)&&!(b--<=0))printf("%d,%d\n",a,B;elseprintf("%d,%d\n",b,A);}
A.2,2B.1,3C.3,2D.3,1
四、選擇題(20題)61.如下程序的輸出結(jié)果是()。
A.69825B.63825C.6385D.693825
62.若有定義語句:doublea,*P=&a;以下敘述中錯誤的是()。
A.定義語句中的*號是-個間址運(yùn)算符
B.定義語句中的木號是-個說明符
C.定義語句中的P只能存放double類型變量的地址
D.定義語句中,P=&a把變量a的地址作為初值賦給指針變量P
63.有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是()。
64.若有定義intx'y;并已正確給變量賦值。則以下選項中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)式(x_y)等價的是()。
A.(x-y011x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y=o)
65.語句“printf("akbre"\'hi\'y\\\bou\n")”;的輸出結(jié)果是()。
A.akbre\'hi\'y'\\\bou
B.a\bre\'hi\\y\bou
C.re'hi'you
D.abre'hi'y\bou
66.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()。
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+1,x=y,x+1)
67.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.22B.76C.72D.62
68.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.55.B.50C.45D.60
69.
70.下列敘述中正確的是()。A.算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)
B.算法的時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量
C.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)是一一對應(yīng)的
D.算法的時間復(fù)雜度與空間復(fù)雜度一定相關(guān)
71.下列敘述中正確的是()。
A.一個邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)
B.數(shù)據(jù)的邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)影響數(shù)據(jù)處理的效率
72.若有定義語句:
則strlen(s)的值是()。
A.7B.8C.9D.10
73.以下敘述中錯誤的是()。
A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C.C語言是-種結(jié)構(gòu)化程序設(shè)計語言
D.結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法
74.若有以下的定義:‘intt[3][2];”,能正確表示t數(shù)組元素地址的表達(dá)式是()。
A.&t[3][2]B.t[3]C.t[l]D.t[2][2]
75.不能把字符串:Hello!賦給數(shù)組b的語句是()。
A.charb[10]={’H’,’e’,’l’,’l’,’o’,’!’};
B.charb[10];b="Hello!";
C.charb[10];strcpy(b,"Hello!");
D.charb[10]="Hello!";
76.以下敘述中正確的是()。A.A.當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開一個已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個程序中當(dāng)對文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個數(shù)據(jù)
D.c語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
77.某二叉樹共有7個結(jié)點(diǎn),其中葉子結(jié)點(diǎn)只有l(wèi)個,則該二叉樹的深度為(假設(shè)根結(jié)點(diǎn)在第1層)()。
A.3B.4C.6D.7
78.若有定義語句:doublea,*p=&a;,以下敘述中錯誤的是()。
A.定義語句中的*號是一個間址運(yùn)算符
B.定義語句中的*號只是一個說明符
C.定義語句中的P只能存放double類型變量的地址
D.定義語句中,*p=&n把變量a的地址作為初值賦給指針變量P
79.設(shè)變量已正確定義,則以下能正確計算f=n!的程序是()。
A.f=0;for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i<n;i++)f*=i;
C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
80.
以下程序的輸出結(jié)果是()。
unionmyun
{struct
{intx,y,z;)u;
intk:
}a;
main
{a.u.x=4;a.u.y=5;a.u.z=6;
k=0;
printf(%d\n",a.u.x);
}
A.4B.5C.6D.0
五、程序改錯題(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.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,函數(shù)fmi()的功能是將a、b中的兩個正整數(shù)合并成一個新的整數(shù)存放在c中。合并的方式是將a中的十位和個位數(shù)依次放在變量c的十位和千位上,b中的十位和個位數(shù)依次放在變量c的個位和百位上。例如,a=45,b=12,調(diào)用該函數(shù)后,c=5241。注意:部分源程序在文件prog1.c中。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.CA、B、D選項的含義均為:a的值如果為0,輸出y的值,否則輸出x的值。而C選項的含義是:a的值為0時輸出x的值,不為0時輸出y的值,與其他選項正好相反。故本題答案為C選項。
2.Af函數(shù)功能使第二個指針指向的元素增1,第一個指針指向的元素不變,所以答案選擇A)。
3.A
4.A
5.A條件表達(dá)式“x=表達(dá)式1?表達(dá)式2:表達(dá)式3”的含義是:先求解表達(dá)式1,若其值不為0(真),則求解表達(dá)式2,將表達(dá)式2的值賦給x;若表達(dá)式1的值為0(假),則求解表達(dá)式3,將表達(dá)式3的值賦給X。本題中與條件表達(dá)式“(x-y)”等價的是“(x-y<0||lx-y>0)”。故本題答案為A選項。
6.A解析:希爾排序法的基本思想是:將整個無序序列分割成若干小的子序列分別進(jìn)行插入排序。
7.C解析:sort函數(shù)的功能實際上是對數(shù)組中奇數(shù)位置上的數(shù)進(jìn)行從大到小排序。排序后的結(jié)果應(yīng)該為9,2,7,4,5,6,3,8,1,10。
8.C解析:賦值的一般形式為:變量名:表達(dá)式;,賦值的方向為由右向左,即將:右側(cè)表達(dá)式的值賦給:左側(cè)的變量,執(zhí)行步驟是先計算再賦值。選項A中運(yùn)算符%的運(yùn)算對象必須為整數(shù),而選項A中26.8不為整數(shù),故選項A不正確;選項B將一個變量賦值給一個常量,這在C語言中是不允許的,故選項B不正確;選項D中也是將一個常量3賦值給一個常量,故選項D不正確;所以,4個選項中選項C符合題意。
9.C解析:計算機(jī)語言分為低級語言和高級語言,C語言屬于高級語言,但并非比其他語言高級,選項A)錯誤;除了機(jī)器語言外,其他各種語言都必須編譯成能被計算機(jī)識別的機(jī)器代碼才能執(zhí)行,選項B)錯誤;C語言出現(xiàn)于1972年至1973年,并不是出現(xiàn)最晚的語言,選項D)錯誤。
10.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審四個方面。所以選擇D。
11.A
12.C
13.A解析:在函數(shù)fun1()中,首先將形參p的內(nèi)容存入臨時指針q中,然后使用—個while循環(huán),當(dāng)q所指內(nèi)容不是字符串結(jié)束標(biāo)志'\\0\'時,讓q所指內(nèi)容增1,然后將指針q增1指向下一個位置。所以函數(shù)fun1()實現(xiàn)的功能是:將傳入字符串的所有字符自增1。主函數(shù),指針p在被傳入fun1()函數(shù)之前,初始化指向的是寧符數(shù)組a的第4個元素\'g\',所以最終輸出的結(jié)果應(yīng)該是Prohsbn。故應(yīng)該選擇A。
14.B當(dāng)邏輯運(yùn)算符“&&”兩邊的值是非零時,邏輯表達(dá)式的值為真(即為1)。所以b=2&&(-1)=1,2%9=2,故a=2,故先算a/10=25/10=2。
15.B解析:本題考查函數(shù)的調(diào)用。函數(shù)fun2的作用是將形參x和y的值相乘后減去3,在fun2中的變量m是一個局部變量,它的值在fun2函數(shù)內(nèi)有效;在主函數(shù)中的m指的是全局變量,其值為13,所以fun2(a,b)/m的值為(7*5-3)/13,即2。
16.A解析:本題考查的是位運(yùn)算的知識,對于任何二進(jìn)制數(shù),和1進(jìn)行異或運(yùn)算會讓其取反,而和0進(jìn)行異或運(yùn)算不會產(chǎn)生任何變化。
17.A
18.D
19.A
20.C
21.4334
22.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。
23.一對多一對多解析:由于一個項目主管可以管理多個項目,而一個項目只能有一個項目主管,“項目主管”這個實體與“項目”這個實體的管理關(guān)系屬于一對多。
24./i或*1.0/i或*1/i或*(1.0/i)或/(double)i/i或*1.0/i或*1/i或*(1.0/i)或/(double)i解析:主函數(shù)中首先定義了兩個double型的變量s和fac,并給它們賦初值為0.0和1.0,在函數(shù)中s和fac的作用是存放和以及要加到的那一項的值。通過分析可知,第i項的值可以由第i-1項的值得到,即第i項是第i-1項的值除以i??梢姍M線處應(yīng)添“/i”或與它等價的表達(dá)式。
25.0240480,2,4\r\n0,4,8解析:本題主要考查for循環(huán)語句的使用以及靜態(tài)局部變量的特點(diǎn)。
26.
27.完善性軟件維護(hù)活動包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
28.降低復(fù)雜性降低復(fù)雜性
29.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)解析:Jackson方法是—‘種面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化方法。
30.3
31.扇出扇出解析:在結(jié)構(gòu)圖中,調(diào)用一個給定模塊的模塊個數(shù)稱為扇入,一個模塊直接調(diào)用的其他模塊個數(shù)稱為扇出。
32.22解析:本題考查的是基本賦值運(yùn)算符和賦值表達(dá)式。表達(dá)式c=(b-=a-4)等價于c=(b=b-a+4)等價于c=b=2;表達(dá)式a(c%2+(b-1))等價于a=1+2-1=2;因此最后a的值為2。
33.概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)
34.1111解析:格式字符。是以八進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0),因為整數(shù)9的八進(jìn)制為11,所以輸出結(jié)果為11。
35.66解析:本題中,i,j分別為外循環(huán)和內(nèi)循環(huán)的循環(huán)控制變量,外層循環(huán)共執(zhí)行了4次。當(dāng)i=1時,由于內(nèi)層循環(huán)判斷條件(2<=1)為假不執(zhí)行內(nèi)層循環(huán)。當(dāng)i=2時,執(zhí)行內(nèi)層循環(huán),輸出一個#;當(dāng)i=3時,內(nèi)層循環(huán)循環(huán)兩次,輸出兩個#;當(dāng)i=4時,內(nèi)層循環(huán)循環(huán)三次,輸出三個#;當(dāng)i=5時,循環(huán)判斷條件不成立,退出外層循環(huán)。所以一共輸出6個#。
36.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。
37.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因為fun函數(shù)中變量a為static類型,所以每次調(diào)用完于函數(shù)之后,變量a所做的改變都要保存。
38.333,3解析:本題在while(n++<=1)語句后,直接加了分號,說明如果while()的條件為真時,該循環(huán)什么都不做:n++是先取n的當(dāng)前值和1做比較,然后再將n加1。第一次循環(huán),n=0時,循環(huán)條件n++=<1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時,循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時,循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時仍將n加1,得到n=3.退出循環(huán)后執(zhí)行printf語句,第二個printf語句輸出n++,是先輸出n的當(dāng)前值3,然后再將n加l,即程序結(jié)束后得到n=4,但輸出的是3。
39.fopen(fname:"w")
40.對象具有5個基本特點(diǎn):①標(biāo)識唯一性;②分類性;③多態(tài)性;④封裝性;⑤模塊獨(dú)立性好。其中,封裝性是指從外面看只能看到對象的外部特征,對象的內(nèi)部特征即處理能力的實行和內(nèi)部狀態(tài),對外是不可見的,對象的內(nèi)部狀態(tài)只能由其自身改變。\r\n\r\n
41.D
42.B解析:指針變量操作。
43.A解析:C語言中比較表達(dá)式的運(yùn)算結(jié)果為0或1。0代表不成立,1表示成立。
44.B解析:gete()函數(shù)是從文件指針指定的文件中讀入一個字符,并把它作為函數(shù)值返回;getchar()函數(shù)是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個字符,getc()和getehar()都不能讀字符串(可以與循環(huán)語句結(jié)合輸入一個字符串);seanf()函數(shù)不能輸入帶空格的字符串;gets()函數(shù)可以從鍵盤讀入空格字符。
45.C解析:復(fù)合語句內(nèi),不僅可以有執(zhí)行語句,而且還可以有定義語句部分。定義語句應(yīng)該出現(xiàn)在可執(zhí)行語句前面。
46.D解析:C語言中操作一個字符串常量的方法有:
①把字符串常量存放在一個字符數(shù)組之中。
②用字符指針指向字符串,然后通過字符指針來訪問字符串存儲區(qū)域。
當(dāng)字符串常量在表達(dá)式中出現(xiàn)時,根據(jù)數(shù)組的類型轉(zhuǎn)換規(guī)則,它被轉(zhuǎn)換成字符指針。
本題選項D)錯誤的關(guān)鍵是對數(shù)組初始化時,可以在變量定義時整體賦初值,但不能在賦值語句中整體賦值。
47.C解析:不論main函數(shù)在整個過程中的位置如何,一個C程序總是從main函數(shù)開始執(zhí)行的。
48.B解析:采用信息隱蔽的目的就是為了確保每個模塊的獨(dú)立性。
49.D解析:選項D)為兩條語句。
50.C【解析】在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,數(shù)據(jù)操縱語言負(fù)責(zé)數(shù)據(jù)的查詢及增、刪、改等操作。故答案為C。
51.A解析:這是使用遞歸算法求著名的菲波拉奇數(shù)列,并要熟悉函數(shù)的遞歸方法的調(diào)用。
52.D解析:本題考查的知識點(diǎn)是do-while循環(huán)結(jié)構(gòu)循環(huán)執(zhí)行條件的判斷.使用do-while語句必須注意以下幾點(diǎn):
先執(zhí)行語句,后判斷表達(dá)式。所以,無論一開始表達(dá)式的值為“真”還是“假”,循環(huán)體中的語句至少執(zhí)行一次,這一點(diǎn)與while不同,
如果do-while語句循環(huán)體部分是由多個語句組成,則必須用花括號括起來,使其形成復(fù)合語句。
C語言中的do—while語句是在表達(dá)式“真”時重復(fù)執(zhí)行循環(huán)體。
在本題中,循環(huán)執(zhí)行判斷條件為while后面括號里的表達(dá)式即p!=12345&&n<3(意思為p不等于12345且n小于3)是否為“真”,由此可得循環(huán)結(jié)束的條件為:p大于12345或者p小于12345又或者n大于等于3。選項A的意思是:p的值不等于12345并且n的小于3和while后面括號里的表達(dá)式等價是循環(huán)執(zhí)行的條件而不是循環(huán)結(jié)束的條件,所以選項A不正確;選項B的意思是:p的值等于12345并且n的值大于3,不是循環(huán)結(jié)束的條件一個子集,所以選項B不正確;選項C的意思是:p的值不等于12345或者n的值小于3前一半是結(jié)束條件的子集,后一部分不是結(jié)束條件,所以選項C不正確;選項D描述的意思是:p的值等于12345或者你的大于等于3是結(jié)束條件的子集,所以選項D滿足題意。所以4個選項中D正確。
53.C解析:在fin函數(shù)中,while循環(huán)的功能是:逐個取字符數(shù)組s的字符判斷其是否是數(shù)字。若是則將其作為個位數(shù)字保存到變量n中,n的原數(shù)據(jù)的各個數(shù)位將相應(yīng)左移一個十進(jìn)制位。當(dāng)指針s指向數(shù)組的第3位時,循環(huán)條件不成立,循環(huán)結(jié)束,返回n的值,輸出n的值為61。
54.A解析:繼承是一個子類直接使用父類的所有屬性和方法。它可以減少相似的類的重復(fù)說明,從而體現(xiàn)出一般性與特殊性的原則,這使得面向?qū)ο蟪绦蛟O(shè)計語言有了良好的重用性,也是其不同于其他語言的主要特點(diǎn)。故答案為A。
55.D解析:在C語言中,數(shù)組元素下標(biāo)是從0開始的;指針變量p指向數(shù)組的首地址。for循環(huán)語句中,指針變量p始終指向數(shù)組的首地址,因而執(zhí)行循環(huán)賦值語句后數(shù)組各元素的值均變?yōu)?。
56.C題目中需要求出程序的輸出值i,j,其中i的值由sizeof決定,j的值由strlen函數(shù)決定。
sizeof是C語言的一種運(yùn)算符,以字節(jié)的形式給出操作數(shù)的存儲空間的大小。sizeof的操作對象可以是具體的數(shù)據(jù)類型,也可以是變量。題目中的操作數(shù)為數(shù)組名,利用sizeof可計算出數(shù)組所占用內(nèi)存的字節(jié)數(shù),題目中數(shù)組類型為char,大小為7,故該數(shù)組占用的內(nèi)存數(shù)為7。
strlen函數(shù)則是計算一段字符串的長度,可以從整個字符串的頭部開始計算,也可以從字符串的中間開始計算,當(dāng)碰到第一個字符串結(jié)束符“\\0”,則停止計算,返回當(dāng)前的計算值。題目中在前兩個字符之后就出現(xiàn)了結(jié)束符“\\0”,故strlen函數(shù)的值為2。
57.D解析:在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個關(guān)系。即關(guān)系模型是用表格數(shù)據(jù)來表示實體本身及其相互之間的聯(lián)系。本題的正確答案是D。
58.B解析:選項A定義數(shù)組時省略了長度,而C語言中規(guī)定,只有在定義并同時進(jìn)行初始化時,數(shù)組的長度才可以省略,數(shù)組的長度為初始化時候的成員個數(shù),故選項A錯誤;在C語言中規(guī)定,數(shù)組的長度必須是一個整數(shù)或整型常量表達(dá)式,故選項C不正確:定義時數(shù)組的長度不能使用變量表示,故選項D不正確,所以,4個選項中選項B符合題意。
59.B解析:本題中定義了一個結(jié)點(diǎn)structNODE,在主函數(shù)中定義了三個結(jié)點(diǎn)變量指針p、q和r,接著通過malloc函數(shù)分配了三個結(jié)點(diǎn)并讓p、q和r分別指向他們,再接著給p、q和r所指向的結(jié)點(diǎn)的num域賦值為1、2、3,然后讓結(jié)點(diǎn)p指向q,讓q指向r,r指向NULL。顯然q->next->num的值為指針r所指向結(jié)點(diǎn)的num域的值為3,p->hum的值為指針P所指向結(jié)點(diǎn)的num域的值為1,故最后輸出s的值為3+1=4。
60.C
61.C考查通過指針引用字符串?dāng)?shù)組中的元素。通過行指針P來實現(xiàn)數(shù)組元素的引用。用格式說明符%s進(jìn)行整串輸入與輸出。
本題中,每行字符指針跳躍式右移動,隔2個移動一次,s存放處理的累計和。
第一行中
s指針行下標(biāo)變化,轉(zhuǎn)向第二行
第二行中
得出結(jié)果S=6385
62.A在變量定義doublea,*P:&a;中,}號是一個指針運(yùn)算符,而非間址運(yùn)算符,所以A錯誤。
63.AA)選項:再能將一個字符串賦值給一個字符變量,所以選擇A)。
64.A條件表達(dá)式:X----表達(dá)式l?表達(dá)式2:表達(dá)式3的含義是:先求解表達(dá)式1,若其值為非0(真),則求解表達(dá)式2,將表達(dá)式2的值賦給x,若表達(dá)式1的值為o(假),則求解表達(dá)式3,將表達(dá)式3的值賦給x。在本題中與表達(dá)式(x_y)等價的是(x—y<011x—y>0),A選項正確。
65.C先輸出a、b表示退一格,當(dāng)執(zhí)行到:\b后,光標(biāo)往后退,接著輸出re'hi'y\(反斜杠后又加一個反斜杠的意思是要輸出一個反斜杠),此時又執(zhí)行:\b后,\就被ou覆蓋。
66.C逗號表達(dá)式,其值為最后一個表達(dá)式的值。如A,值為x+1,x=6,所以結(jié)果為7,而C,x+y,x=6,y=6,x+y=12.
67.C字符數(shù)組的元素數(shù)量在定義時已經(jīng)確定,與其存儲的內(nèi)容無關(guān),本題中語句chara[7]定義了由7個字符元素組成的字符數(shù)組,其sizeof(a)=7。字符數(shù)組常常存儲字符串,但其存儲的字符串長度與數(shù)組長度沒有直接關(guān)聯(lián)。c語言規(guī)定,字符串從首字符開始,以第一個值為ASCIl碼0的字符結(jié)尾,其中的非0字符數(shù)量就是字符串的長度。在本題
68.D內(nèi)部靜態(tài)變量是始終存在的,當(dāng)函數(shù)被調(diào)用退出后,內(nèi)部靜態(tài)變量會保存數(shù)據(jù),再次調(diào)用該函數(shù)時,以前調(diào)用時的數(shù)值仍然保留著。m(a,5)的值是15,再次調(diào)用后Ⅲm=15,所以fun(b,4)=45,s=45+15=60。因此D選項正確。
69.B
70.B解析:本題考查數(shù)據(jù)結(jié)構(gòu)中有關(guān)算法的基本知識和概念。數(shù)據(jù)的結(jié)構(gòu),直接影響算法的選擇和效率。而數(shù)據(jù)結(jié)構(gòu)包括兩方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的存儲結(jié)構(gòu)。因此,數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)都影響算法的效率。選項A的說法是錯誤的。算法的時間復(fù)雜度是指
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中秋佳節(jié)話題作文六百字左右
- 學(xué)校年元旦晚會活動策劃
- 2024-2025學(xué)年高中數(shù)學(xué) 第3章 數(shù)系的擴(kuò)充與復(fù)數(shù)的引入 3.2 復(fù)數(shù)代數(shù)形式的四則運(yùn)算 3.2.2 復(fù)數(shù)代數(shù)形式的乘除運(yùn)算(教師用書)教學(xué)實錄 新人教A版選修2-2
- 五年級信息上冊 第7課鍵盤高手教學(xué)實錄 湘教版
- 小學(xué)廣播稿15篇
- 萬圣節(jié)的活動策劃15篇
- 企管工作計劃匯編九篇
- 土木工程認(rèn)知實習(xí)報告合集八篇
- 電廠高壓試驗工(中級)復(fù)習(xí)題復(fù)習(xí)測試卷附答案
- 常壓儲罐應(yīng)知復(fù)習(xí)測試附答案
- 數(shù)學(xué)-2025年高考綜合改革適應(yīng)性演練(八省聯(lián)考)
- 2024版定制家具生產(chǎn)與知識產(chǎn)權(quán)保護(hù)合同范本2篇
- 2024年秋季學(xué)期無機(jī)化學(xué)(藥)期末綜合試卷-國開(XJ)-參考資料
- 2024年個人總結(jié)、公司規(guī)劃與目標(biāo)
- 市場營銷試題(含參考答案)
- 2025年1月浙江省高中學(xué)業(yè)水平考試政治試卷試題(含答案解析)
- 信用評級機(jī)構(gòu)的責(zé)任與風(fēng)險管理考核試卷
- 專題1數(shù)列的通項公式的求法-高二上學(xué)期數(shù)學(xué)人教A版選擇性必修第二冊
- 工程建設(shè)安全專項整治三年行動實施方案
- 2025年中國帽子行業(yè)發(fā)展現(xiàn)狀、進(jìn)出口貿(mào)易及市場規(guī)模預(yù)測報告
- 工地高處墜落防范與措施方案
評論
0/150
提交評論