




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年內蒙古自治區(qū)鄂爾多斯市全國計算機等級考試C語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.以下選項中不能用做C程序合法常量的是()。
A.1,234B.‘\123’C.123D.“\x7G”
3.在單鏈表中,增加頭結點的目的是______。
A.方便運算的實現B.使單鏈表至少有一個結點C.標識表結點中首結點的位置D.說明單鏈表是線性表的鏈式存儲實現
4.
5.在下列幾種排序方法中,要求內存量最大的是______。
A.插入排序B.選擇排序C.快速排序D.歸并排序
6.若有定義int?x,y;并已正確給變量賦值,則以下選項中與表達式(x-y)?(x++):(y++)中的條件表達式(x-y)等價的是()。A.(x-y<0|x-y>0)B.(x-y<0)C.(x-y>0).D.(x-y==0)
7.有以下程序:#include<stdio.h>main(){char*s=“01234”;while(*(++s)!=‘\0’){switch(*s-‘0’){case0:case1:putchar(*s+1);break;case2:putchar(*s+1);break;case3:putchar(*s+1);default:putchar(*s+1);break;}}}程序運行后的輸出結果是()。
A.22345B.2345C.12345D.23445
8.有以下程序:#include<stdio.h>main(){char*p=“6938”;inti,s=0;for(i=3;i>=0;i--)s=10*s+p[i]-‘0’;printf(“%d\n”,s);}程序運行后的輸出結果是()。
A.8396B.6938C.3869D.3689
9.單鏈表的存儲密度()順序表的存儲密度。
A.大于B.等于C.小于D.不能確定
10.若變量a,b已正確定義,且b已正確賦值,則合法的語句是()。
A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);
11.設x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
12.以下描述中,不是線性表順序存儲結構特征的是()。
A.可隨機訪問B.需要連續(xù)的存儲空間C.不便于插入和刪除D.邏輯相鄰的數據物理位置上不相鄰
13.以下程序的輸出結果是______。charcchar(charch){if(ch>='A'&&ch<='z')ch=ch-'A'+'a';returnch;}main(){chars[]="ABC+abc=defDEF",*p=s;while(*p){*p=cchar(*p);p++;}printf("%s\n",s);}
A.abe+ABC=DEFdef
B.abc+abe=defdef
C.abcaABCDEFdef
D.abcabcdefdef
14.當調用函數時,實參是一個數組名,則向函數傳送的是______。
A.數組的長度B.數組的首地址C.數組每一個元素的地址D.數組每個元素中的值
15.有以下程序函數fun只對下標為偶數的元素進行操作.:
程序運行后的輸出結果是()。A.A.7,2,5,4,3,6,1,
B.1,6,3,4,5,2,7,
C.7,6,5,4,3,2,1,
D.1,7,3,5,6,2,1,
16.以下能正確定義一維數組的選項是______。
A.inta[5]={0,1,2,3,4,5};
B.chara[]={0,1,2,3,4,5};
C.chara={'A','B','C'};
D.inta[5]="0123";
17.以下程序段中,與語句“k=a>b?(b>c?1:0):0;”功能相同的是()。
A.if((a>b)||(b>c))k=1;elsek=0;
B.if((a>b)&&(b>c))k=1;elsek=0;
C.if(a<=b)k=0;elseif(b<=c)k=1;
D.if(a>b)k=1;elseif(b>c)k=1;elsek=0;
18.以下選項中是非轉義字符的是()。
A.‘\d’B.‘\t’C.‘\b’D.‘\r’
19.下列程序執(zhí)行后的輸出結果是()。voidfunc(int*a,intb[]){b[0]=*a+b;}main{inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}A.6B.7C.8D.9
20.
二、2.填空題(20題)21.軟件結構是以【】為基礎而組成的一種控制層次結構。
22.若變量a,b已定義為int類型并賦值21和55,要求用printf函數以a=21,b=55的形式輸出,請寫出完整的的輸出語句()。
23.下面程序的功能是輸出數組s中最大元素的下標,請?zhí)羁铡?/p>
main()
{intk,p,s[]={1,-9,7,2,-10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])【】
printf("%d\n",k);}
24.判定表和判定樹是以圖文形式描述數據流圖的【】
25.以下程序的輸出結果是【】。
#defineMCRA(m)2*m
#defineMCRB(n,m)2*MCRA(n)+m
main()
{
inti=2,j=3;
printf("%d\n",MCRB(j,MCRA(i)));
}
26.軟件工程研究的內容主要包括:【】技術和軟件工程管理。
27.\13'在內存中占1個字節(jié),"\12"在內存中占______個字節(jié)。
28.解題方案的準確而完整的描述稱為______。
29.若運行時給變量x輸入12,則以下程序的運行結果是【】;
main(){
intx,y;
scanf(""%d"",&x);
y=x>12?x+10:x-12;
printf(""%d\n"",y);
}
30.設變量已正確定義為整型,則表達式n=i=2,++i,i++的值為【】。
31.以下程序的功能是:求出數組x中各相鄰兩個元素的和依次存放到a數組中,然后輸出。請?zhí)羁铡?/p>
main()
{intx[10],a[9],I;
for(I=0;I<10;I++)scanf("%d",&x[I]);
for(【】;I<10;I++)
a[I-1]=x[I]+【】;.
for(I=0;I<9;I++)printf("%d",a[I]);
printf("");
}
32.若有如下結構體說明:
structSIRU
{inta,b;charc:doubled;
structSTRU*p1,*p2;
};
請?zhí)羁眨酝瓿蓪數組的定義,t數組的每個元素為該結構體類型。
【】t[20]
33.當運行以下程序時,輸入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);
}
34.函數rewind的作用是
35.以下程序運行后的輸出結果是【】。
intf(inta[],intn)
{if(n>=1)returnf(a,n-1)+a[n-1];
elsereturn0;
}
main()
{intaa[5]=(1,2,3,4,5),s;
s=f(aa,5);printf("%d\n",s);
}
36.下列程序的輸出結果是16.00,請?zhí)羁眨?/p>
main()
{
inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n",z);
}
37.最簡單的交換排序方法是______。
38.mysulen函數的功能是計算str所指字符串的長度,并作為函數值返回。請?zhí)羁铡?/p>
intmystrlen(Char*str)
{inti;
for{i=0;!='\0';i++);
return(______);
}
39.若a是int型變量,則下列表達式的值為______。
(a=2*3,a*2),a+4
40.下列程序的輸出結果是______。
main()
{inta=1,b=2,c=3,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);
}
三、1.選擇題(20題)41.以下程序的輸出結果是()。main()charc1='6',c1='0'printf("%d,%d,%d\n",c1,c2,c1-c2);}
A.因輸出格式不合法,輸出出錯信息B.54,48,6C.6,0,7D.6,0,6
42.下列程序段中,不能正確賦值的是
A.char*p,ch;p=&ch;scanf("%c,&p")
B.char*p;p=(char*)malloc(1)scanf("%c",p);
C.char*p*p=getchar();
D.char*p,ch;p=&ch;*p=getchar();
43.閱讀下面程序段,則執(zhí)行后的結果為#inclide"stdio.h"main(){intm=4,n=2,k;k=fun(m,n);printf("%d\n",k);}fun(intm,intn){return(m*m*m-n*n*n);}
A.64B.8C.56D.0
44.下面敘述不正確的是
A.算法的執(zhí)行效率與數據的存儲結構有關
B.算法的空間復雜度是指執(zhí)行這個算法所需要的內存空間
C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止
D.算法的時間復雜度是指執(zhí)行這個算法所需要的時間
45.C語言規(guī)定如果調用fpute函數輸出成功,則返回值是()
A.1B.輸出的字符C.0D.TRUE
46.有以下程序intf(intn){if(n==l)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=i;i<3;i++)j+=f(i);printf{"%d\n",j);}程序運行后的輸出結果是
A.4B.3C.2D.1
47.已有定義inta=-2;和輸出語句printf("%81x",a);以下正確的敘述是()。
A.整型變量的輸出形式只有%d一種
B.%x是格式符的一種,它可以適用于任何一種類型的數據
C.%x是格式符的一種,其變量的值按十六進制輸出,但%81x是錯誤的
D.%81x不是錯誤的格式符,其中數字8規(guī)定了輸出字段的寬度
48.下列程序的運行結果為#include<stdio.h>voidabc(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
49.以下敘述不正確的是______。
A.分號是C語言的必要組成部分
B.C程序的注釋可以寫在句的后面
C.函數是C程序的基本單位
D.主函數的名字不一定用main表示
50.調用gets和puts函數時,必須包含的頭文件是
A.stdio.hB.stdlib.hC.defineD.以上都不對
51.十進制數1385轉換成十六進制數為()
A.568B.569C.D85D.D55
52.下列說法不正確的是()。
A.一個C語言源程序可以由一個函數組成也可以由多個函數組成
B.main()中的“()”是函數的參數部分,括號內可為空,但括號不能省略
C.C語言程序是以函數為基本單位的
D.在C語言程序中,注釋行只能位于一條語句的后面
53.當變量c的值不為2、4、6時,值也為"真"的表達式是
A.(c==2)||(c==4)||(c==6)
B.(c>=2&&c<=6)||(c!=3)||(c!=5)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<=6)&&(c%2!=1)
54.有以下程序:#include<stdio,h>main(){intm=0256,n=256;printf("%o%o\n",m,n);程序運行后的輸出結果是()。
A.02560400B.0256256C.256400D.400400
55.下列敘述中正確的是()。
A.測試工作必須由程序編制者自己完成
B.測試用例和調試用例必須一致
C.一個程序經調試改正錯誤后,一般不必再進行測試
D.上述三種說法都不對
56.以下對聯(lián)合類型敘述正確的是()。
A.可以對聯(lián)合變量名直接賦值
B.使用聯(lián)合變量的目的是為了節(jié)省內存
C.任何一個聯(lián)合變量可以同時引用聯(lián)合中的不同成員
D.聯(lián)合類型定義中不能同時出現結構類型的成員
57.定義int*swap()指的是______。
A.一個返回整型值的函swap()
B.—個返回指向整型值指針的swap()
C.一個指向函數swap()的指針,函數返回一個整型值
D.以上說法均錯
58.下面四個選項中,均是不合法的用戶標識符的選項是()。
A.AP_0doB.floatla0_AC.b-agotointD._123tempint
59.若有以下定義和語句,則輸出的結果是______。charc1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+"A");
A.2,MB.3,EC.2,ED.輸出結果不確定
60.下列程序的輸出結果是()。main(){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7)if(p[i]%2)j+=p[i];printf("%d\n",j);}
A.42B.45C.56D.60
四、選擇題(20題)61.
62.若有以下語句:typedefstructS{int9;charh;}T;以下敘述中正確的是()。
A.可用s定義結構體變量B.可用T定義結構體變量C.S是struct類型的變量D.T是structS類型的變量
63.
64.(40)將E-R圖轉換到關系模式時,實體與聯(lián)系都可以表示成()
A.屬性
B.關系
C.鍵
D.域
65.下列能正確進行字符串賦值的是()。A.A.chars[5]={”ABCI)E”);
B.chars[5]={'A','B','C','D','E'};
C.char*s;s="ABCDE";
D.char*s;printf("%S",s);
66.有以下程序在VC6平臺上編譯運行。程序運行后的輸出結果是(
)。
A.4,8B.4,4C.2,4D.10,6
67.有以下程序:
程序運行后的輸出結果是()。
A.0,0B.1,0C.3,2D.1,2
68.數據流程圖(DFD)是()。
A.軟件概要設計的工具B.軟件詳細設計的工具C.結構化方法的需求分析工具D.面向對象方法的需求分析工具
69.(11)算法的時間復雜度是指()
A.執(zhí)行算法程序所需要的時間
B.算法程序的長度
C.算法執(zhí)行過程中所需要的基本運算次數
D.算法程序中的指令條數
70.設x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
71.
72.以下程序的輸出結果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);A.A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
73.設有如圖所示二叉樹,對此二叉樹后序遍歷的結果為()。
A.ZBTYCPXAB.ATBZXCYPC.TZBACYXPD.ATBZXCPY
74.運算符________的優(yōu)先級最高。
A.[]B.+=C.?:D.++
75.有以下程序:
#include<stdio.h>
main()
{inta=2,b;
b=a<<2;printf("%d\n",b);
}
程序運行后的輸出結果是()。
A.2
B.4
C.6
D.8
76.
77.(25)下面對對象概念描述錯誤的是()
A.任何對象都必須有繼承性
B.對象是屬性和方法的封裝體
C.對象間的通訊靠消息傳遞
D.操作是對象的動態(tài)性屬性
78.有以下程序:
程序運行后的輸出結果是()。
A.0B.1C.4D.8
79.
80.
五、程序改錯題(1題)81.下列給定程序中,函數proc()的功能是:用冒泡法對6個字符串按由小到大的順序進行排序。請修改程序中的錯誤,使它能得到正確結果。注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。試題程序:
六、程序設計題(1題)82.規(guī)定輸入的字符串中只包含字母和*號。編寫函數fun(),其功能是:刪除字符串中所有的*號。編寫函數時,不得使用C語言提供的字符串函數。例如,字符串中的內容為“****A*BC*DEF*G****”,刪除后,字符串中的內容應當是“ABCDEFG”。注意:部分源程序給出如下。請勿改動main()函數和其他函數中的任何內容,僅在函數fun()的花括號中填入編寫的若干語句。試題程序:
參考答案
1.A
2.AA選項中逗號是一個操作符。
3.A\nA?!窘馕觥款^結點不僅標識了表中首結點的位置,而且根據單鏈表(包含頭結點)的結構,只要掌握了表頭,就能夠訪問整個鏈表,因此增加頭結點的目的是為了便于運算的實現。
\n
4.B
5.D解析:快速排序的基本思想是,通過一趟排序將排序記錄分割成獨立的兩部
分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小,再分別對這兩部分記錄繼
續(xù)進行排序,以達到整個序列有序;插入排序的基本操作是指將無序序列中的各元素依
次插入到已經有序的線性表中,從而得到一個新的序列;選擇排序的基本思想是:掃描整
個線性表,從中選出最小的元素,將它交換到表的最前面(這是它應有的位置),然后對剩
下的于表采用同樣的方法,直到表空為止;歸并:排序是將兩個或兩個以上的有序表組合
成一個新的有序表。
注意:各種排序方法實現過程及實現機制。
6.A條件表達式:x=表達式1:表達式2:表達式3的含義是:先求解表達式1.若為非0(真),則求解表達式2.將表達式2的值賦給x。若表達式1的值為0(假),則求解表達式3.將表達式3的值賦給x。在本題中與表達式1:(x-y)等價的是(x-y<0|x-y>0)。
7.D程序首先定義一個字符指針s,指向一個常量字符串“01234”;接著while循環(huán)的循環(huán)條件每次將s指向下一個字符,然后判斷s指向的字符是否為空字符“\\0”,若不是,則執(zhí)行循環(huán)體,將當前字符與‘0’”的ASCII差值作為switch語句的常量表達式,執(zhí)行對應的case語句。指針s指向空字符“\\0”時,則終止循環(huán),程序結束。從常量字符串“01234”可知,循環(huán)過程中s指向的各個字符分別是1、2、3、4。當*s是字符“1”時,*s-‘0’的值為1,執(zhí)行case1語句,輸出*s+1,即字符“2”;當*s是字符“2”時,*s-‘0’的值為2,執(zhí)行case2語句,輸出*s+1,即字符“3”;當*s是字符“3”時,*s-‘0’的值為3,執(zhí)行case3和default語句,兩次輸出*s+1,即字符“4”;當*s是字符“4”時,*s-‘0’的值為4,執(zhí)行default語句,輸出*s+1,即字符“5”。綜上,程序輸出結果為23445。故本題答案為D選項。
8.A程序首先定義一個字符指針P,使其指向一個字符串“6938”。然后通過for循環(huán)使用逆序的方式遍歷字符串的各個字符,并將各個字符當作整數參與算術運算。其中,“p[i]-‘0’”的含義是將字符串中的數字字符轉換成對應的整數;“10*s+P[i]-‘0’”是將上一次運算結果乘以10后與轉換后的整數相加,再累加到S中。所以for循環(huán)執(zhí)行完后,S的值是將字符串“6938”逆序后當作整數輸出。故本題答案為A選項。
9.C
10.B在C語名中規(guī)定進行強制類型轉換的格式是:(類型名)變量名;并且給表達式賦值。
11.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。
12.DD)【解析】線性表的順序存儲是用一片連續(xù)的空間來存放數據元素,其特點是邏輯上相鄰的元素在物理位置上也相鄰。數據元素之間邏輯上的先后關系自動隱含在物理位置的相鄰元素之中,因此不需要另外開辟空間來保存元素之間的關系。
13.B解析:字符數組元素作函數參數是單向的值傳遞。函數cchar的功能是將大寫字母轉換為小寫字母。主函數中while循環(huán)語句的條件是判斷指針p當前指向的字符是否為空,若不為空,則調用函數cchar,即主函數中通過循環(huán)語句將字符串'ABC+abc=defDEF'中的大寫字母全部轉換為小寫字母,因此printf的輸出結果為選項B。
14.B解析:當調用函數時,實參是一個數組名,則向函數傳送的是數組的首地址,函數中的形參可定義成以下三種形式:
①形參定義成數組;
②形參定義成可變長數組:
③形參定義為指針變量。
15.A由函數fun(int*a,intn)中語句if(a[j]>a[k])k=j;可知當前k是記錄數組中較大數據值所在位置的下標變量,所以該函數的作用是對數組a中的下標為偶數位置的數據進行從大到小的排序,即對a[0],a[2],a[4],a[6]中的數據1,3,5,7進行從大到小的排序,其他位置的數據不變,所以答案為A)。
16.B解析:選項A)定義的是長度為5的數組元素,但初值有6個元素,所以錯誤;選項C)不符合數組定義形式,數組名后應加上“[];選項D)的類型說明符錯誤,應改為char;選項B)中的0,1,2,3,4,5分別表示對應字符的ASCII碼,所以正確。
17.B條件表達式的含義是:如果表達式1成立,結果為表達式2的值,如果不成立,則為表達式3的值。在題干中,如果“a>b”且“b>c”,則k值為1;如果“a>b”且“b<c”,則k值為0;如果“a<b”,則k值為0。條件“a>b”與“b>c”中只要有一個條件不成立,k的值就為0。故本題答案為B選項。
18.AC語言中,轉義字符又稱反斜線字符,這些字符常量總是以一個反斜線開頭后加一個特定的字符。題干中,‘\\t’表示橫向跳若干格,‘\\b’表示退格符,‘\\r’表示回車符,選項B、C、D正確,選項A錯誤。故本題答案為A選項。
19.A本題考查函數的調用,從主函數傳遞到調用函數中,*a的值為0,因此當執(zhí)行完調用函數后,b[0]的值為6。
20.C
21.模塊模塊
22.printf(“a=%db=%d”aB);printf(“a=%d,b=%d”,a,B);解析:printf函數的一般格式為:“printf(格式控制,輸出表列)”。
23.k=p;k=p;解析:為尋找數組中最大元素的下標,需先預設1個臨時最大元素的下標,并順序逐一考查數組的元素,當發(fā)現當前元素比臨時最大元素更大時,就用當前元素的下標更新臨時最大元素下標。直至考查了數組的全部元素后,這臨時最大元素下標就是數組的最大元素下標。通常預設的最大元素下標是數組的首元素下標,考查通常從首元素開始順序向后繼元素考查。程序中,存儲臨時最大元素下標的變量是k,變量p控制順序考查的循環(huán)控制變量。當發(fā)現當前元素s[p]比臨時最大元素s[k]更大時,應該用p更新k,所以在空框處應填入代碼'k=p;'。
24.判定樹、判定表判定樹、判定表
25.1616解析:首先用j和MCRA(i)替換MCRB(n,m)中的參數n和m,變成2*MCRA(j)+MCRA(i),再用j和i替換MCRA(m)中的參數m,變成2*2*j+2*i=2*2*3+2*2=16。
26.軟件開發(fā)
27.22解析:'\\13':表示八進制數13表示的ASCII字符,是一個字符,占一個字節(jié);而”\\12”是個字符串,除了八進制數12表示的ASCII字符占一個字節(jié)外,還有在字符串的末尾加上串結束標志“'\\0'”,所以共有2個字節(jié)。
28.算法算法解析:算法是指對解題方案的準確而完整的描述。
29.00解析:三目運算符的形式為(表達式1)?(表達式2):(表達式3)。當(表達式1)值為真時,返回(表達式2)的值;為假時,返回(表達式3)的值。題中因為x>12為假,所以結果為x-12,即為0。
30.33解析:本題考查的是C語言逗號表達式的相關知識。程序在計算逗號表達式時,從左到右計算由逗號分隔各表達式的值,整個逗號表達式的值等于其中最后一個表達式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計算為3。
31.I=1x[I-1]I=1,x[I-1]解析:對于10個數,相臨的兩個數相加取和,總共要進行9次加法運算,所以空14處應填入I=1。相臨的兩個數相加取和,放在數組a中,x[0]與x[1]的和存放在a[0]中,所以空15處應填入x[I-1]。
32.structSTRUstructSTRU解析:結構體類型是構造數據類型,是用戶自己定義的一種類型。
結構體類型的定義:
struct結構體類型名
{
成員項表;
定義結構休變量的的形式為:
struct結構體類型名變量1,變量2,....
其中變量包括:一般變量、指針變量、數組變量等。
33.a*b*c*d*a*b*c*d*解析:字符處理函數strlen()測試字符串常量的長度,不包括‘\\0’在內。因此,函數insert()實現了將字符數組中每個非‘\\0’的字符后插入字符‘*’的功能。故輸出結果是a*b*c*d*。
34.A
35.1515解析:s=f(aa,5)=f(aa,4)+a[4]=f(aa,3)+a[3]+a[4]=f(aa,2)+a[2]+a[3]+a[4]
=f(aa,1)+a[1]+a[2]+a[3]|a[4]=0+a[0]+a[1]+a[2]+a[3]+a[4]=15。
解析:本題,已知結果z=16.00,即16.0=a/2+b*x/y+1/2,分別把a、b,代入,得到16.0=9/2+2*x/1.1+1/2。因為a=9,a是整型,所以9/2的值在沒有進行類型轉換時,等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。
37.冒泡排序冒泡排序解析:交換排序是指借助數據元素之間的互相交換進行排序的一種方法。冒泡排序是一種最簡單的交換排序方法,它是通過相鄰元素之間的相互交換逐步將線性表變成有序。
38.*(srt+i)或str[i]i*(srt+i)或str[i]\r\ni解析:求str指向的字符串長度的算法是:用一個變量i表示字符串中字符的位置,一開始賦值為0,取出i位置的字符,判斷是否為'\\0',若不是則i的值加1,如此循環(huán)直到取出的字符是'\\0'為止,此時i的值就是字符串的長度。由此可知,第一個空處應填第i位置上的字符*(str+i);第二個空格應該填字符串的長度i。
39.1010解析:此題考查逗號表達式。逗號表達式的值是最后一個表達式的值,所以本題的返回值是a+4。前面已經給a賦值6,所以追回值a+4=6+4=10。
40.3123,1,2解析:分析程序,第一個if語句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時a=2,b=1。第二個if語句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時a=3,c=2。
41.A解析:因為main()函數缺少左大括號,所以編譯無法通過。應該選擇A。
42.C解析:本題考查了字符的輸入函數getchar和利用scanf函數輸入一個字符。用scanf輸入字符時,格式說明字符應該為%c。本題選項C)因為指針p沒有賦初值,所以是一個不定值,不能直接將getchar讀入的字符賦給指針p所指向的字符,所以選項C錯誤。
43.C
44.D解析:算法的時間復雜度是指執(zhí)行算法所需要的計算工作量,故D選項不正確。
45.B
46.B解析:本題考查的知識點是遞歸函數.通過分析不難寫出,f()函數的數學表達式為:
f(n)=1n=1;
f(n)=f(n-1)+1n不等于1;
在主函數中for循環(huán)執(zhí)行了兩次函數調用f(i)。第一次:i為1,調用f(1)得到返回值1,并把它加到i中,i的值為1。第二次i為2,調用f(n),根據遞歸公式可知“f(2)=f(1)+1”,得到返回值2并把它加到i中,j的值為3。所以最后輸出的j的值為3,所以4個選項中B正確。
47.D解析:整型變量的輸出形式有:%d,%o,%x,%u等,%x是以十六進制無符號形式輸出整數。十六進制數同樣也可以像%md一樣按%mlx輸出指定寬度的長整型數。
48.A解析:本題考查了用字符指針引用字符數組中的字符及對字符的操作。函數abc()的for語句執(zhí)行過程是:從字符指針str所指向的字符數組的第一個元素開始,逐一判斷字符是否為'c',若不是就執(zhí)行一次數組元素的賦值過程,若字符為'c'就不執(zhí)行。
49.D解析:C語言的程序是由主函數main()開始運行,由主函數來調用其他函數,所以D是錯誤的。
50.A解析:gets函數和puts函數是庫函數,必須包含的頭文件是stdio.h。
51.B
52.D解析:本題涉及C語言基本的3個知識點:①C語言是以函數為基本單位的,每一個函數完成相對獨立的功能,一個程序可以包括多個函數,但有且僅有一個主函數;②主函數main()的圓括號內是填寫參數的,可以沒有參數,但括號不可以省略;③程序的注釋部分應該在“/*…………*/”之間,它允許出現在程序的任何位置。
53.B解析:滿足表達式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當變量c的值不為2,4,6時,其值只能為3或5,所以表達式c!=3和c!=5中至少有一個為真,即不論c為何值,選項B中的表達式都為'真'。
54.C解析:o格式符是以八進制形式輸出整數。此題m已是八進制數(256前面的0表示此數是八進制數),n是十進制數,所以輸出時,直接輸出m的值,n的值需要轉換成八進制數400后再輸出。
55.D解析:測試不是為了證明程序是正確的,而是在設想程序有錯誤的前提下進行的,其目的是設法暴露程序中的錯誤和缺陷,一般應當避免由開發(fā)者測試自己的程序,因此,選項A錯誤;測試是為了發(fā)現程序錯誤,不能證明程序的正確性,調試主要是推斷錯誤的原因,從而進一步改正錯誤,調試用例與測試用例可以一致,也可以不一致,選項B錯誤;測試發(fā)現錯誤后,可進行調試并改正錯誤:經過調試后的程序還需進行回歸測試,以檢查調試的效果,同時也可防止在調試過程中引進新的錯誤,選項C錯誤。
56.B由于聯(lián)合體是同一存儲區(qū)域由不同類型的變量共享,所以不可以直接對聯(lián)合體變量名進行賦值,且聯(lián)合體中的空間在某一時刻只能保持某一成員的數據;另外合體中可以出現結構類型的成員。
57.B解析:一個函數可以帶回一個整型值、字符值、實型值等,但也可以帶回指針型數據,即地址。本題的定義中,包括括號和*號,由于()優(yōu)先級高于*。故它是—個返回整型指針的函數。
58.C解析:C語言規(guī)定的標識符只能由字母、數字和下劃線3種字符組成,第一個字符必須為字母或下劃線,并且不能使用C語言中的關鍵字作為標識符。選項C)中goto和int是關鍵字,b-a中'-'不是組成標識符的3種字符之一;選項D)中int是關鍵字,所以,均是不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 母嬰互動育嬰師試題及答案
- 四川省南充市嘉陵一中2024-2025學年高一下學期3月月考語文試題及答案
- 社團新成員培訓計劃
- 班主任如何設置班級目標計劃
- 小眾品牌的市場策略探討計劃
- 人口學變化對城鄉(xiāng)發(fā)展的影響分析試題及答案
- 水務發(fā)展戰(zhàn)略與展望計劃
- 鼓勵醫(yī)務人員參與科研的計劃
- 2024計算機二級考試分析與試題及答案
- 地理信息共享與應用發(fā)展試題及答案
- 2024年重慶發(fā)展投資有限公司招聘筆試參考題庫含答案解析
- 高中18歲成人儀式主題活動設計
- 足球準確傳球訓練技巧:提高準確傳球能力掌控比賽節(jié)奏
- 《珠穆瑯瑪峰》課件
- 代碼生成器的需求分析報告
- 藥學概論(全套課件355P)
- 2023年-2024年電子物證專業(yè)考試復習題庫(含答案)
- 公司與公司簽訂勞務合同范本
- 信息資源管理(馬費成-第三版)復習重點
- 焊接工藝評定報告PQR115
- 配電室巡查記錄表
評論
0/150
提交評論