C語言程序設(shè)計(西安工程大學)智慧樹知到課后章節(jié)答案2023年下西安工程大學_第1頁
C語言程序設(shè)計(西安工程大學)智慧樹知到課后章節(jié)答案2023年下西安工程大學_第2頁
C語言程序設(shè)計(西安工程大學)智慧樹知到課后章節(jié)答案2023年下西安工程大學_第3頁
C語言程序設(shè)計(西安工程大學)智慧樹知到課后章節(jié)答案2023年下西安工程大學_第4頁
C語言程序設(shè)計(西安工程大學)智慧樹知到課后章節(jié)答案2023年下西安工程大學_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計(西安工程大學)智慧樹知到課后章節(jié)答案2023年下西安工程大學西安工程大學

第一章測試

C語言程序的基本單位是()

A:語句

B:字符C:函數(shù)

D:程序行

答案:函數(shù)

C語言規(guī)定,在一個源程序中main函數(shù)的位置

(

)

A:必須在最后

B:

必須在預處理命令的后面

C:可以在其他函數(shù)之前或之后D:必須在最開始

答案:可以在其他函數(shù)之前或之后

對于一個正常運行的C程序,以下敘述中正確的是()

A:程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束B:程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束C:程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束D:程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束

答案:程序的執(zhí)行總是從main函數(shù)開始,在main函數(shù)結(jié)束

