程序設計基礎C語言入門篇知到智慧樹章節(jié)測試課后答案2024年秋山東理工大學_第1頁
程序設計基礎C語言入門篇知到智慧樹章節(jié)測試課后答案2024年秋山東理工大學_第2頁
程序設計基礎C語言入門篇知到智慧樹章節(jié)測試課后答案2024年秋山東理工大學_第3頁
程序設計基礎C語言入門篇知到智慧樹章節(jié)測試課后答案2024年秋山東理工大學_第4頁
程序設計基礎C語言入門篇知到智慧樹章節(jié)測試課后答案2024年秋山東理工大學_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

程序設計基礎(C語言)入門篇知到智慧樹章節(jié)測試課后答案2024年秋山東理工大學第一章單元測試

下列哪一個不是C語言的的主要特點(

)。

A:能完成任何功能B:數(shù)據類型豐富C:運算符豐富D:語言簡潔、緊湊、方便、靈活

答案:能完成任何功能一個C語言程序總是從(

)函數(shù)開始。

A:maxB:main

C:scanfD:printf

答案:main

計算機高級語言程序的運行方法有編譯執(zhí)行和解釋執(zhí)行兩種,下列敘述中正確的是(

)。

A:C語言程序僅可以解釋執(zhí)行B:C語言程序僅可以編譯執(zhí)行C:C語言程序既可以編譯執(zhí)行又可以解釋執(zhí)行

答案:C語言程序僅可以編譯執(zhí)行下列敘述中正確的是(

)。

A:C語言程序中每一行只能寫一條語句B:C語句必須在一行內寫完C:每個C語句必須以分號結束

D:C語言程序的只有一個函數(shù)

答案:每個C語句必須以分號結束

程序是一組計算機能識別和執(zhí)行的指令集合。

A:錯B:對

答案:對計算機語言是一種只有計算機才能識別的語言。

A:對B:錯

答案:錯一個C語言程序是由一個或多個函數(shù)組成的,其中必須包含一個函數(shù),函數(shù)名是main。

A:對B:錯

答案:對C語句是以()表示結束

A:分號B:逗號C:句號D:回車

答案:分號C語言區(qū)分大小寫。

A:錯B:對

答案:對C語言只有一個標準。

A:對B:錯

答案:對

第二章單元測試

算法的特點不包括(

)。

A:可行性B:有窮性C:多個輸入D:確定性

答案:多個輸入算法的有窮性是指(

)。

A:算法包含的操作步驟是有限的B:算法只能被有限的用戶使用C:算法的程序運行時間是有限的D:算法的程序所處理的數(shù)據量是有限的

答案:算法包含的操作步驟是有限的在計算機中,算法是指(

)。

A:解答方案的準確而完整的描述B:查詢方法C:加工方法D:排序方法

答案:解答方案的準確而完整的描述算法的特點包括窮性、確定性、可行性、有一個或多個輸入和有一個或多個輸出。

A:對B:錯

答案:錯在程序設計中,符合結構化原則的三種基本控制結構是順序結構、選擇結構、循環(huán)結構。

A:對B:錯

答案:對傳統(tǒng)的流程圖只有一個入口,多個出口。

A:錯B:對

答案:錯所謂算法的有窮性是指算法要在合理有限的時間內結束。

A:對B:錯

答案:對算法是程序的具體實現(xiàn)。

A:對B:錯

答案:錯算法分為數(shù)值算法和非數(shù)值算法兩大類。

A:錯B:對

答案:對算法是為解決一個問題而采取的方法和步驟,是程序的靈魂。

A:錯B:對

答案:對

第三章單元測試

表達式25/3%3的值為2.

A:對B:錯

答案:對若有定義:inty=2;則計算表達式y(tǒng)+=y后的y值是2()

A:錯B:對

答案:錯下列不正確的敘述是(

)。

A:在C語言程序中,SUM和sum是兩個不同的變量。B:若a和b類型相同,在計算了賦值表達式a=b后b中的值將復制到a中,而b中的值不變。C:在C語言程序中,進行賦值運算時,先將右側表達式的值轉化左側變量的類型再賦給變量。D:在C語言程序中,%運算符的優(yōu)先級高于/運算符。

