




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021年浙江省紹興市全國計算機等級考試C語言程序設計模擬考試(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序:structSTU{charname[10];intnum;floatTotalScore;};voidf(structSTU*p){structSTUs[2]={{"SunDan",20044,550},{"Penghua",20045,537}},*q=s;++p;++q;*p=*q;}main(){structSTUs[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};f(s);printf("%s%d%3.0f\n",s[1].name,s[1].num,s[1].TotalScore);}程序運行后的輸出結果是______。
A.SunDan20044580
B.Penghua20045537
C.LiSiGUO20042580
D.SunDan20041703
2.有以下程序:#include<stdio.h>main(){FILE*fp;charstr[10];fp=fopen(“myfile.dat”,“w”);fputs(“abc”,fp);fclose(fp);fp=fopen(“myfile.dat”,“a+”);fprintf(fp,“%d”,28);rewind(fp);fscanf(fp,“%s”,str);puts(str);fclose(fp);}程序的運行結果是()。
A.abcB.28cC.abc28D.因類型不一致而出錯
3.以下程序中函數(shù)sort的功能是對數(shù)組a中的數(shù)據(jù)進行由大到小的排序:#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[]={1,2,3,4,5,6,7,8,9,10},i;son(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序運行后的輸出結果是()。
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.1,2,3;8,7,6,5,4,9,10,
D.1,2,10,9,8,7,6,5,4,3,
4.下列描述中正確的是______。
A.軟件工程只是解決軟件項目的管理問題
B.軟件工程主要解決軟件新產(chǎn)品的生產(chǎn)率問題
C.軟件工程的主要思想是強調在軟件開發(fā)過程中需要應用工程化原則
D.軟件工程只是解決軟件開發(fā)中的技術問題
5.下面關于哈希(Hash,雜湊)查找的說法正確的是()
A.哈希函數(shù)構造的越復雜越好,因為這樣隨機性好,沖突小
B.除留余數(shù)法是所有哈希函數(shù)中最好的
C.不存在特別好與壞的哈希函數(shù),要視情況而定
D.若需在哈希表中刪去一個元素,不管用任何方法解決沖突都只要簡單地將該元素刪去即可
6.
7.if語句的基本形式是:if(表達式)語句,以下關于“表達式”值的敘述中正確的是A.A.必須是邏輯值
B.必須是整數(shù)值
C.必須是正數(shù)
D.可以是任意合法的數(shù)值
8.對關系S和R進行集合運算,結果中既包含S中的所有元組也包含R中的所有元組,這樣的集合運算稱為()
A.并運算B.交運算C.差運算D.積運算
9.設R是一個二元關系,S是一個三元關系,則下列運算中正確的是()。
A.R-SB.R×SC.R∩SD.R∪S
10.插入和刪除只能在一端進行線性表,稱為()。
A.隊列B.循環(huán)隊列C.棧D.循環(huán)棧
11.以下關于鏈式存儲結構的敘述中,()是不正確的。
A.結點除自身信息外還包括指針域,因此存儲密度小于順序存儲結構
B.邏輯上相鄰的結點物理上不必鄰接
C.可以通過計算直接確定第i個結點的存儲地址
D.插入、刪除運算操作方便,不必移動結點
12.以下敘述中正確的是
A.語句inta[8]={0};是合法的
B.語句inta[]={0};是不合法的,遺漏了數(shù)組的大小
C.語句chara[2]={"A","BII};是合法的,定義了一個包含兩個字符的數(shù)組
D.語句chara[3];a="AB";是合法的,因為數(shù)組有三個字符空間的容量,可以保存兩個字符
13.下列程序的輸出結果是
#include"stdio.h"
#defineN3
#defineM3
voidfun(inta[M][N])
{printf("%d\n",*(a[1]+2));}
main()
{inta[M][N];
inti,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=i+j-(i-j);
fun(a);}A.A.3B.4C.5D.6
14.設有6個結點的無向圖,該圖至少應有()條邊才能確保是一個連通圖。
A.7B.5C.8D.6
15.以下正確的字符串常量是()。
A."\\\"B.abcC.OlympicGamesD.""
16.設有定義“intm=1,n=2;”,則以下if語句中,編譯時會產(chǎn)生錯誤信息的是()。
A.if(m>n)m--elsen--;
B.if(m=n){m++;n++;}
C.if(m<0&&n<0){}
D.if(m>0);elsem++;
17.若有定義“inta,b;”,通過語句“scanf(“%d;%d,”&a,&b)能把整數(shù)3賦給變量a、5賦給變量b的輸入數(shù)據(jù)是()。
A.35B.3,5C.3;5D.35
18.已知大寫字母A的ASCII值是65,小寫字母a的ASCII值是97。下列不能將變量c中的大寫字母轉換為對應小寫字母的語句是()。
A.c=(‘A’,+c)%26-‘a(chǎn)’B.c=c+32C.c=c-‘A’+‘a(chǎn)’D.c=(c-‘A’)%26+‘a(chǎn)’
19.兩個或兩個以上模塊之間關聯(lián)的緊密程度稱為()。
A.耦合度B.內聚度C.復雜度D.數(shù)據(jù)傳輸特性
20.
二、2.填空題(20題)21.下列程序段的運行結果是______。
intx=0,y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
22.以下程序的輸出結果是#include<stdio.h>structstiintx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&it[0],60,&dt[0],};main(){p=aa;printf("%d\n",++(p->x));}
23.在面向對象方法中,信息隱蔽是通過對象的______性來實現(xiàn)的。
24.C語言用于結構化程序設計的3種基本結構是______、選擇結構和循環(huán)結構。
25.由25人圍坐成圓圈,先從任意一人出發(fā)用1到25順時針依次編號,然后從1號開始順時針報數(shù)(1、2、3…),凡報5的倍數(shù)者出圈,剩下者繼續(xù)報數(shù),求出最后出圈者的編號。
#include<stdio.h>
【】
{inta[26],j,n,count;
for(j=1;j<=25;j++)a[j]=j;
j=1;count=0;n=【】;
do
{if(a[j]!=0)
{n++;
if(n%5==0)
{【】;
if(count==24)printf("%d\n",j);
count++;
}
}
j++;
if(j>25)j=1;
}
while(【】);
}
26.設Y是int型變量,請寫出判斷Y為奇數(shù)的關系表達式【】。
27.以下程序的輸出結果是______。
#include<stdio.h>
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf("%d",*p);
}
28.Jackson方法是一種面向【】的結構化方法。
29.一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【】。
30.軟件工程研究的內容主要包括:【】技術和軟件工程管理。
31.函數(shù)compare的功能是比較兩個字符串是否相等,若相等則函數(shù)返回值0,否則返回值1,請?zhí)羁铡?/p>
compare(chars[],chart[])
{inti=0;
while(s[i]==t[i]||【】)i++;
return(【】?1:0);
}
32.度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為______。
33.以下程序的功能是根據(jù)輸入的“y”(“Y”)與“n”(“N”),在屏幕上分別顯示出“ThisisYES.”與“ThisisNO.”??瞻滋幮枰钊氲膬热菔?/p>
#include<stdio.h>
voidYesNo(charch)
{switch(ch)
{case'y':
case'Y':printf("\nThisisYES.\n");
case'n':
case'N':Printf("\nThisisNO.\n");}}
main()
{charch;
printf("\nEnte
34.下列程序的功能是計算數(shù)的階乘。
main()
{ihti,n;
nlongnp;
scanf("%d",&n);
np=【】;
for(i=2;i<=n;i++)
【】;
printf("n=%dn!=%ld\n",n,np);
}
35.在關系運算中,【】運算是對兩個具有公共屬性的關系所進行的運算。
36.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{
inti;
for(i=1;i<K;i++)
{…}
…
}
37.下面程序的運行結果是【】。
#inelude<stdio.h>
intf(inta[],intn)
{if(n>1)returna[0]+f(&a[1],n-1);
elsereturna[0];
}
main()
{intaa[3]={1,2,3},s;
s=f(&aa[0],3);printf("%d\n",s);
}
38.以下程序的運行結果是【】。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
39.棧和隊列通常采用的存儲結構是【】。
40.在面向對象方法中,類的實例稱為______。
三、1.選擇題(20題)41.有以下程序main(){union{unsignedintn;unsignedcharC;}ul;u1.C='A';printf("%c\n",u1.n);}執(zhí)行后輸出結果是
A.產(chǎn)生語法錯B.隨機值C.AD.65
42.以下程序中函數(shù)f的功能是將n個字符串按由大到小的順序進行排序。#include<string.h>voidf(charp[][10],intn){chart[20];inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strcmp(p[i],p[j]<0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){charp[][10]={"abc","aabdfg","abbd","dcdbe","cd"};inti;f(p,5);printf("%d\n",strlen(p[0]));}程序運行后的輸出結果是()。
A.6B.4C.5D.3
43.以下合法的賦值語句是______。
A.X=Y=100B.D-;C.X+Y;D.C=int(A+B)
44.C語言程序的基本單位是______。
A.程序行B.語句C.函數(shù)D.字符
45.有以下程序#include<stdlib.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf(“%s%s”,p,q);printf(“%s%s\n”,p,q);}若從鍵盤輸入:abcdef<回車>,則輸出結果是
A.defdefB.abcdefC.abcdD.dd
46.設a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達式中,值為0的表達式是______。
A.'a'&&'b'
B.a<=b
C.a||+c&&b-c
D.!((a<b)&&!c||1)
47.下列敘述中正確的是______。
A.C程序中注釋部分可以出現(xiàn)在程序中任何合適的地方
B.花括號""{""和""}""只能作為函數(shù)體的定界符
C.構成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號是C語句之間的分隔符,不是語句的一部分
48.假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入:PROGABCDEFGHIJKL<回車>,則輸出結果為main(intargc,char*argv0[]){while(--argc>0)printf("%s",argv[argc]);printf("\n");}
A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH
49.運行下面的程序,其輸出結果為______。main(){printf("%d,%d",5%-3,-5%3);}
A.2,-2B.-2,2C.-2,-2D.2,2
50.設計程序時,應采納的原則之一是()。
A.程序的結構應有助于讀者的理解B.限制goto語句的使用C.減少或取消注釋行D.程序越短越好
51.以下程序的運行結果是
#defineMAX(A,B)(A)>(B)?(A):(B)
#definePRINT(Y)printf("Y=%d\t",Y)
main()
{inta=1,b=2,c=3,d=4,t;
t=MAX(a+b,c+d);
PRINT(t);}
A.Y=3B.存在語法錯誤C.Y=7D.Y=0
52.在長度為64的有序線性表中進行順序查找,最壞情況下需要比較的次數(shù)為A.63B.64C.6D.7
53.函數(shù)調用:strcat(strcpy(str1,str2),str3)的功能是______。
A.將串str1復制到串str2中后再連接到串str3之后
B.將串str1連接到串str2之后再復制到串str3之后
C.將串str2復制到串str1中后再將串sir3連接到串str1之后
D.將串str2連接到串str1之后再將串str1復制到串str3中
54.在面向對象中,一個對象請求另一個對象為其服務的方式是通過發(fā)送
A.調用語句B.命令C.口令D.消息
55.下列敘述中錯誤的是()。
A.線性表是由n個元素組成的一個有限序列
B.線性表是一種線性結構
C.線性表的所有結點有且僅有一個前件和后件
D.線性表可以是空表
56.以下程序#include<string.h>main(){chara1[80],a2[80],*s1=a1,*s2=a2;gets(s1);gets(s2)if(!strcmp(s1,s2))printf("*");elseprintf("#");printf("%d\n",strlen(strcat(s1,s2)));}如果從鍵盤上輸入:book<回車>book<空格><回車>則輸出結果是()
A.*8B.#9C.#6D.*9
57.有以下程序:inta=2;intf(intn){staticinta=3;intt=0;if(n%2)(staticinta=4;t+=a++;}else{staticinta=5;t+=a++;}returnt+a++;}matin(){ints=a,i;for(i=0;i<3;i++)s+=f(i);printf("%d\n",s);}程序運行后的輸出結果是______。
A.26B.28C.29D.24
58.下列描述中正確的是()。
A.軟件工程只是解決軟件項目的管理問題
B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題
C.軟件工程的主要思想是強調在軟件開發(fā)過程中需要應用工程化原則
D.軟件工程只是解決軟件開發(fā)中的技術問題
59.函數(shù)的值通過return語句返回,下面關于return語句的形式描述錯誤的是
A.return表達式;
B.return(表達式);
C.一個return語句可以返回多個函數(shù)值
D.一個return語句只能返回一個函數(shù)值
60.有以下程序:main(intargc,char*argv[]){intn=0,i;for(i=1;i<argc;i++)n=n*10+argv[i]-'0';printf("%d\n",n);}編繹連接后生成可執(zhí)行文件tt.exe.若運行時輸入以下命令行tt12345678程序運行后的輸出結果是()。
A.12B.12345C.1.23457e+007D.136
四、選擇題(20題)61.在面向對象方法中,不屬于“對象’’基本特點的是()。A.一致性B.分類性C.多態(tài)性D.標識唯一性
62.有以下程序段
main()
{charx=040;
printf("%d\n",x<<1);}
程序執(zhí)行后輸出的結果是
A.100B.80C.64D.32
63.第
15
題
非空的循環(huán)單鏈表head的尾結點(由p所指向),滿足
A.p->next==NULLB.p==NULLC.p->next=headD.p=head
64.
65.下列敘述中正確的是()。
A.循環(huán)隊列是隊列的一種鏈式存儲結構
B.循環(huán)隊列是隊列的一種順序存儲結構
C.循環(huán)隊列是非線性結構
D.循環(huán)隊列是一種邏輯結構
66.用黑盒技術測試用例的方法之一為
A.因果圖B.邏輯覆蓋C.循環(huán)覆蓋D.基本路徑測試
67.有如下程序段
#include"stdio.h"
voidfun(int*a,int*b,int*c,int*d,int*e)
{inti,j,k,m;
for(i=0;i<*a;i++)
for(j=0;j<*b;j++)
for(k=0;k<*c;k++)
for(m=0;m<*d;m++)
++*e;
}
main()
{inta=10,b=10,c=10,d=10,e=0;
fun(&a,&b,&c,&d,&e);
printf("%d\n",e);}
則程序段的輸出結果是
A.10000B.1000
C.100D.0
68.
69.若函數(shù)調用時的實參為變量時,以下關于函數(shù)形參和實參的敘述中正確的是()。
A.函數(shù)的形參和實參分別占用不同的存儲單元
B.形參只是形式上的存在,不占用具體存儲單元
C.同名的實參和形參占同一存儲單元
D.函數(shù)的實參和其對應的形參共占同一存儲單元
70.在下列關系運算中,不改變關系表中的屬性個數(shù)但能減少元組個數(shù)的是
A.連接B.選擇C.投影D.笛卡兒乘積
71.語句int(*ptr)的含義是()。
A.ptr是一個返回值為int的函數(shù)
B.ptr是指向int型數(shù)據(jù)的指針變量
C.ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù)
D.ptr是一個函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針
72.以下數(shù)組定義中錯誤的是()。
73.利用E-R模型進行數(shù)據(jù)庫的概念設計,可以分成3步:首先設計局部E-R模型,然后把各個局部E-R模型綜合成一個全局的模型,最后對全局E-R模型進行(),得到最終的E-R模型。
A.簡化B.結構化C.最小化D.優(yōu)化
74.
75.在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。A.概要設計B.詳細設計C.可行性分析D.需求分析
76.若有語句:Char*line[5];,以下敘述中正確的是()。
A.定義line是一個數(shù)組,每個數(shù)組元素是一個基類型為Char的指針變量
B.定義line是一個指針變量,該變量可以指向一個長度為5的字符型數(shù)組
C.定義line是一個指針數(shù)組,語句中的*號稱為間址運算符
D.定義line是一個指向字符型函數(shù)的指針
77.
78.下列敘述中錯誤的是()。
A.一種數(shù)據(jù)的邏輯結構可以有多種存儲結構
B.數(shù)據(jù)的存儲結構與數(shù)據(jù)的處理效率無關
C.數(shù)據(jù)的存儲結構與數(shù)據(jù)的處理效率密切相關
D.數(shù)據(jù)的存儲結構在計算機中所占的空間不一定是連續(xù)的
79.
80.下列是用戶自定義標識符的是
A._w1B.3_xyC.intD.LINE-3
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)整型形參n,計算如下公式的值:A1=1,A2=1/(5+A1),A3=1/(5+A2),…,An=1/(5+A(n-1))例如,若n一10,則應輸出0.192582。請修改程序中的錯誤,使它能得到正確結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:
六、程序設計題(1題)82.編寫函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素數(shù)存人XX所指數(shù)組中,非素數(shù)的個數(shù)通過k返回。
例如,若輸入17,則應輸出:46891012141516。注意:部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
參考答案
1.B解析:f函數(shù)用了顯式傳地址的方式,因此主函數(shù)中的s值發(fā)生了變化。
2.Cfprintf函數(shù)將內容寫入硬盤的文件,fputs函數(shù)將字符串寫入文件,最終文件的內容為abc28。故本題答案為C選項。
3.C解析:在main函數(shù)中調用sort函數(shù)時,實參&aa[3]把數(shù)組元素aa[3]的首地址傳給形參數(shù)組a,使aa[3]與a[0]相對應。sort函數(shù)將從aa[3]開始的連續(xù)5個數(shù)進行了從大到小的排序,其他數(shù)組元素不變。
4.C解析:軟件工程是解決軟件項目的管理、軟件開發(fā)過程中的技術、軟件產(chǎn)品的生產(chǎn)率等問題,它的主要思想是強調在軟件開發(fā)過程中需要應用工程化原則。
5.C
6.B
7.D
8.AA)【解析】關系的并運算是指由結構相同的兩個關系合并,形成一個新的關系,新關系中包含兩個關系中的所有元組。
9.BB?!窘馕觥筷P系的交(∩)、并(∪)和差(-)運算要求兩個關系是同元的,顯然作為二元的R和三元的S只能做笛卡兒積運算。
10.C
11.C
12.AB選項中,如給全部元素賦值,則在數(shù)組說明中,可以不給出數(shù)組元素的個數(shù);C選項中,chara[2]={"","B"};不合法,應為chara[2]={′A′,′B′};;D選項中,字符數(shù)組只能在定義的時候可以用字符串常量來初始化,但不能夠先定義字符數(shù)組,然后再用字符串常量進行賦值。因此A選項正確。
13.B
14.B
15.D選項A中“\\\”為轉義字符,故選項A錯誤,選項B和C顯然不是字符串常量。選項D是一個字符串常量,稱為空串。
16.A選項A中,if語句的語句塊“m--”后面少了分號,不合法,編譯會出錯。其他選項都是正確的。故本題答案為A選項。
17.C輸入數(shù)據(jù)的格式必須與scanf的格式控制字符串完全匹配。函數(shù)中非格式字符需要原樣輸入,所以輸入時必須在3和5之間輸入“;”。故本題答案為C選項。
18.A根據(jù)題意可知,小寫字母比與之對應的大寫字母的ASCII值大32。A選項中字符W加變量c再對字母個數(shù)26取余,不能轉換為對應的小寫字母。故本題答案為A選項。
19.A解析:本題考核模塊獨立性的評價。評價模塊獨立性的主要標準有兩個;一是模塊之間的耦合,它表明兩個模塊之間互相獨立的程度,也可以說是兩個或兩個以上模塊之間關聯(lián)的緊密程度(所以,本題的正確答案為選項A);二是模塊內部之間的關系是否緊密,稱為內聚。一般來說,要求模塊之間的耦合盡可能地弱,即模塊盡可能獨立,而要求模塊的內聚程度盡量地高。
20.B
21.8208,20解析:本題考查while循環(huán)和++運算符的運用。x=0符合條件x<15,則執(zhí)行y++,x+=++y后,y=1,x=0+2=2后y=2,符合條件繼續(xù)循環(huán),y=3,x=x+4=6后y=4,再循環(huán)y=5,x=x+6=6+6=12后,y=6,繼續(xù)循環(huán)y=7,x=x+8=12+8-20,此時y=8。
22.C
23.封裝封裝
24.順序結構順序結構解析:結構化程序有3種摹本結構,即順序結構、選擇結構(包括if語句和switch語句)和循環(huán)結構(包括for語句、while語句、do…while語句)。
25.main()0a[j]=0count<25
26.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
27.指針P指向數(shù)組a的首地址,執(zhí)行語句p++;后p指向數(shù)組a的第2個元素的地址,即a[1]的地址,因此*p=a[1]=4。\r\n\r\n
28.數(shù)據(jù)結構數(shù)據(jù)結構解析:Jackson方法是—‘種面向數(shù)據(jù)結構的結構化方法。
29.可重用性繼承的優(yōu)點:相似的對象可以共享程序代碼和數(shù)據(jù)結構,從而大大減少了程序中的冗余,提高軟件的可重用性。
30.軟件開發(fā)
31.s[i]!='\0'||t[i]!='\0's[i]=='\0'&&t[i]=='\0's[i]!='\\0'||t[i]!='\\0'\r\ns[i]=='\\0'&&t[i]=='\\0'
32.4545解析:對于長度為N的線性表,在最壞情況下(即線性表中元素現(xiàn)在的順序與目標順序正好相反),冒泡排序需要經(jīng)過N/2遍的從前往后的掃描和N/2遍的從后往前的掃描,需要的比較次數(shù)為N(N-1)/2。
33.
34.1np*=i或np=np*i1\r\nnp*=i或np=np*i
35.自然連接自然連接解析:在關系運算中,自然連接運算是對兩個具有公共屬性的關系所進行的運算。
36.44解析:將程序中所有的宏替換掉可得:M=2+1,K=2+1*2+1/2=4,所以for循環(huán)共循環(huán)了K-1+1次,即4-1+1共4次。
37.66解析:已知aa[3]={1,2,3},n=3,調用函數(shù)f,n>1成立,執(zhí)行a[0]+f(&a[1],n-1);即1+f(&a[1],2),遞歸調用函數(shù)f,將a[1]的地址作為參數(shù)傳給數(shù)組a,使數(shù)組a的首地址變?yōu)?a[1],數(shù)組中的元素只有2,3;2傳給n,這時n=2,n>1仍然成立,繼續(xù)調用a[0]+f(&a[1],n-1);即執(zhí)行1+2+f(&a[1],1),因為上次遞歸調用函數(shù)f后數(shù)組中的元素為2,3,所以此次的a[1]為3,調用后的a[0]為3。所以最后結果為1+2+3=6。
38.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個元素輸出到文件fp中兩次,共10個字節(jié),再調用fread函數(shù)從文件fp中讀取這10個字節(jié)的數(shù)據(jù)到數(shù)組a中,此時數(shù)組a的內容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結果為'1,2,3,0,0,1,2,3,0,0,'。
39.鏈式存儲和順序存儲鏈式存儲和順序存儲
40.對象對象解析:類描述的是具有相似性質的一組對象。例如,每本具體的書是一個對象,而這些具體的書都有共同的性質,它們都屬于更一般的概念“書”這一類對象。一個具體對象稱為類的實例。
41.C解析:在定義共用體的同時,定義了一個共用體型變量u1,共占兩個字節(jié),有兩個成員n和c,兩個成員的首地址是相同的.因此給u1.c賦一個“A”,其實就是給無符號整型成員u1.n的低字節(jié)賦一個“A”,輸出u1.n的時候是以字符型的形式輸出,只輸出它的低地址的一個字節(jié),因此為“A”。所以,C選項為所選。
42.C解析:函數(shù)f()的功能是利用選擇法把個具有n行的二維數(shù)組中按行存放的n個字符串由大到小排序。在主函數(shù)中定義了一個二維字符數(shù)組p并給它按行賦初值,然后調用f()函數(shù),把它按行從大到小排列。字符串比較大小的標準是從第一個字符開始依次向右比較,遇到某一個字符大,該字符所在的字符串就是較大的字符串。由此可知最大的字符串為'dcdbe',排序后存放在第一行,其首地址為p[0],在輸出語句輸出的p[0]指向的字符串長度是5。所以4個選項中C正確。
43.B解析:本題中的答案A與D都缺少“;”,而答案C中,表達式是不能獨立成為語句的,答案B使用了C語言的自減運算符它就相當于D=D-1,所以答案B為一賦值語句。
44.C解析:C語言是一個函數(shù)語言,C語言的主體就是一個主函數(shù),然后有庫函數(shù)和用戶自定義的函數(shù)來配合主函數(shù)完成一系列的任務,所以說,C語言的基本單位是函數(shù)。
45.A解析:本題首先定義兩個字符型指針變量p和q,通過malloc()函數(shù)申請20個字符的存儲空間,并把它的首地址賦給p,再把p的值賦給q,p和q指向同一個存儲區(qū)。在scanf()語句中讀取字符串到p和q指向的字符串,先把“abc”讀取到P指向的存儲區(qū)中,第一個空格是結束標記,第二個空格是分隔符,再把“def”存放到q指向的存儲區(qū),把原先的內容覆蓋。所以p和q指向的存儲區(qū)中內容是“def”,所以最后輸出為def,def。
46.D解析:選項A:'a'&&'b'是字符a與b的相與,不為0:選項B:a<=b,由題中變量賦值可知,結果為1。選項C:a||+c&&b-c,結果為1;選項D:!((a<B)&&!c||1),運算結果為0。
47.A解析:C程序中注釋部分用“/*”和“*/”括起來,可以出現(xiàn)在程序中任何合適的地方;花括號“{”和“}”不僅可作為函數(shù)體的定界符,也可作為復合語句的定界符;構成C程序的基本單位是函數(shù):一個語句必須在最后出現(xiàn)分號,分號是C語句中不可缺少的部分。
48.D解析:本題中,argc表示參數(shù)的個數(shù),應為3,argv是一個指向字符串的指針數(shù)組,指針數(shù)組argv中的元素argv[0]指向字符串'PROG',元素argv[1]指向字符串“ABCDEFGH”,argv[2]指向字符串“IJKL”。在while循環(huán)條件中,先進行自減運算,再執(zhí)行相應的printf語句。
49.A解析:在C中,參與%運算的兩個參數(shù)都必須為整型,在大多數(shù)C編譯器下(包括TurboC)都采用了“向0靠近”的原則,即當兩個運算量有一個為負數(shù)時,余數(shù)的符號由被除數(shù)的符號決定。故本題答案為A。
50.AA?!窘馕觥砍绦蛟O計的風格主要強調程序的簡單、清晰和可理解性,以便讀者理解。程序濫用goto語句將使程序流程無規(guī)律,可讀性差;添加注釋行有利于對程序的理解.不應減少或取消,程序的長短要依據(jù)實際的需要而定,并不是越短越好。
51.C解析:考查帶參數(shù)的宏替換。宏替換不像函數(shù)調用要進行參數(shù)值的計算、傳遞等,而只是簡單按照原格式進行字符串的替換。
52.B解析:在長度為64的有序線性表中,其中的64個數(shù)據(jù)元素是按照從大到小或從小到大的順序排列有序的。在這樣的線性表中進行順序查找,最壞的情況就是查找的數(shù)據(jù)元素不性表中或位于線性表的最后。按照線性表的順序查找算法,首先用被查找的數(shù)據(jù)和線性表的第一個數(shù)據(jù)元素進行比較,若相等,則查找成功,否則,繼續(xù)進行比較,即和線性表的第二個數(shù)據(jù)元素進行比較。同樣,若相等,則查找成功,否則,繼續(xù)進行比較。依次類推,直到性表中查找到該數(shù)據(jù)或查找到線性表的最后一個元素,算法才結束。因此,在長度為64的有序線性表十進行順序查找,最壞的情況下需要比較64次。因此,本題的正確答案為選項B。
53.C解析:題目中所給函數(shù)的功能是;先用函數(shù)strcpy把參數(shù)串str2復制到參數(shù)串str1中去,然后用函數(shù)strcat把參數(shù)串str3連接到經(jīng)過修改后的參數(shù)串str1后,因此選項C正確。
54.D解析:面向對象的世界是通過對象與對象間彼此的相互合作來推動的,一個對象與另一個對象通過發(fā)送消息彼此交換信息,請求對方執(zhí)行某一處理或回答某一要求的信息。
55.CC.【解析】線性表是一種線性結構,由n(n≥0)個元素組成,所以線性表可以是空表。但是在線性表中,第一個結點沒有前件,最后一個結點沒有后件,其他結點有且只有一個前件和后件,所以選項C.是錯誤的。
56.B
57.C解析:在某一函數(shù)中當全局變量與局部變量同名時,則在該函數(shù)中,全局變量被屏蔽,訪問的是局部變量。因此,t+a++中的a用的是staticinta=3的這個a。if語句的執(zhí)行是當n是偶數(shù)時,執(zhí)行else的部分,否則執(zhí)行其后的部分。因此,當i=0時,t=5,s=2+8=10;i=1時,t=4,s=10+8=18;當i=2時,t=6,s=18+11=29。
58.C\r\n軟件工程是試圖用工程、科學和數(shù)學的原理與方法研制、維護計算機軟件的有關技術及管理方法。軟件工程的主要思想是強調在軟件開發(fā)工程中需要應用工程化的原則。軟件工程用來解決以下問題:軟件需求的增長得不到滿足、軟件開發(fā)成本和進度無法控制、軟件質量難以保證、軟件不可維護或維護程度低、軟件得成本不斷提高、軟件開發(fā)生產(chǎn)率的提高趕不上硬件的發(fā)展和應用需求的增長。軟件項目的管理、軟件產(chǎn)品的生產(chǎn)率、軟件開發(fā)中的技術都是軟件工程需要解決的部分問題。因此選項C正確。
59.C解析:return語句中的表達式的值就是所求的函數(shù)值,此表達式值的類型必須與函數(shù)首部所說明的類型一致。如果類型不一致,則以函數(shù)值的類型為準,由系統(tǒng)自動進行轉換。一個return語句只能返回一個值。
60.D
61.A在面向對象方法中,對象的基本特點包括:標識唯一性、分類性、多態(tài)性、封裝性、模塊獨立性好。一致性不屬于對象的基本特點,因此本題答案為A)。
62.C本題主要考查位運算?!白笠啤边\算(<<)的功能是把“<<”左邊的運算數(shù)的各二進制位全部左移若干位,由“<<”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。左移時,若左端移出的部分不包含有效二進制數(shù)1,則每左移一位,相當于移位對象乘以2。
本題中,首先定義一個字符型變量x,然后給該變量符一個八進制數(shù)的初值,而在程序中輸出時,要求輸出的結果是十進制數(shù),因此,需要進行數(shù)制轉換,首先將八進制數(shù)轉換為二進制數(shù),然后進行邏輯左移運算,將運算結果轉換為十進制數(shù)輸出。
八進制40對應的二進制數(shù)為00100000,然后進行邏輯左移一位運算,得到結果為01000000,該數(shù)對應的十進制數(shù)為2的6次方,即64。因此,本題程序執(zhí)行后的輸出結果是64,正確答案選C。
63.C循環(huán)鏈表是另一種形式的鏈式存儲結構。表中最后一個結點的指針域指向頭結點,整個鏈表形成一個環(huán)。這種循環(huán)鏈表的好處是從任意結點開始都可以找到其他結點。
循環(huán)鏈表的操作和線性鏈表基本一致,差別僅在于鏈表最后的結點,線性鏈表的判斷條件是結點的指針域是否為“空”,而循環(huán)鏈表的判斷條件是結點的指針域是否指向頭結點。非空的循環(huán)單鏈表head的尾結點p滿足p->next=head。
64.C
65.B本題主要考查循環(huán)隊列的概念,循環(huán)隊列作為隊列的一種也應該是線性結構。隊列是一種邏輯結構,而循環(huán)隊列是一種順序存儲結構的隊列。
66.A解析:黑盒測試主要方法有等價值劃分法,邊界值分析法。錯誤推測法、因果圖法等。白盒測試的主要方法有邏輯覆蓋、基本路徑測試循環(huán)覆蓋等。因此只有A屬于黑盒測試。
67.A在本題中,程序首先定義了一個無返回值的函數(shù)fun,該函數(shù)帶有五個整型的指針形參變量,然后通過一個四層循環(huán)來操作++*e;語句,由于*與++運算符的優(yōu)先級一樣,它們都是自右至左結合的操作,因此,++*e等價于++(*e),這個操作可描述為:先用地址取值,然后對其進行自加,由于是通過傳址傳值法的,因此,還需要將相加后的結果傳遞到實參中。
在主函數(shù)中,定義五個整型變量并分別賦初值,然后調用fun函數(shù),傳遞的參數(shù)是剛定義的五個整型變量的地址,采用的是傳址傳值法,能為實參帶回一個結果值。從fun函數(shù)中我們不難看出,當變量a,b,c,d分別為10時,循環(huán)總共執(zhí)行10000次,即自加進行了10000次,而且每次自加后都改變了實參的結果。因此,循環(huán)結束后,變量e的值為10000。本題的正確答案是A。
68.D
69.A本題重點考察的是函數(shù)的形參和實參。I在定義函數(shù)時函數(shù)名后面括弧中的變量名稱為“形式參數(shù)”l(簡稱形參),在主調函數(shù)中調用一個函數(shù)時,函數(shù)名后面括弧1中的參數(shù)(可以是—個表達式)稱為“實際參數(shù)”(簡稱實參)。fC語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內存中,實參單元與形參單元是不同的單元。因此A選項正確。
70.B笛卡兒乘積運算。假設關系R和關系S的元數(shù)個數(shù)與屬性個數(shù)分別為m和n。R×S表示R和S的笛卡兒積,R×S={(m+n)個屬性的一個元組集合,每個元組的前m個屬性值來自R的一個元組,后n個屬性值來自S的一個元組的所有組合}。
連接。它是從兩個關系的笛卡兒乘積結果中選取屬性間滿足一定條件的元組,它不能實現(xiàn)題目中給出的條件。
投影。它是從關系中挑選若干屬性組成新的關系,它是對關系進行列操作的方法。
選擇。它是從關系中找到滿足條件的所有元組的操作,即不改變關系表中的屬性個數(shù)但能減少元組個數(shù)的操作,它是對關系進行行操作的方法。
71.C本題考查的是指向函數(shù)的指針。函數(shù)指針定義的基本格式為:類型標識符(*指針變量名)()?!邦愋蜆俗R符”為函數(shù)返回值的類型。
72.AA)選項dPx[2][31定義的是一個2行3列的二維數(shù)組,而在給數(shù)組元素賦值時卻賦成了3行,因此錯誤。
73.D解析:在概念設計中按照模塊的劃分畫出每個模塊的E-R圖,然后把這些圖合成一張E-R圖作為全局模型,最后應該對全局E-R圖進行優(yōu)化,看看是否有重復和不合理的地方。不能只是進行簡單的合并。
74.B
75.D通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。也就是說:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。
軟件生命周期的主要活動階段為:
①可行性研究和計劃制定。確定待開發(fā)軟件系統(tǒng)的開發(fā)目標和總的要求,給出它的功能、性能、可靠性以及接口等方面的可行方案,制定完成開發(fā)任務的實施計劃。
②需求分析。對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統(tǒng)的功能。編寫軟件,規(guī)格說明書及初步的用戶手冊,提交評審。
③軟件設計。系統(tǒng)設計人員和程序設計人員應該在反復理解軟件需求的基礎上,給出軟件的結構、模塊的劃分、功能的分配以及處理流程。
④軟件實現(xiàn)。把軟件設計轉換成計算機可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計劃。
⑤軟件測試。在設計測試用例的基礎上,檢驗軟件的各個組成部分。編寫測試分析報告。
⑥運行和維護。將已交付的軟件投入運行,并在運行使用中不斷地維護,根據(jù)新提出的需求進行必要而且可能的擴充和刪改。
76.A解析:理解復雜定義要掌握兩點:一、右結合原則.本題中的定義char*line[5];等價于char*(line[5]);;二、自外向內分解成typedef語句。char*(line[5]);等價于typedefchar*A;Aline[5];其中A被typedef定義成字符指針的別名,然后line被定義成A的一維數(shù)組,即字符指針的一維數(shù)組。再來看看行指針的定義char(*line)[5];它應該被分解成typedefcharB[5];B*line;其中B被定義成包含5個元素的一維字符數(shù)組,然后line被定義成指向B的指針,即指向包含5個元素的一維字符數(shù)組的指針。所以兩者切不可混淆了,后者的括號不能省略。故本題應該選擇A。
77.D
78.BB?!窘馕觥繑?shù)據(jù)的存儲結構分為順序結構和鏈式結構,一個數(shù)據(jù)的邏輯結構可以有多種存儲結構。順序結構中數(shù)據(jù)元素所占的存儲空間是連續(xù)的,而鏈式存儲結構中,數(shù)據(jù)元素所占的存儲空間不一定是連續(xù)的。數(shù)據(jù)的存儲結構與數(shù)據(jù)的處理效率密切相關。
79.B
80.A本題主要考查標識符的定義。對標識符的定義是考試中??嫉膬热葜?。標識符主要由數(shù)字、下畫線和字母組成,其中數(shù)字不能放在首位,另外,用戶自定義標識符時,不能將標識符定義為C語言中已定義的關鍵字,如int、while等。
根據(jù)上面對標識符的分析,我們不難看出本題的正確答案是A。在選項B中,3_xy以數(shù)字開頭,不符合標識符定義的規(guī)定;在選項C中,int是C語言系統(tǒng)中已經(jīng)定義了的關鍵字;在選項D中,LINE-3使用的數(shù)字、下畫線和字母以外的字符,因此不正確。
81.(1)錯誤:intA[100];
正確:floatA[100];
(2)錯誤:for(i=1;i<=n;i++)
正確:for(i=2;i<=n;i++)
82.
【考點分析】
本題考查:如何判斷非素數(shù);循環(huán)判斷結構;數(shù)組的引用。
【解題思路】
題目要求將l—m之問的非素數(shù)存人數(shù)組中,應使用循環(huán)判斷結構。循環(huán)語句用來遍歷1一m之間的每個數(shù),判斷語句用來判斷該數(shù)是否為素數(shù),若不是素數(shù),則將其存人數(shù)組中。這道題目是考查—個數(shù)是否為素數(shù)的簡單延伸,只要掌握了判斷素數(shù)的方法,問題便能順利解決。
【解題寶典】
判定一個數(shù)是否為素數(shù),即該數(shù)除了能被l和它本身外,不能被任何數(shù)整除。
代碼實現(xiàn)為:
for(j=2;j<i;j++)if(i%j==0)/*如余數(shù)為0,證明i不是素數(shù)·/
此語句需要熟記,很多判斷素數(shù)的題目也可通過此法解決。2021年浙江省紹興市全國計算機等級考試C語言程序設計模擬考試(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序:structSTU{charname[10];intnum;floatTotalScore;};voidf(structSTU*p){structSTUs[2]={{"SunDan",20044,550},{"Penghua",20045,537}},*q=s;++p;++q;*p=*q;}main(){structSTUs[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};f(s);printf("%s%d%3.0f\n",s[1].name,s[1].num,s[1].TotalScore);}程序運行后的輸出結果是______。
A.SunDan20044580
B.Penghua20045537
C.LiSiGUO20042580
D.SunDan20041703
2.有以下程序:#include<stdio.h>main(){FILE*fp;charstr[10];fp=fopen(“myfile.dat”,“w”);fputs(“abc”,fp);fclose(fp);fp=fopen(“myfile.dat”,“a+”);fprintf(fp,“%d”,28);rewind(fp);fscanf(fp,“%s”,str);puts(str);fclose(fp);}程序的運行結果是()。
A.abcB.28cC.abc28D.因類型不一致而出錯
3.以下程序中函數(shù)sort的功能是對數(shù)組a中的數(shù)據(jù)進行由大到小的排序:#include<stdio.h>voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[]={1,2,3,4,5,6,7,8,9,10},i;son(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序運行后的輸出結果是()。
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.1,2,3;8,7,6,5,4,9,10,
D.1,2,10,9,8,7,6,5,4,3,
4.下列描述中正確的是______。
A.軟件工程只是解決軟件項目的管理問題
B.軟件工程主要解決軟件新產(chǎn)品的生產(chǎn)率問題
C.軟件工程的主要思想是強調在軟件開發(fā)過程中需要應用工程化原則
D.軟件工程只是解決軟件開發(fā)中的技術問題
5.下面關于哈希(Hash,雜湊)查找的說法正確的是()
A.哈希函數(shù)構造的越復雜越好,因為這樣隨機性好,沖突小
B.除留余數(shù)法是所有哈希函數(shù)中最好的
C.不存在特別好與壞的哈希函數(shù),要視情況而定
D.若需在哈希表中刪去一個元素,不管用任何方法解決沖突都只要簡單地將該元素刪去即可
6.
7.if語句的基本形式是:if(表達式)語句,以下關于“表達式”值的敘述中正確的是A.A.必須是邏輯值
B.必須是整數(shù)值
C.必須是正數(shù)
D.可以是任意合法的數(shù)值
8.對關系S和R進行集合運算,結果中既包含S中的所有元組也包含R中的所有元組,這樣的集合運算稱為()
A.并運算B.交運算C.差運算D.積運算
9.設R是一個二元關系,S是一個三元關系,則下列運算中正確的是()。
A.R-SB.R×SC.R∩SD.R∪S
10.插入和刪除只能在一端進行線性表,稱為()。
A.隊列B.循環(huán)隊列C.棧D.循環(huán)棧
11.以下關于鏈式存儲結構的敘述中,()是不正確的。
A.結點除自身信息外還包括指針域,因此存儲密度小于順序存儲結構
B.邏輯上相鄰的結點物理上不必鄰接
C.可以通過計算直接確定第i個結點的存儲地址
D.插入、刪除運算操作方便,不必移動結點
12.以下敘述中正確的是
A.語句inta[8]={0};是合法的
B.語句inta[]={0};是不合法的,遺漏了數(shù)組的大小
C.語句chara[2]={"A","BII};是合法的,定義了一個包含兩個字符的數(shù)組
D.語句chara[3];a="AB";是合法的,因為數(shù)組有三個字符空間的容量,可以保存兩個字符
13.下列程序的輸出結果是
#include"stdio.h"
#defineN3
#defineM3
voidfun(inta[M][N])
{printf("%d\n",*(a[1]+2));}
main()
{inta[M][N];
inti,j;
for(i=0;i<M;i++)
for(j=0;j<N;j++)
a[i][j]=i+j-(i-j);
fun(a);}A.A.3B.4C.5D.6
14.設有6個結點的無向圖,該圖至少應有()條邊才能確保是一個連通圖。
A.7B.5C.8D.6
15.以下正確的字符串常量是()。
A."\\\"B.abcC.OlympicGamesD.""
16.設有定義“intm=1,n=2;”,則以下if語句中,編譯時會產(chǎn)生錯誤信息的是()。
A.if(m>n)m--elsen--;
B.if(m=n){m++;n++;}
C.if(m<0&&n<0){}
D.if(m>0);elsem++;
17.若有定義“inta,b;”,通過語句“scanf(“%d;%d,”&a,&b)能把整數(shù)3賦給變量a、5賦給變量b的輸入數(shù)據(jù)是()。
A.35B.3,5C.3;5D.35
18.已知大寫字母A的ASCII值是65,小寫字母a的ASCII值是97。下列不能將變量c中的大寫字母轉換為對應小寫字母的語句是()。
A.c=(‘A’,+c)%26-‘a(chǎn)’B.c=c+32C.c=c-‘A’+‘a(chǎn)’D.c=(c-‘A’)%26+‘a(chǎn)’
19.兩個或兩個以上模塊之間關聯(lián)的緊密程度稱為()。
A.耦合度B.內聚度C.復雜度D.數(shù)據(jù)傳輸特性
20.
二、2.填空題(20題)21.下列程序段的運行結果是______。
intx=0,y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
22.以下程序的輸出結果是#include<stdio.h>structstiintx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&it[0],60,&dt[0],};main(){p=aa;printf("%d\n",++(p->x));}
23.在面向對象方法中,信息隱蔽是通過對象的______性來實現(xiàn)的。
24.C語言用于結構化程序設計的3種基本結構是______、選擇結構和循環(huán)結構。
25.由25人圍坐成圓圈,先從任意一人出發(fā)用1到25順時針依次編號,然后從1號開始順時針報數(shù)(1、2、3…),凡報5的倍數(shù)者出圈,剩下者繼續(xù)報數(shù),求出最后出圈者的編號。
#include<stdio.h>
【】
{inta[26],j,n,count;
for(j=1;j<=25;j++)a[j]=j;
j=1;count=0;n=【】;
do
{if(a[j]!=0)
{n++;
if(n%5==0)
{【】;
if(count==24)printf("%d\n",j);
count++;
}
}
j++;
if(j>25)j=1;
}
while(【】);
}
26.設Y是int型變量,請寫出判斷Y為奇數(shù)的關系表達式【】。
27.以下程序的輸出結果是______。
#include<stdio.h>
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf("%d",*p);
}
28.Jackson方法是一種面向【】的結構化方法。
29.一個類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個方法提高了軟件的【】。
30.軟件工程研究的內容主要包括:【】技術和軟件工程管理。
31.函數(shù)compare的功能是比較兩個字符串是否相等,若相等則函數(shù)返回值0,否則返回值1,請?zhí)羁铡?/p>
compare(chars[],chart[])
{inti=0;
while(s[i]==t[i]||【】)i++;
return(【】?1:0);
}
32.度為10的線性表進行冒泡排序,最壞情況下需要比較的次數(shù)為______。
33.以下程序的功能是根據(jù)輸入的“y”(“Y”)與“n”(“N”),在屏幕上分別顯示出“ThisisYES.”與“ThisisNO.”??瞻滋幮枰钊氲膬热菔?/p>
#include<stdio.h>
voidYesNo(charch)
{switch(ch)
{case'y':
case'Y':printf("\nThisisYES.\n");
case'n':
case'N':Printf("\nThisisNO.\n");}}
main()
{charch;
printf("\nEnte
34.下列程序的功能是計算數(shù)的階乘。
main()
{ihti,n;
nlongnp;
scanf("%d",&n);
np=【】;
for(i=2;i<=n;i++)
【】;
printf("n=%dn!=%ld\n",n,np);
}
35.在關系運算中,【】運算是對兩個具有公共屬性的關系所進行的運算。
36.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{
inti;
for(i=1;i<K;i++)
{…}
…
}
37.下面程序的運行結果是【】。
#inelude<stdio.h>
intf(inta[],intn)
{if(n>1)returna[0]+f(&a[1],n-1);
elsereturna[0];
}
main()
{intaa[3]={1,2,3},s;
s=f(&aa[0],3);printf("%d\n",s);
}
38.以下程序的運行結果是【】。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
39.棧和隊列通常采用的存儲結構是【】。
40.在面向對象方法中,類的實例稱為______。
三、1.選擇題(20題)41.有以下程序main(){union{unsignedintn;unsignedcharC;}ul;u1.C='A';printf("%c\n",u1.n);}執(zhí)行后輸出結果是
A.產(chǎn)生語法錯B.隨機值C.AD.65
42.以下程序中函數(shù)f的功能是將n個字符串按由大到小的順序進行排序。#include<string.h>voidf(charp[][10],intn){chart[20];inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strcmp(p[i],p[j]<0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){charp[][10]={"abc","aabdfg","abbd","dcdbe","cd"};inti;f(p,5);printf("%d\n",strlen(p[0]));}程序運行后的輸出結果是()。
A.6B.4C.5D.3
43.以下合法的賦值語句是______。
A.X=Y=100B.D-;C.X+Y;D.C=int(A+B)
44.C語言程序的基本單位是______。
A.程序行B.語句C.函數(shù)D.字符
45.有以下程序#include<stdlib.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf(“%s%s”,p,q);printf(“%s%s\n”,p,q);}若從鍵盤輸入:abcdef<回車>,則輸出結果是
A.defdefB.abcdefC.abcdD.dd
46.設a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達式中,值為0的表達式是______。
A.'a'&&'b'
B.a<=b
C.a||+c&&b-c
D.!((a<b)&&!c||1)
47.下列敘述中正確的是______。
A.C程序中注釋部分可以出現(xiàn)在程序中任何合適的地方
B.花括號""{""和""}""只能作為函數(shù)體的定界符
C.構成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號是C語句之間的分隔符,不是語句的一部分
48.假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入:PROGABCDEFGHIJKL<回車>,則輸出結果為main(intargc,char*argv0[]){while(--argc>0)printf("%s",argv[argc]);printf("\n");}
A.ABCDEFGB.IJHLC.ABCDEFGHIJKLD.IJKLABCDEFGH
49.運行下面的程序,其輸出結果為______。main(){printf("%d,%d",5%-3,-5%3);}
A.2,-2B.-2,2C.-2,-2D.2,2
50.設計程序時,應采納的原則之一是()。
A.程序的結構應有助于讀者的理解B.限制goto語句的使用C.減少或取消注釋行D.程序越短越好
51.以下程序的運行結果是
#defineMAX(A,B)(A)>(B)?(A):(B)
#definePRINT(Y)printf("Y=%d\t",Y)
main()
{inta=1,b=2,c=3,d=4,t;
t=MAX(a+b,c+d);
PRINT(t);}
A.Y=3B.存在語法錯誤C.Y=7D.Y=0
52.在長度為64的有序線性表中進行順序查找,最壞情況下需要比較的次數(shù)為A.63B.64C.6D.7
53.函數(shù)調用:strcat(strcpy(str1,str2),str3)的功能是______。
A.將串str1復制到串str2中后再連接到串str3之后
B.將串str1連接到串str2之后再復制到串str3之后
C.將串str2復制到串str1中后再將串sir3連接到串str1之后
D.將串str2連接到串str1之后再將串str1復制到串str3中
54.在面向對象中,一個對象請求另一個對象為其服務的方式是通過發(fā)送
A.調用語句B.命令C.口令D.消息
55.下列敘述中錯誤的是()。
A.線性表是由n個元素組成的一個有限序列
B.線性表是一種線性結構
C.線性表的所有結點有且僅有一個前件和后件
D.線性表可以是空表
56.以下程序#include<string.h>main(){chara1[80],a2[80],*s1=a1,*s2=a2;gets(s1);gets(s2)if(!strcmp(s1,s2))printf("*");elseprintf("#");printf("%d\n",strlen(strcat(s1,s2)));}如果從鍵盤上輸入:book<回車>book<空格><回車>則輸出結果是()
A.*8B.#9C.#6D.*9
57.有以下程序:inta=2;intf(intn){staticinta=3;intt=0;if(n%2)(staticinta=4;t+=a++;}else{staticinta=5;t+=a++;}returnt+a++;}matin(){ints=a,i;for(i=0;i<3;i++)s+=f(i);printf("%d\n",s);}程序運行后的輸出結果是______。
A.26B.28C.29D.24
58.下列描述中正確的是()。
A.軟件工程只是解決軟件項目的管理問題
B.軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題
C.軟件工程的主要思想是強調在軟件開發(fā)過程中需要應用工程化原則
D.軟件工程只是解決軟件開發(fā)中的技術問題
59.函數(shù)的值通過return語句返回,下面關于return語句的形式描述錯誤的是
A.return表達式;
B.return(表達式);
C.一個return語句可以返回多個函數(shù)值
D.一個return語句只能返回一個函數(shù)值
60.有以下程序:main(intargc,char*argv[]){intn=0,i;for(i=1;i<argc;i++)n=n*10+argv[i]-'0';printf("%d\n",n);}編繹連接后生成可執(zhí)行文件tt.exe.若運行時輸入以下命令行tt12345678程序運行后的輸出結果是()。
A.12B.12345C.1.23457e+007D.136
四、選擇題(20題)61.在面向對象方法中,不屬于“對象’’基本特點的是()。A.一致性B.分類性C.多態(tài)性D.標識唯一性
62.有以下程序段
main()
{charx=040;
printf("%d\n",x<<1);}
程序執(zhí)行后輸出的結果是
A.100B.80C.64D.32
63.第
15
題
非空的循環(huán)單鏈表head的尾結點(由p所指向),滿足
A.p->next==NULLB.p==NULLC.p->next=headD.p=head
64.
65.下列敘述中正確的是()。
A.循環(huán)隊列是隊列的一種鏈式存儲結構
B.循環(huán)隊列是隊列的一種順序存儲結構
C.循環(huán)隊列是非線性結構
D.循環(huán)隊列是一種邏輯結構
66.用黑盒技術測試用例的方法之一為
A.因果圖B.邏輯覆蓋C.循環(huán)覆蓋D.基本路徑測試
67.有如下程序段
#include"stdio.h"
voidfun(int*a,int*b,int*c,int*d,int*e)
{inti,j,k,m;
for(i=0;i<*a;i++)
for(j=0;j<*b;j++)
for(k=0;k<*c;k++)
for(m=0;m<*d;m++)
++*e;
}
main()
{inta=10,b=10,c=10,d=10,e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城鄉(xiāng)結合部出租房屋合同定金范本
- 房產(chǎn)交易三方合同托管實施細則
- 保密條款合同模板:代理合作中的商業(yè)與技術秘密
- 廣告撲克牌批量生產(chǎn)合同
- 貸款擔保合同協(xié)議
- 河南標準個人借款合同樣本規(guī)范
- 度商業(yè)合同范本:經(jīng)濟適用房交易
- 股權轉讓合同范本(標準文本)
- 采購供應合同書其二
- 與營銷策略的區(qū)別與應用考核試卷
- 2025年江蘇南京技師學院招聘工作人員19人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 華東師大版七年級數(shù)學下冊“第1周周考”
- DBJ50-T-385-2023半柔性復合路面技術標準
- 職業(yè)院校教師人工智能素養(yǎng):內涵流變、框架構建與生成路徑
- 如何在初中數(shù)學教學中提升學生的核心素養(yǎng)
- (完整版)小學一年級數(shù)學20以內進退位加減法(1600道題)計算卡
- 2025年包頭鐵道職業(yè)技術學院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 北京2024年北京市測繪設計研究院面向應屆生招聘筆試歷年參考題庫附帶答案詳解
- 2025年減速機齒輪項目投資可行性研究分析報告
- 走進李白校本 課程設計
- 2025新人教版英語七年級下單詞默寫單(小學部分)
評論
0/150
提交評論