程序設(shè)計及實踐C語言版學習通超星期末考試答案章節(jié)答案2024年_第1頁
程序設(shè)計及實踐C語言版學習通超星期末考試答案章節(jié)答案2024年_第2頁
程序設(shè)計及實踐C語言版學習通超星期末考試答案章節(jié)答案2024年_第3頁
程序設(shè)計及實踐C語言版學習通超星期末考試答案章節(jié)答案2024年_第4頁
程序設(shè)計及實踐C語言版學習通超星期末考試答案章節(jié)答案2024年_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

程序設(shè)計及實踐C語言版學習通超星期末考試章節(jié)答案2024年設(shè)有以下宏定義:#defineN4#defineY(n)((N+1)+1)

則執(zhí)行語句:z=2*(N+Y(5+1));后,z的值為(

)。

答案:60以下程序的輸出結(jié)果為(

)。#include#definePOWER(x,y)pow(x,y)#defineTWO2#defineADD(y)y++voidmain(){

inta=3;

printf("%f\n",POWER(ADD(a),TWO-1));

}

答案:3.000000正向建立單鏈表。題目描述題目內(nèi)容:輸入若干個正整數(shù)(輸入-1為結(jié)束標志),要求按輸入數(shù)據(jù)的逆序建立單鏈表并輸出。輸入格式:一行內(nèi)輸入若干個正整數(shù),之間用空格隔開,并以-1結(jié)束。輸出格式:一行內(nèi)輸出建立的單鏈表數(shù)據(jù)結(jié)果,之間用兩個分隔符--隔開,結(jié)束標志-1不輸出。輸入樣例:246810-1輸出樣例:--2--4--6--8--10測試用例用例1分數(shù):25錯誤提示:

題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#include"stdio.h"#include"stdlib.h"typedefstructNode{

intdata;

structNode*next;

}LList;intmain(){

LList*header=NULL;

structNode*p;

while(1)

{

intinput;

scanf("%d",&input);

if(input==-1)break;

if(!header)

{

header=(structNode*)malloc(sizeof(structNode));

p=header;

header->data=input;

header->next=NULL;

}

else

{

p->next=(structNode*)malloc(sizeof(structNode));

p=p->next;

p->data=input;

p->next=NULL;

}

}

p=header;

structNode*preP=NULL;

p=header;

inti=0;

while(p)

{

printf("--%d",p->data);

p=p->next;

}

return0;}鏈表合并。題目描述題目內(nèi)容:已知單鏈表LA=(a1,a2,…,am)和LB=(b1,b2,…,bn),編寫程序按以下規(guī)則將它們合并成一個單鏈表LC,要求新表LC利用原表的存儲空間。

LC=(a1,b1,…,am,bm,bm+1,…,bn),m<=n或者

LC=(a1,b1,…,bn,an,an+1,…,am),m>n輸入格式:一行內(nèi)輸入單鏈表LA中的數(shù)據(jù)(若干個正整數(shù),之間用空格隔開,并以-1結(jié)束)

一行內(nèi)輸入單鏈表LB的數(shù)據(jù)(若干個正整數(shù),之間用空格隔開,并以-1結(jié)束)輸出格式:一行內(nèi)輸出合并后單鏈表LC的數(shù)據(jù)結(jié)果,之間用兩個分隔符--隔開,結(jié)束標志-1不輸出。輸入樣例:1357-1

246-1輸出樣例:--1--2--3--4--5--6--7測試用例用例1分數(shù):20錯誤提示:

用例2分數(shù):20錯誤提示:

題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#include#includetypedefintElemType;typedefstructlinknode

{

ElemTypedata;

structlinknode*next;

}LNode,*LinkList;//創(chuàng)建鏈表LinkListCreate(void)

{

LinkListhead,current;

ElemTyped;

LNode*s;

current=head=(LinkList)malloc(sizeof(LNode));//head節(jié)點

current->data=0;

while(1)

{

scanf("%d",&d);

if(d==-1)

break;

s=(LinkList)malloc(sizeof(LNode));//為新節(jié)點分配內(nèi)存空間

s->data=d;

current->next=s;

current=s;

d=getchar();

}

current->next=NULL;

//最后尾指針為NULL

returnhead;

}//輸出鏈表voidList(LinkListL)

{

LinkListp;

p=L->next;

//

while(p!=NULL)

{

printf("--%d",p->data);

p=p->next;

}

}//合并鏈表voidCoalitionLinkList(LinkListL1,LinkListL2)

{

LinkListp1=L1->next;

LinkListp2=L2->next;在雙向鏈表中,在p所指向的結(jié)點前插入一個q所指向的結(jié)點,相應(yīng)的操作語句是()。注:雙向鏈表的結(jié)點結(jié)構(gòu)為(prior,data,next)。

答案:q->next=p;q->prior=p->prior;p->prior->next=q;p->prior=q;組合數(shù)。題目內(nèi)容:本題要求編寫程序,根據(jù)公式Cnm=算出從n個不同元素中取出m個元素(m≤n)的組合數(shù)。建議定義和調(diào)用函數(shù)fact(n)計算n!,其中n的類型是int,函數(shù)類型是double。輸入格式:輸入在一行中給出兩個正整數(shù)m和n(m≤n),以英文,分隔。輸出格式:輸出組合數(shù)計算結(jié)果,題目保證結(jié)果在類型范圍內(nèi)。輸入樣例:2,7輸出樣例:21時間限制:500ms內(nèi)存限制:32000kb

答案:#includedoublefactorial(intn);intmain(){

intn,m,result;

scanf("%d,%d",&m,&n);

result=factorial(n)/(factorial(m)*factorial(n-m));

printf("%d",result);

return0;}doublefactorial(intn){

if(n<=1)

return1;

returnn*factorial(n-1);}最大公約數(shù)與最小公倍數(shù)。題目內(nèi)容:編寫兩個函數(shù),分別求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù),并用主函數(shù)調(diào)用這兩個函數(shù),然后輸出結(jié)果。兩個整數(shù)由鍵盤輸入。約定最大公約數(shù)為正整數(shù),兩數(shù)里有負的則最小公倍數(shù)就為負的。輸入格式:輸入均不為0的整數(shù)n和m(n與m的乘積還在整數(shù)范圍內(nèi))(兩數(shù)之間用英文,隔開)輸出格式:輸出這兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)(兩結(jié)果之間用英文,隔開)輸入樣例:24,36輸出樣例:12,72輸入樣例:-48,128輸出樣例:16,-384時間限制:500ms內(nèi)存限制:32000kb