答案:在C語言程序中,%運算符的優(yōu)先級高于/運算符。在C語言中,要求運算對象必須是整型的運算符是(

)。

A:%

B:/C:*

D:-

答案:%

下列選項中正確的定義語句是(

)。

A:double

,a,b;B:double

a=b=7;

C:double

a=7,b=7;

D:double

a;b;

答案:double

a=7,b=7;

輸入一個3位正整數(shù)n,分別輸出n的個位a、十位b、百位c。下面程序的語句填空應為:()#include<stdio.h>intmain(){

intn,a,b,c;scanf("%d",&n);a=____;;b=n/10%10;c=n/100;printf("a=%d

b=%d

c=%d",a,b,c);

return0;}

A:a%10

B:n%10C:n/10

D:b/10

答案:n%10有下列程序,程序運行后的輸出結果是(

)。#include<stdio.h>intmain(){inta=1,b=0;

printf("%d,",b=a+b);printf("%d\n",a=2*b);return0;}

A:1,2B:0,0C:1,0D:3,2

答案:1,2數(shù)據在計算機中是以二進制的形式存儲的。()

A:錯B:對

答案:對變量定義后,如果沒有賦值,那變量多表示的存儲單元是空的。

A:對B:錯

答案:錯定義符號常量的名字用命令#define。

A:對B:錯

答案:對

第四章單元測試

有下列程序,已知字母A的ASCII碼為65,程序運行后的輸出結果是(

)。#include<stdio.h>intmain(){charc1,c2;c1=’A’+’8’-’4’;c2=’A’+’8’-’5’;printf("%c,%d\n",c1,c2);return0;}

A:E,DB:E,68C:D,69D:輸出無定值

答案:E,68有下列程序,程序運行后的輸出結果是(

)。#include<stdio.h>int

main(){

inta=14,b=12;a=a+b;b=a-b;a=a-b;printf("a=%d,b=%d",a,b);

return0;}

A:a=14,b=14B:a=26,b=26

C:a=12,b=14

D:a=14,b=12

答案:a=12,b=14

若變量已正確定義為int型,要給a、b、c輸入數(shù)據,正確的輸入語句是(

)。

A:scanf("%d%d%d",a,b,c);

B:read(a,b,c)

C:scanf("%D%D%D",&a,&b,&c);D:scanf("%d%d%d",&a,&b,&c);

答案:scanf("%d%d%d",&a,&b,&c);編寫程序,輸入3個整數(shù)a、b、c,輸出時:a的值是b,b的值是c,c的值是a。下面程序可以正確實現(xiàn)題目要求:#include<stdio.h>intmain(){inta,b,c,tscanf("%d%d%d",&a,&b,&c);t=a;a=b;b=c;c=t;

//順序交換a、b、c

printf("a=%d,b=%d,c=%d",a,b,c);

return0;}

A:錯B:對

答案:對已知銀行一年定期存款利率r是2.25%,若存款本金是c元,編程計算一年期滿是本金之和d(保留兩位小數(shù))。下面程序可以正確實現(xiàn)題目要求:#include<stdio.h>intmain(){

double

r=0.0255,c,d;scanf("%f",&c);d=c+c*r;printf("x=%.2lf",d);

return0;}

A:錯B:對

答案:錯用getchar()從鍵盤上輸入一個字符,用putchar()打印出來!參考程序1與參考程序2都可以實現(xiàn)題目要求。#include<stdio.h>intmain(){

chara;

a=getchar();

putchar(a);return0;}

參考程序2:#include<stdio.h>intmain(){

charch;scanf(“%c”,&ch);printf(“%c\n”,ch);

return0;}

A:錯B:對

答案:對下列程序運行結果為:#include<stdio.h>int

