計算機程序設計(C語言)智慧樹知到課后章節(jié)答案2023年下廣州新華學院_第1頁
計算機程序設計(C語言)智慧樹知到課后章節(jié)答案2023年下廣州新華學院_第2頁
計算機程序設計(C語言)智慧樹知到課后章節(jié)答案2023年下廣州新華學院_第3頁
計算機程序設計(C語言)智慧樹知到課后章節(jié)答案2023年下廣州新華學院_第4頁
計算機程序設計(C語言)智慧樹知到課后章節(jié)答案2023年下廣州新華學院_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

計算機程序設計(C語言)智慧樹知到課后章節(jié)答案2023年下廣州新華學院廣州新華學院

第一章測試

C語言屬于()。

A:高級語言

B:低級語言

C:機器語言

D:匯編語言

答案:高級語言

C語言的三種基本結構是()。

A:循環(huán)結構、嵌套結構、轉移結構

B:嵌套結構、遞歸結構、順序結構

C:遞歸結構、循環(huán)結構、轉移結構

D:順序結構、選擇結構、循環(huán)結構

答案:順序結構、選擇結構、循環(huán)結構

以下注釋正確的是()。

A:/*這是注釋

B:/*這是注釋/*

C://這是注釋

D:/*這是注釋/

答案://這是注釋

C語言中main函數可以有多個。()

A:對B:錯

答案:錯

機器語言是由二進制數0和1組成的一串指令。()

A:錯B:對

答案:對

流程線可以不化箭頭,默認從上到下從左到右的依次執(zhí)行。()

A:錯B:對

答案:錯

N-S結構化流程圖適于結構化程序設計,因而很受歡迎。()

A:對B:錯

答案:對

C語言的特點有執(zhí)行效率高、可移植性好、應用領域廣。()

A:錯B:對

答案:對

計算機真正能識別的語言只有機器語言,所以需要編譯器將高級語言翻譯成機器語言。()

A:錯B:對

答案:對

C語言編譯后生成的可執(zhí)行程序的后綴為.obj

A:對B:錯

答案:錯

第二章測試

在C99中兩大基本數據類型中屬于整數類型的是()。

A:intdoublelongchar

B:shortintlongchar

C:charfloatlongshort

D:intshortfloatdouble

答案:shortintlongchar

下列表達式中,不正確的是()。

A:a=intb;

B:a=b=2;

C:i++;

D:a-=1;

答案:a=intb;

以下均為合法用戶標識符的是()。

A:void,we,world

B:do,a1,go

C:ID,-ch,printf

D:a1_b1,_x,adc1

答案:a1_b1,_x,adc1

以下均是非法常量的是()。

A:“a”,5,’’

B:1.0,2,1.565

C:‘\’,‘a’,1

D:‘asd‘,-0fff,’a’

答案:‘asd‘,-0fff,’\0a’

設n=10,i=3,則執(zhí)行賦值運算n%=i+2后,n的值是()。

A:3

B:6

C:0

D:7

答案:0

以下與i=n++完全等價的表達式是()。

A:i=n,n=n+1

B:n=n+1,i=n

C:i=++n

D:i+=n+1

答案:i=n,n=n+1

若有intx=19,則表達式(x--%5*3/4)的值是()。

A:1

B:2

C:3

D:無正確答案

答案:3

已知inta,charb,floatc,doubled;執(zhí)行語句c=a+b+c+d后,變量c的數據類型是()。

A:int

B:double

C:char

D:float

答案:float

已知intx,y;doublez;則以下語句中正確的函數調用是()。

A:scanf("%d,%d,%6.2f",&x,&y,&z);

B:scanf("%1d,%d,&1f",&x,&y,&z);

C:scanf("%x,%d,%o",&x,&y);

D:scanf("%d,%x,%e",&x,&y,&z);

答案:scanf("%d,%d,%6.2f",&x,&y,&z);

下面程序段inti1=20,i2=50;printf(“i1=%d,i2=%d“,i1,i2);運行后的輸出結果是()。

A:i1=20,i2=50

B:i1=%%d,i2=%%d

C:i1=%20,i2=%50

D:i1=%d,i2=%d

答案:i1=20,i2=50

第三章測試

C語言對于嵌套if語句的規(guī)定是:else語句總是與()配對。

A:縮進位置相同的if

B:其之前最近的if

C:其之前最近且尚未配對的if

D:第一個if

答案:其之前最近且尚未配對的if

設在語句“intx=9,y=6,z=7,k=-1;”中,邏輯表達式(x>0&&y||k>0&&z<6)的值是()。

A:出錯

B:-1

C:0

D:1

答案:1

下列說法中正確的是()。

A:break用在循環(huán)語句中,而continue用在switch語句中

B:break能結束循環(huán),而continue只能結束本次循環(huán)

C:continue能結束循環(huán),而break只能結束本次循環(huán)

D:break用在switch語句中,而continue用在循環(huán)語句中

答案:break能結束循環(huán),而continue只能結束本次循環(huán)

下列條件語句中,輸出結果與其他語句不同的是()。

A:if(a==0)printf("%d",x);elseprintf("%d",y);

B:if(a)printf("%d",x);elseprintf("%d",y);

C:if(a==0)printf("%d",y);elseprintf("%d",x);

D:if(a!=0)printf("%d",x);elseprintf("%d",y);

答案:if(a==0)printf("%d\n",x);elseprintf("%d\n",y);

intmain()

{

intx,y;

scanf(“%d”,&x);

y=x>14?x+10:x-12;

printf(“%d\n”,y);

return0;

}

若運行時給變量x輸入14,則以下程序的運行結果是()

A:1

B:4

C:3

D:2

答案:2

switch(i)

{

case9:i+=1;

case10:i+=1;

case11:i+=1;

case12:i+=1;

default:i+=1;

};

若inti=10,執(zhí)行下面程序段后,變量i的值為()

A:12

B:14

C:11

D:13

答案:14

intmain()

{

intx;

scanf("%d",&x);

if(x>200)printf("**");

if(x<200)printf("##");

elseprintf("*");

return0;

}

執(zhí)行下面語句序列時,不可能出現的情況是()

A:顯示*

B:顯示**

C:顯示#

D:顯示*#

答案:顯示*#

switch語句中的default必須出現在所有case之后,否則case不起作用。()

A:對B:錯

答案:對

switch后面園括號內的表達式的值和case后面的常量表達式的值都必須是整型或字符型。()

A:對B:錯

答案:對

switch語句可以完全用if語句代替。

A:對B:錯

答案:對

第四章測試

有以下程序:

inta=0;

do{a++;}while(a<9);

printf("%d",a);

則正確的執(zhí)行結果是()。

A:9

B:10

C:11

D:8

答案:9

有以下程序:

chara=64;

do{a++;}while(a<9);

printf("%d",a);

則正確的執(zhí)行結果是()。

A:73

B:65

C:74

D:64

答案:65

有以下程序:

inta,sum=0;

for(a=0;a<=5;a+=2)

{sum-=a;}

printf("%d",sum);

正確的執(zhí)行結果是()。

A:-6

B:-5

C:-15

D:15

答案:-6

有以下程序:

charc;inti;for(i=0;i<2;i++){scanf("%c",&c);printf("%c",c);}若輸入abc回車,正確的執(zhí)行結果是()。

A:輸入過多無法執(zhí)行

B:abc

C:ac

D:ab

答案:ab

有以下程序:

charc='a';

inti;

for(i=0,i=1,c='h';i<3;i++)

{printf("%c",c);}

正確的執(zhí)行結果是()。

A:HHH

B:hh

C:HH

D:hhh

答案:hh

有以下程序:charc;inti;for(i=0;i<2;i++){scanf("%c",&c);printf("%c",c);}若輸入a回車c回車,正確的執(zhí)行結果是(

)。

A:先輸出輸入c后再輸出cB:c無法輸入輸出只有aC:cD:ac

答案:c無法輸入輸出只有a

do…while的作用是先執(zhí)行,后檢查。()

A:對B:錯

答案:對

即使條件為false,do-while至少執(zhí)行一遍其中的代碼,因為代碼執(zhí)行后才會進行條件驗證。()

A:錯B:對

答案:對

switch語句可以完全用if語句代替。()

A:錯B:對

答案:對

for可以省略三個表達式的任意一個,但“;”不可省略。()

A:對B:錯

答案:對

第五章測試

編譯器為數組開辟的內存空間是()。

A:連續(xù)的

B:有些連續(xù)有些不連續(xù)

C:未知的

D:不連續(xù)的

答案:連續(xù)的

數組訪問越界后會發(fā)生什么(

A:都有可能發(fā)生B:計算出錯誤的數值C:程序崩潰D:訪問失敗

答案:都有可能發(fā)生

以下正確的數組聲明是()。

A:int[2]arr

B:intarr[2]

C:int(2)arr

D:intarr(2)

答案:intarr[2]

以下數組初始化正確的是()。

A:intarr[4]={1,2,3,4};

B:voidarr[4]={1,2,3,4};

C:intarr[4]=1,2,3,4;

D:intarr[0]={1,2,3,4};

答案:intarr[4]={1,2,3,4};

以下數組初始化正確的是()。

A:intarr[2]={1,2,3,4};

B:intarr[2][]={1,2,3,4};

C:intarr[][2]={1,2,3,4};

D:voidarr[2][2]={1,2,3,4};

答案:intarr[][2]={1,2,3,4};

已知一維數組arr[6]={1,5,9,3,8,2},其中大于5的元素是(

A:arr[6]B:arr[1]C:arr[3]D:arr[2]

答案:arr[2]

在定義數組intarr[10]后,下列選項中對arr的引用正確的是()。

A:arr[10]

B:arr[0]

C:arr[6.3]

D:arr(6)

答案:arr[0]

關于數組類型的定義,下列描述中正確的是()。

A:數組的大小一旦定義就是固定的

B:數組的下標類型為整型

C:數組元素的下標從1開始

D:一個數組中的各元素類型可以不一樣

答案:數組的大小一旦定義就是固定的

;數組的下標類型為整型

已有int型一維數組arr[10],可以通過intb[10]=arr[10]的方式復制整個數組。()

A:對B:錯

答案:錯

可以對整型數組進行整體輸入、輸出。()

A:對B:錯

答案:錯

第六章測試

有以下程序:

inta=100,*p=&a;

printf("%d",*p);

則正確的執(zhí)行結果是()。

A:其他選項不正確

B:有語法錯誤

C:1519191

D:100

答案:100

有以下程序:

chara='1';

char*p1=&a;

printf("%d",*p1);

則正確的執(zhí)行結果是()。

A:49

B:1

C:有語法錯誤

D:其他選項不正確

答案:49

有以下程序:

inta=0;

int*p1;

p1=&a;

int*p2;

p2=p1;

printf("%d",*p2);

則正確的執(zhí)行結果是()。

A:a

B:其他選項不正確

C:有語法錯誤

D:0

答案:0

設p1和p2是指向同一個int型一維數組的指針變量,k為int型變量,則下列不能正確執(zhí)行的選項是()。

A:p2=k

B:k=*p1+*p2

C:k=*p1*(*p2)

D:p1=p2

答案:p2=k

有如下說明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;那么數值為9的表達式是()。

A:*p+=9

B:*p+9

C:*(p+8)

D:p+8

答案:*(p+8)

intmain()

{

char*s="abcde";

s+=2;

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

return0;

}

以下程序運行后,輸出結果是()。

A:出錯

B:字符c的地址

C:字符c的ASCLL碼值

D:cde

答案:字符c的ASCLL碼值

對于基類型相同的兩個指針變量之間,不能進行的運算是()。

A:=

B:+

C:-

D:<

答案:+

在定義指針變量時不一定要指定基類型。()

A:錯B:對

答案:錯

直接按變量名進行訪問,稱“直接訪問”。()

A:對B:錯

答案:對

指針的加減運算實質上是在內存中移動某個數據類型所占的字節(jié)數。()

A:錯B:對

答案:對

第七章測試

若用數組名做函數參數調用的實參,實際上傳遞給實參的是()。

A:數組的全部數值

B:數組的首地址

C:數組的第一個元素

D:數組元素的個數

答案:數組的首地址

已知函數聲明為intfun_1(intarray[],intn);若想把arr[5]數組傳入函數,以下正確做法為()。

A:fun_1(arr,5);

B:fun_1(intarr[],int5);

C:fun_1(arr[5],5);

D:fun_1(*arr,5);

答案:fun_1(arr,5);

關于函數聲明intfun(intarr[]);說法正確的是()。

A:fun函數要傳入一整個數組

B:fun函數只能傳入一個數組名

C:fun函數要傳入一個指針數組

D:fun函數要傳入一個指針

答案:fun函數要傳入一個指針

所有在函數中定義的變量都稱為()。

A:全局變量

B:局部變量

C:寄存器變量

D:簡單變量

答案:局部變量

#include<stdio.h>

inta=10;

voidf(inta)

{a=20;}

intmain()

{a=15;f(a);printf(“%d”,a);}

打印出來的結果為()。

A:20

B:15

C:程序報錯

D:10

答案:15

若程序中定義了局部變量與全局變量,則()。

A:局部變量與全局變量的名字不得相同

B:若一個函數被多次調用,則其定義的局部變量必定分配同一個存儲單元

C:在函數內只能訪問局部變量,而不能訪問全局變量

D:函數中定義的局部變量與全局變量同名時,在函數內引用的是局部變量

答案:函數中定義的局部變量與全局變量同名時,在函數內引用的是局部變量

以下哪種是正確的函數定義方式()。

A:intsum(a,b){return(a+b);}

B:intsum(inta,b){return(a+b);}

C:voidsum(inta,intb){return(a+b);}

D:intsum(inta,intb){return(a+b);}

答案:intsum(inta,intb){return(a+b);}

已知sum函數有兩個int形參,以下哪種是正確的函數聲明方式()。

A:intsum(int,int);

B:intsum(int);

C:intsum(inta,b);

D:intsum(a,b);

答案:intsum(int,int);

已知sum函數有兩個int形參,以下哪種是正確的函數調用方式(

)

A:sum(int1,int2);B:sum(int1,2);C:intsum(1,2);D:sum(1,2);

答案:sum(1,2);

有下列程序:

intb=2;intfunc(int*a){

b+=*a;

returnb;}intmain(){

inta=2,res=2;

res+=func(&a);

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

return0;}輸出結果是(

)。

A:6B:10C:4D:8

答案:6

第八章測試

若有以下聲明:structperson{charname[20];intage;charsex;}a={“l(fā)ining”,20,‘m’},*p=&a;則對字符串lining的引用方式不可以是(

)。

A:p->nameB:C:D:(*p).name

答案:

若有如下定義:structsk{inta;floatb;}data,*p=&data;

則對data中的成員a正確引用是(

A:p->data.aB:(*p).data.aC:p.data.aD:(*p).a

答案:(*p).a

鏈表中的指針表示的是()。

A:數組下標

B:下一元素地址

C:內存地址

D:左、右結點地址

答案:下一元素地址

設有以下說明語句:

structstu{inta;floatb;}suttype;則下面敘述不正確的是()。

A:struct是結構體類型的關鍵字

B:structstu是用戶定義的結構體類型

C:suttype是用戶定義的結構體類型名

D:a和b都是結構體成員

答案:suttype是用戶定義的結構體類型名

若程序中有下面的說明和定義:

structabc

{intx;chary;}

structabcs1,s2;

則會發(fā)生的情況是()。

A:編譯出錯

B:能順利通過編譯、連接,但不能執(zhí)行

C:程序將順利編譯、連接、執(zhí)行

D:能順利通過編譯,但連接出錯

答案:編譯出錯

在一個單鏈表中,在指針q指的結點后插入指針p指向的結點,則下列代碼正確的是()。

A:p->next=q->next;q->next=p;

B:q->next=p->next;p=q;

C:q->next=p->next;p->next=q;

D:p->next=q->next;q=p;

答案:p->next=q->next;q->next=p;

關于結構體作為函數參數,下列描述中錯誤的是()。

A:結構體數組可以作為函數參數

B:結構體可以作為

溫馨提示

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

評論

0/150

提交評論