答案:#includeintgcd(inta,intb){

if(a<0)

a=-a;

if(b<0)

b=-b;

returnb==0?a:gcd(b,a%b);}intlcm(inta,intb,intp){

return(a*b)/p;}intmain(){

inta,b;

intp,q;

scanf("%d,%d",&a,&b);

p=gcd(a,b);

q=lcm(a,b,p);

printf("%d,%d",p,q);

}爬樓梯。題目內(nèi)容:可愛的小明特別喜歡爬樓梯,他有的時候一次爬一個臺階,有的時候一次爬兩個臺階,有的時候一次爬三個臺階。如果這個樓梯有n個臺階,小明一共有多少種爬法呢?n值從鍵盤輸入。輸入格式:輸入一個整數(shù)n,(1<=n<46)。輸出格式:輸出當樓梯階數(shù)是n時的上樓方式總數(shù)。輸入樣例:1輸出樣例:1輸入樣例:4輸出樣例:7輸入樣例:24輸出樣例:1389537時間限制:500ms內(nèi)存限制:32000kb

答案:#includeintf(intn){

n++;

inti;

inttable[n];

for(i=0;i=1&&n<46){

printf("%d",f(n));

}

return0;}為提高程序的運行速度,在函數(shù)中對于自動變量和形參可用register型的變量。

答案:對下列函數(shù)調(diào)用語句中含有5個實參。fun((a1,a2),(a3,a4,a5));

答案:錯凡在函數(shù)中未指定存儲類別的變量,其隱含的存儲類別是void類型。

答案:錯以下程序的輸出結(jié)果是(

)。#includeintf(inta){

intb=0;

staticintc=3;

a=c++,b++;

returna;}voidmain(){

inta,i,t;

a=3;

for(i=0;i<3;i++)

t=f(a++);

printf("%d\n",t);}

答案:5以下程序的執(zhí)行結(jié)果是(

)。#includelongff(intn){

if(n>3)

return(ff(n-1)+ff(n-2));

elsereturn(3);}voidmain(){

printf("%d\n",ff(4));}

答案:6下列程序的輸出結(jié)果是(

)。#includevoidf(intx,inty,intz){

z=x+y;}voidmain(){

inta;

f(5,6,a);

printf("%d\n",a);}

答案:不確定的值以下程序的輸出結(jié)果是(

)。#includeintfunc(inta,intb){

return(a+b);}voidmain(){

intx=6,y=7,z=8,r;

r=func(func(x,y),z--);

printf("%d\n",r);}

答案:21函數(shù)形參與實參之間的傳遞是“值傳遞”,以下敘述正確的是________。

答案:實參和與其對應(yīng)的形參各占用獨立的存儲單元以下說法不正確的是(

)。

答案:在一個函數(shù)內(nèi)的復合語句中定義的變量在本函數(shù)內(nèi)有效以下程序的執(zhí)行結(jié)果是(

)。#includeintk=1;voidfun(intm){

m+=k;

k+=m;

{

chark='B';

printf("%d,",k-'A');

}

printf("%d,%d",m,k);}voidmain(){

inti=4;

fun(i);

printf("%d,%d",i,k);}

答案:1,5,64,6以下程序的輸出結(jié)果是(

)。#include#includevoidmain(){

charstr[10]="Ch\nina";printf("%d",strlen(str));}

答案:6假設(shè)a、b均為字符數(shù)組,則以下正確的輸入語句是(

)。

答案:scanf("%s%s",a,b);以下程序執(zhí)行后的輸出結(jié)果是(

)。

#include

voidmain()

{

inti,j,s=0;

inta[4][4]={1,2,3,4,0,2,4,6,3,6,9,12,3,2,1,0};

for(j=0;j<4;j++)

{

i=j;

if(i>2)i=3-j;

s+=a[i][j];

}

printf("%d\n",s);

}

答案:16追查車號。題目描述題目內(nèi)容:一輛卡車違反交通規(guī)則,撞人逃逸?,F(xiàn)場三人目擊事件,但都沒有記住車號,只記下車的一些特征。甲說:牌照的前兩位數(shù)字是相同的;乙說:牌照的后兩位數(shù)字是相同的;丙是位數(shù)學家,他說:四位的車號正好是一個整數(shù)的平方。請根據(jù)以上線索求出車號。輸出格式:Thenumberis****。測試用例用例1分數(shù):20錯誤提示:題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#include#includeintmain(){inti,j,k,l;for(i=0;i<10;i++){j=i;for(k=0;k<10;k++){l=k;if(i==k){continue;}else{doublenums=sqrt(i*1000+j*100+k*10+l);if((int)nums==nums){intplateNum=(i*1000+j*100+k*10+l);printf("Thenumberis%d.",plateNum);break;}else{continue;}}}}return0;}圖形打印。題目描述題目內(nèi)容:編寫程序,打印以下圖形(行n的值由鍵盤輸入)。

*******

******

*****

****