main(){

chara,b,c;

a='r';b='e';c='d';

putchar(a);putchar(b);putchar(c);putchar('\n');

return0;

A:red\n

B:‘r’’e’’d’

C:‘r’’e’’d’’\n’D:red

答案:red

如果要求按照12:31:12格式輸入數(shù)據,那么下面哪個輸入語句是正確的:()

A:scanf("%d:%d:%d",&num1,&num2,&num3);B:scanf("%d,%d,%d",&num1,&num2,&num3);C:scanf("%d%d%d",&num1,&num2,&num3);

答案:scanf("%d:%d:%d",&num1,&num2,&num3);在格式化輸入scanf函數(shù)中,如何%后面跟有*,表示抑制符,輸入的數(shù)據不會賦值給相應的變量。()

A:錯B:對

答案:對putchar()函數(shù)屬于無參函數(shù)。()

A:對B:錯

答案:錯

第五章單元測試

在C語言中,邏輯運算符“&&”比“||”的優(yōu)先級高(

)。

A:對B:錯

答案:對將數(shù)學式:a=b或a<c,寫為C語言的表達式為a=b||a<c(

)。

A:錯B:對

答案:錯已知字母’A’的ASCll碼值為65,若變量c為char型,下列不能正確判斷出c為大寫字母的表達式是(

)。

A:!(c>=’A’||c<=’Z’)

B:c>=’A’&&c<=’Z’C:(c+32)>=’a’&&(c+32)<=’z’

D:(c>=65)&&(c<=91)

答案:!(c>=’A’||c<=’Z’)

有下列程序,程序運行后的輸出結果是(

)。#include<stdio.h>intmain(){intx=1,y=0;

if(!x)y++;

elseif(x==0)

if(x)y+=2;

elsey+=3;

printf("%d",y);

return0;}

A:2B:1C:3D:0

答案:0有下列程序,程序運行后的輸出結果是(

)。inta=3,b;if(a>0)b=1;elseb=-1;b++;printf("%d",b);

A:2B:-1C:0D:1

答案:2有下列程序,程序運行后的輸出結果是(

)。#include<stdio.h>intmain(){intx=0,y=2,z=3;switch(x){

case0:switch(y==2)

{

case1:printf("*");break;

case2:printf("%");break;

}

case1:switch(z)

{

case1:printf("$");

case2:printf("*");break;

default:printf("#");

}}}

A:**

B:*%C:*$

D:*#

答案:*#

C語言中條件表達式結果為0表示假,為1表示真。

A:對B:錯

答案:錯除了最后一個分支,switch語句要求每一個分支后加上一個break語句。

A:錯B:對

答案:對C可保證復雜的邏輯表達式是從左至右計算的。

A:錯B:對

答案:對有下列程序,程序運行后的輸出結果是(

)。int

a=3,b=5,c=7;

if(a>b)a=b;c=a;

if(c!=a)c=b;

printf("%d,%d,%d\n",a,b,c);

A:程序段有語法錯B:3,5,3

C:3,5,5D:3,5,7

答案:3,5,3

第六章單元測試

有下列程序段,程序段運行后的輸出結果##2##3##4##5(

)。intk;for(k=2;k<6;k++,k++)printf("##%d",k);

A:錯B:對

答案:錯在循環(huán)結構中break是終止循環(huán),跳出循環(huán)體。

A:對B:錯

答案:對以下不構成無限循環(huán)的語句組是(

)。

A:intn=0,i;for(n=0,i=1;

;i++)n+=i;B:intn=10;

while(n);

n--;C:intn=0

do

{++n;}

while(n<=0);

D:intn=0;

while(1)n++;

答案:intn=0

do

{++n;}

while(n<=0);

在C語言中有關for循環(huán),下列正確的說法是(

)。

A:在for循環(huán)中,不能用break跳出循環(huán)體。B:for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號寫成復合語句。C:for循環(huán)只能用于循環(huán)次數(shù)已經確定的情況。D:for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達式。

答案:for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號寫成復合語句。有下列程序,程序運行后的輸出結果是(

)。#include

<stdio.h>

intmain()

{

int

i,sum;

for(i=1;i<6;i++)sum+=sum;

printf("%d",sum);

return0;}

A:0B:不確定C:15D:14

答案:不確定有下列程序,程序運行后的輸出結果是(

)。#include<stdio.h>intmain(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){

if(j%2)break;a++;}a++;}printf("%d",a);return0;}

A:6B:7C:4D:5

答案:4while與do-while在任何時候都可以互換。

A:對B:錯

答案:錯下面程序可以正確求出1+2+3+。。。+n的和。()#include<stdio.h>intmain(){

inti=1,sum=0,n;scanf(“%d”,&n);while(i<=n)

sum=sum+i;

++i;

printf("sum=%d",sum);return0;

}

A:錯B:對

