C語言程序設(shè)計(jì)智慧樹知到課后章節(jié)答案2023年下新疆理工學(xué)院_第1頁
C語言程序設(shè)計(jì)智慧樹知到課后章節(jié)答案2023年下新疆理工學(xué)院_第2頁
C語言程序設(shè)計(jì)智慧樹知到課后章節(jié)答案2023年下新疆理工學(xué)院_第3頁
C語言程序設(shè)計(jì)智慧樹知到課后章節(jié)答案2023年下新疆理工學(xué)院_第4頁
C語言程序設(shè)計(jì)智慧樹知到課后章節(jié)答案2023年下新疆理工學(xué)院_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計(jì)智慧樹知到課后章節(jié)答案2023年下新疆理工學(xué)院新疆理工學(xué)院

第一章測試

用計(jì)算機(jī)解決問題的步驟一般為()

①編寫程序②設(shè)計(jì)算法③分析問題④調(diào)試程序

A:③②①④B:②③①④C:①②③④D:③④①②

答案:③②①④

C語言的基本構(gòu)成單位是()。

A:子程序B:超文本過程C:函數(shù)D:函數(shù)和過程

答案:函數(shù)

C語言規(guī)定,必須用()作為主函數(shù)名。

A:C程序書寫格式嚴(yán)格限制,一行內(nèi)必須寫一個(gè)語句B:在執(zhí)行C程序時(shí)不是從main函數(shù)開始的C:C程序書寫格式自由,一個(gè)語句可以分寫在多行上D:程序書寫格式嚴(yán)格限制,一行內(nèi)必須寫一個(gè)語句,并要有行號

答案:程序書寫格式嚴(yán)格限制,一行內(nèi)必須寫一個(gè)語句,并要有行號

編譯程序可以將源程序翻譯成()

A:目標(biāo)程序B:編輯程序C:連接程序D:可執(zhí)行程序

答案:目標(biāo)程序

下面關(guān)于算法的說法正確的是()

A:算法必須有輸出B:算法就是程序C:算法必須在有限的步驟結(jié)束D:算法不一定有輸入

答案:算法必須有輸出;算法必須在有限的步驟結(jié)束;算法不一定有輸入

算法應(yīng)該具有那些重要的特征()

A:有窮性B:可行性C:輸入、輸出D:確定性

答案:有窮性;輸入、輸出;確定性

計(jì)算機(jī)是人造的,所以,它和人腦解決問題沒有什么區(qū)別。()

A:錯(cuò)B:對

答案:錯(cuò)

算法的每一個(gè)步驟都必須要有確切的定義,不能有二義性。()

A:對B:錯(cuò)

答案:對

在C程序中,注釋說明只能位于一條語句的后面。()

A:錯(cuò)B:對

答案:錯(cuò)

在C程序中,每行只能寫一條語句。()

A:錯(cuò)B:對

答案:錯(cuò)

第二章測試

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

A:%B:/C:*D:=

答案:%

使用語句scanf("x=%f,y=%f",&x,&y);

輸入變量x、y的值(□代表空格),正確的輸入是()。

A:x=1.25□y=2.4B:1.25,2.4C:x=1.25,y=2.4D:1.25□2.4

答案:x=1.25,y=2.4

已知inta=3;執(zhí)行a+=a-=a*a后,變量a的值()。

A:9B:0C:-12D:6

答案:-12

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

A:CharB:intC:floatD:integer

答案:Char;int;float

表達(dá)式i++與++i在任何場合功能完全相同。()

A:對B:錯(cuò)

答案:錯(cuò)

scanf和printf都是C系統(tǒng)提供的標(biāo)準(zhǔn)輸入輸出函數(shù)。()

A:錯(cuò)B:對

答案:對

在scanf("%d,%d",&a,&b)函數(shù)中,可以使用一個(gè)或多個(gè)空格作為兩個(gè)輸入數(shù)之間的間隔。()

A:錯(cuò)B:對

答案:錯(cuò)

