




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年寧夏回族自治區(qū)石嘴山市全國計算機等級考試C語言程序設計真題二卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下不能定義為用戶標識符的是()。
A.VoidB.scanfC.intD._3com_
2.設變量a是int型,f是float型,i是double型,則表達式10+′a′+i*f值的數(shù)據(jù)類型為
A.intB.floatC.doubleD.不確定
3.在具有n個結點的有序單鏈表中插入一個新結點并使鏈表仍然有序的時間復雜度是________
A.O(1)B.O(n)C.O(nlogn)D.O(n2)
4.
5.若有定義和語句:inta,b;scanf("%d,%d",&a,&b);以下選項中的輸人數(shù)據(jù),不能把值3賦給變量a、5賦給變量b的是()。A.3,5,B.3,5,4C.3,5D.3,5
6.
7.下列程序的輸出結果是#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
8.閱讀以下程序及對程序功能的描述,其中正確的是#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.程序完成將一個磁盤文件復制到另一個磁盤文件中
D.程序完成將兩個磁盤文件合并并在屏幕上輸出
9.設二叉樹的中序序列為BCDA,前序序列為ABCD,則后序序列為()。
A.CBDAB.DCBAC.BCDAD.ACDB
10.設x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
11.已知一算術表達式的中綴形式為A+B*C–D/E,后綴形式為ABC*+DE/–,其前綴形式為()。
A.–A+B*C/DEB.–A+B*CD/EC.–+*ABC/DED.–+A*BC/DE
12.設有以下函數(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;
13.
14.結構化程序所規(guī)定的三種最基本控制結構是A.A.輸入、處理、輸出
B.樹形、網(wǎng)形、環(huán)形
C.順序、選擇、循環(huán)
D.主程序、子程序、函數(shù)
15.若有下列定義(設int類型變量占2個字節(jié)):
inti=8;
則下列語句:
printf("i=%08d",i);
輸出的結果是()。A.A.i=8B.i=00000008C.i=08D.8
16.若有以下程序:inta=1,b=2;a=a^b;b=b^a;則執(zhí)行以上語句后a和b的值分別是()。A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2,b=l
17.有以下程序:#include<stdi0.h>#defineS(x)(x)"x"2main(){intk一5,j=2;Drintf("%printf,",S(k+j));printf("%printf\n",S((k—j)));}程序運行后的輸出結果是()。A.98,18B.39,11C.39,18D.98,11
18.圖的深度優(yōu)先遍歷類似于二叉樹的_______。
A.先序遍歷B.中序遍歷C.后序遍歷D.層次遍歷
19.
20.在ASC算法team日常開發(fā)中,常常面臨一些數(shù)據(jù)結構的抉擇,令人糾結。目前大家在策劃一個FBI項目(FastBinaryIndexing),其中用到的詞匯有6200條,詞匯長度在10-15之間,詞匯字符是英文字母,區(qū)分大小寫。請在下面幾個數(shù)據(jù)結構中選擇一個使檢索速度最快的()
A.二叉搜索樹,比較函數(shù)開銷:1次運算/每字符
B.哈希表,hash算法開銷:10次運算/每字符
C.鏈表,比較函數(shù)開銷:1次運算/每字符
D.TRIE樹,尋找子節(jié)點開銷:1次運算/每字符
二、2.填空題(20題)21.結構化分析方法是面向______進行分析的方法。
22.下面程序的功能是:計算1~20之間的奇數(shù)之和與偶數(shù)之和,請?zhí)羁帐钩绦蚬δ芡暾?/p>
#include<stdio.h>
main()
{inta=0,b=0,c=0,i;
for(i=0;i<=20;i+=2)
{a+=i;
();
c+=b;
}
printf("偶數(shù)之和=%d\n",A);
printf("奇數(shù)之和=%d\n",c-21);
}
23.設有下列程序:
#include<stdio.h>
#include<string.h>
main()
{inti;
chars[10],t[10];
gets(t);
for(i=0;i<2;i++)
{gets(s);
if(strcmp(t,s)<0)strcpy(t,s);
}
printf("%s\n",t);
}
程序運行后,從鍵盤上輸入(<CR>代表回車符):CDEF<CR>BADEF<CR>QTHRG<CR>,則程序的輸出結果是______。
24.一般來說,算法可以用順序、選擇和______三種基本控制結構組合而成。
25.下面的語句要使指針p指向一個double類型的動態(tài)存儲單元,請?zhí)羁铡?/p>
p=【】malloc(sizeof(double));
26.執(zhí)行以下程序后,輸出‘#’號的個數(shù)是______。
#include<stdio.h>
main()
{
inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)
putchar('#');
}
27.軟件維護活動包括以下幾類:改正性維護、適應性維護、【】維護和預防性維護。
28.有以下程序:
voidf(inta[],inti,intj)
{intt;
if(i<j)
{t=a[i];a[i]=a[j];a[j]=t;
f(a,i+1,j-1);
}
}
main()
{inti,aa[5]={1,2,3,4,5};
f(aa,0,4);
for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");
}
執(zhí)行后的輸出結果是【】。
29.近年來形成了軟件開發(fā)的多種模式,大致有3種類型:基于瀑布模型的結構化生命周期方法、基于動態(tài)定義需求的【】方法和基于結構的面向?qū)ο蟮能浖_發(fā)方法。
30.以下程序中函數(shù)huiwen的功能是檢查一個字符串是否是回文,當字符串是回文時,函數(shù)返回字符串:yes!,否則函數(shù)返回字符串:no!,并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adgda。請?zhí)羁铡?/p>
#include<string.h>
char*huiwen(char*str)
{char*p1,*p2;inti,t=0;
p1=str;p2=【】;
for(i=0;i<=strlen(str)/2;i++)
if(*p1++!=*p2--){t=1;bteak;}
if(【】)return("yes!");
elsereturn("no!");
}
main()
{charsb[50];
printf("Input:");scanf("%s",str);
ptintf("%s\n",【】);
}
31.設Y是int型變量,請寫出判斷Y為奇數(shù)的關系表達【】。
32.在面向?qū)ο蠓椒ㄖ?,類的實例稱為______。
33.以下程序運行后的輸出結果是【】。
structNODE
{intk;
structNODE*link;
};
main()
{structNODEm[5],*p=m,*p=m,*q=m+4;
inti=0;
while(p!=q)
{p->k=++i;p++
q->k=i++;q--;
}
q->k=i;
for(i=0;i<5;i++)
printf("%d",m[i].k);
ptintf("\n");
}
34.設函數(shù)findbig已定義為求3個數(shù)中的最大值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請?zhí)羁铡?/p>
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=______;
scanf("%d%d%d",&x,&y,&z}:
big=(*f)(x,y,Z);
printf("big=%d\n",big);
}
35.數(shù)據(jù)結構分為邏輯結構與()。
36.當運行以下程序時,輸入abcd,程序的輸出結果是:()。
insert(charstr[])
{inti;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",str);insert(str);
}
37.下列程序的輸出結果是16.00,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
38.以下程序運行后輸入:3,abcde<回車>,則輸出結果是______。
#include<string.h>
move(char*str,intn)
{charcemp;inti;
temp=str[n-1];
for(i=n-1;i>0;i--)str[i]=str[i-1);
str[0]=temp;}
main()
{chars[50];intn,i,z;
scanf(“%d,%s”,&n,s);
z=strlen(s);
for(i=1;i<=n;i++)move(s,z);
printf(“%s\n”,s);
}
39.以下程序用來輸出結構體變量ex所占存儲單元的字節(jié)數(shù),請?zhí)羁铡?/p>
structst
{charname[20];doublescore;};
main()
{structstex;
printf("exsize:%d\n",sizeof(【】));}
40.下列程序的輸出結果是______。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
三、1.選擇題(20題)41.下列對于軟件測試的描述中正確的是______。
A.軟件測試的目的是證明程序是否正確
B.軟件測試的目的是使程序運行結果正確
C.軟件測試的目的是盡可能地多發(fā)現(xiàn)程序中的錯誤
D.軟件測試的目的是使程序符合結構化原則
42.下列敘述中,不屬于測試的特征的是
A.測試的挑剔性B.完全測試的不可能性C.測試的可靠性D.測試的經(jīng)濟性
43.若有以下定義和語句:char*s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));則輸出結果是______。
A.4B.5C.9D.10
44.若函數(shù)調(diào)用時的實參為變量時,以下關于函數(shù)形參和實參的敘述中正確的是()。
A.函數(shù)的實參和其對應的形參共占同一存儲單元
B.形參只是形式上的存在,不占用具體存儲單元
C.同名的實參和形參占同一存儲單元
D.函數(shù)的形參和實參分別占用不同的存儲單元
45.設有以下說明語句:structex{intx;flocty;charz;}example;則下面的敘述中不正確的是()
A.struct是結構體類型的關鍵字
B.example是結構體類型名
C.x,y,z都是結構體成員名
D.structex是結構體類型
46.有以下程序,程序運行后的輸出結果是______。intf(intb[][4]){inti,j,s=0;for(j=0;j<4;j++){i=j;if(i>2)i=3-j;s+==b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}
A.22B.11C.18D.16
47.兩個或兩個以上模塊之間聯(lián)系的緊密程度稱為()。
A.耦合性B.內(nèi)聚性C.復雜性D.數(shù)據(jù)傳輸特性
48.下列句子中,正確的C語言賦值語句是()
A.n++;B.a=b=88C.t=int(x+y);D.a=100,b=200
49.設有定義語句:intx[6]={2,4,6,8,5,7},*p=x,i;要求依次輸出x數(shù)組6個元素中的值,不能完成此操作的語句是()。
A.for(i=0;i<6;i++)printf("%2d",*(p++));
B.for(i=0;i<6;i++)printf("%2d",*(p+i));
C.for(i=0;i<6;i++)printf("%2d",*p++);
D.for(i=0;i<6;i++)printf("%2d",(*p)++);
50.以下函數(shù)返回a所指數(shù)組中最小的值所在的下標值fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p])______;return(p);}在下劃線處應填入的是
A.i=pB.a[p]=a[i]C.p=jD.p=i
51.下列四個敘述中,錯誤的是_______。
A.C語言中的關鍵字必須小寫
B.C語言中的標識符必須全部由字母組成
C.C語言不提供輸入輸出語句
D.C語言中的注釋行可以出現(xiàn)在程序的任何位置
52.以下程序的輸出結果是______。structHAR{intx,y;structHAR*p;}h[2];main(){h[0],x=1;h[0].y=2;h[1]x=3;h[1].y=4;h[0].p、&h[1];h[1]..p=h;printf("%d%d\n",(h[0].p)->x,(h[1].p)->y;}
A.12B.23C.14D.32
53.下列敘述中錯誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結構必須與邏輯結構一致,
B.數(shù)據(jù)庫技術的根本目標是要解決數(shù)據(jù)的共享問題
C.數(shù)據(jù)庫設計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎上建立數(shù)據(jù)庫
D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
54.下列程序執(zhí)行后輸出的結果是______。intd=1;fun(intp){intd=5;d+=p++;printf("%d,",d);}main(){inta3;fun(a);d+=a++;printf("%d\n",d);}
A.8,12B.9,13C.8,4D.9,5
55.若有說明語句:charch='\x41';,則ch中______。
A.包含4個字符B.包含2個字符C.包含1個字符D.字符個數(shù)不確定,說明不正確
56.在數(shù)據(jù)結構中,從邏輯結構上看可以分成______。
A.動態(tài)結構和靜態(tài)結構B.線性結構和非線性結構C.內(nèi)部結構和外部結構D.緊湊結構和非緊湊結構
57.軟件生命周期中花費費用最多的階段是
A.詳細設計B.軟件編碼C.軟件測試D.軟件維護
58.下述程序的輸出結果是
#include<stdio.h>
voidmain()
{inta[5]={2,4,6,8,10};
int*p=a,**q=&p;
printf("%d,",*(p++));
printf("%d",**q);}
A.4,4B.2,2C.4,5D.2,4
59.在嵌套使用if語句時,C語言規(guī)定else總是A.和之前與其具有相同縮進位置的if配對
B.和之前與其最近的if配對
C.和之前與其最近的且不帶else的if配對
D.和之前的第一個if配對
60.棧和隊列的共同點是()。
A.都是先進先出B.都是先進后出C.只允許在端點處插入和刪除元素D.沒有共同特點
四、選擇題(20題)61.有如下程序
#include"stdio.h"
main()
{inta,b,m;
for(a=5;a>=1;a--)
{m=0;
for(b=a;b<=5;b++)
m=m+a*b;
}
printf("%d\n",m);
}
上述程序的運行結果是
A.30B.15
C.20D.10
62.若有定義語句:“charsE10]="1234567\0\0";”,則strlen(s)的值是()。
A.7B.8C.9D.10
63.
64.下列關于數(shù)據(jù)流圖的描述正確的是()。
A.數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具
B.數(shù)據(jù)流圖間接支持系統(tǒng)的功能建模
C.數(shù)據(jù)流圖中帶箭頭的線段表示控制流
D.數(shù)據(jù)流圖是軟件詳細設計的工具
65.有以下程序
66.以下敘述中錯誤的是()。
A.全局變量的作用域一定比局部變量的作用域范圍大
B.靜態(tài)(static)類別變量的生存期貫穿于整個程序的運行期間
C.全局變量的生存期是整個程序的運行期間
D.靜態(tài)局部變量的初值是在編譯時賦予的,在程序執(zhí)行期間不再賦予初值
67.支持子程序調(diào)用的數(shù)據(jù)結構是()。
A.棧B.樹C.隊列D.二叉樹
68.設有定義:intk=0;以下選項的四個表達式中與其他三個表達式的值不相同的是()。
A.++kB.k+=1C.k++D.k+1
69.
有下列程序:
fun(intX,inty){return(x+y);}
main
{inta=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
執(zhí)行后的輸出結果是()。
A.6B.7C.8D.9
70.下列敘述中正確的是()。
A.棧是一種先進先出的線性表B.隊列是一種后進先出的線性表C.棧與隊列都是非線性結構D.以上三種說法都不對
71.有如下程序段:inta=14,b=15,x;charc=A;x=(a&&b)&&(c<B):執(zhí)行該程序后,x的值為()。A.trueB.falseC.0D.1
72.若有定義語句:A.1B.1.9C.2D.2.4
73.在數(shù)據(jù)管理技術的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是()。A.A.數(shù)據(jù)庫系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項管理
74.以下選項中,能用作數(shù)據(jù)常量的是()。
A.115LB.0118C.1.5el.5D.0115
75.以下合法的十六進制數(shù)是()。
A.0x
B.0x4De
C.0xlh
D.oX77
76.有以下程序:
程序運行后的輸出結果是()。
A.zB.0C.元素eh[5]的地址D.字符Y的地址
77.
78.
79.下列關于數(shù)據(jù)庫設計的敘述中,正確的是()。
A.在需求分析階段建立數(shù)據(jù)字典
B.在概念設計階段建立數(shù)據(jù)字典
C.在邏輯設計階段建立數(shù)據(jù)字典
D.在物理設計階段建立數(shù)據(jù)字典
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:讀入一個字符串(長度<20),將該字符串中的所有字符按ASCIl碼升序排序后輸出。
例如,輸入opdye,則應輸出deopy。
請修改程序中的錯誤,使它能得到正確結果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。
試題程序:
#include%string.h>
#include%stdlib.h>
#include<conio.h>
#include<stdio.h>
//****found****
intproc(charstr[])
{
charC;
unsignedi,j;
for(i=0;i<strlen(str)-1;i++)
for(j=i+1;j<strlen(str);j4-+)
if(str[i]>str[j])
{
c=str[j]:
//****found****
str[j]=str[i++];
str[i]=C;
}
}
voidmain
{
charst/[81];
system("CLS");
printf("\nPleaseenteracharacter
string:");
gets(str);
printf("\nknBeforesorting:\n%s",str);
proc(str);
printf("\nAftersortingdecendingly:\n
%S",str);
}
六、程序設計題(1題)82.三個整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的數(shù)。
參考答案
1.C標識符的命名可以由字母、數(shù)字或下劃線組成,并且第1個字符必須為字母或下劃線,另外用戶標識符不能使用關鍵字。選項A中的Void可以定義為用戶標識符,因為C語言對大小寫敏感,Void與關鍵字void屬于不同的標識符;選項B中的scanf是庫函數(shù)名,屬于預定義標識符,它也可以作為用戶標識符使用,不過通常不建議這么使用;選項C中的int屬于關鍵字,錯誤;選項D符合標識符的命名規(guī)則,也不屬于關鍵字,可以作為標識符使用。本題答案為C選項。
2.C解析:根據(jù)混合運算規(guī)則,如果有一個數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運算的結果最終也是double型。
3.B
4.B
5.C在輸入3和5之間除逗號外不能有其他字符。
6.D
7.B解析:continue語句的作用是跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進行循環(huán)條件的判定。當能被2整除時,a就會增1,之后執(zhí)行continue語句,直接執(zhí)行到for循環(huán)體的結尾,進行i++,判斷循環(huán)條件。
8.C
9.B二叉樹的前序序列為ABCD,由于前序遍歷首先訪問根節(jié)點,可以確定該二叉樹的根節(jié)點是A。再由中序序列為BCDA,可知以A為根節(jié)點的該二叉樹只存在左子樹,不存在右子樹,故后序序列為DCBA。本題答案為B選項。
10.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。
11.D
12.A函數(shù)指針的定義格式為函數(shù)類型(*指針變量名)(形參列表);函數(shù)名和數(shù)組名一樣代表了函數(shù)代碼的首地址,因此在賦值時,直接將函數(shù)指針指向函數(shù)名就行了。所以選項A正確。
13.D
14.C解析:結構化程序設計方法采用順序、選擇和循環(huán)三種基本程序控制結構編寫程序,從而使程序具有好的結構。
15.B解析:本題考查printf函數(shù)的格式?!?08”格式符中的“0”表示在指定數(shù)據(jù)輸出寬度的同時,在數(shù)據(jù)前面的多余空格處加“0”;“8”表示指定數(shù)據(jù)的輸出寬度為8位。
16.B本題考查按位異或的用法。按位異或運算的規(guī)則是:兩個運算數(shù)的相應二進制位相同,則結果為0,相異則結果為1。b=2的二進制為00000010,a=1的二進制為00000001,a=a^b一00000011,轉(zhuǎn)化為十進制后為3,b=b^a=00000010^00000011=00000001,即1。
17.BS(k+j)=(k+j)*k+j*2=(5+2)*5+2*2=39,同理S(k-1)=(k+j)*k+j*2=\r\n(5-2)*5-2*2=11,所以答案選擇B。
18.A
19.D
20.D
21.數(shù)據(jù)流數(shù)據(jù)流解析:結構化分析方法的實質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
22.b=i+1b=i+1解析:分析for循環(huán)條件,i=0說明循環(huán)從0開始判斷,i+=2是間隔為2的數(shù),i<=20就是控制數(shù)是20之內(nèi)的a+=i,就是所有偶數(shù)的和,如果從1開始(b=i+1)間隔為2的數(shù)(1,3,5,7,9,11,13,15,17,19)相加就是所有奇數(shù)的和。
23.QTHRGQTHRG解析:strcmp(t,s)函數(shù)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。strcpy(t,s)函數(shù)的功能是把字符數(shù)組s所指字符串的內(nèi)容復制到字符數(shù)組t所指的存儲空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán).s='QTHRG',if語句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語句,將字符數(shù)組s所指字符串的內(nèi)容復制到字符數(shù)組t所指的存儲空間中,然后輸出字符數(shù)組t。
24.循環(huán)循環(huán)解析:算法一般由順序,選擇和循環(huán)三種基本控制結構組合而成。
25.(double*)(double*)解析:本題考查強制類型轉(zhuǎn)換。函數(shù)malloc的默認返回是void*,若要使指針指向double類型,必須進行類型轉(zhuǎn)換,類型轉(zhuǎn)換格式為:(數(shù)據(jù)類型*)。
26.66解析:本題中,i,j分別為外循環(huán)和內(nèi)循環(huán)的循環(huán)控制變量,外層循環(huán)共執(zhí)行了四次.當i=1時,由于內(nèi)層循環(huán)判斷條件(2<=1)為假不執(zhí)行內(nèi)層循環(huán).當i=2時,執(zhí)行內(nèi)層循環(huán),輸出一個#當i=3時,內(nèi)層循環(huán)循環(huán)兩次,輸出兩個#,當i=4時,內(nèi)層循環(huán)循環(huán)三次,輸出三#。當i=5時,循環(huán)判斷條件不成立,退出外層循環(huán)。所以一共輸出6個#。
27.完善性軟件維護活動包括以下幾類:改正性維護,適應性維護、完善性維護和預防性維護,完善性維護是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。
28.154321,5,4,3,2解析:第一次調(diào)用函數(shù)f后aa[0]=5、aa[4]=1;第二次調(diào)用函數(shù)f后aa[1]=4、aa[4]=2;第三次調(diào)用函數(shù)f后aa[3]=3。正確答案為1,5,4,3,2。
29.原型化原型化
30.str+strlen(p1)-1或str+strlen(str)-1或str-1+strlen(str)或str-1+strlen(p1)t==0或!t或t=='\0'huiwen(str)str+strlen(p1)-1或str+strlen(str)-1或str-1+strlen(str)或str-1+strlen(p1)\r\nt==0或!t或t=='\\0'\r\nhuiwen(str)解析:函數(shù)huiwen中開始定義了兩個字符指針p1和p2,并讓p1指向sb的開始位置,所以p2應該指向str的尾部,即&str[strlen(str)-1]或?qū)懗蓅tr+strlen(str)-1或者其他等價形式。然后使用一個循環(huán),循環(huán)str的長度的一半次數(shù),比較p1和p2的內(nèi)容,并分別遞增和遞減這兩個指針。若有不同,則讓標志t為1,并跳出循環(huán)。所以最后一個if語句應該為判斷標志t是否為1,即應該填t==0或者其它等價形式。在主函數(shù)中,應該輸出huiwen()函數(shù)的返回結果,即最后一空應該填huiwen(str)。
31.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結果是為1或不為0。本題具體做法如下:Y%2=1或Y%2!=0。
32.對象對象解析:類描述的是具有相似性質(zhì)的一組對象。例如,每本具體的書是一個對象,而這些具體的書都有共同的性質(zhì),它們都屬于更一般的概念“書”這一類對象。一個具體對象稱為類的實例。
33.1343113431解析:程序首先定義了一個結構體NODE,在主函數(shù)中聲明了一個該結構體的數(shù)組m[5]和兩個結構體指針p和q,并分別初始化p指向m(指向數(shù)組的第—個元素):q指向m+4(指向數(shù)組的最后一個元素)。接下來定義并初始化一個整型變量i為0。然后用一個while循環(huán),在p和q不相等的時候執(zhí)行循環(huán)體:讓p所指結構體的成員k等于++i的值,然后讓p指向下一個結構體;讓q所指結構體的成員k等于i++的值,然后讓q指向前一個結構體。i從0開始交替調(diào)用++i和i++,兩個表達式的值依次分別為1和1、3和3……。所以當p==q循環(huán)結束時,實際循環(huán)了兩次,p和q都指向m數(shù)組的中間位置m[2],i自增了4次,所以q->k=i;就是讓m[2]k=4。所以程序最后輸出為:13431。
34.findbigfindbig解析:本題考核的知識點是指向函數(shù)的指針變量的使用。本題首先定義了一個指向函數(shù)的指針變量f,如果希望讓它指向某個函數(shù),只需把函數(shù)名賦給該指針變量即可。所以說本題的空格處應該填入函數(shù)名findbig。
35.存儲結構存儲結構解析:數(shù)據(jù)結構是指相互之間存在一種或多種特定關系的數(shù)據(jù)元素的集合,即數(shù)據(jù)的組織形式。它分為數(shù)據(jù)的邏輯結構和數(shù)據(jù)的存儲結構。
36.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測試字符串常量的長度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實現(xiàn)了將字符數(shù)組中每個非‘\\0’的字符后插入字符‘*’的功能。故輸出結果是a*b*c*d*。
解析:本題以浮點格式輸出z值,寬度為5,有2位小數(shù)。應該注意的是,兩個整數(shù)運算結果仍為整數(shù),如1/2的結果為0。本題可逐步求解:
16.00=9/2+2*x/1.1+1/2
16.00=4+2*x/1.1+0
12.00=2*x/1.1
所以,x的值為6.6。
38.cdeabcdeab解析:本題考核的知識點是基本算法的應用和程序的綜合分析。從分析知道m(xù)ove()函數(shù)的作用,是將形參str所指的數(shù)組依次向后左移一位,即讓該數(shù)組第一個元素的值等于第二個元素的值,接著讓第二個元素的值等于第三個元素的值,直到該數(shù)組最后第二個元素的值等于最后一個元素的值,然后讓第一個元素等于最后一個元素的值。主函數(shù)中用了一個for循環(huán)調(diào)用move()函數(shù),共循環(huán)三次。當i=1時,第一次調(diào)用move()函數(shù),使輸入到數(shù)組的s的字符串“abcde”變?yōu)椤癳abcd”,當i=2時,第二次調(diào)用move()函數(shù),使字符串“eabcd”變?yōu)椤癲eabc”,當i=3時,第三次調(diào)用move()函數(shù),使字符串“deabc”變?yōu)椤癱deab”,故最后輸出的值為“cdeab”,故該空格處應該填“cdeab”。
39.structst或exstructst或ex解析:結構體類型數(shù)據(jù),其數(shù)據(jù)成員各自占據(jù)不同的存儲空間,整個結構體變量所占存儲單元的字節(jié)數(shù)為每一個數(shù)據(jù)成員所占的存儲空間的和。注意:共用體變量所占存儲單元字節(jié)數(shù)的計算。
40.3232解析:while(表達式)的功能是:首先計算表達式的值,若為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢,再計算表達式的值,若仍為真,則重復執(zhí)行循環(huán)體語句,直到表達式的值為假時,結束while語句的執(zhí)行,繼續(xù)執(zhí)行while語句后面的語句:i=0時滿足循環(huán)條件,也滿足if的條件,執(zhí)行語句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結束。
41.C解析:軟件測試的目的:盡可能地多發(fā)現(xiàn)程序中的錯誤,不能也不可能證明程序沒有錯誤,軟件測試是一個發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件調(diào)試的目的是發(fā)現(xiàn)錯誤的位置,并改正錯誤。
42.C解析:軟件測試的目標是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯誤,給出程序可靠性的鑒定。它有3個方面的重要特征,即測試的挑剔性、完全測試的不可能性及測試的經(jīng)濟性。其中沒有測試的可靠性這一說法。注意:軟件測試與軟件調(diào)試的概念,以及相應的方法。
43.A解析:函數(shù)strcpy(s1,s2)的返回結果是指針s1的新值'1234',因此求串長函數(shù)的結果為4。
44.D解析:在定義函數(shù)時函數(shù)名后面括弧中的變量名稱為“形式參數(shù)”(簡稱形參),在主調(diào)函數(shù)中調(diào)用一個函數(shù)時,函數(shù)名后面括弧中的參數(shù)(可以是一個表達式)稱為“實際參數(shù)”(簡稱實參)。C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實參傳給形參,而不能由形參傳回來給實參。在內(nèi)存中,實參單元與形參單元是不同的單元。故本題應該選擇D。
45.B
46.D解析:本題通過函數(shù)調(diào)用對數(shù)組[0][0]、a[1][1]、a[2][2]、對a[0][3]進行求和,然后用return語句返回s的值。
47.A解析:耦合性是模塊間互相連接的緊密程度的度量,取決于各個模塊之間接口的復雜度、調(diào)用方式以及哪些信息通過接口。
[知識拓展]模塊的獨立程序是評價設計好壞的一個重要標準,衡量軟件的模塊獨立性有兩個定性的度量標準。其中內(nèi)聚性是指一個模塊內(nèi)部各個元素間彼此結合的緊密程度的度最,內(nèi)聚性是從功能角度來度量模塊內(nèi)的聯(lián)系;耦合性是模塊間互相連接的緊密程度的度量,耦合性從整體的角度來度量模塊間的聯(lián)系。
48.A
49.D解析:*p=x的作用是將x的首地址賦給指針變量p。選項A)正確,*(P++)中括號內(nèi)的++是在P的后面,所以它先取*P的值x[0],再執(zhí)行p++;選項B)正確,p+i表示x[i]的地址,*(p+i)表示x[i]的值;選項C)中的*和++處于同一優(yōu)先級別,而結合方向為自右而左,因此*p++相當于*(p++),與選項A)相同;選項D)中的(*p)++是使*p的值+1,即x[0]的值加1,它不能實現(xiàn)指針的移動,每次循環(huán)只是x[0]的值在改變,而P的值并沒有改變,所以不能實現(xiàn)6個元素的輸出。
50.D解析:該程序先判斷a[i]<a[p],如果條件為真,則a[i]比當前的設定的最小值小(p保留的當前最小元素的下標),那么將i賦給p即將比較過的最小的元素下標保留在p中,作為下面判斷的標準。
51.B解析:C語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第—個字符必須為字母或下劃線。
52.D解析:本題中是一個含有兩個結點的循環(huán)鏈表。
C語言中結構體的定義為:
struct結構體類型名
{
成員項表;
};
53.A解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識。數(shù)據(jù)的邏輯結構,是數(shù)據(jù)間關系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關系,而不管其在計算機中的存儲方式。數(shù)據(jù)的存儲結構,又叫物理結構,是邏輯結構在計算機存儲器里的實現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項A的說法是錯誤的。
數(shù)據(jù)庫可以看成是長期存儲在計算機內(nèi)的、大量的、有結構的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點。不同的用戶可以使用同一個數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標是要解決數(shù)據(jù)的共享問題。因此,選項B的說法是正確的。
數(shù)據(jù)庫設計是在數(shù)據(jù)庫管理系統(tǒng)的支持下,按照應用的要求,設計一個結構合理、使用方便、效率較高的數(shù)據(jù)庫及其應用系統(tǒng)。數(shù)據(jù)庫設計包含兩方面的內(nèi)容:一是結構設計,也就是設計數(shù)據(jù)庫框架或數(shù)據(jù)庫結構;二是行為設計,即設計基于數(shù)據(jù)庫的各類應用程序、事務等。因此,選項C的說法是錯誤的。
數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應用軟件開發(fā)工具等。對于大型的多用戶數(shù)據(jù)庫系統(tǒng)和網(wǎng)絡數(shù)據(jù)庫系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡系統(tǒng)軟件的支持。因此,選項D的說法是正確的。因此,本題的正確答案是選項A。
54.C解析:本題執(zhí)行過程如下:首先調(diào)用fun函敗,使得實參a的值3傳遞給形參p,得到局部變量d=8,打印出局部變量d的值8;返回主函數(shù)執(zhí)行“d+=a++”,此處的d為全局變量,所以d=1+3=4(由于本題是值傳遞,所以在函數(shù)fun中對p值的改變并不能引起a的改變),故本題的輸出是8,4。
55.C解析:'\\x41'是轉(zhuǎn)義字符,x表示41是十六進制數(shù),41是字母a的ASCII碼值。
56.B
57.D解析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。本題中,詳細設計、軟件編碼和軟件測試都屬于軟件開發(fā)階段;維護是軟件生命周期的最后一個階段,也是持續(xù)時間最長,花費代價最大的一個階段,軟件工程學的一個目的就是提高軟件的可維護性,降低維護的代價。
58.D解析:考查一維數(shù)組的指針和指向指針的指針兩個知識點。通過賦值,指針p和q都指向了數(shù)組a的首地址,*(p++)先引用數(shù)組元素,然后p++,所以輸出結果為2,**q指向的數(shù)組元素為4。
59.C解析:C語言的語法規(guī)定:else子句總是與前面最近的不帶else的if相結合,與書寫格式無關。所以選項C)為正確答案。
60.C解析:棧和隊列都是操作受限制的線性表,只允許在端點插入和刪除。不同點是:棧只允許在表的一端進行插入和刪除操作,而隊列允許在表的一端進行插入操作,而在另一端進行刪除操作。
61.B在本題中,程序首先定義了三個整型變量,然后執(zhí)行for循環(huán),從循環(huán)的結構條件我們可以知道,循環(huán)執(zhí)行了5次,循環(huán)變量a的值分別為5,4,3,2,1。
當a=5時,m=0,執(zhí)行第二層循環(huán),循環(huán)開始時,是變量a的值賦給循環(huán)變量b,而且只要循環(huán)變量b的值小于等5,循環(huán)繼續(xù),循環(huán)變量b的值每經(jīng)過一次循環(huán)后自加1,這時由于b=a=5,循環(huán)只執(zhí)行一次,m=m+a*b可描述為m=0+5*5=25。如果我們一直這樣分析下去,由于循環(huán)的次數(shù)太多,那么費時肯定也很多,而且還容易出錯,因此,我們需要找到新的解決問題的辦法。
從我們對上一次循環(huán)執(zhí)行過程的分析可以看出,第一層循環(huán),每次在最前面執(zhí)行語句m=0操作,即將我們前面執(zhí)行的m結果值進行清0操作,使其不影響后面m的值,程序最終要輸出的m是當a=1時那次循環(huán)計算到的m的值。
當a=1時,b的初值為1,第二層循環(huán)執(zhí)行5次,第一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南工程職業(yè)學院《重金屬冶金學》2023-2024學年第二學期期末試卷
- 新疆應用職業(yè)技術學院《外國戲劇史》2023-2024學年第二學期期末試卷
- 2025屆河南省駐馬店市驛城區(qū)高三上學期一模歷史試卷
- 黑龍江職業(yè)學院《勞動定額學》2023-2024學年第二學期期末試卷
- 2024-2025學年浙江省部分重點高中高二上學期12月月考歷史試卷
- 九江學院《文具設計》2023-2024學年第二學期期末試卷
- 青海師范大學《汽車電子電氣A》2023-2024學年第二學期期末試卷
- 煙臺理工學院《中國古代文學作品》2023-2024學年第二學期期末試卷
- 南陽農(nóng)業(yè)職業(yè)學院《就業(yè)與創(chuàng)業(yè)教育》2023-2024學年第二學期期末試卷
- 桂林信息工程職業(yè)學院《生物質(zhì)能源概論》2023-2024學年第二學期期末試卷
- 正確認識民族與宗教的關系堅持教育與宗教相分離
- 宜黃縣二都鎮(zhèn)高山飾面用花崗巖開采以及深加工項目環(huán)評報告
- 血液科護士的惡性腫瘤護理
- 畜禽廢棄物資源化利用講稿課件
- 土地糾紛調(diào)解簡單協(xié)議書
- 服裝倉庫管理制度及流程
- 《餐飲渠道開發(fā)方案》課件
- 架子工安全教育培訓試題(附答案)
- 一中師德考核評估制度
- 春節(jié)習俗中的傳統(tǒng)茶文化與茶藝
- 醫(yī)療文書病歷書寫規(guī)范培訓教學課件
評論
0/150
提交評論