答案:錯以下程序中的變量已正確定義,程序段的輸出結果是(

)。for(i=0;i<4;i++,i++)for(k=1;k<3;k++);printf("*");

A:********B:*C:**

D:****

答案:*有下列程序,程序運行后的輸出結果是(

)。#include

<stdio.h>intmain(){int

i,j;

for(i=3;i>=1;i--)

{

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

printf("%d",i+j);

printf("\n");

}

return0;}

A:234345B:23

3445C:432

543D:45

3423

答案:45

3423

第七章單元測試

在C語言中,數(shù)組元素的最小下標是1。

A:對B:錯

答案:對在C語言中,數(shù)組名代表首地址。

A:錯B:對

答案:對在C語言中,數(shù)組一般針對批量數(shù)據的處理,這些數(shù)據必須具有相同的類型()。

A:對B:錯

答案:對假設有一定義語句inta[][3]={1,2,3,4,5,6};那么數(shù)組的行數(shù)是不確定的。

A:對B:錯

答案:錯有下列程序,程序運行后的輸出結果是0(

)。

#include<stdio.h>

intmain(){

inta[5]={1,2,3};

printf("%d\n",a[3]);

return0;}

A:對B:錯

答案:對若有說明:inta[10];則對a數(shù)組元素的正確引用是(

)。

A:a[10]

B:a[10-10]

C:a(5)D:a[3.5]

答案:a[10-10]

有下列程序段,運行后的輸出結果是(

)。

inti;intx[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d",x[i][2-i]);

A:3

6

9

B:3

5

7

C:1

5

9D:1

4

7

答案:1

4

7

有下列程序,運行后的輸出結果是(

)。#include

<stdio.h>intmain(){

int

a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

return0;}

A:輸出值B:0650C:1470D:5430

答案:0650有下列程序,運行后的輸出結果是(

)。#include

<stdio.h>

intmain()

{

int

s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;

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

c[s[i]]++;

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

printf("

%d",c[i]);

printf("\n");

return0;

}

A:2344B:4332

C:1123

D:1234

答案:4332

若有定義:intb[3][4]={0};則下述正確的是(

)。

A:b[0][0]的值是0,其他元素值未知B:數(shù)組b中各元素均為0C:沒有元素能得初值0D:不正確的定義

答案:數(shù)組b中各元素均為0

第八章單元測試

有如下函數(shù)調用語句:

fun(r1,r2+r3,(r4,r5));該函數(shù)調用語句中,含有的實參個數(shù)是3個。

A:對B:錯

答案:對函數(shù)可以嵌套定義,但不能嵌套調用。

A:對B:錯

答案:對mian函數(shù)可以自己調用自己。

A:對B:錯

答案:對以下正確的函數(shù)定義是(

)。

A:fun(intx,y)

{intz;returnintz;}B:fun(x,y)

{intx,y;

z=x+y;retunz;}

C:doublefun(intx,inty){z=x+y;returnz;}

D:doublefun(intx,inty){doublez;z=x+y;returnz;}

答案:doublefun(intx,inty){doublez;z=x+y;returnz;}在C語言函數(shù)中,下面說法正確的是(

)。

A:一個函數(shù)中只能有一個return語句。B:一個函數(shù)中可以有多個return語句,可能多個return語句全部執(zhí)行C:一個函數(shù)中可以有多個return語句,但是最多執(zhí)行其中一個return語句。D:一個return語句可以返回多個值。

答案:一個函數(shù)中可以有多個return語句,但是最多執(zhí)行其中一個return語句。在C語言函數(shù)中,以下說法正確的是(

)。

A:如果形參與實參的類型不一致以實參類型為準B:如果函數(shù)值的類型與return返回值類型不一致,以函數(shù)值類型為準C:定義函數(shù)時,形參的類型說明可以放在函數(shù)體內。D:return后邊的值不能為表達式

答案:如果函數(shù)值的類型與return返回值類型不一致,以函數(shù)值類型為準在C語言程序中,以下正確的描述是(

)。

A:函數(shù)的定義不可嵌套,但函數(shù)的調用可以嵌套B:函數(shù)的定義可以嵌套,但函數(shù)的調用不可以嵌套C:函數(shù)的定義和調用均可以嵌套D:函數(shù)的定義和函數(shù)的調用均不可以嵌套

答案:函數(shù)的定義不可嵌套,但函數(shù)的調用可以嵌套有下列程序,程序運行后的輸出結果是(

)。#include<stdio.h>intf(inta){intb=0,c=3;

b++;c++;

return(a+b+c);}intmain(){inta=2,i;

for(i=0;i<3;i++)printf("%4d",f(a));

return0;}

A:789

B:7911

C:71013

D:777

答案:777有下列程序,程序運行后的輸出結果是(

)。#include<stdio.h>intfunc(inta,intb);intmain(){

intk=4,m=1,p;

p=func(k,m);

printf("%d",p);

p=func(k,m);

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

return0;}intfunc(inta,intb){

intm=0,i=2;

i+=m+1;

m=i+a+b;return(m);}{

intm=0,i=2;i+=m+1;m=i+a+b;return(m);}