C語言中可以把一個(gè)字符串賦給一個(gè)字符變量。()

A:對B:錯(cuò)

答案:錯(cuò)

第三章測試

C語言中,邏輯“真”等價(jià)于()。

A:大于零的數(shù)B:大于零的整數(shù)C:非零的數(shù)D:非零的整數(shù)

答案:非零的數(shù)

若x=0,y=3,z=3,以下表達(dá)式值為0的是()。

A:y=x||z/3。B:!xC:x<y?1:0D:x%2&y==z

答案:x%2&y==z

為了避免嵌套的if-else語句的二義性,C語言規(guī)定else總是與()組成配對關(guān)系。

A:在其之前未配對的ifB:在其之前未配對的最近的ifC:同一行上的ifD:縮排位置相同的if

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

以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是()。

A:關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符<邏輯與運(yùn)算符B:賦值運(yùn)算符<邏輯與運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符C:算術(shù)運(yùn)算符<關(guān)系運(yùn)算符<賦值運(yùn)算符<邏輯與運(yùn)算符D:邏輯與運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符

答案:賦值運(yùn)算符<邏輯與運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符

選擇出合法的if語句(設(shè)intx,a,b,c;)()。

A:if(a=>b)c++;B:if(a=<b)c++;C:if(a=b)c++;D:if(a<>b)c++;

答案:if(a=b)c++;

當(dāng)a=1,b=2,c=4,d=3時(shí),執(zhí)行完下面一段程序后x的值是()。

if(a<b)

if(c<d)x=1;

else

if(a<c)

if(b<d)x=2;

elsex=3;

elsex=4;

elsex=5;

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

答案:2

執(zhí)行以下程序段后,變量x,y,z的值分別為()。

inta=1,b=0,x,y,z;

x=(--a==b++)?–a:++b;

y=a++;

z=b;

A:x=-1,y=-1,z=1B:x=0,y=0,z=0C:x=-1,y=2,z=1D:x=0,y=1,z=0

答案:x=-1,y=-1,z=1

若a、b、c、d、w均為int類型變量,則執(zhí)行下面語句后的w值是()。

a=1;b=2;c=3;d=4;

w=(a<b)?a:b;

w=(w<c)?w:c;

w=(w<d)?w:d;

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

答案:1

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

#include“stdio.h”

main()

{

inta=5,b=4,c=6,d;

printf(”%d\n”,d=a>b?a>c?a:c:b);

}

A:不確定B:6C:5D:4

答案:6

若a、b、c1、c2、x、y均為整型變量,正確的switch語句是()。

A:switch(a*a+b*b)

{

case3:

case1:y=a+b;

break;

case3:y=b-a;

break;

}B:switch(a+b);{

case1:y=a+b;

break;case0:y=a-b;

break;}C:switcha{

casec1:y=a-b;

break;casec2:x=a*d;

break;

default:x=a+b;}D:switch(a-b){

default:y=a*b;break;

case3:x=a+b;break;case10:case11:y=a-b;break;}

答案:switch(a-b){

default:y=a*b;break;

case3:x=a+b;break;case10:case11:y=a-b;break;}

第四章測試

以下語句有語法錯(cuò)誤的是()。

A:for(x=10;x>0;x--);B:intx=1;y=2;z=3;C:for(;;);D:while(1);

答案:intx=1;y=2;z=3;

代碼while(1)printf(“hello”)中,while循環(huán)的循環(huán)次數(shù)是()。

A:無法確定B:無數(shù)次C:0D:1

答案:無數(shù)次

有語句for(i=2,j=8;i!=j;i++,j--),循環(huán)執(zhí)行完成后i的值是()。

A:2B:4C:5D:8

答案:5

for語句可以代替下列哪個(gè)語句()。

A:whileB:都可以C:do...whileD:都不可以

答案:while

當(dāng)循環(huán)條件不滿足,需要跳出整個(gè)循環(huán)時(shí),可以使用下列哪個(gè)語句()。