***

**

*輸入樣例:5輸出樣例:

*****

***

**

*輸入樣例:9輸出樣例:

*********

********

*******

******

*****

****

***

*測試用例用例1分數(shù):10錯誤提示:用例2分數(shù):10錯誤提示:題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#include#includeintmain(){

inta,i,j,k;

scanf("%d",&a);

for(j=1;j<=a;j++)

{

if(j!=1)

for(i=1;i<=j-1;i++)

printf("");

for(k=1;k<=a-j+1;k++)

printf("*");

printf("\n");

}

getch();

return0;}特征四位數(shù)。題目描述題目內(nèi)容:已知四位數(shù)3025具有一個特殊性質(zhì):它的前兩位數(shù)字30與后兩位數(shù)字25之和是55,而55的平方正好等于3025。編程找出所有具有這種性質(zhì)的四位數(shù)。輸出格式:每一個四位數(shù)自占一行測試用例用例1分數(shù):20錯誤提示:題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#includeintmain(){

inti,n,m;

for(i=1000;i<10000;i++)

{

m=i%100;

n=i/100;

if((n+m)*(n+m)==i)

printf("%d\n",i);

}

return0;}有一條長階梯,若每步跨2階,則最后剩余1階,若每步跨3階,則最后剩余2階,若每步跨5階,則最后剩余4階,若每步跨6階,則最后剩余5階,若每步跨7階,最后才正好一階不剩。請問,這條階梯共有多少階。請補充while語句后的判斷條件。

#include

voidmain(){

inti=1;

while(

)

++i;

printf("階梯共有%d階.\n",i);}

答案:!((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)&&(i%7==0))星期推算。題目描述題目內(nèi)容:假設(shè)今天是星期日,編寫一個程序,求2019天后是星期幾。輸出樣例:星期*(星期一、星期二、星期三、星期四、星期五、星期六、星期日)測試用例用例1分數(shù):20錯誤提示:題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#includeintmain(){

inta;

intb=2019;

a=(b%7);

if(a==0)

printf("星期日");

if(a==1)

printf("星期一");

if(a==2)

printf("星期二");

if(a==3)

printf("星期三");

if(a==4)

printf("星期四");

if(a==5)

printf("星期五");

if(a==6)

printf("星期六");

return0;

}天數(shù)判斷。題目描述題目內(nèi)容:編寫程序,從鍵盤上輸入年份和月份,計算并輸出這一年的這一月共有多少天。輸入樣例:2019-3輸出樣例:31輸入樣例:2019-9輸出樣例:30輸入樣例:2019-2輸出樣例:28輸入樣例:2004-2輸出樣例:29測試用例用例1分數(shù):5錯誤提示:用例2分數(shù):5錯誤提示:用例3分數(shù):10錯誤提示:用例4分數(shù):10錯誤提示:題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#includeintmain(){

intm,y;

intdays[12]={31,28,31,30,31,30,31,31,30,31,30,31};

scanf("%d-%d",&y,&m);

if(m==2)

{

if(y%400==0||(y%4==0&&y%100!=0))//閏年。

printf("29\n");

elseprintf("28\n");

}

else

printf("%d\n",days[m-1]);

return0;}if-else語句的一般形式如下,其中的語句1、語句2只能是一條語句。if(表達式)

語句1else

語句2

答案:錯以下程序的輸出結(jié)果為(

)。#includevoidmain(){

inta=30;

printf("%d",(a/3>0)?a/10:a%3);}

答案:3下列程序段運行后x的值是(

)。inta=0,b=0,c=0,x=35;if(!a)

x--;elseif(b);if(c)

x=3;else

x=4;

答案:4希望當num的值為奇數(shù)時,表達式的值為“真”;num的值為偶數(shù)時,表達式的值為“假”。則以下不能滿足該要求的表達式是(

)。

答案:!(num%2)進制轉(zhuǎn)換。題目描述題目內(nèi)容:編寫程序,輸入一個八進制數(shù)(不超過3位),輸出該數(shù)對應(yīng)的十進制數(shù)。輸入樣例:17輸出樣例:17(8)=15(10)輸入樣例:111輸出樣例:111(8)=73(10)測試用例用例1分數(shù):10錯誤提示:用例2分數(shù):10錯誤提示:題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#includeintmain(){

intnum,ge,shi,bai;

scanf("%d",&num);

bai=num/100;

shi=num%100/10;

ge=num%10;

printf("%d(8)=%d(10)",num,ge+shi*8+bai*8*8);

return0;}時刻轉(zhuǎn)換。題目描述題目內(nèi)容:編寫一個程序,從鍵盤輸入某個分鐘數(shù),將其轉(zhuǎn)換成用小時和分鐘表示,并將表示結(jié)果輸出。輸入樣例:320輸出樣例:320(m)=5(h):20(m)輸入樣例:68輸出樣例:68(m)=1(h):08(m)輸入樣例:55輸出樣例:55(m)=0(h):55(m)測試用例用例1分數(shù):10錯誤提示:用例2分數(shù):5錯誤提示:用例3分數(shù):5錯誤提示:題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#includeintmain(){

intnum;

inta,b;

scanf("%d",&num);

a=num/60;

b=num%60;

printf("%d(m)=%d(h):%d(m)",num,a,b);}程序調(diào)試是指對程序進行編譯。

答案:錯對C的源程序進行編譯是指將C源程序翻譯成目標程序。

答案:對C語言的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令。

答案:錯使用“scanf("a=%d,b=%d",&a,&b)”,要使a,b的值均為25,正確的輸入是(

)。

答案:a=25,b=25以下程序的輸出結(jié)果是(

)。#includevoidmain(){inta=010,b=0x10,c=10;printf("%d,%d,%d",a,b,c);

}