A:817B:816C:8

8

D:820

答案:8

8

有下列程序,程序運行后的輸出結果是(

)。#include<stdio.h>intfun(intx,inty);intmain(){inta=4,b=5,c=6;

printf("%d\n",fun(2*a,fun(b,c)));return0;

}intfun(intx,inty){if

(x!=y)return((x+y)/2);

elsereturn(x);}

A:6B:8C:3

D:12

答案:6

第九章單元測試

若有下列語句:inta[4]={1,2,3,4},*p;p=&a[2];則*p的值是3

A:錯B:對

答案:對int*p;此時*是一個運算符號,表示間接訪問p所指向的變量。

A:對B:錯

答案:錯有下列程序段,程序段運行后的輸出結果是10(

)。

int*p,n;

n=10;p=&n;n=*p+10;

printf("%d\n",*p);

A:對B:錯

答案:錯若有說明:inta=2,*p=&a,*q=p;,則以下非法的賦值語句是(

)。

A:p=qB:a=*qC:q=aD:*p=*q

答案:q=a變量的指針是指該變量的(

)。

A:首地址B:別名C:值D:名

答案:首地址若已定義inta=5;下列對(1)、(2)兩個語句的正確解釋是(

)(1)int*p=&a;

(2)*p=a;

A:語句(1)是對p進行說明的同時進行初始化,使p指向a;語句(2)是將a的值賦給p指的空間。B:語句(1)和語句(2)中的*p含義相同,都表示給指針變量p賦值。C:語句(1)是對p進行說明的同時進行初始化,使p指向a;語句(2)是將a的值賦給指針變量p。D:語句(1)和語句(2)語句都是把變量a的地址值賦給指針變量p。

答案:語句(1)是對p進行說明的同時進行初始化,使p指向a;語句(2)是將a的值賦給p指的空間。下列程序中,主函數(shù)調用findmax函數(shù)返回數(shù)組中的最大值。在下劃線處應填入的是(

)。#include<stdio.h>findmax(int*a,intn){

int*p,*s;

for(p=a,s=a;p-a<n;p++)

if(__________)s=p;

return(*s);}intmain(){

intx[5]={12,21,13,6,18};

printf("%d\n",findmax(x,5));

return0;}

A:a[p]>a[s]B:*p>*s

C:p-a>p-s

D:p>s

答案:*p>*s

有下列程序,程序運行后的輸出結果是(

)。#include<stdio.h>voidfun(int*x,int*y);intmain(){

intx=1,y=2;

fun(&y,&x);

printf("%d

%d",x,y);

return0;}voidfun(int*x,int*y){

printf("%d%d",*x,*y);

*x=3;*y=4;}

A:214

3B:121

2

C:123

4

D:211

2

答案:214

3有下列程序段,程序段運行后的輸出結果是(

)。intt[]={0,1,2,3,4,5,6,7,8,9},*p;

p=t;

printf("%d\n",*p+9);

A:10B:1C:9D:0

答案:9若有下列語句:inta[4]={1,2,3,4},*p;p=a;則*p的值是3。

A:錯B:對

答案:錯

第十章單元測試

若給出下列定義:

charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};

則正確的敘述為(

)。

A:數(shù)組x和數(shù)組y的長度相同B:數(shù)組x的長度大于數(shù)組y的長度C:

溫馨提示

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

評論

0/150

提交評論