![2021-2022年內蒙古自治區(qū)赤峰市全國計算機等級考試C語言程序設計測試卷(含答案)_第1頁](http://file4.renrendoc.com/view/6e489df8710895f0d4bb0dbb982f2e61/6e489df8710895f0d4bb0dbb982f2e611.gif)
![2021-2022年內蒙古自治區(qū)赤峰市全國計算機等級考試C語言程序設計測試卷(含答案)_第2頁](http://file4.renrendoc.com/view/6e489df8710895f0d4bb0dbb982f2e61/6e489df8710895f0d4bb0dbb982f2e612.gif)
![2021-2022年內蒙古自治區(qū)赤峰市全國計算機等級考試C語言程序設計測試卷(含答案)_第3頁](http://file4.renrendoc.com/view/6e489df8710895f0d4bb0dbb982f2e61/6e489df8710895f0d4bb0dbb982f2e613.gif)
![2021-2022年內蒙古自治區(qū)赤峰市全國計算機等級考試C語言程序設計測試卷(含答案)_第4頁](http://file4.renrendoc.com/view/6e489df8710895f0d4bb0dbb982f2e61/6e489df8710895f0d4bb0dbb982f2e614.gif)
![2021-2022年內蒙古自治區(qū)赤峰市全國計算機等級考試C語言程序設計測試卷(含答案)_第5頁](http://file4.renrendoc.com/view/6e489df8710895f0d4bb0dbb982f2e61/6e489df8710895f0d4bb0dbb982f2e615.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年內蒙古自治區(qū)赤峰市全國計算機等級考試C語言程序設計測試卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.當執(zhí)行下面的程序時,如果輸入ABC,則輸出結果是()#include<stdio.h>#include<string.h>main(){charss[10]="12345";gets(ss);strcat(ss"6789");printf("%s\n",ss);}
A.ABC6789B.ABC67C.12345ABC6D.ABC456789
3.
4.
5.若a為int類型,且其值為3,則執(zhí)行完表達式a+=a-=a*a后,a的值是()。
A.-3B.9C.-12D.6
6.若變量已正確定義,有以下程序段
A.0,0B.0,1C.1,1D.程序進入無限循環(huán)
7.有以下程序:main(){char*p[10]={"abc","aabdfg","dcdbe","abbcf',"cd"};printf("%d\n",strlen(p[4]));}執(zhí)行后的輸出結果是______。
A.2B.3C.4D.5
8.
9.有以下程序:#include<stdio,h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當運行時輸入:a<回車>后,以下敘述正確的是()。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序將等待用戶輸入第二個字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無確定值
10.軟件設計包括軟件的結構、數據接口和過程設計,其中軟件的過程設計是指()
A.模塊間的關系B.系統結構部件轉換成軟件的過程描述C.軟件層次結構D.軟件開發(fā)過程
11.下面程序的輸出結果是
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);}
A.0B.1C.10D.9
12.在定義inta[5][6];后,數組a中的第10個元素是()。(設a[0][0]為第一個元素)
A.a[2][5]B.a[2][4]C.a[1][3]D.a[1][5]
13.
14.下列說法正確的是()。
A.在C語言中,可以使用動態(tài)內存分配技術定義元素個數可變的數組
B.在c語言中,數組元素的個數可以不確定,允許隨機變動
C.在C語言中,數組元素的數據類型可以不一致
D.在C語言中,定義一個數組后.就確定了它所容納的元素的個數
15.依次插入序列(50,72,43,85,75,20,34,45,65,30)后建立的二叉搜索樹中,查找元素30要進行()次元素間的比較。
A.4B.5C.7D.10
16.設有函數說明語句:intfun(int,int);以及函數指針定義語句:int(*f)(int,int);若要使函數指針指向函數fun的入口地址,以下選項中正確的是()。
A.f=fun();B.*f=fun;C.f=fun;D.*f=fun();
17.下列敘述錯誤的是()。
A.函數名是屬于用戶標識符,需符合C語言對標識符的規(guī)定
B.形參只能是變量
C.為保證程序的正常運行,函數中定義的變量不能與其他函數中的變量同名
D.函數中定義的變量可以與其他函數中的變量同名
18.下而程序的輸出結果是()。
A)32
B)26
C)24
D)4
19.
20.設單鏈表中結點的結構為非空的循環(huán)單鏈表first的尾結點(由p所指向)滿足:______A.p->link==NULL;B.p==NULL;C.p->link==first;D.p==first;
二、2.填空題(20題)21.有以下語句段
intnl=10,n2=20;
printf("______",n1,n2);
要求按以下格式輸出n1和n2的值,每個輸出行從第一列開始,請?zhí)羁铡?/p>
n1=10
n2=20
22.軟件結構是以【】為基礎而組成的一種控制層次結構。
23.下列程序的運行結果是______。
#include<stdio.h>
main()
{inta,b,c,n;
a=2;b=0;c=1;n=1;
while(n<=3)
{c=c*a;b=b+c;++n;}
printf("b=%d",B);
}
24.面向對象的模型中,最基本概念是對象和【】。
25.面向對象的模型中,最基本的概念是對象和______。
26.mystrlen函數的功能是計算str所指字符串的長度,并作為函數值返回。請?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;【】!='\0';i++);
return(【】);
}
27.在關系運算中,【】運算是對兩個具有公共屬性的關系所進行的運算。
28.按"先進后出"原則組織數據的數據結構是【】。
29.隊列是限定在表的一端進行插入和在另一端進行刪除操作的線性表。允許插入的一端稱作______。
30.求任意一個數(用16位二進制碼表示)的補碼。
main()
{unsignedinta;
【】;
scanf("%O",&a);
printf("%o\n",getbits(a));
}
unsignedintgetbits(value)
unsignedintvalue;
{unstgnedintz;
z=【】;
if(z==0100000)
【】;
else
z=value;
return(z);
}
31.深度為5的滿二叉樹中,葉子結點的個數為______。
32.軟件是程序、數據和【】的集合。
33.數據庫是指按照一定的規(guī)則存儲在計算機中的【】的集合,它能被各種用戶共享。
34.以下程序的功能是根據輸入的“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
35.下列程序的輸出結果是______。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0‖x==1)
return3;
else
p=x-fun(x-2);
returnp;
}
voidmain()
{printf("\n%d",fun(11));
36.以下程序通過函數指針p調用函數fun,請在填空欄內寫出定義變量p的語句。
voidfun(intx,int*y)
{……}
main()
{inta=10,b=20;
【】;/*定義變量p*/
p=fun;p(&a,&b);
}
37.若a=1,b=2,c=3,d=4;則條件表達式a>b?a:c<d?c:d的結果為()。
38.下列程序的功能是輸入一個整數,判斷其是否是素數,若為素數則輸出1,否則輸出0。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,x,y=1;
scanf("%d",&x);
for(i=2;i<=x/2;i++)
if【】{y=0;break;}
printf("%d\n",y);
}
39.函數fun的功能是計算xn。
doublefun(doublex,intn)
{inti;doubley=1;
for(i=1;i<=n;i++)y=y*x;
returny;
}
主函數中已正確定義m、a、b變量并賦值,并調用fun函數計算:m=a4+b4-(a+b)3。實現這一計算的函數調用語句為【】。
40.以下程序的輸出結果是【】。
main()
{unsignedshorta=65536;intb;
printfC%d\n",b=a);
}
三、1.選擇題(20題)41.有以下程序:#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf("%d\n",i);}執(zhí)行后輸出結果是
A.28B.22C.16D.4
42.C語言中運算對象必須是整型的運算符是()。
A.%=B./C.=D.<=
43.已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97。下列不能將變量c中的大寫字母轉換為對應小寫字母的語句是()。
A.c=(c-'A')%26+'a'
B.c=c+32
C.c=C-'A'+'a'
D.c=('A'+C)%26-'a'
44.以下程序段的輸出結果是()。inta=1234;printf("%2d\n",a);
A.12B.34C.1234D.提示出錯,無結果
45.結構化程序設計主要強調的是()。
A.程序的規(guī)模B.程序的效率C.程序設計語言的先進性D.程序的易讀性
46.若已定義的函數有返回值,則以下關于該函數調用的敘述中錯誤的是A.函數調用可以作為獨立的語句存在
B.函數調用可以作為一個函數的實參
C.函數調用可以出現在表達式中
D.函數調用可以作為一個函數的形參
47.設有說明int(*ptr)[M];其中的標識符ptr是______。
A.M個指向整型變量的指針
B.指向M個整型變量的函數指針
C.一個指向具有M個整型元素的一維數組的指針
D.具有M個指針元素的一維指針數組,每個元素都只能指向整型變量
48.需求分析階段的任務是()
A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費用D.軟件系統功能
49.請選出下面正確的程序段()。
A.int*s;scanf("%d",s);┆
B.int*s,k;*s=100;┆
C.int*s,k;char*p,c;s=&k;p=&c;*p='a';┆
D.int*s,k;char*p,c;s=&k;p=&c;s=p;*s=1;┆
50.
有以下程序:
main
{intx=102,y=012;
printf("%2d,%2d\n",x,y);
}
執(zhí)行后輸出結果是()。
A.10,01B.02,12C.102,10D.02,10
51.下列程序的輸出結果是()。#include<stdio.h>main(){inta=4printf("%d\n",(a+=a-=a*A));}
A.-8B.14C.0D.-24
52.以下程序的輸出結果是()。main(){inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d%d%d\n"m,k,a,b);}
A.104B.103C.3D.4
53.數據庫DB、數據庫系統DBS、數據庫管理系統DBMS之間的關系是()。
A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒有任何關系
54.若有定義:intx=0,*p=&x;,則語句printf("%d\n",*p);的輸出結果是()。
A.隨機值B.0C.x的地址D.p的地址
55.若有說明chars1[30]="abc",s2[]="defghi";,則在使用函數strcat(s1,s2)后,結果是()。
A.s1的內容更新為abcdefghi
B.s1的內容更新為defghi\0
C.s1的內容更新為defghiabc\0
D.s1的內容更新為abcdefghi\0
56.設有以下語句charx=3,y=6,Z;z=x^y<<2;則z的二進制值是
A.00010100B.00011011C.00011100D.00011000
57.請選出以下程序的輸出結果#include<stdio.h>main(){inta[]={1,2,3,4},i;intx=0;for(i=0;i<4;i++){sub(a,x);printf("%d",x);}printf("\n");}sub(s,y)int*s,y;{staticintt=3;y=s[t];t--;}
A.1234B.4321C.0D.4444
58.下列敘述中,不符合良好程序設計風格要求的是()
A.程序的效率第一,清晰第二B.程序的可讀性好C.程序中要有必要的注釋D.輸入數據前要有提示信息
59.以下程序的輸出結果是______。longfum(intn){longs;if(n==||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%ld\n",fun(3));}
A.1B.2C.3D.4
60.下面程序的文件名為Lexe,在DOS下輸入的命令行參數為:ttomeetme<回車>則程序輸出的結果是#include”stdio.h”main(argc,argv)intargc;char*argv[];{inti;printf("%d\n",argc);}
A.3B.4C.2D.以上答案都不正確
四、選擇題(20題)61.
62.若變量c為char類型,能正確判斷出c為小寫字母的表達式是
A.’a’<=c<=’z’B.(c>=’a’)||(c<=’z’)
C.(’a’<=c)and(’z’>=c)D.(c>=’a’)&&(c<=’z’)
63.
64.以下程序的運行結果是
#defineMIN(x,y)(x)<(y)?(x):(y)
main()
{
inti=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A.10B.15
C.100D.150
65.
66.在E—R圖中,用來表示實體的圖形是()。
A.矩形B.橢圓形C.菱形D.三角形
67.有下列二叉樹.對此二叉樹前序遍歷的結果為()。
A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXY7D.ABDYECFXZ
68.
69.選出下列標識符中不是合法的標識符的是()。
A.hot_doB.cat1C._priD.2ab
70.
71.有以下程序:
程序運行后的輸出結果是()。
A.ABCDDEFEDBD
B.abcDDfefDbD
C.abcAAfefAbA
D.Abcddfefdbd
72.
73.有以下程序:
#include<stdio.h>
structord
{intX,y;)dt[2]={1,2,3,4};
main()
{
structord*p=dt;
printf("%d,",++(p->x));printf("%d\n",++(p->y));
}
程序運行后的輸出結果是()。
A.1,2
B.4,1
C.3,4
D.2,3
74.以下敘述中不正確的是
A.C語言中的文本文件以ASCII碼形式存儲數據
B.C語言中對二進制文件的訪問速度比文本文件快
C.C語言中,隨機讀寫方式不適用于文本文件
D.C語言中,順序讀寫方式不適用于二進制文件
75.設有定義:
則以下賦值語句中錯誤的是()。
A.data2=(2,6);
B.data2=datal;
C.data;real=datal.real;
D.data2.real=datal.unreal;
76.
設有下列程序段:
charstr[]="HelloWorld":
char*plr;
ptr=str:
執(zhí)行上面的程序段后,*(ptr+10)的值為()。
A.\0B.0C.不確定的值D.0的地址
77.
78.以下關于字符串的敘述中正確的是()。
A.空串比空格打頭的字符串小
B.兩個字符串中的字符個數相同時才能進行字符串大小的比較
C.可以用關系運算符對字符串的大小進行比較
D.C語言中有字符串類型的常量和變量
79.對于現實世界中事物的特征,在實體一聯系模型中使用()。A.屬性描述B.關鍵字描述C.二維表格描述D.實體描述
80.
五、程序改錯題(1題)81.下列給定程序中,函數fun()的功能是:將P所指字符串中的所有字符復制到b中,要求在每復制3個字符之后插入1個空格。
例如,若給a輸入字符串:“ABCDEFGHIJK”,調用函數后,字符數組b中的內容為:“ABCDEFGHIJK”。
請改正程序中的錯誤,使它能得出正確結果。
注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
六、程序設計題(1題)82.學生記錄由學號和成績組成,N名學生的數據已放入主函數中的結構體數組中,請編寫函數fun,其功能是:把分數最低的學生數據放入b所指的數組中,注意:分數最低的學生可能不止一個,函數返回分數最低的學生人數:
注意:部分源程序在文件PROGl.C中。
請勿改動主函數main和其他函數中的任何內容,僅在函數flm的花括號中填入你編寫的若干語句。
參考答案
1.B
2.A
3.C
4.C
5.C解析:本題中首先定義一個整型變量a并給它賦初值為3,在表達式中,從右開始執(zhí)行,即先執(zhí)行“a-=a*a;”等價于a=a-a*a即a=3-3*3=-6,此時a的值為-6,接著執(zhí)行“a+=a-;”相當于執(zhí)行a=a+a即a=-6+(-6)=-12,此時a的值為-12。所以,4個選項中選項C符合題意。
6.Bdo…while循環(huán)的執(zhí)行過程如下:①執(zhí)行do后面的循環(huán)體中的語句。②計算while后一對圓括號中表達式的值。當值為非0時,轉去執(zhí)行步驟①;當值為0時,執(zhí)行步驟③。③退出do…while循環(huán)。對于本題變量i的初始值等于“0”,接著執(zhí)行do后面的循環(huán)體中的語句,輸出變量i的值0。再判斷while后面括號中表達式i十的值,其值為0,所以循環(huán)結束。.此時變量i的值經過自加已經變?yōu)?,所以再次輸出i的值“1”。
7.A解析:本題中p[4]='cd',所以strlen(p[4])=2。
8.A
9.A解析:函數getchar()的作用是從終端(或系統隱含指定的輸入設備)輸入一個字符,且只能接受一個字符(回車符也是一個字符)。故本題中變量c1被賦予字符a,c2被賦予回車符。
10.B軟件設計包括軟件的結構設計、數據接口設計和過程設計。其中軟件結構設計主要包括系統由哪些子系統構成,以及這些子系統之間的關系是怎樣的,并將這些內容編寫成文檔;數據接口設計的任務是為每個子系統設計其與其他子系統間的接口,并編寫成文檔,這個接口要是一個無二義的接口,不需要子系統的操作知識就可以使用;過程設計是指系統結構部件轉換成軟件的過程描述。
11.C解析:此題考查了指針引用一維數組元素的方法。*p+9因為運算符'*'的優(yōu)先級高于'+',所以輸出結果為p指向的元素1,然后加9,值為10。
12.C
13.D
14.D在C語言中,數組元素的個數是確定的,不允許隨機變動,數組定義好后,它所能容納的元素的個數也就確定了,并且同一個數組中所有元素都是同一類型。
15.B
16.CC語言中,函數名也是一個指針,是函數的人口地址。使函數指針f指向函數fun的入口地址,直接將函數名fun賦給指針f即可。故本題答案為C選項。
17.C解析:本題考查函數調用時參數的作用域。在函數調用時,函數體內定義的變量的作用域連函數體內,因而在不同函數體內定義的變量可以相同,不影響各個變量的使用。
18.C本題考查的是聯合所占的存儲空間。sizeof(t)=sizeof(douhle)*3=8*3=24。聯合體所占的存儲空間取決于所占空間最大的成員所占的空間。
19.C
20.C
21.n1=%d\nn2=%d\n或n1=%d\nn2=%d或n1=%2d\nn2=%2d\n或n1=%2d×nn2=%2dn1=%d\\nn2=%d\\n或n1=%d\\nn2=%d或n1=%2d\\nn2=%2d\\n或n1=%2d×nn2=%2d解析:printf函數有兩種參數:格式控制參數和輸出項參數,其中格式控制參數由兩種成分組成;格式說明和普通字符,普通字符將被簡單地復制顯示,格式說明項將引起一個輸出參數項的轉換與顯示,它是由“%”引出并以一個類型描述符結束的字符串。本題中,n1=和n2=就是普通字符,可以直接顯示,又因為n1,n2為整數,所以格式說明項為%d,也可以在%與d之間加上域寬,另外還要在每行輸出結束時加轉義字符\\n進行換行。所以,應填寫n1=%d\\nn2=%d\\n,n或n1=%d\\nn2=%d或n1=%2d\\nn2=%2d\\n或n1=%2d\\nn2=%2d。
22.模塊模塊
23.b=14b=14解析:分析程序可知,n的初始值為1,因此,while(n<=3)循環(huán)3次。第1次:c=c*a=2:b=b+c=2;n=2。第2次:c=c*a=4;b=-b+c=6;n=3。第3次;c=c*a=8:b=b+c=14。當n=4時,判斷條件不滿足,退出循環(huán)。
24.類類解析:面向對象模型中,最基本的概念是對象和類。對象是現實世界中實體的模型化:將屬性集和方法集相同的所有對象組合在一起,可以構成一個類。
25.類類
26.str[i]或str+iistr[i]或str+i\r\ni
27.自然連接自然連接解析:在關系運算中,自然連接運算是對兩個具有公共屬性的關系所進行的運算。
28.棧棧解析:考查考生對棧和隊列概念的掌握。按'先進后出'原則組織數據的數據結構是棧;按'先進先出'原則組織數據的數據結構是隊列。
29.隊尾隊尾解析:在隊列中,允許插入的一端叫做“隊尾”,允許刪除的一端叫做“隊頭”。
30.unsignedintgetbits()value&0100000z=~value+1unsignedintgetbits()\r\nvalue&0100000\r\nz=~value+1
31.1616解析:滿二叉樹的葉子結點都在最后一層,即第4層,且第4層的結點達到最大數,即25-1=16。
32.文檔文檔解析:計算機軟件是計算機系統中與硬件相互依存的另一部分,是包括程序、數據以及相關文檔的完整集合。
33.數據數據解析:數據庫是由一個互相關聯的數據的集合和一組用以訪問這些數據的程序組成,這些數據按一定的數據模型組織、描述和存儲。
34.
35.44解析:本題考查函數的遞歸調用。在主函數中第1次調用子函數是調用的fun(11),返回11-fun(9):第2次調用子函數是調用的fun(9),返回9-tim(7);第3次調用子函數是調用的fun(7),返回7-fun(5);第4次調用子函數是調用的fun(5),返回5-fun(3);第5次調用子函數是調用的fun(3),返回3-fun(1);第6次調用子函數是調用的fun(1),返回3。總的返回值是:11-(9-(7-(5-(3-3))))=4。
36.void(*p)()或void(*p)(int*int*)void(*p)()或void(*p)(int*,int*)
37.3
38.(x%i==0)(x%i==0)解析:為判數x是否是素數,預置變量y的值為1(x可能是素數),然后用2至x/2的整數i測試對x的整除性,若x能被其中的某個整數整除,則x是合數,置y的值為0(即x不是素數),結束循環(huán)測試;若循環(huán)中i都不能整除x,則x為素數。一般可用求余運算x%i是否等于0來判定i能否整除x,所以程序中的空格處可填(x%i==0)。
39.m=fun(a4)+fun(b4)-fun(a+b3);m=fun(a,4)+fun(b,4)-fun(a+b,3);解析:函數fun(x,n)的作用是求xn,因此a4應該調用函數fun(a,4),b4應該調用函數fun(b,4),(a+b)3應該調用函數fun(a+b,3),所以題目中的數學表達式,寫成C程序中的語句為m=fun(a,4)+fun(b,4)-fun(a+b,3)。
40.00解析:對于一個unsignedshort來說,它能取的最大值是65535。這里給a賦值65536,已經超出了它的取值范圍,這樣它的高位將被截掉,只把低位賦給它(全零)。所以a的值實際為0。
41.A解析:本題考核的知識點是宏定義的簡單應用。本題中首先將所有的宏替換掉,則表達式為i=4+4*4+4/2+2*2+2,故最后輸出的i的值為28。所以,4個選項中選項A符合題意。
42.A解析:C++語言規(guī)定:取余運算符的運算對象必須是整型,復合運算符“%=”中包含%運算,它的運算對象也必須是整型。
43.D解析:由題意可知,小寫字符a和大寫字符A的ASCII代碼相差為32,所以選項C)能將大寫字符c的ASCII代碼轉換為小寫字符c的ASCⅡ代碼;選項A)和C)左側的表達式都是大寫字符c與大寫字符A的差與'a'的ASCII代碼的和就是小寫字符c的ASCII代碼。而選項D)中應該是加上'a',而不是減去'a'。
44.C解析:在C語言中,對于不同類型的數據用不同的格式字符,其中,“%d”是按整型數據的實際長度輸出,“%md”中,m為指定的輸出字段的寬度,如果數據的位數小于m,則左端補以空格,若大于m,則按實際位數輸出。注意:格式輸入函數scanf的使用。
45.D解析:程序不僅是編寫完就結束了,為了測試和維護程序,往往還有其他人閱讀和跟蹤程序,因此程序設計的風格應該強調簡單和清晰,即程序的易讀性,“清晰第一,效率第二”。
46.D解析:本題考查函數的調用。在有參函數調用中,是將主調函數的實參值傳給被調函數的形參。按函數在程序中出現的位置來分,有以下三種函數調用形式:
①函數調用作為一條語句。例如:fun();這時不要求函數帶回值,只要求函數完成一定的操作。故選項A)正確。
②函數出現在表達式中,這種表達式稱為函數表達式。這時要求函數帶回一個確定的值以參加表達式的運算。例如:c=5*max(a,b);函數max是表達式的一部分,將其值乘以5后賦給c。故選項C)正確。
③函數調用作為一個函數的實參,例如:m=max(a,max(b,c));其中max(b,c)是一次函數調用,它的值作為max另一次調用的實參。故選項B)正確。
函數調用不可作為一個函數的形參,因為函數調用參數的數據傳遞是單向傳遞,即實參傳給形參,不能由形參傳給實參。故選項D)錯誤。
47.C解析:(*pd)[M]中,由于一對圓括號的存在,所以*首先與prt結合,說明ptr是一個指針變量,然后與[M]結合,說明prt的基類型是一個包含M個int型元素的數組。
48.DD)【解析】需求分析是軟件定義時期的最后一個階
\n段,它的基本任務就是詳細調查現實世界要處理的對象,充分了解原系統的工作概況,明確用戶的各種需求,然后在這些基礎上確定新系統的功能。
49.C解析:本題的選項A)和B)犯了一個同樣的錯誤,即指針變量s定義后并沒有指向具體的變量。也就是說,s中沒有確定的地址值,它的值是不可預見的,所指向的單元也是不可預見的,因此不能進行賦值操作。另外,在選項D)中,s是int型指針變量,p是char型指針變量,指向的內存單元所占用的字節(jié)數是不同的,因而不能將字符指針變量p的值賦給整型指針變量s。
50.C解析:本題中,“printf('%2d,%2d\\n',x,y)”表示以逗號隔開輸出兩個十進制整數,每個整數域寬是2。而在C語言中規(guī)定:當域寬小于實際寬度時域寬不起作用,按實際寬度輸出,因此最后的輸出值為102和10(y的初值012表示八進制整數12,等于十進制的10)。所以,4個選項中選項C符合題意。
51.D解析:表達式a+=a-=a*a看起來復雜,其實將它分成兩個表達式來計算就簡單了:①第一個表達式(a-=a*a)=(a=a-a*a=-12);②第二個表達式(a+=a-=a*a)=(a=a+a=-24)。
52.D解析:&&的優(yōu)先級高于=,先計算&&左側的表達式++a<0。先對a加1再與0比較大小,a=-1+1=0,++a<0為假即0,&&左側的表達式的值為0,不再計算&&右側的表達式的值,因此b的值不變仍然為4,整個邏輯表達式的值為0,則k被賦值為0。輸出的結果為004。
53.CC。【解析】數據庫系統(DBS)由數據庫(DBS)、數據庫管理系統(DBMS)、數據庫管理員、硬件平臺和軟件平臺五個部分組成,可見DB和DBMS都是DBS的組成部分。
54.B解析:p為整型指針,指向整型變量x,輸出項為*p,即x的值,所以輸出結果為0。
55.D解析:strcat(s1,s2)是把s2字符串連接到s1字符串的末尾,要保證s1能容納下連接后的字符串。
56.B解析:本題考查兩個位運算符。
按位異或運算符“^’是雙目運算符,其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異或時,結果為1。
左移運算符“<<”是雙目運算符,其功能是把“<<”左邊的運算數的各二進位全部左移若于位,由“<<”右邊的數指定移動的位數,高位丟棄,低位補0,并且“<<”運算符的優(yōu)先級高于“^’。
57.C解析:若指針s指向數組a,則s[t]可以引用數組a中下標為t的元素。注意:通過數組的首地址引用數組元素。
58.A解析:本題考查軟件工程的程序設計風格。軟件在編碼階段,力求程序語句簡單、直接,不能只為了追求效率而使語句復雜化。除非對效率有特殊的要求,程序編寫要做到清晰第一、效率第二。
人們在軟件生存期要經常閱讀程序,特別是在軟件測試和維護階段,編寫程序的人和參與測試、維護的人都要閱讀程序,因此要求程序的可讀性要好。
正確的注釋能夠幫助讀者理解程序,可為后續(xù)階段進行測試和維護提供明確的指導。
所以注釋不是可有可無的,而是必須的,它對于理解程序具有重要的作用。
I/O信息是與用戶的使用直接相關的,因此它的格式應當盡可能方便用戶的使用。在以交互式進行輸入/輸出時,要在屏幕上使用提示符明確提示輸入的請求,指明可使用選項的種類和取值范圍。經過上述分析可知,選項A是不符合良好程序設計風格要求的。
59.A解析:這是一個遞歸函數。遞歸的結束條件是,n=1或者n=2。按照程序順序,即可得出本題結果為1。
60.B解析:argc中存入的是命令行中字符串的個數。argv是一個指向字符型的指針數組的指針。
61.A
62.D在本題中,首先定義了一個字符型變量c,然后要求找出能判斷c中字符為小寫字母的表達式。
選項A的表達式′a′<=c<=′z′是一個錯誤的表達式,系統在編譯時,會因為該語句報錯。
選項B的表達式(c>=′a′)||(c<=′z′)是判定變量c的字符是大于等于字符a的字符或者小于等于z的字符,這其實相當于ASCII碼中所有的字符,不能完成題目的要求。
選項C的表達式(′a′<=c)and(′z′>=c)是一個錯誤的表達式,在C語言中,沒有定義一個and關鍵字,系統在編譯時會報錯。
選項D的表達式(c>=′a′)&&(c<=′z′)是判定變量c的字符同時具有大于等于字符a和小于等于z的特點,很顯然,這樣的字符是小寫字母。
通過上面的分析,我們可以知道本題正確的答案是D。
63.C
64.B該題考查函數的宏定義及三目運算符。其中,表達式10*MIN(i,j)利用宏展開后為10*i<j?i:j,即100<15?10:15,其值為15,然后賦值給k。
65.C
66.AA?!窘馕觥吭贓—R圖中,矩形表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貧困生申請書父母離異
- 學費緩交申請書范文
- 技能大賽申請書
- 考研宿舍的申請書
- 崗位調動申請書理由
- 住宿生申請書
- 2024-2025學年高中地理課時分層作業(yè)12人類面臨的主要環(huán)境問題含解析湘教版必修2
- 2024-2025學年高中化學課時分層作業(yè)11酚含解析新人教版選修5
- 2024-2025學年高中生物第6章第1節(jié)第2課時動物細胞的有絲分裂無絲分裂及觀察有絲分裂實驗學案新人教版必修1
- 2024-2025學年高中語文課時作業(yè)11包身工含解析新人教版必修1
- 《現代企業(yè)管理學》本科教材
- 農旅一體化生態(tài)農業(yè)示范園區(qū)建設項目可行性研究報告
- 2025年慢性阻塞性肺疾病全球創(chuàng)議GOLD指南修訂解讀課件
- 政府購買報刊訂閱服務協議
- 第三單元名著導讀《駱駝祥子》整本書閱讀教學設計+2023-2024學年統編版語文七年級下冊
- 工程數學試卷及答案
- DB11T 211-2017 園林綠化用植物材料 木本苗
- 智能建造施工技術 課件 項目1 智能建造施工概論
- 物理學家伽利略課件
- 2024上海申康醫(yī)院發(fā)展中心招聘2人高頻難、易錯點500題模擬試題附帶答案詳解
- 《氣排球》教學大綱
評論
0/150
提交評論