答案:8,16,10有如下程序:有如下程序:#includevoidmain(){

chara,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%c",a,b,c,d);}

若運行時從鍵盤輸入:6,5,65,66,則輸出結(jié)果是(

)。

答案:6,5,A,B若a為實型變量,則以下程序段的輸出結(jié)果是(

)。a=2.389;printf("%.2f",a);

答案:2.39若變量x,y均定義為int型,z定義為double型,下列不合法的scanf語句是(

答案:scanf("%x,%o,%6.2f",&x,&y,&z);以下可以實現(xiàn)“輸入一個字符到變量ch”的語句是(

)。

答案:ch=getchar();putchar()函數(shù)可以向終端輸出一個(

)。

答案:字符或字符型變量值能正確定義整型變量a和b,并為它們賦初值5的語句是(

答案:inta=5,b=5;溫度轉(zhuǎn)換。題目描述題目內(nèi)容:編寫程序,計算并輸出華氏溫度為80F所對應(yīng)的攝氏溫度C。

轉(zhuǎn)換公式為:C=5*(F-32)/9輸出樣例:**.******測試用例用例1分數(shù):20錯誤提示:

題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#includeintmain(){

floatf,c;

scanf("%f",&f);

c=5*(f-32)/9;

printf("%f",c);

}逆序打印。題目描述題目內(nèi)容:輸入一個三位的正整數(shù),按逆序打印出該數(shù)的各位數(shù)字。輸入樣例:369輸出樣例:963輸入樣例:680輸出樣例:086測試用例用例1分數(shù):10錯誤提示:

用例2分數(shù):10錯誤提示:

題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#includeintmain(){

intnum;

scanf("%d",&num);

while(num>0)

{

printf("%d",num%10);

num/=10;

}

}執(zhí)行語句“printf("%x",-1);”屏幕顯示-ffff。