A:gotoB:continueC:breakD:都可以

答案:break

循環(huán)體中的語句無論有幾條,都需要用括號括起來。()

A:錯(cuò)B:對

答案:錯(cuò)

循環(huán)體中應(yīng)有使得循環(huán)趨于結(jié)束的語句。()

A:對B:錯(cuò)

答案:對

break語句和continue語句都能改變循環(huán)的執(zhí)行狀態(tài)。()

A:對B:錯(cuò)

答案:對

執(zhí)行循環(huán)語句for(s=0,i=1;i<=10;i=i+3)s+=i;后,i的值為是,{13}。()

A:對B:錯(cuò)

答案:對

#include<stdio.h>

intmain()

{intsum=10,n=1;

while(n<3){sum=sum-n;n++;}

printf(“%d,%d”,n,sum);

}

該程序的輸出結(jié)果為{3,7}。()

A:錯(cuò)B:對

答案:對

第五章測試

下列正確的數(shù)組定義與初始化語句是()。

A:intc[2][]={{1,2},{3,4}};B:intN=5,b[N][N];C:inta[1][2]={{1},{3}};D:intd[][2]={{1,2},{3,4}};

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

以下能對一維數(shù)組a進(jìn)行初始化的語句是()。

A:inta(5)={};B:inta[3]={0,1,2};C:inta{5}={10*1};D:inta[5]=(0,1,2,3,4);

答案:inta[3]={0,1,2};

下列關(guān)于數(shù)組inta[5]的引用正確的是()。

A:a[0];B:a[5];C:a(5);D:a(0);

答案:a[0];

設(shè)有數(shù)組inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};i=10;則a[a[i]]元素?cái)?shù)值是()。

A:5B:6C:10D:9

答案:6

