![中國大學(xué)mooc《C程序設(shè)計基礎(chǔ)(廈門大學(xué)) 》章節(jié)測試答案_第1頁](http://file4.renrendoc.com/view12/M05/20/1C/wKhkGWY19a-AFPHSAAGSLIBej8c667.jpg)
![中國大學(xué)mooc《C程序設(shè)計基礎(chǔ)(廈門大學(xué)) 》章節(jié)測試答案_第2頁](http://file4.renrendoc.com/view12/M05/20/1C/wKhkGWY19a-AFPHSAAGSLIBej8c6672.jpg)
![中國大學(xué)mooc《C程序設(shè)計基礎(chǔ)(廈門大學(xué)) 》章節(jié)測試答案_第3頁](http://file4.renrendoc.com/view12/M05/20/1C/wKhkGWY19a-AFPHSAAGSLIBej8c6673.jpg)
![中國大學(xué)mooc《C程序設(shè)計基礎(chǔ)(廈門大學(xué)) 》章節(jié)測試答案_第4頁](http://file4.renrendoc.com/view12/M05/20/1C/wKhkGWY19a-AFPHSAAGSLIBej8c6674.jpg)
![中國大學(xué)mooc《C程序設(shè)計基礎(chǔ)(廈門大學(xué)) 》章節(jié)測試答案_第5頁](http://file4.renrendoc.com/view12/M05/20/1C/wKhkGWY19a-AFPHSAAGSLIBej8c6675.jpg)
中國大學(xué)mooc《C程序設(shè)計基礎(chǔ)(廈門大學(xué)) 》章節(jié)測試答案.doc 免費下載
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
titleC程序設(shè)計基礎(chǔ)(廈門大學(xué))中國大學(xué)mooc答案100分最新版content第一周C語言簡介選擇題1、下面的敘述正確的是()。答案:一個C的源程序可以由一個或多個函數(shù)組成2、C程序是從()開始執(zhí)行的。答案:主函數(shù)3、關(guān)于C程序的敘述,正確的是(
)。答案:一條語句可以寫在多行,也可以多條語句寫在一行4、以下正確的printf語句是()。答案:?printf(“ThisisaCprogram.”);5、
/*程序功能:打印輸出helloworld
#include<stdio.h>
intmain()
{
printf(“Hello,world”);
return0;}上面程序的運行結(jié)果是(
)答案:程序出錯,不能運行6、設(shè)有程序“1.cpp”,編譯后運行該程序,執(zhí)行的是(
)文件。答案:1.exe7、下面程序的錯誤是()#include
<stdio.h>
int
mian()
{
printf(“hello
world”)
return
0;}答案:printf(“hello
world”)
后面少分號;
主函數(shù)名寫錯8、輸出結(jié)果為500+200=700的語句是()。答案:printf(“500+200=%d”,500+200);;
printf(“500+200=700”);9、輸出結(jié)果為2564=1600的語句是()。答案:printf(“2564=%d”,2564);;
printf(“2564=1600″);10、下面是關(guān)于C程序注釋的敘述,其中正確的是(
)。答案:/……/可以注釋多行,也可以注釋一行;
//是行注釋,從//開始至行尾為注釋內(nèi)容11、下面程序的錯誤是()#include
<stdio.h>
int
mian()
{
printf(“hello
world”)
return
0;}答案:printf(“hello
world”)
后面少分號;
主函數(shù)名寫錯第一周C語言簡介判斷題(本周語法匯總)1、編寫C程序時,main函數(shù)必不可少。答案:正確2、printf(“”);
可實現(xiàn)換行答案:正確3、C的每條語句結(jié)束處必須用分號。答案:正確4、注釋語句不影響程序的運行。答案:正確5、若使用printf輸出結(jié)果,則必須在程序前添加#include<stdio.h>答案:正確6、C程序中的標(biāo)點符號(如分號;)必須用英文的標(biāo)點符號。答案:正確7、printf(“”);
可實現(xiàn)換行答案:正確8、printf(“”);
可實現(xiàn)換行答案:正確
第二周C語言基礎(chǔ)語法語法知識選擇題1、下列浮點數(shù)的表示中不正確的是(
)。答案:e232、合法的C語言標(biāo)識符是(
)答案:sum3、不合法的C語言標(biāo)識符是(
)。答案:4d4、下列定義變量的語句中錯誤的是(
)。答案:Doublea1;5、在C語言中,要求運算數(shù)必須是整型的運算符是(
)。答案:%6、下面(
)語句正確地描述了計算公式
答案:y=(axx*x)/(x–b);7、下面(
)是合法的賦值語句.答案:
i=1;8、下面程序的輸出是(
)。#include<stdio.h>intmain(){
intx=10,y=3;
printf(“%d”,y=x/y);
return0;}答案:39、下面程序的輸出是(
)。#include<stdio.h>int
main(){
int
a=5;
printf(“a=%d”,++a+2);
return0;}答案:a=810、78%10的結(jié)果是(
)。答案:811、下面程序的輸出是(
)。
#include
<stdio.h>int
main(){
int
a=8;
printf(“%d”,(a++)*2);
return0;}答案:1612、下面程序的輸出是(
)。#include
<stdio.h>int
main(){
int
a=3;
printf(“%d”,(a–)*7);
return0;}
答案:2113、下面程序的輸出是(
)。#include<stdio.h>int
main(){
int
b=3,a=3;
printf(“%d,%d”,b,a–);
return0;}
答案:3,314、i=1;執(zhí)行(
)語句后,變量i的值不會發(fā)生變化。答案:i+5;15、intx;scanf(“%d”,&x);下面(
)可以獲得x的個位數(shù)。答案:x%10;16、語句floatx=3.0
,y=4.0;下列表達式中y的值為9.0的是(
)。答案:y+=x+2.017、有關(guān)運算符的正確描述是(
)答案:單目運算符優(yōu)先級高于雙目運算符18、下面(
)語句正確地描述了方程
答案:?y=a*x*x*x+c;;
y=(a*x*x*x)+c;19、下面(
)能完成變量a,b的值的交換。答案:t=a;a=b;b=t;;
a=a+b;b=a-b;a=a-b;20、(
)可以使整型變量i的值加1。答案:i++;;
++i;;
i=i+1;;
i+=1;21、int
y,a;scanf(“%d”,&y);輸入任意整數(shù),下面(
)中,a是y的百位數(shù)。答案:a=y/100%10;;
a=y%1000/100;第二周C語言基礎(chǔ)語法第二周易錯知識點練習(xí)1(選做)1、當(dāng)x是41.0時,算術(shù)表達式5/9*(x-32)的運算結(jié)果是(
)。答案:02、答案:3.14159r*r/(a+b)
3、當(dāng)x是41.0時,printf(“%f”,5.0/9*(x-32));輸出結(jié)果是(
)。答案:5.0000004、x為int型,表達式
(x=1)+2的值是(
),x的值是(
)。答案:3,15、int
a=10,b=100;printf(“%d,%d,”,
a++,++b);printf(“%d”,
a);程序的輸出結(jié)果是(
)。答案:10,101116、在C語言中,下面(
)是正確的賦值表達式。答案:x=2;
b=a=2
第三周格式化輸入輸出及選擇結(jié)構(gòu)1選擇題—計分1、?能正確表示邏輯關(guān)系x<=y<=z的C語言表達式為(
)
答案:(x<=y)&&(y<=z)
2、能正確表示邏輯關(guān)系“a大于等于10或a小于等于0”的C語言表達式是(
)
答案:a>=10‖a<=0
3、能正確表示邏輯關(guān)系“79<X<90”的C語言表達式是(
)答案:?
(X>79)&&(
X<90)
4、設(shè)a為整型變量,不能正確表達數(shù)學(xué)關(guān)系10<a<15的C語言表達式是()答案:?10<a<15
5、設(shè)x,t均為int型變量,則執(zhí)行語句“x=10;t=x&&x>10;”后,t的值為()答案:?06、下面程序,運行后的輸出結(jié)果是(
)#include<stdio.h>intmain(){
int
a=1,b=3,c=4;if(a<b)
a=b;if(a<c)
a=c;printf(“%d,%d,%d”,a,b,c);}答案:4,3,4
7、語法不正確的語句是(
)答案:?if(x==y)&&(x!=0)
x++;8、如果整型變量a,b,c的值分別為5,4,3,則語句if(a>b>c)c++;執(zhí)行后c的值是(
)答案:39、如果整型變量a,b,c的值分別為3,4,5,則語句if(a<b<c)c++;執(zhí)行后c的值是()答案:610、運行以下程序,如果從鍵盤上輸入5,則輸出結(jié)果是(
)#include<stdio.h>int
main(){
intx;scanf(“%d”,&x);if(x–<5)printf(“%d”,x);}
答案:無輸出?11、C語言語句中,可以用來決定分支流程的表達式是(
)答案:?任意表達式12、intx=102,y=12;printf(“%2d,%3d”,x,y);執(zhí)行后輸出結(jié)果是(
)答案:102,1213、設(shè)i是int型變量,j是float型變量,用下面的語句給這兩個變量輸入值:
scanf(“i=%d,j=%f”,&i,&j);
為了把10和2.5分別賦給i和
j,則正確的輸入為(
)
答案:i=10,j=2.5<回車>
14、執(zhí)行下面語句,inta=1,b=2,c=3;if(a>c)
b=c;a=c;c=b;a,b,c的值分別為(
)(用逗號分隔)答案:3,2,215、請選出正確的輸入語句(
)。答案:doublef;scanf(“%lf”,&f);16、在printf函數(shù)中,浮點型數(shù)據(jù)輸出的格式控制符有(
)。答案:%e;
%f;
%g17、下面程序中,(
)可以輸出變量a,b,c的最大值。答案:if(a>=b&&a>=c)
printf(“最大值為%d”,a);
if(b>=a&&b>=c)
printf(“最大值為%d”,b);
if(c>=a&&c>=b)
printf(“最大值為%d”,c);
;
max=a;
if(b>max)max=b;
if(c>max)max=c;printf(“最大值為%d”,max);18、設(shè)a=1,b=2,c=3,關(guān)系表達式a+b>=c的值是(
)。
答案:119、設(shè)a=1,b=2,c=3,邏輯表達式a&&b&&c的值是(
)。
答案:120、設(shè)a=1,b=2,c=3,邏輯表達式a||!b||!c的值是(
)。
答案:121、輸入一個考試分數(shù)(0至100范圍內(nèi)),如果分數(shù)小于60分,則輸出“不及格”;大于90分輸出“優(yōu)秀”;大于等于60并且小于等于90,則輸出“合格”。(有1個空,答案一行寫一個,不要添加多余的空格)#include<stdio.h>
intmain(){
intx;
printf(“請輸入分數(shù)(0-100):“);
scanf(“%d”,&x);
if(x<60)
printf(“不及格”);
if(x>90)
printf(“優(yōu)秀”);
printf(“合格”);
//注意分數(shù)在一個區(qū)間內(nèi),C語言中該如何描述
return0;}
答案:(以下答案任選其一都對)if(x>=60&&x<=90);
if(60<=x&&x<=90);
if(60<=x&&90>=x);
if(x>=60&&90>=x);
if(x>=60&&x<=90);
if(60<=x&&x<=90);
if(60<=x&&90>=x);
if(x>=60&&90>=x);
if((x>=60)&&(x<=90))22、我國的郵政編碼由六位阿拉伯?dāng)?shù)字組成,前第三位代表郵區(qū),廈門市的郵政編碼前三位為361
。下面的程序功能:如果輸入的郵政編碼前3位是361,則輸出“廈門市的郵件”;如果不是361,則輸出“不是廈門市的郵件”。請完善程序(有2個空,答案一行寫一個,不要添加多余的空格).#include
<stdio.h>
int
main(){
int
code;
printf(“請輸入郵政編碼:
“);
scanf(”
%*3d”,&code);
//用scanf函數(shù)截取輸入郵政編碼的前3位
if(361
code
)
printf(
“廈門市的郵件”);
if
(361!=code)
printf(
“不是廈門市的郵件”);
return
0;}需要更多樣例參考的同學(xué)可查閱課件“
選擇結(jié)構(gòu)初步
”里的最后一個文檔
“習(xí)題解析”中第2題
答案:%3d
==23、設(shè)x,t均為int型變量,則執(zhí)行語句“x=10;
t=
x&&x>10;”后,t的值為()提示:賦值運算優(yōu)先級較低,低于算術(shù)、關(guān)系、邏輯運算。答案:?024、intx=102,y=12;printf(“%2d,%3d”,x,y);執(zhí)行后輸出結(jié)果是(
)提示:當(dāng)%md中m小于數(shù)據(jù)的實際寬度時,按實際寬度輸出。答案:102,1225、執(zhí)行下面語句,inta=1,b=2,c=3;if(a>c)
b=c;a=c;c=b;a,b,c的值分別為(
)(用逗號分隔)提示:由if控制的分支語句只有一條答案:3,2,226、輸入一個考試分數(shù)(0至100范圍內(nèi)),如果分數(shù)小于60分,則輸出“不及格”;大于90分輸出“優(yōu)秀”;大于等于60并且小于等于90,則輸出“合格”。(有1個空,答案一行寫一個,不要添加多余的空格)include<stdio.h>
intmain()
{
intx;
printf(“請輸入分數(shù)(0-100):“);
scanf(“%d”,&x);
if(x<60)
printf(“不及格”);
if(x>90)
printf(“優(yōu)秀”);
printf(“合格”);
//注意分數(shù)在一個區(qū)間內(nèi),C語言中該如何描述
return0;
}答案:(以下答案任選其一都對)if(x>=60&&x<=90);
if(60<=x&&x<=90);
if(60<=x&&90>=x);
if(x>=60&&90>=x);
if(x>=60&&x<=90);
if(60<=x&&x<=90);
if(60<=x&&90>=x);
if(x>=60&&90>=x);
if((x>=60)&&(x<=90))27、我國的郵政編碼由六位阿拉伯?dāng)?shù)字組成,前第三位代表郵區(qū),廈門市的郵政編碼前三位為361
。
下面的程序功能:如果輸入的郵政編碼前3位是361,則輸出“廈門市的郵件”;如果不是361,則輸出“不是廈門市的郵件”。
請完善程序(有2個空,答案一行寫一個,不要添加多余的空格).include
<stdio.h>
int
main(){
int
code;
printf(“請輸入郵政編碼:
“);
scanf(”
%*3d”,&code);
//用scanf函數(shù)截取輸入郵政編碼的前3位
if(361
code
)
printf(
“廈門市的郵件”);
if
(361!=code)
printf(
“不是廈門市的郵件”);
return
0;}需要更多樣例參考的同學(xué)可查閱課件“
選擇結(jié)構(gòu)初步
”里的最后一個文檔
“習(xí)題解析”中第2題
答案:%3d
==第三周格式化輸入輸出及選擇結(jié)構(gòu)1第三周易錯知識點練習(xí)(選做)1、int
x=8;在C程序中,表達式0<=x<=3的運算結(jié)果是(
)。答案:12、int
x=2,y=2;printf(“%d”,(x=0)&&(y=3));printf(“x=%d
y=%d“,
x,y);輸出結(jié)果是(
)。答案:0x=0
y=23、int
x=2,y=2;printf(“%d
“,(x=4)||(y=4));printf(“x=%d
y=%d“,
x,y);第二個printf的輸出結(jié)果是(
)。答案:x=4
y=24、scanf(“%d”,&a);
if(a<60)
printf(“a=%d\n”,a);
printf(“OVER”);如果輸入50,則輸出結(jié)果是(
)。答案:a=50OVER5、scanf(“%d”,&a);
if(a<60)
printf(“a=%d\n”,a);
printf(“OVER”);如果輸入70,則輸出結(jié)果是(
)。答案:OVER
第四周選擇結(jié)構(gòu)2第四周易錯知識點練習(xí)(選做)1、int
x=0;
if(!x)
printf(“x為非零”);else
printf(“x為零”);答案:x為非零2、a=10;if(a%2==0)
;
printf(“偶數(shù)”);
else
printf(“奇數(shù)”);程序的運行是(
)。答案:出錯3、int
x=2,y=-1,z=2;if
(x<y)if
(y<0)z=0;elsez+=1;printf(“%d”,z);答案:24、有如下程序段:if(q%p==0)
a=q/p;
printf(“%d=%d%d”,q,p,a);
//輸出因式分解q=pa
else
printf(“不能整除”);如果q=8,p=2,則輸出(
)。
答案:該段程序有語法錯誤,不能執(zhí)行。第四周選擇結(jié)構(gòu)2多分支選擇題1、分析以下程序,下列說法正確的是(
)#include<stdio.h>main(){
intx=5,a=0,b=0;
if(x=a+b)printf(“
*
“);
else
printf(“####”);}?答案:輸出####2、分析以下程序,下列說法正確的是(
)#include<stdio.h>main(){
intx=6,a=8,b=3;
if(x=a+b)printf(“
*
“);
else
printf(“####”);}答案:輸出
*
*
3、分析以下程序,下列說法正確的是(
)#include<stdio.h>main(){
intx=0,a=0,b=0;
if(x==a+b)printf(“
*
“);
else
printf(“####”);}答案:輸出
*
*4、運行以下程序,如果從鍵盤上輸入5,則輸出結(jié)果是()#include<stdio.h>int
main(){
intx;
scanf(“%d”,&x);
if(x–<5)
printf(“%d”,x);
else
printf(“%d”,x++);}提示:答案:45、運行以下程序,如果從鍵盤上輸入5,則輸出結(jié)果是()#include<stdio.h>int
main(){
intx;
scanf(“%d”,&x);
if(x–<5)
printf(“%d”,x);
else
printf(“%d”,++x);}可以參考本周課件“附加例題解析與作業(yè)指導(dǎo)”—-“選擇結(jié)構(gòu)附加例題解析”文檔的第一個例題答案:?56、運行以下程序,如果從鍵盤上輸入9,則輸出結(jié)果是()#include<stdio.h>int
main(){
intx;
scanf(“%d”,&x);
if(++x<10)
printf(“%d”,x);
else
printf(“%d”,–x);}可以參考本周課件“附加例題解析與作業(yè)指導(dǎo)”—-“選擇結(jié)構(gòu)附加例題解析”文檔的第一個例題答案:?97、以下程序的輸出是()#include<stdio.h>intmain(){
floatx=2.0,y;
if(x<0.0)
y=0.0;
else
if(x<10.0)
y=1.0/x;
else
y=1.0;
printf(“%f”,y);}答案:?0.5000008、?下面程序的運行結(jié)果是()。#include<stdio.h>main(){
inta=12,b=-34,c=56,min=0;
min=a;
if(min>b)
min=b;
if(min>c)
?
min=c;
printf(“%d”,min);}可以參考本周課件“附加例題解析與作業(yè)指導(dǎo)”—-“選擇結(jié)構(gòu)附加例題解析”文檔的最后一個例題答案:-349、分析以下程序,輸出結(jié)果是(
)#include<stdio.h>intmain(){
intx=5;
if(x)printf(“
*
“);
printf(“####”);}答案:
*
####10、分析以下程序,輸出結(jié)果是(
)#include<stdio.h>intmain(){
intx=5;
if(x)x=6;
x=7;
printf(“%d”,x);}答案:711、按功能鍵F5進入調(diào)試狀態(tài)后,可以(
)。答案:設(shè)置斷點;
控制程序一步一步地執(zhí)行,每執(zhí)行一步,都可以暫停;
觀察變量或表達式值的變化12、下面(
)是正確的符號函數(shù)程序。當(dāng)x>0時,y=1當(dāng)x=0時,y=0當(dāng)x<0時,y=-1(提示:按if-else配對規(guī)則分析程序,y值的運算結(jié)果與符號函數(shù)一致,才是正確的程序)答案:if(x>0)
y=1;else
if(x==0)
y=0;
elsey=-1;;
y=0;if(x!=0)
if(x>0)
y=1;
elsey=-1;13、程序功能:輸入一個整數(shù),當(dāng)它是偶數(shù)時,輸出“該數(shù)是偶數(shù)”,否則,輸出“該數(shù)是奇數(shù)”。請完善程序,空格處應(yīng)填(
)。#include<stdio.h>
intmain(){
intx;
printf(“請輸入x:“);
scanf(“%d”,&x);
if(x%2==0)
printf(“該數(shù)是偶數(shù)”);
//偶數(shù)除以2的余數(shù)為0
printf(“該數(shù)是奇數(shù)”);
return0;}答案:else;
if(x%2!=0);
elseif(x%2!=0)14、輸入一個考試分數(shù)(0至100范圍內(nèi)),如果分數(shù)小于60分,則輸出“不及格”;否則輸出“及格”。(程序有1個空,請選擇正確的答案)#include<stdio.h>
intmain(){
intx;
printf(“請輸入分數(shù)(0-100):“);
scanf(“%d”,&x);
if(x<60)
printf(“不及格”);
printf(“及格”);
return0;}答案:else;
if(x>=60);
elseif(x>=60)15、讀程序,寫出運行結(jié)果。#include<stdio.h>main(){
inta=1,b=3,c=5;if(c==a+b)
printf(“yes”);else
printf(“no”);}
答案:no16、讀程序,寫出運行結(jié)果。#include<stdio.h>intmain(){
intx=2,y=-1,z=5;
if(x<y)
if(y<0)
z=0;
else
z=z+1;
printf(“%d”,z);
}
答案:517、讀程序,寫出運行結(jié)果。#include<stdio.h>main(){floata,b,c,t;a=3;b=7;c=1;if(a>b)
{t=a;a=b;b=t;}if(a>c)
{t=a;a=c;c=t;}if(b>c)
{t=b;b=c;c=t;}printf(“%5.2f,%5.2f,%5.2f”,a,b,c);
//注意%5.2f的輸出格式與逗號}
答案:1.00,3.00,7.0018、下面是一個旅游自助程序。程序先輸出選擇菜單,
如果用戶輸入1,則提示輸入租車數(shù)量,用變量i保存,然后計算需支付的金額,并輸出。如果用戶輸入2,則提示輸入購票數(shù)量,用變量j保存,然后計算需支付的金額,并輸出。如果用戶輸入其它數(shù),則提示選擇錯誤。費用計算方法:
租一輛車需支付150元。
門票一張60元,如果購票數(shù)>=10,則每張50元。請完善程序。(程序有2個空,答案一行寫一個,不要添加多余的空格)#include<stdio.h>intmain(){intchoose,i,j,money;
printf(“\t\t旅游自助服務(wù)”);
printf(“\t1—租車\t2—購買門票”);
printf(“請選擇您需要的服務(wù):”);
scanf(“%d”,&choose);
if(
)
{
printf(“請輸入租車數(shù)量”);
scanf(“%d”,&i);
money=150i;
printf(“您需支付:%d元”,money);
}
(choose==2)
{
printf(“請輸入購票數(shù)量”);
scanf(“%d”,&j);
if(j>=10)money=50j;
elsemoney=60*j;
printf(“您需支付:%d元”,money);
}
else
{
printf(“選擇錯誤”);
}
return0;}
答案:(以下答案任選其一都對)choose==1
elseif;
1==choose
elseif19、運行以下程序,如果從鍵盤上輸入5,則輸出結(jié)果是()#include<stdio.h>int
main(){
intx;
scanf(“%d”,&x);
if(x–<5)
printf(“%d”,x);
else
printf(“%d”,x++);}答案:420、運行以下程序,如果從鍵盤上輸入5,則輸出結(jié)果是()#include<stdio.h>int
main(){
intx;
scanf(“%d”,&x);
if(x–<5)
printf(“%d”,x);
else
printf(“%d”,++x);}答案:?521、運行以下程序,如果從鍵盤上輸入9,則輸出結(jié)果是()#include<stdio.h>int
main(){
intx;
scanf(“%d”,&x);
if(++x<10)
printf(“%d”,x);
else
printf(“%d”,–x);}答案:?922、?下面程序的運行結(jié)果是()。#include<stdio.h>main(){
inta=12,b=-34,c=56,min=0;
min=a;
if(min>b)
min=b;
if(min>c)
?
min=c;
printf(“%d”,min);}答案:-3423、讀程序,寫出運行結(jié)果。#include<stdio.h>intmain(){
intx=2,y=-1,z=5;
if(x<y)
if(y<0)
z=0;
else
z=z+1;
printf(“%d”,z);
}
答案:5
分析:else與其上面最近的未配對的if配對,因此,
if(y<0)
z=0;
else
z=z+1;
是一條雙分支語句
該語句是第1個if———if(x<y)的內(nèi)嵌語句,當(dāng)x<y時,才執(zhí)行2<-1不成立,所以,內(nèi)嵌語句不執(zhí)行,z無任何變化<=””span=””></y)的內(nèi)嵌語句,當(dāng)x<y時,才執(zhí)行>
第五周循環(huán)基礎(chǔ)第五周易錯知識點練習(xí)(選做)1、下面圖中用箭頭表示for循環(huán)語句的執(zhí)行順序,其中(
)是正確的。答案:2、sum=0;for(i
=1;
i<=10;
i++)
;
sum=sum+
i;printf(“%d”,sum);輸出結(jié)果是(
)。答案:113、sum=0;for(i
=1;
i<=10;
i++)
{
sum=sum+
i;
i++;
}printf(“%d”,sum);輸出結(jié)果是(
)。答案:254、inti,count=0;
for(i=1;i<=20;i++)
{
if(i%3==0
||
i%7==0)
printf(“%d\t”,i);
count++;
if(count%5==0)
printf(“”);
}
程序運行結(jié)果是(
)。答案:5、inti,count=0;
for(i=1;i<=20;i++)
{
if(i%3==0
||
i%7==0)
{
printf(“%d\t”,i);
count++;
if(count%5==0)
printf(“”);
}
}
程序運行結(jié)果是(
)。答案:6、scanf(“%d”,&m);for
(i=2;i<=m-1;i++)
if
(m%i
!=
0)
printf(“%d是素數(shù)”,
m);該程序是錯誤的判定素數(shù)程序,下面(
)是該程序的輸出。答案:當(dāng)m為7時,重復(fù)輸出5行:
7是素數(shù);
當(dāng)m為8時,重復(fù)輸出4行:
8是素數(shù)
第五周循環(huán)基礎(chǔ)單循環(huán)選擇、填空題1、設(shè)有如下程序段,則輸出結(jié)果為()intk=0,a;for(a=1;a<=1000;a++)
k=k+1;printf(“k=%d”,k);提示:可參考課件“附加例題解析”文檔中的例題答案:k=10002、設(shè)有如下程序段,則最后一次輸出的是()inta;for(a=1;a<=1000;a++)
printf(“a=%d”,a);提示:可參考課件“附加例題解析”文檔中的例題答案:?a=10003、設(shè)有如下程序段,則輸出結(jié)果是()inta;for(a=1;a<=1000;a++)
;printf(“a=%d”,a);提示:可參考課件“附加例題解析”文檔中的例題答案:a=10014、設(shè)有如下程序段,則輸出結(jié)果為()intk=0,a;for(a=1;a<=1000;a++)
{a=a+1;k=k+1;}printf(“k=%d”,k);
答案:k=5005、inti,j=10;for(i=1;i==j;i++);
的循環(huán)次數(shù)是()提示:可參考課件“附加例題解析”文檔中的例題答案:?06、inti,j;j=10;for(i=1;i<=j;i++)
j–;
程序的循環(huán)次數(shù)是()答案:?57、語句for(x=0,y=0;y!=1&&x<4;x++);是()答案:循環(huán)4次?8、設(shè)有程序段:intk=10;while(k=0)k=k-1;則下面敘述正確的是()
答案:?循環(huán)體語句一次也不執(zhí)行9、?設(shè)有程序段:intk=10;while(k==0)k=k-1;則下面敘述正確的是()答案:循環(huán)體語句一次也不執(zhí)行10、?設(shè)有程序段:intk=10;while(k!=0)
k=k-1;則下面敘述正確的是()答案:while循環(huán)重復(fù)執(zhí)行10次11、與語句while(!x);等價的語句是()
答案:?while(x==0);
12、inti=0,j;for(j=10;i<j;j–)
i++;
程序的循環(huán)次數(shù)是()答案:5?語法錯誤513、設(shè)有程序段,以下說法正確的是()x=-1;do{x=x*x;}while(!x);
答案:?循環(huán)體將執(zhí)行一次
14、
C語言中while和do-while循環(huán)的主要區(qū)別是()答案:?do-while的循環(huán)體至少無條件執(zhí)行一次15、下列語句不是死循環(huán)的是()?答案:?inti=10;while(i)i–;16、下面程序的功能是:計算1~10之間的奇數(shù)之和及偶數(shù)之和,空白處應(yīng)填()#include<stdio.h>intmain(){
inta,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{
a+=i;
}
printf(“偶數(shù)之和=%d!”,a);
printf(“奇數(shù)之和=%d!”,c-11);
}答案:c+=i+1;?17、下面程序的功能是()#include<stdio.h>intmain(){
intx,s=0,i;
for(i=1;i<=5;i++)
{
scanf(“%d”,&x);
s=s+x;
}
printf(“s=%d”,s);
return0;}答案:輸入任意5個整數(shù),輸出這5個數(shù)的和18、下面程序的功能是()#include<stdio.h>intmain(){
intx,s=0,i;
scanf(“%d”,&x);
while(x!=0)
{
s=s+x;
scanf(“%d”,&x);
}
printf(“s=%d”,s);
return0;}答案:輸入一組整數(shù),以輸入0作為結(jié)束,求所有數(shù)的和并輸出19、for(i
=1;
i<=10;
i++)
printf(“*”);循環(huán)結(jié)束后,i的值是(
)。答案:1120、下面(
)循環(huán)體執(zhí)行10次。答案:for(i=1;i<=10;i=i+1){循環(huán)體;};
for(i=2;i<=20;i=i+2){循環(huán)體;};
for(i=0;i<=9;i=i+1){循環(huán)體;};
for(i=10;i>=1;i=i-1){循環(huán)體;}21、下面(
)是正確的判斷素數(shù)程序(m>1)。答案:j=0;for
(i=2;i<=m-1;i++)
if(m%i!=0)
j++;if(j==m-2)
printf(“%d是素數(shù)”,m);;
j=0;for(i=2;i<=m-1;i++)
if(m%i
==
0)
j++;if(j==0)
printf(“%d是素數(shù)”,m);;
flag=0;for(i=2;i<=m-1;i++)
if(m%i
==
0)
flag=1;if(flag==0)
printf(“%d是素數(shù)”,m);22、編程:輸入一個整數(shù),計算該整數(shù)的位數(shù),并輸出位數(shù)。輸入樣例:12345輸出樣例:輸入的是5位數(shù)請完善程序。(程序有1個空,答案一行寫一個,不要添加多余的空格)
#include<stdio.h>intmain(){
inti=0,k,j;
scanf(“%d”,&k);
do
{
k=k/10;
i++;
}while(
);
printf(“輸入的是%d位數(shù)”,i);
}提示:第二周討論題—–討論一類賦值語句的特點,在置頂貼的回復(fù)中,有本題的相關(guān)內(nèi)容。這一類賦值語句常用于循環(huán)中。
答案:(以下答案任選其一都對)k!=0;
0!=k;
!k==0
分析:每次循環(huán),k=k/10;k的最后一位被舍棄,
i保存位數(shù),每次循環(huán),k舍棄1位,i加1。
直至k為0時,所有位都被舍棄,此時,i的值就是k的位數(shù)。
具體可以看第二周討論題—–討論一類賦值語句的特點,在置頂貼的回復(fù)中,有舉例23、編程:輸入一個整數(shù),計算該整數(shù)的位數(shù),并輸出位數(shù)。輸入樣例:12345輸出樣例:輸入的是5位數(shù)請完善程序。(程序有1個空,答案一行寫一個,不要添加多余的空格)
#include<stdio.h>intmain(){
inti=0,k,j;
scanf(“%d”,&k);
do
{
i++;
}while(k!=0);
printf(“輸入的是%d位數(shù)”,i);
}提示:第二周討論題—–討論一類賦值語句的特點,在置頂貼的回復(fù)中,有本題的相關(guān)內(nèi)容。這一類賦值語句常用于循環(huán)中。
答案:(以下答案任選其一都對)k=k/10;;
k/=10;
分析:每次循環(huán),k=k/10;k的最后一位被舍棄,
i保存位數(shù),每次循環(huán),k舍棄1位,i加1。
直至k為0時,所有位都被舍棄,此時,i的值就是k的位數(shù)。
具體可以看第二周討論題—–討論一類賦值語句的特點,在置頂貼的回復(fù)中,有舉例24、編程:輸入一個整數(shù),計算該整數(shù)的位數(shù),并輸出位數(shù)。輸入樣例:12345輸出樣例:輸入的是5位數(shù)請完善程序。(程序有1個空,答案一行寫一個,不要添加多余的空格)
#include<stdio.h>intmain(){
inti=0,k,j;
scanf(“%d”,&k);
if(k==0)i=1;
while(
)
//注意,不要漏考慮k為負數(shù)的情況
{
i++;
k=k/10;
}
printf(“輸入的是%d位數(shù)”,i);
}提示:第二周討論題—–討論一類賦值語句的特點,在置頂貼的回復(fù)中,有本題的相關(guān)內(nèi)容。這一類賦值語句常用于循環(huán)中。
答案:(以下答案任選其一都對)k!=0;
0!=k;
!k==0
分析:每次循環(huán),k=k/10;k的最后一位被舍棄,
i保存位數(shù),每次循環(huán),k舍棄1位,i加1。
直至k為0時,所有位都被舍棄,此時,i的值就是k的位數(shù)。
具體可以看第二周討論題—–討論一類賦值語句的特點,在置頂貼的回復(fù)中,有舉例25、
編程:輸入一個整數(shù),計算該整數(shù)的位數(shù),并輸出位數(shù)。
輸入樣例:12345
輸出樣例:輸入的是5位數(shù)
請完善程序。(程序有1個空,答案一行寫一個,不要添加多余的空格)
include<stdio.h>intmain()
{
inti=0,k,j;
scanf(“%d”,&k);
//k也可能是負整數(shù)
do
{
k=k/10;
i++;
}while(
);
printf(“輸入的是%d位數(shù)”,i);
}提示:參考本周視頻“求輸入數(shù)的位數(shù)”。答案:(以下答案任選其一都對)k!=0;
0!=k;
!k==026、編程:輸入一個整數(shù),計算該整數(shù)的位數(shù),并輸出位數(shù)。輸入樣例:12345輸出樣例:輸入的是5位數(shù)請完善程序。(程序有1個空,答案一行寫一個,不要添加多余的空格)
#include<stdio.h>intmain(){
inti=0,k,j;
scanf(“%d”,&k);
//k也可能是負整數(shù)
do
{
i++;
}while(k!=0);
printf(“輸入的是%d位數(shù)”,i);
}提示:參考本周視頻“求輸入數(shù)的位數(shù)”
答案:(以下答案任選其一都對)k=k/10;;
k/=10;
第六周循環(huán)進階循環(huán)進階選擇、填空題1、運行下面的程序,得到的輸出是()#include<stdio.h>intmain(){
inti,j;
for(i=1;i<=2;i++)
for(j=1;j<=2;j++)
printf(“i=%d,j=%d”,i,j);}答案:i=1,
j=1i=1
,j=2i=2
,j=1i=2
,j=22、?運行下面的程序,輸出的星號個數(shù)一共是()#include<stdio.h>intmain(){
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=i;j++)
putchar(‘‘);
putchar(‘*’);
putchar(”);
}}答案:43、運行下面的程序,輸出的星號個數(shù)一共是()#include<stdio.h>intmain(){
inti,j;
for(i=1;i<=4;i++)
for(j=1;j<=i;j++)
putchar(‘‘);
putchar(‘*’);
putchar(”);}答案:14、執(zhí)行下面的程序片段,k的值是()
intk=0,i,j;
for(i=0;i<5;i++)
for(j=0;j<3;j++)
k=k+1;答案:155、若變量已正確定義,要求程序段完成求5!的計算,不能完成此操作的程序段是答案:for(i=1;i<=5;i++){
p=1;
p*=i;}?6、下面程序的功能是輸出以下形式的圖案,則在下劃線處應(yīng)填入的是
*#include<stdio.h>intmain(){
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=
;j++)
putchar(‘‘);
putchar(”);
}
return0;}答案:2*i-1?7、下面程序的功能是輸出以下形式的圖案,則在下劃線處應(yīng)填入的是()
*
*
#include<stdio.h>intmain(){
inti,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=
;j++)
putchar(‘‘);
putchar(”);
}
return0;}答案:2(5-i)-18、雞兔同籠,共有98個頭,386只腳,編程求雞、兔各多少只。代碼如下,按要求在空白處填寫適當(dāng)?shù)谋磉_式或語句,使程序完整并符合題目要求。#include<stdio.h>intmain(){
intx,y;
for(x=1;x<98;x++)
{
_(1)
if(
?
(2)
___)
{
printf(“x=%d,y=%d”,x,y);
}
}
return0;}答案:(1)
y=98–x;(2)
2x+4y==386;?9、打印所有的“水仙花數(shù)”。所謂“水仙花數(shù)”,是指一個三位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。例如,153是“水仙花數(shù)”,因為。代碼如下,按要求在空白處填寫適當(dāng)?shù)谋磉_式或語句,使程序完整并符合題目要求。#include<stdio.h>intmain(){
inti,j,k,n;
printf(“resultis:”);
for(n=100;
(1)_;n++)
{
i=n/100;
//得到百位
j=
_(2)
;
k=n%10;
//得到個位
if(
(3)___?)
{
printf(“%d\t“,n);
//輸出結(jié)果
}
}
printf(“”);
return0;}答案:?(1)n<1000(2)(n–i*100)/10(3)i100+j10+k==iii+jjj+kkk10、下面程序的功能是()#include<stdio.h>intmain(){
intx,s,i;
scanf(“%d”,&x);
s=x;
for(i=1;i<=6;i++)
{
scanf(“%d”,&x);
if(s<x)
s=x;
}
printf(“s=%d”,s);
return0;}提示:可參考課件“附加例題解析”中文檔“求最值及其位置”,幫助理解。答案:輸入7個整數(shù),輸出其中的最大數(shù)11、閱讀下面的程序,該程序完成的功能有(
)
#include<stdio.h>intmain(){
intnumber,min;
inti,n=1;
printf(“請輸入第1個數(shù)”);
scanf(“%d”,&number);
min=number;
//只有1個數(shù)時,最小數(shù)就是這個數(shù),設(shè)min初值為第1個數(shù)
for(i=2;i<=8;i++)
{
printf(“請輸入第%d個數(shù)”,i);
scanf(“%d”,&number);
if(min>number)
//min與新輸入的數(shù)比,如果更大,則
{
min=number;
//min更新為較小的數(shù)
n=i;
//n更新為較小數(shù)的位置
}
}
printf(“第%d個數(shù)最小,為%d”,n,min);
//輸出最小數(shù)的位置與最小數(shù)
return0;}
提示:可參考課件“附加例題解析”中文檔“求最值及其位置”,幫助理解。答案:輸出8個數(shù)中的最小數(shù);
輸出最小數(shù)的位置12、下面(
)僅輸出m的大于1的最小因子。答案:for(i=2;i<=m-1;i++)
if(m%i==0)
{
printf(“%dis最小因子”,i);
break;
}
;
i=2;while(m%i!=0)
i++;printf(“%dis最小因子”,i);13、程序功能:輸入n的值(n<11),計算1!+2!+3!+……+n!,并輸出計算結(jié)果。請完善程序。(程序有1個空,答案一行寫一個,不要添加多余的空格)#include<stdio.h>intmain(){
inti,n;
longsum=0,fac=1;
//fac存儲每個加項(階乘)的值
printf(“請輸入n的值:”);
scanf(“%d”,&n);
for(i=1;i<=n;i++)
{
//后一加項與前一加項的關(guān)系
sum=sum+fac;
}
printf(“和為%ld”,sum);
return0;}提示:可以參考“累加和”中講解的最后一個例題
答案:(以下答案任選其一都對)fac=faci;;
fac=ifac;;
fac*=i;14、編寫作圖程序:輸入一個整數(shù)n,輸出由n行上三角形與n+1行下三角形組成的如下菱形。
輸入樣例:
5
輸出樣例:(程序有3個空,答案一行寫一個,不要添加多余的空格)#include<stdio.h>intmain(){intn,i,j;
scanf(“%d”,&n);
for(i=1;i<=n;i++)
//輸出n行上三角形
{
for(j=1;j<=n-i+1;j++)
//輸出每行號前的空格
(1)
for(j=1;j<=
(2)
;j++)
//輸出第i行的號
putchar(‘‘);
putchar(”);
}
for(i=1;i<=
(3)
;i++)
//輸出n+1行下三角形
{
for(j=1;j<=i-1;j++)
putchar(‘‘);
for(j=1;j<=2n+3-2i;j++)
putchar(‘‘);
putchar(”);
}
return0;}提示:n行上三角形的編程,可以參考本周教學(xué)內(nèi)容:循環(huán)的嵌套中講解的最后一個例題n+1行下三角形的編程與上三角類似,如何用公式表示第i行的個數(shù),可參考循環(huán)的嵌套小節(jié)中的“問與答”文檔
答案:(以下答案任選其一都對)putchar(‘‘);
2i-1
n+1;
printf(”“);
2i-1
n+1;
putchar(‘‘);
2i-1
1+n;
printf(”“);
2i-1
1+n;
putchar(‘‘);
i2-1
n+1;
printf(”“);
i2-1
n+1;
putchar(‘‘);
i2-1
1+n;
printf(”“);
i*2-1
1+n15、編程輸出如下圖的九九乘法口訣表:
(程序有2個空,答案一行寫一個,不要添加多余的空格)
#include<stdio.h>intmain(){inti,j;
printf(“\t\t\t\t乘法口訣表”);
for(i=1;i<=9;i++)
//外循環(huán)輸出9行
{
for(j=1;j<=
(1)
;
j++)
//內(nèi)循環(huán)每行輸出i列
printf(“%d%d=%d\t”,i,j,
(2)
);
//輸出乘法表
printf(“”);
//輸出一行后換行}
return0;}提示:1、注意規(guī)律,第i行第j列輸出的是:ij=ij的積;2、可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木工承包合同內(nèi)腳手架
- 啤酒銷售合同書
- 農(nóng)村住房安全保障工程實施指南
- 網(wǎng)站維護與SEO優(yōu)化作業(yè)指導(dǎo)書
- 投資理財與風(fēng)險防范作業(yè)指導(dǎo)書
- 2025年甘肅貨運從業(yè)資格證題目答案
- 2025年三明道路貨運駕駛員從業(yè)資格證考試題庫完整
- 2025年貨車從業(yè)資格證答題軟件
- 2024-2025學(xué)年四年級語文上冊第二單元明月4走月亮作業(yè)設(shè)計北師大版
- 個人前臺自我總結(jié)
- 2025年電力鐵塔市場分析現(xiàn)狀
- GB 12158-2024防止靜電事故通用要求
- 2025-2030年中國清真食品行業(yè)運行狀況及投資發(fā)展前景預(yù)測報告
- 廣東省茂名市電白區(qū)2024-2025學(xué)年七年級上學(xué)期期末質(zhì)量監(jiān)測生物學(xué)試卷(含答案)
- 《教育強國建設(shè)規(guī)劃綱要(2024-2035年)》全文
- 中國服裝零售行業(yè)發(fā)展環(huán)境、市場運行格局及前景研究報告-智研咨詢(2025版)
- 臨床提高膿毒性休克患者1h集束化措施落實率PDCA品管圈
- DB53∕T 1269-2024 改性磷石膏用于礦山廢棄地生態(tài)修復(fù)回填技術(shù)規(guī)范
- JBT 14727-2023 滾動軸承 零件黑色氧化處理 技術(shù)規(guī)范 (正式版)
- 日歷表空白每月打印計劃表
- 危險化學(xué)品建設(shè)項目安全評價流程.doc
評論
0/150
提交評論