以下敘述錯誤的是(

A:一個C程序只能有一個主函數(shù)B:C程序的主函數(shù)必須用main作為函數(shù)名C:C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過D:一個C程序可以包含多個不同名的函數(shù)

答案:C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過

下列說法正確的是(

A:

C程序的書寫格式嚴格限制,一行內(nèi)必須寫一個語句B:

C程序的書寫格式自由,一個語句可以分寫在多行上C:一個函數(shù)的函數(shù)體必須要有執(zhí)行部分,可以沒有變量定義D:一個函數(shù)的函數(shù)體必須要有變量定義和執(zhí)行部分

答案:

C程序的書寫格式自由,一個語句可以分寫在多行上

下列關(guān)于注釋行的描述中,正確的是(

A:注釋只在C語言源程序中有效,在編譯時會被編譯器忽略B:注釋只能對程序中的某一行代碼進行解釋C:單行注釋以“//”開頭,“//”后面是注釋內(nèi)容D:單行注釋以符號“/*”開頭,以符號“*/”結(jié)尾

答案:注釋只在C語言源程序中有效,在編譯時會被編譯器忽略;單行注釋以“//”開頭,“//”后面是注釋內(nèi)容

關(guān)于計算機語言的描述,正確的是(

A:匯編語言已將機器語言符號化,所以它與機器無關(guān)B:機器語言由0和1組成,執(zhí)行速度快C:匯編語言比機器語言執(zhí)行速度快D:機器語言因為是面向機器的低級語言,所以執(zhí)行速度慢

答案:機器語言由0和1組成,執(zhí)行速度快

用C語言編寫的程序(

A:經(jīng)過編譯或解釋才能被執(zhí)行B:經(jīng)過編譯、連接后被執(zhí)行C:是一個源程序文件D:可直接被執(zhí)行

答案:經(jīng)過編譯、連接后被執(zhí)行

連接程序?qū)⒁粋€C程序的所有目標程序和系統(tǒng)的庫文件以及系統(tǒng)提供的其他信息連接起來,最終生成一個可執(zhí)行的二進制文件,它的后綴是(

A:.exe

B:.obj

C:.cpp

D:.lib

答案:.exe

第二章測試

C語言提供的數(shù)據(jù)類型關(guān)鍵字有()

A:shortB:CharC:DoubleD:integer

答案:short

若有說明和語句:

inta=5;

a++;

此處表達式a++的值是()。

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

答案:5

在C語言中,要求運算數(shù)必須是整型的運算符是()。

A:<B:/C:%

D:!

答案:%

以下有4個用戶標識符,其中合法的一個是()

A:shortB:4d

C:f2_G3D:for

答案:f2_G3

在C語言中,合法的字符常量是()。

A:""B:'ab'

C:'C'D:'84'

答案:'C'

若已定義x和y為double類型,且x=1,則表達式:y=x+3/2的值是()。

A:2.5B:1C:2.0D:2

答案:2

若有以下定義:

chara;intb;

floatc;doubled;

則表達式a*b+d-c值的類型為()。

A:doubleB:charC:intD:float

答案:double

以下選項中可作為C語言合法整數(shù)的是()。

A:x2a2B:0386C:0xffaD:10110B

答案:0xffa

以下選項中可作為C語言合法常量的是()。

A:-8e1.0B:-80C:-80.0eD:e1

答案:-80

表達式3.6-5/2+1.2+5%2的值是()。

A:4.3B:3.3C:4.8

D:3.8

答案:3.8

第三章測試

閱讀下面的程序#include<stdio.h>voidmain(){inti,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d",i,j);}如果從鍵盤上輸入1234567<回車>,則程序的運行結(jié)果是(

A:i=123,j=45B:i=1234,j=567

C:i=1,j=2D:i=123,j=4567

答案:i=123,j=45

以下可以實現(xiàn)“輸入一個字符到變量ch"的語句是(

)

A:scanf(”%c”,ch)

B:ch=getchar();

C:getchar(”%c”,&ch)

D:getchar(ch);

答案:ch=getchar();

有如下程序

#include<stdio.h>

voidmain()

{

floatx=5.0,y;

if(x<0.0)y=0.0;

elseif(x<10.0)y=1.0/x;

elsey=1.0;

printf("%f",y);

}該程序的輸出結(jié)果是(

A:0.200000B:1.000000

C:0.50000

D:0.000000

答案:0.200000

有程序:#include<stdio.h>

voidmain()

{intx=1,y=0;

switch(x)

{

case1:

switch(y)

{

case0:printf("first");break;

case1:printf("second");break;

}

case2:printf("third");

}}的運行結(jié)果是(

A:second

third

B:first

third

C:first

second

D:first

答案:first

third

有程序:#include<stdio.h>

voidmain()

{inti=10,j=0;

do

{j=j+1;

i--;

}while(i>2);

printf("%d",j);}的運行結(jié)果是(

A:50B:8C:52D:51

答案:8

下面程序的輸出結(jié)果是(

)

#include<stdio.h>

voidmain()

{

inty=9;

for(;y>0;y--)

{

if(y%3==0)

{

printf("%d",--y);

continue;}

}

}

A:875421B:936C:852D:741

答案:852

執(zhí)行下列的程序段后,輸出結(jié)果是(

)inta=5;while(a--);printf("%d",a);

A:4321B:0C:-1D:54321

答案:-1

下面程序的運行結(jié)果為(

)。

#include<stdio.h>voidmain()

{

intn;

for(n=1;n<=10;n++)

{if(n%3==0)break;

printf("%d",n);

}

A:369B:12345678910C:12457810D:12

答案:12

A:選項CB:選項BC:選項DD:選項A

答案:選項D

第四章測試

有定義語句:intb;charc[10];,則正確的輸入語句是(

)。

A:scanf("%d%s",&b,c);B:

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

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

答案:scanf("%d%s",&b,c);

若有以下說明:

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

charc='a',d,g;

則數(shù)值為4的表達式是()。

A:a[g-c]B:a['d'-c]C:a[4]

D:a['d'-'c']

答案:a['d'-c]

以下程序的輸出結(jié)果是()。

A:1,4,7B:1,5,9C:3,5,7D:3,6,9

答案:3,5,7

下列描述中不正確的是()。

A:可以對整型數(shù)組進行整體輸入、輸出B:不能在賦值語句中通過賦值運算符"="對字符型數(shù)組進行整體賦值C:字符型數(shù)組中可以存放字符串D:可以對字符型數(shù)組進行整體輸入、輸出

答案:可以對整型數(shù)組進行整體輸入、輸出

當執(zhí)行下面的程序時,如果輸入ABC,則輸出結(jié)果是()。

#include"stdio.h"

#include"string.h"

main()

{charss[10]="1,2,3,4,5";

gets(ss);strcat(ss,"6789");printf("%s\n",ss);

}

A:ABC67B:ABC456789C:12345ABC6D:ABC6789

答案:ABC6789

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

A:3B:6C:20

D:10

答案:20

以下數(shù)組定義中不正確的是()。

A:intc[100][100]={0};B:intb[][3]={0,1,2,3};C:inta[2][3];D:intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

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

已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是()。

A:a數(shù)組長度小于b數(shù)組長度B:其余選項說法都不對C:a數(shù)組長度大于b數(shù)組長度D:數(shù)組a和b的長度相同

答案:a數(shù)組長度大于b數(shù)組長度

以下敘述中錯誤的是()。

A:數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變B:對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進行整體輸入或輸出C:可以通過賦初值的方式確定數(shù)組元素的個數(shù)D:當程序執(zhí)行中,數(shù)組元素的下標超出所定義的下標范圍時,系統(tǒng)將給出“下標越界”的出錯信

答案:當程序執(zhí)行中,數(shù)組元素的下標超出所定義的下標范圍時,系統(tǒng)將給出“下標越界”的出錯信

若要求從鍵盤讀入含有空格字符的字符串,應使用函數(shù)(

)。

A:scanf()B:getchar()C:getc()D:gets()

答案:gets()

若有定義語句:inta[3][6];,按在內(nèi)存中的存放順序,a數(shù)組的第10個元素是(

)。

A:a[1][4]B:a[1][3]

C:a[0][3]D:a[0][4]

答案:a[1][3]

第五章測試

下面程序的輸出是(

)intfun3(intx){staticinta=3;

a+=x;

return(a);

}voidmain(){intk=2,m=1,n;

n=fun3(k);

n=fun3(m);

printf("%d",n);

}

A:3B:6C:9D:4

答案:6

如果一個函數(shù)位于C程序文件的上部,在該函數(shù)體內(nèi)聲明部分后的復合語句中定義了一個變量,則該變量(

)

A:定義無效,為非法變量

B:為局部變量,只在該復合語句中有效

C:為全局變量,在本程序文件范圍內(nèi)有效D:為局部變量,只在該函數(shù)內(nèi)有效

答案:為局部變量,只在該復合語句中有效

下面函數(shù)的功能是(

)sss(chars[],t[]){

inti=0;while((s[i])&&(t[i])&&(t[i]==s[i]))

i++;return

(s[i]-t[i]);}

A:將字符串s復制到字符串t中

B:比較兩個字符串的大小

C:將字符串s接續(xù)到字符串t中

D:求字符串的長度

答案:比較兩個字符串的大小

執(zhí)行下列程序inta=3,b=4;

voidfun(intx1,intx2){printf(″%d,%d″,x1+x2,b);}voidmain(){inta=5,b=6;fun(a,b);}后輸出的結(jié)果是(

A:11,4

B:11,1

C:11,6

D:3,4

答案:11,4

以下敘述中,不正確的是(

A:使用floatb定義的外部變量存放在內(nèi)存中的動態(tài)存儲區(qū)B:使用staticfloata定義的外部變量存放在內(nèi)存中的靜態(tài)存儲區(qū)

C:使用floatd定義的內(nèi)部變量存放在內(nèi)存中的動態(tài)存儲區(qū)D:使用staticfloatc定義的內(nèi)部變量存放在內(nèi)存中的靜態(tài)存儲區(qū)

答案:使用floatb定義的外部變量存放在內(nèi)存中的動態(tài)存儲區(qū)

以下程序的主函數(shù)中調(diào)用了在其前面定義的fun函數(shù)#include<stdio.h>voidmain(){

doublea[15],k;k=fun(a);}則以下選項中錯誤的fun函數(shù)首部是(

)

A:doublefun(doublea[15])B:doublefun(doublea[])

C:doublefun(doublea)

D:doublefun(double*a)

答案:doublefun(doublea)

C語言源程序的某文件中定義的全局變量的作用域為(

)。

A:本函數(shù)的全部范圍B:本程序的所有文件的范圍C:本文件的全部范圍D:從定義該變量的位置開始到本文件結(jié)束

答案:從定義該變量的位置開始到本文件結(jié)束

C語言中函數(shù)返回值的類型是由(

)決定的。

A:調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型B:形參的數(shù)據(jù)類型

C:return語句中的表達式類型D:函數(shù)定義時指定的類型

答案:函數(shù)定義時指定的類型

#include<stdio.h>f(intb[],intn){inti,r=0;

for(i=0;i<=n;i++)r=r+b[i];returnr;

}voidmain(){

intx,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

printf("%d",x);

}上面程序的輸出結(jié)果是(

A:14B:5C:9D:20

答案:14

第六章測試

已有定義inta=2,*p1=&a,*p2=&a;,下面不能正確執(zhí)行的賦值語句是()

A:a=*p1+*p2;B:a=*p1*(*p2);C:p1=p2;

D:p1=a;

答案:p1=a;

下面判斷正確的是()。

A:chars[10]={"girl"};

等價于chars[10];s[10]={"girl"};B:char*s="girl";

等價于char*s;s="girl";C:chars[4]="boy",t[4]="boy";等價于chars[4]=t[4]="boy"D:char*s="girl";

等價于char*s;*s="girl";

答案:char*s="girl";

等價于char*s;s="girl";

有以下程序

#include<stdio.h>

main(){

intm=1,n=2,*p=&m,*q=&n,*r;

r=p;p=q;q=r;

printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序運行后的輸出結(jié)果是()

A:2,1,2,1B:2,1,1,2

C:1,2,2,1D:1,2,1,2

答案:1,2,2,1

若有以下定義和語句:ints[4][5],(*ps)[5];ps=s;則對s數(shù)組元素的正確引用形式是()。

A:ps[0][2]B:ps+1C:*(ps+3)D:*(ps+1)+3

答案:ps[0][2]

voidss(char*s,chart){while(*s){if(*s==t)*s=t-'a'+'A';s++;}}voidmain(){charstr[100]="abeddfefdbd",c='d';ss(str,c);printf("%s\n",str);}程序送行后的輸出結(jié)果是()。

A:ABCDDEFEDBD

B:AbcddfefdbdC:abeDDfefDbDD:abcAAfefAbA

答案:abeDDfefDbD

下列程序段的輸出結(jié)果是(

)。#include"stdio.h"voidfun(int*x,int*y){printf("%d%d",*x,*y);*x=3;*y=4;}voidmain(){intx=1,y=2;fun(&y,&x);printf("%d%d",x,y);}

A:1234B:2112C:2143D:1212

答案:2143

下列程序的輸出結(jié)果是()。#include"stdio.h"voidmain(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}

A:3B:非法C:a[4]的地址D:5

答案:5

有以下程序

#include"stdio.h"#include"string.h"

voidmain(intargc,

char*argv[])

{

intm,length=0;

for(m=1;m<argc;m++)length+=strlen(argv[m]);

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

程序編譯連接后生成的可執(zhí)行文件是file.exe,若執(zhí)行時輸入帶參數(shù)的命令行是:

file

1234

567

89<回車>,則運行結(jié)果是()。

A:13B:17C:22D:9

答案:13

有以下函數(shù):;char*fun(char*s){...returns;}該函數(shù)的返回值是()。

A:無確定值B:形參s自身的地址值C:形參s中存放的地址值D:一個臨時存儲單元的地址

答案:形參s中存放的地址值

若有以下說明語句:char*language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};char**q;q=language+2;則語句printf(“%s\n”,*q)輸出的是()

A:language[2]元素的值,它是字符串PASCAL的首地址B:字符串PASCALC:格式說明不正確,無法得到確定的輸出D:language[2]元素的地址;

答案:字符串PASCAL

第七章測試

定義以下結(jié)構(gòu)體類型struct

s{

char

b;

float

f;};則語句printf("%d",sizeof(struct

s))的輸出結(jié)果為()。

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

答案:5

當定義一個結(jié)構(gòu)體變量時,系統(tǒng)為它分配的內(nèi)存空間是(

)。

A:結(jié)構(gòu)中第一個成員所需的內(nèi)存容量B:結(jié)構(gòu)中一個成員所需的內(nèi)存容量C:結(jié)構(gòu)中各成員所需內(nèi)存容量之和D:結(jié)構(gòu)體中占內(nèi)存容量最大者所需的容量

答案:結(jié)構(gòu)中各成員所需內(nèi)存容量之和

定義以下結(jié)構(gòu)體數(shù)組

structc

{intx;

inty;

}s[2]={1,3,2,7};語句printf("%d",s[0].x*s[1].x)的輸出結(jié)果為(

)。

A:2B:6C:21D:14

答案:2

下面程序的運行結(jié)果是()。struct

KeyWord{

charKey[20];

intID;}kw[]={"void",1,"char",2,"int",3,"float",4,"double",5};main(){

printf("%c,%d\n",kw[3].Key[0],kw[3].ID);}

A:l,4B:n,3C:i,3D:f,4

答案:f,4

如果有下面的定義和賦值,則使用()不可以輸出n中data的值。struct

SNode{

unsignedid;

intdata;}n,*p;p=&n;

A:n.dataB:p->dataC:(*p).dataD:p.data

答案:p.data

根據(jù)下面的定義,能輸出Mary的語句是()。

structperson

{

charname[9];

intage;

};structpersonclass[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};

A:printf("%s",class[1].name);B:printf("%s",class[2].name);C:printf("%s",class[0].name);D:printf("%s",class[3].name);

答案:printf("%s\n",class[2].name);

定義以下結(jié)構(gòu)體數(shù)組

structdate

{intyear;

intmonth;

intday;};

structs

{structdatebirthday;

charname[20];

}x[4]={{2008,10,1,"guangzhou"},{2009,12,25,"Tianjin"}};語句printf("%s,%d,%d,%d",x[0].name,x[1].birthday.year);的輸出結(jié)果為()。

A:guangzhou,2008B:Tianjin,2008C:Tianjin,2009D:guangzhou,2009

答案:guangzhou,2009

C語言定義類型名的關(guān)鍵字是()

A:structB:typedefC:nameD:define

答案:typedef

結(jié)構(gòu)體變量做函數(shù)參數(shù),是參傳遞給形參的是()

A:結(jié)構(gòu)體變量第一個成員的值B:結(jié)構(gòu)體變量的首地址C:其余選項都不對D:結(jié)構(gòu)體變量所有成員的值

答案:結(jié)構(gòu)體變量所有成員的值

關(guān)于鏈表,以下說法錯誤的是()

A:malloc函數(shù)是鏈表專用的處理函數(shù),不能用在其他地方B:鏈表是一種動態(tài)數(shù)據(jù)結(jié)構(gòu)C:在鏈表中插入一個節(jié)點不需要改變其他節(jié)點的物理位置D:鏈表中的節(jié)點可以刪除

答案:malloc函數(shù)是鏈表專用的處理函數(shù),不能用在其他地方

第八章測試

系統(tǒng)標準輸入文件是指(

A

溫馨提示

  • 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

提交評論