若有說明:inta[][3]={{1,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小為()。

A:3B:2C:無法確定D:4

答案:3

定義數(shù)組時(shí),可以不用指定其長度。()

A:對B:錯(cuò)

答案:錯(cuò)

引用數(shù)組元素時(shí),下標(biāo)可以從0或1開始。()

A:對B:錯(cuò)

答案:錯(cuò)

C語言中的字符串是以字符數(shù)組的形式處理的。()

A:錯(cuò)B:對

答案:對

若有定義:inta[3][4]={{1,2},{0},{4,6,8,10}};則初始化后,a[2][1]得到的初值是{6}。()

A:對B:錯(cuò)

答案:對

在C語言中,以{‘\0’}作為字符串結(jié)束標(biāo)志。()

A:對B:錯(cuò)

答案:對

第六章測試

以下程序有語法錯(cuò)誤,有關(guān)錯(cuò)誤原因的正確的說法是()。intmain(){

intG=5,k?

voidprt_char()?

…..

k=prt_char(G)?

…..}

A:語句voidprt_char();有錯(cuò),它是函數(shù)調(diào)用語句,不能用void說明B:函數(shù)名不能使用下劃線C:函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾D:變量名不能用大寫字母

答案:函數(shù)說明和函數(shù)調(diào)用語句之間有矛盾

若有以下調(diào)用語句,則正確的fun函數(shù)首部是()。intmain(){

inta?

floatx?

fun(x,a)?

}

A:voidfun(intx,floata)B:voidfun(intn,floatyC:voidfun(floaty,intnD:voidfun(intn,floaty[])

答案:voidfun(floaty,intn

函數(shù)f定義如下,執(zhí)行語句”m=f(3)?”后,m的值應(yīng)為()。

intf(intk)

{if(k==0||k==1)return1?

elsereturnk+f(k-1)?

}

A:13B:6C:5D:8

答案:6

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

inta,b?

voidfun()

{a=100?b=200?}

intmain()

{inta=5,b=7?

fun()?

printf(""%d%d\n"",a,b)?

return0;

}

A:200100B:57C:75D:100200

答案:57

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

intfun(intp)

{staticintd=5?

d+=p?

return()?

}

intmain()

{printf(""%d"",fun(1))?

printf(""%d"",fun(2))?

return0;

}

A:68B:67C:69D:66

答案:67

若程序中定義了以下函數(shù)doublemyadd(doublea,doubleB){return(a+B)?}并將其放在調(diào)用語句之后,則在調(diào)用之前應(yīng)該對該函數(shù)進(jìn)行說明,以下選項(xiàng)中錯(cuò)誤的說明是()。

A:doublemyadd(doublex,doubley)?B:doublemyadd(doubleb,doubleA)?C:doublemyadd(double,double)?D:doublemyadd(doublea,B)?

答案:doublemyadd(doublea,B)?

函數(shù)中可以沒有return語句,也可以有多條return語句。()

A:對B:錯(cuò)

答案:對

函數(shù)必須有返回值。()

A:錯(cuò)B:對

答案:錯(cuò)

函數(shù)f可以用f(f(x))形式調(diào)用,這種調(diào)用形式是遞歸調(diào)用。()

A:對B:錯(cuò)

答案:錯(cuò)

如果在函數(shù)中定義一個(gè)變量,則該變量只在該函數(shù)中有效。()

A:對B:錯(cuò)

答案:對

第七章測試

若有定義“inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;”,則值為6的表達(dá)式()。

A:*p+=5B:*(p+6)C:P+5D:*p+6

答案:*p+=5

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

Intmain(void)

{inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;

print(“%d\n”,*p+*q);

return0;}

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

答案:10

設(shè)inti,*p=&i;以下正確的語句是()。

A:i=pB:*p=10C:i+=pD:p=2*p+1

答案:*p=10

設(shè)chars[10],*p=s;以下不正確的語句是()。

A:*p=s[0]B:s=p+sC:p=s+5D:s[2]=p[4]

答案:s=p+s

以下程序的執(zhí)行結(jié)果是()。

#include"stdio.h"

voidmain()

{

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

int*p;

p=a;

*(p+3)+=2;

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

}

A:1,4B:3,6C:1,6D:1,3

答案:3,6

以下fnStrcomp()函數(shù)的功能是按詞典順序比較兩個(gè)字符串s和t的大小。如果s大于t,則返回正值,等于則返回0,小于則返回負(fù)值,橫線處正確的選項(xiàng)是()。

intfnStrcomp(char*s,char*t)

{

for(_______;*s==*t;______)

if(*s=='\0')return(0);

return(*s-*t);

}

A:t++;s++B:s++,t++C:t++D:s++

答案:s++,t++

以下程序的執(zhí)行結(jié)果為以下內(nèi)容。

#include<stdio.h>

voidmain()

{

int*p;

inta[2]={1};

p=&a[0];

*p=2;

p++;

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

p--;

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

}

,{0,2}

()

A:對B:錯(cuò)

答案:對

以下程序的執(zhí)行結(jié)果為以下內(nèi)容。

#include<stdio.h>

structstru

{

intx;

charc;

};

voidfun(structstru*k);

voidmain()

{

structstrua={10,'x'},*p=&a;

fun(p);

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

}

voidfun(structstru*b)

{

b->x=20;

b->c='y';

}

,{20,y}

()

A:錯(cuò)B:對

答案:對

以下程序是將"Hello"逆向顯示出來。填空的結(jié)果為以下內(nèi)容。

#include<stdio.h>

voidfnPrintStr(char*p);

voidmain()

{

fnPrintStr("Hello");

}

voidfnPrintDtr(char*string)

{

inti=0;

char*str=string;

while(str[i])i++;

i--;

while(i>=0)

{

printf("%c",str[i]);

_________________;

}

},{i--}

()

A:錯(cuò)B:對

答案:對

下列程序的輸出結(jié)果為以下內(nèi)容。

#include<stdio.h>

voidmain()

{

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

int*p;

p=a;

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

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

},{3321},{23}

()

A:錯(cuò)B:對

答案:對

第八章測試

有如下的結(jié)構(gòu)體定義語句:structstudent{intnum};則能正確定義結(jié)構(gòu)體變量的語句是()。

A:structstudents1;B:students1;C:structstudent;D:structs1;

答案:structstudents1;

有如下的結(jié)構(gòu)體定義語句:structstudent{intnum};則能正確定義結(jié)構(gòu)體數(shù)組的語句是()。

A:structstudent(5);B:structstudents[];C:structstudents[5];D:structs[5]student;

答案:structstudents[5];

如下程序的輸出是()。

#include<stdio.h>

#include<string.h>

structstud{charname[10];intscore[2];};

intmain()

{inti=0;

structstudt[4]={{"Lisa",98,87},{"Tom",89,86},{"John",68,79},{"Lili",94,90}};

printf("%s\n",t[1].name);

return0;

}

A:LisaB:JohnC:LiliD:Tom

答案:Tom

設(shè)有如下定義,則能輸出'Z'的語句是()。

structperson{charname[9];intage;};

structpersonclass[10]={"Wang",17,"Zhang",19,"Ming",18,"Liu",20};

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

答案:printf("%c\n",class[1].name[0]);

已知如下語句:

structdate{inty,m,d;};

structstudent

{intnum;

charname[9];

structdatebir;

}stu,*p=&stu;

則錯(cuò)誤的表達(dá)式是()。

A:p->bir->yB:C:stu.bir.yD:p->bir.y

答案:p->bir->y

以下程序的輸出是()。

#include<stdio.h>

structst

{intnum;

charname[10];

intage;

}x[3]={{1,”zhang”,19},{2,”li”,20},{3,”wang”,21}},*p=x;

intmain()

{printf(“%s,%d\n”,(p+2)->name,(*p).age);

return0;

}

A:zhang,20B:li,20C:li,21D:wang,19

答案:wang,19

當(dāng)定義一個(gè)結(jié)構(gòu)體變量時(shí),系統(tǒng)為它分配的內(nèi)存空間是結(jié)構(gòu)中各成員所需內(nèi)存容量之和。()

A:錯(cuò)B:對

答案:對

有如下的結(jié)構(gòu)變量定義語句:structstudent{intnum}stu;則結(jié)構(gòu)類型名為stu。()

A:錯(cuò)B:對

答案:錯(cuò)

結(jié)構(gòu)體成員的類型必須是基本數(shù)據(jù)類型。()

A:錯(cuò)B:對

答案:錯(cuò)

p為指向結(jié)構(gòu)體的指針,則(*p).成員名與p->成員名是等價(jià)的。()

A:對B:錯(cuò)

答案:對

第九章測試

下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是()。

A:文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件B:文件由ASCII碼字符序列組成,C語言只能讀寫文本文件C:文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件D:文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件

答案:文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

在C語言中,讀寫操作時(shí)會進(jìn)行自動轉(zhuǎn)換的文件是()。

A:二進(jìn)制文件和文本文件都需要轉(zhuǎn)換B:二進(jìn)制文件和文本文件都不需要轉(zhuǎn)換C:二進(jìn)制文件D:文本文件

答案:文本文件

在C語言中,下面關(guān)于文件操作正確的敘述是()。

A:對文件操作時(shí)打開和關(guān)閉文件的順序沒有要求B:對文件操作時(shí)需要先打開文件C:對文件操作時(shí)需要先關(guān)閉文件D:對文件操作時(shí),必須先檢查文件是否存在,然后再打開文件

答案:對文件操作時(shí)需要先打開文件

在C語言中,下面關(guān)于文件的存取方式正確的敘述是()。

A:只能從文件的開頭存取B:可以順序存取,但不可以隨機(jī)存取C:不可以順序存取,但可以隨機(jī)存取D:可以順序存取,也可以隨機(jī)存取

答案:可以順序存取,也可以隨機(jī)存取

下列語句可以向文本文件readme.txt尾部繼續(xù)添加數(shù)據(jù),

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論