答案:錯執(zhí)行語句“x=(a=5,b=a--)”后,x,a,b的值分別是(

答案:5,4,5若已定義x和y為double型變量,則表達式x=1,y=x+3/2的值是(

答案:2.0已知intx=5,y=5,z=5;則執(zhí)行語句x%=y+z;后,x的值是(

答案:5以下選項中不合法的實型常量是()

答案:E3下列不合法的字符常量是(

答案:'ab'下列浮點數(shù)的形式表示錯誤的是(

答案:12E2.0執(zhí)行以下程序后,輸出結(jié)果為#includevoidmain(){intx;floaty;y=3.6;x=(int)y+10;printf("x=%d,y=%f",x,y);}

答案:x=13,y=3.600000經(jīng)過下述賦值后,變量x的數(shù)據(jù)類型是(

)。floatx=21.0;inty;

y=(int)x;

答案:float下列合法的轉(zhuǎn)義字符是(

答案:'\"'求解梯形的面積題目描述題目內(nèi)容:從鍵盤上輸入一個梯形的上底a、下底b和高h,輸出梯形的面積。輸入樣例:2,4,3輸出樣例:9.000000輸入樣例:2.4,2.6,3.8輸出樣例:9.500000測試用例用例1分數(shù):10錯誤提示:

用例2分數(shù):10錯誤提示:

題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#includeintmain(){

floatwidth_up,width_butt,height;

floatresult;

scanf("%f,%f,%f",&width_up,&width_butt,&height);

result=((width_up+width_butt)*height)/2;

printf("%f",result);

}while、If、double均是C語言的關(guān)鍵字。

答案:錯1C_fun是合法的標識符。

答案:錯C語句以冒號作為結(jié)束。

答案:錯C語言本身沒有輸入輸出語句。

答案:對C語言屬于(

答案:高級語言C語言的源程序通常的擴展名是(

答案:cC程序是由(

)構(gòu)成的

答案:一個或多個函數(shù)下面四組選項中,均是C語言關(guān)鍵字的選項是(

答案:switch

typedef

continue以下敘述不正確的是(

答案:在C程序中,注釋說明只能位于一條語句的后面下列屬于C語言中合法標識符的是(

答案:_cook一個C程序的執(zhí)行是從(

答案:main函數(shù)開始,直到main函數(shù)結(jié)束構(gòu)成C語言源程序的基本單位是(

答案:函數(shù)下列敘述中,不正確的是(

答案:主函數(shù)的名字不一定用main表示下列屬于C語言關(guān)鍵字的是(

答案:typedef語句printf("ch=%d,ch=%c\n",65,65);的輸出結(jié)果是_______

答案:ch=65,ch=A下列實型常量指數(shù)形式中,正確的是______

答案:-1.23E0若inta=2,b=5;

printf(“a=%d,b=%d”,a,b);

輸出正確的是:_____。

答案:a=2,b=5若有定義

inta=7;

floatx=2.5,y=4.7;則表達式

x+a%3*(int)(x+y)%2/4

的值是_____

答案:2.500000若變量已正確定義并賦值,則下面不符合C語言語法的C語言語句是______

答案:a:+2=b+1;下列哪些是合法的整型常量?

答案:033執(zhí)行以下程序后,輸出結(jié)果為#includevoidmain(){intx;floaty;y=3.6;x=(int)y+10;cout<<"x="<答案:x=13,y=3.600000以下正確的賦值語句是______

答案:x=2+5;以下_____是C合法的標識符。

答案:char2下面程序的輸出結(jié)果是(

)。#includevoidmain(){

intx=10,y=3,z;

cout<答案:3逆序打印。題目描述題目內(nèi)容:輸入一個三位的正整數(shù),按逆序打印出該數(shù)的各位數(shù)字。輸入樣例:369輸出樣例:963輸入樣例:680輸出樣例:086測試用例用例1分數(shù):10錯誤提示:

用例2分數(shù):10錯誤提示:

題目運行時間限制:500ms題目運行內(nèi)存限制:32000kb

答案:#includeintmain(){

intnum;

scanf("%d",&num);

while(num>0){

printf("%d",num%10);

num/=10;}}若有說明語句:int

a,b;,用戶的輸入為111222333,結(jié)果a的值為111,b的值為333,那么以下輸入正確的語句是__

答案:scanf("%3d%*3d%3d",&a,&b);有以下程序chara,b,c,d;scanf("%c%c",&a,&b);c=getchar();d=getchar();當執(zhí)行程序時,按下列方式輸入數(shù)據(jù)('\n'代表回車)1234后,a、b、c、d的值分別是______。

答案:1、2、\n、3閱讀以下程序intif;floatprintF;scanf("%d%f",&if,&printF);printf("%d%f\n",if,printF);該程序編譯時產(chǎn)生錯誤,其出錯原因是______。

答案:定義語句出錯,if是關(guān)鍵字,不能用作用戶自定義標識符下面程序的輸出結(jié)果是_______。int

k=11;printf("%d,%o,%x\n",k,k,k);

答案:11,13,b已知inta,b;用語句scanf("%d%d",&a,&b);輸入a,b的值時,不能作為輸入數(shù)據(jù)分隔符的是______。

答案:,已有如下定義和輸入語句,若要求a1、a2、c1、c2的值分別為10、20、A和B,當從第一列開始輸入數(shù)據(jù)時,正確的數(shù)據(jù)輸入方式是______。(答案中#代表空格)inta1,a2;

charc1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

答案:10A20B有以下程序段:char

ch1,ch2;scanf("%c",&ch1);ch1=ch1+'4'-'2';ch2=ch1+'5'-'3';printf("%d%c\n",ch1,ch2);如果輸入字符A,則程序運行后輸出的結(jié)果是______。

答案:67E若有說明語句:int

a;float

b;,以下輸入語句正確的是_____。

答案:scanf("%d%f",&a,&b);C語言中用于結(jié)構(gòu)化程序設(shè)計的3種基本結(jié)構(gòu)是________。

答案:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)假設(shè)三位正整數(shù)x,以下_____是正確分解x的各位的語句。

答案:a=x/100,b=x/10%10,c=x%10;執(zhí)行下面的程序時,假設(shè)用戶輸入為1#22#333(此處#表示空格),則ch1、ch2和ch3的值為______。charch1,ch2,ch3;scanf("%1c%2c%3c",&ch1,&ch2,&ch3);

答案:‘1’、‘#’、‘2’閱讀以下程序,當輸入數(shù)據(jù)的形式為:12a345b789(回車),正確的輸出結(jié)果為______。voidmain(){

charc1,c2;

inta1,a2;

c1=getchar();

scanf("%2d",&a1);

c2=getchar();

scanf("%3d",&a2);

printf("%d,%d,%c,%c\n",a1,a2,c1,c2);}

答案:2,345,1,a以下程序的輸出結(jié)果是(

)。#includevoidmain(){inta=010,b=0x10,c=10;cout<答案:8,16,10以下程序的輸出結(jié)果是:voidmain(){

inti,j,n,a[5]={3,4,1,2,-6};

for(i=0;i<5;i++)

for(j=i+1;j<5;j++)

if(a[j]答案:-61234若int類型變量占4字節(jié),定義數(shù)組:int

a[10];則a數(shù)組在內(nèi)存中占用了_______個字節(jié)

答案:40下面程序的輸出結(jié)果是:#includeusingnamespacestd;intmain(){

chara[]="AAaaBB9EMW";

inti,c;

for(i=2;(c=a[i])!='\0';i++)

{

switch(c)

{

case'a':putchar('B');continue;

case'9':break;

case9:putchar('A');

case'E':

case'L':continue;

default:putchar(c);continue;

}

putchar('');

}

putchar('\n');

return0;}

答案:BBBBMWinta[2][3]={{1},{2,3}};則a[1][0]的值是_____。

答案:2以下錯誤的數(shù)組定義是

答案:intn=10;inta[n+2];?有兩個字符數(shù)組a,b,則以下正確的輸入語句是()

答案:scanf("%s%s",a,b);以下不能對二維數(shù)組進行正確初始化的語句是:

答案:doubled[][2]={{1},{2,3},{4,5,6}};以下程序的輸出結(jié)果是:voidmain(){

inti,j,a[3][3]={1,2,3,4,5,6,7,8,9},t;

for(i=0;i<3;i++)

{

t=a[0][i];

for(j=1;j<3;j++)

if(a[j][i]>t)

t=a[j][i];

printf("%3d",t);

}

printf("\n");}

答案:7

8

9以下正確的定義語句是:

答案:charch[]={'a','b','c','d','e'};/star3/origin/5689e481e4b0e85354b31c1a.png

答案:j=i;j/star3/origin/5670ca67e4b0e85354a4cfd8.png

答案:2下面程序的運行結(jié)果是:voidmain(){

charch[]="6543ab21";

inti,s;

for(i=0,s=0;ch[i]>='0'&&ch[i]<='9';i+=2)

s=s*10+ch[i]-'0';

printf("%d\n",s);}

答案:64以下能對二維數(shù)組進行正確初始化的語句是

答案:inta[][3]={{1,2},{3,4}};當執(zhí)行程序時,如果輸入abc,則下面程序的輸出結(jié)果是:voidmain(){

chars[20]="12345";

scanf("%s",s);

strcat(s,"6789");

printf("%s\n",s);}

答案:abc6789給出以下定義,則正確的敘述是:chars1[]="helloworld!";chars2[]={'h','e','l','l','o','','w','o','r','l','d','!'};

答案:數(shù)組s1長度大于數(shù)組s2長度設(shè)有如下的程序段:

charstr[]="Hello";

charptr[20];

strcpy(ptr,str);執(zhí)行完上面的程序段后,ptr[6]的值為________。

答案:不確定的值以下不能正確進行字符串賦值的語句是:

答案:charstr[5]="good!";/star3/origin/5670c5c3e4b0e85354a4cb1d.png

答案:6以下對數(shù)組元素正確引用的是:

答案:doubled[5];d[5-5]=8;下面程序的輸出結(jié)果是:#includemain(){inta[6]={1,2,3,4,5,6},i,s=0;

for(i=0;i<6;i++)

s+=a[i];printf("%d\n",s);}

答案:21對任意讀入的10個整數(shù)(對任一整數(shù)num,-10<=num<=10),計算它們的和、積、平方和。輸入的第1行為一個整數(shù)n,表示n組測試數(shù)據(jù),下面為n行測試數(shù)據(jù)。每一行有10個整數(shù),分別用空格分開,例如:212345678910231464510-1輸出為n行結(jié)果,每一行3個整數(shù),分別表示和,積,以及平方和。輸出結(jié)束后,光標去往下一行的行頭。例如:553628800385250109

答案:程序語言未選擇語言用例1:輸入31122345678-1-3-5-292410280-146-5-3-10629輸出39806402092434560030880308輸入10個數(shù),統(tǒng)計其中正、負和零的個數(shù)。輸入的第1行為一個整數(shù)n,表示n組測試數(shù)據(jù),下面為n行測試數(shù)據(jù)。每一行有10個整數(shù),分別用一個空格分開,例如:2000222-3-3-3-3-3-1220-1344100輸出為n行結(jié)果,每一行3個整數(shù),分別為正數(shù)、負數(shù)和0的個數(shù),中間用空格分開。輸出結(jié)束后,光標去往下一行的行頭。例如:343532

答案:程序語言未選擇語言用例1:輸入4000-1-1-3777-100000000001111111111-1-1-1-1-1-9-9-9-9-9輸出343001010000100在一個C源程序文件中,要定義一個只允許本源文件中所有函數(shù)使用的全局變量,則該變量需要使用的存儲類別是:________。

答案:static請讀程序:

charfun(charc){

if(c<='Z'&&c>='A')

c-='A'-'a';

return(c);}voidmain(){

chars[81];intk=0;

gets(s);

while(s[k])

{s[k]=fun(s[k]);putchar(s[k]);k++;}

putchar('\n');}若運行時從鍵盤上輸入OPENTHEDOOR(表示回車),則上面程序的輸出結(jié)果是________。

答案:openthedoor以下程序的輸出結(jié)果是:#includeint

fun(intx,inty){

return(x+y);}voidmain(){

inta=2,b=5,c=8;

printf("%d\n",fun(fun(a+c,b),a-c));}

答案:9以下正確的函數(shù)聲明形式是:

答案:doublefun(intx,inty);以下正確的說法是:

答案:如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準C語言規(guī)定:簡單變量作為實參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是______

答案:單向值傳遞有如下程序longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf("%d\n",fib(3));}該程序的輸出結(jié)果是

答案:4以下敘述中不正確的是:

答案:在一個函數(shù)內(nèi)的復合語句中定義的變量在本函數(shù)范圍內(nèi)有效。C語言中形參的缺省存儲類是

答案:自動(auto)在C語言程序中,有關(guān)函數(shù)的定義正確的是___

答案:函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套以下程序的輸出的結(jié)果是intx=3;main(){inti;for(i=1;iA.25B.33C.26D.22我的答案:C正確答案:C2.0分

答案:26/star3/origin/5689d372e4b0e85354b31190.png

答案:x/y和y+2*z,x-2*zC語言規(guī)定,函數(shù)返回值的類型是由______

答案:在定義該函數(shù)時所指定的函數(shù)類型所決定以下只有在使用時才為該類型變量分配內(nèi)存的存儲類說明是:

答案:auto和register若數(shù)組名作實參而指針變量作形參,函數(shù)調(diào)用實參傳給形參的是

答案:數(shù)組第一個元素的地址若用數(shù)組名作為函數(shù)的實參,傳遞給形參的是:

答案:數(shù)組的首地址函數(shù)調(diào)用不可以()

答案:作為一個函數(shù)的形參/star3/origin/5670d705e4b0e85354a4db31.png

答案:1,3,5,-1,3,7,在C語言中,函數(shù)的隱含存儲類別是:

答案:extern/star3/origin/5689cb3fe4b0e85354b30c6a.png

答案:程序中沒有錯誤,可以正常運行/star3/origin/5689ceb6e4b0e85354b30eb7.png

答案:在main()函數(shù)中輸出的結(jié)果是:a=3,b=10以下不正確的說法是C語言規(guī)定:

答案:形參可以是常量、變量或表達式對于已正確定義的二維數(shù)組a,*(a[i]+j)與a[i][j]的含義相同。

答案:對/star3/origin/5673c62ee4b0e85354a6d198.png

答案:*p和s[0]相等下面判斷正確的是_____。

答案:char*s="china";等價于char*s;s="china";若有定義inta[10],*p;則不能使p指向數(shù)組元素a[5]的賦值語句是_____。

答案:p=*(a+5)下面程序段的運行結(jié)果是_____。char*s="abcde";s+=2;

printf("%d",*s);

答案:字符c的ASCII碼值設(shè)有定義:int

n=10,*p=&n;,假設(shè)n的地址為1000,整型占4個字節(jié)。語句printf("%d",*p++);執(zhí)行后n和p的值是_____。

答案:10,1004若用數(shù)組名作為函數(shù)調(diào)用的實參,則傳遞給形參的是

答案:數(shù)組的首地址若有語句:chars1[]="string1",s2[8],*s3,*s4="string2";則對庫函數(shù)strcpy的錯誤調(diào)用是_____。

答案:strcpy(s3,"string1");設(shè)有說明:inta[10],*p=a;,則不能正確引用元素a[i](0≤i<10)的地址的是____。

答案:&p+i/star3/origin/5673c6e2e4b0e85354a6d203.png

答案:1,6若已定義chars[10],*p=a;則在下面表達式中不表示元素s[1]的地址的是_____。

答案:s++若有定義:inti1=30,i2=40;int*constp=&i1;constint*q=&i2;且有語句:1)p=&i2;

2)i2=50;

3)*q=20;

4)*p=10;則下列_____中的語句均不正確。

答案:1、3下面程序段的運行結(jié)果是_____。chars[6];

s="abcd",printf("\"%s\"\n",s);

答案:編譯出錯已有變量定義和函數(shù)調(diào)用語句:inta=25;print_value(&a);下面函數(shù)的正確輸出結(jié)果是______。voidprint_value(int*x){

printf("%d\n",++*x);}

答案:26設(shè)變量定義為

inta[2]={1,3},*p=&a[0]+1;,則*p的值是()。

答案:3若有說明語句:chara[]="Itismine";

char*p="Itismine";則以下不正確的敘述是_____。

答案:a中只能存放10個字符C語言中的動態(tài)內(nèi)存釋放函數(shù)是_____。

答案:free若p,q是同類型的指針變量,則p、q之間可以進行的算術(shù)運算是_____。

答案:-下面程序段的運行結(jié)果是_____。chara[]="language",*p;p=a;while(*p!='u'){printf("%c",*p-32);p++;}

答案:LANG/star3/origin/5673c678e4b0e85354a6d1b8.png

答案:tomorrow若有定義:charx,*pb;,則以下正確的賦值表達式是_____。

答案:pb=&x;/star3/origin/5673c759e4b0e85354a6d257.png

答案:8設(shè)有語句:inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;。假設(shè)變量i已定義且值在0~9之間,以下對a數(shù)組元素不正確引用是_____。

答案:*(*a(a+i))若有說明:int*p1,*p2,m=5,n;以下均是正確賦值語句的選項是______。

答案:p1=&m;p2=p1;_____變量的值是地址。

答案:指針若有語句int*point,a=4;和point=&a;下面均代表地址的一組選項是_____。

答案:&a,point,&*point已有定義intk=2;int*ptr1,*ptr2;且ptr1和ptr2均已指向變量k,下面不能正確執(zhí)行的賦值語句是_____。

答案:ptr2=k;編寫程序,實現(xiàn)整型矩陣(3行3列)的轉(zhuǎn)置(即行列互換),例如,輸入下面的矩陣:100200300400500600700800900程序輸出:100400700200500800300600900輸入的第1行為一個整數(shù)n,表示n組測試數(shù)據(jù),下面為n行測試數(shù)據(jù)。每行表示一個矩陣的全部數(shù)據(jù),矩陣的數(shù)據(jù)按行序給出,每個數(shù)據(jù)之間用一個空格分開,例如:2100200300400500600700800900123456789輸出為n組結(jié)果。輸出結(jié)束后,光標去往下一行的行頭(注意每行最后一個整數(shù)末尾有一個空格)。例如:100400700200500800300600900147258369

答案:程序語言未選擇語言用例1:輸入4111111111-1-2-3-4-5-6-7-8-910110110189621011156010輸出111111111-1-4-7-2-5-8-3-6-911100011182159106061110輸入10個數(shù),并按輸入時的順序逆序排序,并顯示逆序結(jié)果。輸入樣例:23456819466712輸出樣例:12766491864523

答案:程序語言未選擇語言用例1:輸入1234567890輸出0987654321一個字符串(不超過1024個字符),統(tǒng)計該字符串中字母、數(shù)字、空格和其它字符的個數(shù),并輸出統(tǒng)計的結(jié)果。輸入樣例:Stringclass

123456/*-+輸出樣例:11644

答案:程序語言未選擇語言用例1:輸入abcdTdf12345==--dd1a輸出10634對任意一個10-99999范圍內(nèi)的整數(shù),以該整數(shù)各位數(shù)字相反的順序輸出。為簡化問題,本題假定該整數(shù)的個位非0。輸入的第1行為一個整數(shù)n,表示n組測試數(shù)據(jù),下面為n行測試數(shù)據(jù)。每一行有1個整數(shù),例如:212345782輸出為n行結(jié)果,每一行1個整數(shù)。輸出結(jié)束后,光標去往下一行的行頭。例如:54321287

答案:程序語言未選擇語言用例1:輸入315999981002輸出51899992001/star3/origin/567cbd6de4b0e85354aadb54.jpg

答案:ABCDEFGCDEFGEFGG/star3/origin/5670c76ee4b0e85354a4ccd9.png

答案:第7行有錯誤設(shè)有程序段:intk=10;while(k=0)

k--;則下列描述中正確的是______。

答案:循環(huán)體語句一次也不執(zhí)行以下程序的輸出結(jié)果是______。voidmain(){

inta,b;

for(a=1,b=1;a<=100;a++)

{

if(b>=10)

break;

if(b%5==1)

{b+=5;continue;}

}

printf("%d\n",a);}

答案:3/star3/origin/567ebb8be4b0e85354ab6018.jpg

答案:a=1,b=111若有函數(shù)max(a,b),并且已使函數(shù)指針變量p指向函數(shù)max,當調(diào)用該函數(shù)時,正確的調(diào)用方法是

答案:(*p)(a,b);設(shè)有說明ints[2]={0,1},*p=s;則下列錯誤的C語句是

答案:s+=1;執(zhí)行語句:for(i=1;i<=4;i++);后變量i的值是______。

答案:5下面程序的運行結(jié)果是_____。#includemain(){

inty=10;

do{

--y;

}while(--y);

printf("%d\n",y--);}

答案:0以下敘述錯誤的是____

答案:指針變量不占用存儲空間若有定義inta[10],*p=a;,則p+5表示_____。

答案:元素a[5]的地址/star3/origin/5670c608e4b0e85354a4cb5f.png

答案:6對for(表達式1;;表達式3)可理解為_____。

答案:for(表達式1;1;表達式3)下面函數(shù)的功能是sss(char*s,char*t){while((*s)&&(*t)&&(*t++==*s++));return(*s-*t);}

答案:比較兩個字符串的大小下列程序的輸出結(jié)果是______。void

main(){

int

num,k,s,temp;num=100,k=1,temp=1,s=0;do{s=s+num%8*temp;num/=8;temp*=10;}while(num);

printf("%d\n",s);}

答案:144假定int類型變量占用兩個字節(jié),其有定義:intx[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是_____。

答案:20下面關(guān)于for循環(huán)的正確描述是______。

答案:for循環(huán)中,表達式2可以省略,用break語句跳出循環(huán)已有定義int(*p)();指針p可以

答案:指向函數(shù)的入口地址下面程序的運行結(jié)果是main(){charch[7]={"65ab21"};inti,s=0;for(i=0;ch[i]>='0'&&ch[i]<'9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}

答案:6執(zhí)行以下程序后,y的值是main(){inta[]={2,4,6,8,10};inty=1,x,*p;p=&a[1];for(x=0;x<3;x)y+=*(p+x);printf(“%d\n”,y);}

答案:19設(shè)有以下程序段int

x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);則______。

答案:運行程序段后輸出1_____不是程序控制語句,是C語言的標準庫函數(shù),但可以用于控制程序的流程。

答案:exit若有定義int*p,m=5,n;以下正確的程序段是____

答案:p=&n*p=m;有以下程序intfun(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){inta,b,c,d;a=30;b=50;fun(a,b,&c,&d);printf("%d;%d\n",c,d);}輸出結(jié)果是

答案:80;-20有以下程序段:int*p,a=10,b=1;p=&aa=*p+b;執(zhí)行該程序段后,a的值為____

答案:11若有定義:chara[10],*b=a;,則不能給數(shù)組a輸入字符串”Thisisabook”的語句是________。

答案:scanf("%s",a)爬樓梯。題目內(nèi)容:可愛的小明特別喜歡爬樓梯,他有的時候一次爬一個臺階,有的時候一次爬兩個臺階,有的時候一次爬三個臺階。如果這個樓梯有n個臺階,小明一共有多少種爬法呢?n值從鍵盤輸入。輸入格式:輸入一個整數(shù)n,(1<=n<46)。輸出格式:輸出當樓梯階數(shù)是n時的上樓方式總數(shù)。輸入樣例:1輸出樣例:1輸入樣例:4輸出樣例:7

答案:程序語言C/C++

#includeintf(intn){

n++;

inti;

inttable[n];

for(i=0;i=1&&n<46){

printf("%d",f(n));

}

return0;}用例1:輸入24輸出1389537組合數(shù)。題目內(nèi)容:本題要求編寫程序,根據(jù)公式Cnm=算出從n個不同元素中取出m個元素(m≤n)的組合數(shù)。建議定義和調(diào)用函數(shù)fact(n)計算n!,其中n的類型是int,函數(shù)類型是double。輸入格式:輸入在一行中給出兩個正整數(shù)m和n(m≤n),以空格分隔。輸出格式:輸出組合數(shù)計算結(jié)果,題目保證結(jié)果在類型范圍內(nèi)。輸入樣例:27輸出樣例:21

答案:程序語言C/C++#includedoublefactorial(intn);intmain(){

intn,m,result;

scanf("%d%d",&m,&n);

result=factorial(n)/(factorial(m)*factorial(n-m));

printf("%d",result);

return0;}doublefactorial(intn){

if(n<=1)

return1;

returnn*factorial(n-1);}用例1:輸入59輸出126如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}該程序的輸出結(jié)果是

答案:a=2,b=1以下程序的輸出結(jié)果是main(){inta[3][2]={{1,2},{3,4},{5,6}};inti,j,s=0;for(i=0;i<3;i++)for(j=0;j<2;j++)s+=a[i][j];printf("%d\n",s);}

答案:21以下描述不正確的是_____。

答案:do-while和for循環(huán)均是先執(zhí)行循環(huán)語句,后判斷表達式下列程序的輸出結(jié)果是_____。main(){

inti,j,m=0,n=0;

for(i=0;i<2;i++)

for(j=0;j<2;j++)

if(j>=i)

++m;n++;

printf("%d,%d\n",m,n);}

答案:3,1對于條件表達式(k)?(i++):(i)來說,其中的表達式k等價________。

答案:k!=0/star3/origin/5670cc9de4b0e85354a4d1e8.png

答案:21以下程序運行后的輸出結(jié)果是______。voidmain(){

int

s=0,k;

for(k=7;k>=0;k--)

{

switch(k)

{

case

1:

case

4:

case

7:

s++;break;

case

2:

case

3:

case

6:

break;

case

0:

case

5:

s+=2;break;

}

}

printf("s=%d\n",s);}

答案:s=7該程序的運行結(jié)果是____#includevoidmain(){intx=2,y=-1,z=2;if(xA.1B.3C.2D.0我的答案:C正確答案:C2.0分

答案:2有以下程序voidfun(char*c,intd){*c=*c+1;d=d+1;printf(“%c,%c,”,*c,d);}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論