2021年電大C語(yǔ)言程序設(shè)計(jì)期末考試試題A_第1頁(yè)
2021年電大C語(yǔ)言程序設(shè)計(jì)期末考試試題A_第2頁(yè)
2021年電大C語(yǔ)言程序設(shè)計(jì)期末考試試題A_第3頁(yè)
2021年電大C語(yǔ)言程序設(shè)計(jì)期末考試試題A_第4頁(yè)
2021年電大C語(yǔ)言程序設(shè)計(jì)期末考試試題A_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、選取題(每題1.5分,共計(jì)45分)

1、如下論述對(duì)的是【】

A.C語(yǔ)言程序是由過(guò)程和函數(shù)構(gòu)成

B.C語(yǔ)言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))

C.C語(yǔ)言函數(shù)不可以單獨(dú)編譯

D.C語(yǔ)言中除了main函數(shù),其她函數(shù)不可作為單獨(dú)文獻(xiàn)形式存在

2、如下關(guān)于C語(yǔ)言論述中對(duì)的是【】

A.C語(yǔ)言中注釋不可以?shī)A在變量名或核心字中間

B.C語(yǔ)言中變量可以在使用之前任何位置進(jìn)行定義

C.在C語(yǔ)言算術(shù)表達(dá)式書(shū)寫(xiě)中,運(yùn)算符兩側(cè)運(yùn)算數(shù)類型必要一致

D.C語(yǔ)言數(shù)據(jù)常量中夾帶空格不影響常量正常使用

3、如下C語(yǔ)言顧客標(biāo)記符中,不合法是【】

A._1

B.AaBc

C.a_b

D.a—b

4、若有定義:doublea=22;inti=0,k=18;,則不符合C語(yǔ)言規(guī)定賦值語(yǔ)句是【

A.a=a++,i++;

B.i=(a+k)<=(i+k);

0.i=a%11;

D.i=!a;

5、有如下程序

#incIude<stdio.h>

main()

{chara,b,c,d;

scanf,&a,&b);

c=getchar();d=getchar();

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

1

當(dāng)執(zhí)行程序時(shí),按下列方式輸入數(shù)據(jù)(從第1列開(kāi)始,<CR>代表回車,注意:回車也是一種字符)

12<CR>

34<CR>

則輸出成果是【】

A.1234

B.12

0.12

3

D.12

34

6、如下關(guān)于C語(yǔ)言數(shù)據(jù)類型使用論述中錯(cuò)誤是【】

A.若要精確無(wú)誤差表達(dá)自然數(shù),應(yīng)使用整數(shù)類型

B.若要保存帶有多位小數(shù)數(shù)據(jù),應(yīng)使用雙精度類型

C.若要解決如“人員信息”等具有不同類型有關(guān)數(shù)據(jù),應(yīng)自定義構(gòu)造體類型

D.若只解決“真”和“假”兩種邏輯值,應(yīng)使用邏輯類型

7、若a是數(shù)值類型,則邏輯表達(dá)式(a==1)||(a!=1)值是【】

A.1

B.0

C.2

D.不懂得a值,不能擬定

8、如下選項(xiàng)中與if(a==1)a=b;elsea++;語(yǔ)句功能不同switch語(yǔ)句是【

A.switch(a)

{case:a=b;break;

defauIt:a++;

}

B.switch(a==1)

{case0:a=b;break;

case1:a++;

1

C.switch(a)

{defauIt:a++;break;

case1:a=b;

)

D.switch(a==1)

{case1:a=b;break;

case0:a++;

1

9、有如下嵌套if語(yǔ)句

if(a<b)

if(a<c)k=a;

eIsek二c;

eIse

if(b<c)k=b;

eIsek=c;

如下選項(xiàng)中與上述if語(yǔ)句等價(jià)語(yǔ)句是【

A.k=(a<b)?a:b;k=(b<c)?b:c;

B.k=(a<b)?((bVc)?a:b:((b>c)?b:c);

C.k=(a<b)?((a<c)?a:c):((b<e)?b:c)

D.k=(a<b)?a:b;k=(a<c)?a:c;

10、有如下程序

#incIude<stdio.h>

main()

{ini,j,m=1;

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

{for(j=3;j>0;j一一)

{if(i*j)>3)break;

m=i*j;

)

)

printf("m=%d\n",m);

}

程序運(yùn)營(yíng)后輸出成果是【】

A.m二6

B.m二2

0.m=4

D.m二5

11、有如下程序

#include(stdio.h>

main()

{inta=I;b=2;

for(;a<8;a++){b+=a;a+=2;}

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

)

程序運(yùn)營(yíng)后輸出成果是【】

A.9,18

B.8,11

0.7,11

D.10,14

12、有如下程序,其中k初值為八進(jìn)制數(shù)

#include<stdio.h>

main()

{intk=011;

printf("%d\n",k++);

}

程序運(yùn)營(yíng)后輸出成果是【】

A.12

B.11

0.10

D.9

13、下列語(yǔ)句組中,對(duì)的是【】

A.char*s;s="Olympic";

B.chars[7];s="01ympic";

C.char*s;s={"Olympic"};

D.chars[7];s={"Olympic"};

14、如下關(guān)于return語(yǔ)句論述中對(duì)的是【

A.一種自定義函數(shù)中必要有一條return語(yǔ)句

B.一種自定義函數(shù)中可以依照不同狀況設(shè)立多條return語(yǔ)句

C.定義成void類型函數(shù)中可以有帶返回值return語(yǔ)句

D.沒(méi)有return語(yǔ)句自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處

15、下列選項(xiàng)中,能正擬定義數(shù)組語(yǔ)句是【】

A.intnum[0..];

B.intnum[];

0.intN=;

intnum[N];

D.#defineN

intnum[N];

16、有如下程序

#incIude<stdio.h>

voidfun(char*c,intd)

{*c=*c+1;d=d+1;

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

main()

{charb=,a',a=,A';

n

fun(&b,a);printf(%c,%c\n"Fb,a);

}

程序運(yùn)營(yíng)后輸出成果是【】

A.b,B,b,A

B.b,B,B,A

0.a,B,B,a

D.a,B,a,B

17、若有定義int(*Pt)[3];,則下列說(shuō)法對(duì)的是【】

A.定義了基類型為int三個(gè)指針變量

B.定義了基類型為int具備三個(gè)元素指針數(shù)組pt

C.定義了一種名為*pt、具備三個(gè)元素整型數(shù)組

D.定義了一種名為pt指針變量,它可以指向每行有三個(gè)整數(shù)元素二維數(shù)組

18、設(shè)有定義doublea[10],*s=a;,如下可以代表數(shù)組元素a[3]是【】

A.(*s)[3]

B.*(s+3)

C.*s[3]

D.*s+3

19、有如下程序

#incIude(stdio.h)

main()

{inta[5]={1,2,3,4.5},b[5]={0,2,1,3,0},i,s=0;

for(i=0;i<5;i++)s=s+a[b[i]]);

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

)

程序運(yùn)營(yíng)后輸出成果是【】

A.6

B.10

C.11

D.15

20、有如下程序

#include<stdio.h>

main()

{intb[3][3]={0,1,2,0,1,2,0,1.2},i,j,t=1;

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

for(j=ij<=1;j++)t+=b[i][b[j][i]];

printf("%d\n"ft);

)

程序運(yùn)營(yíng)后輸出成果是【】

A.1

B.3

C.4

D.9

21、若有如下定義和語(yǔ)句

chars1[10]="abcd!",*s2="\n123\\";

printf("%d%d\n",strlen(s1),strlen(s2));

則輸出成果是【】

A.55

B.105

0.107

D.58

22、有如下程序

#incIude<stdio.h>

#defineN8

voidfun(int*x,inti)

{*x=*(x+i);}

main()

{inta[N]={1,2,3,4,5,6,7,8},i;

fun(a,2);

for(i=0;iVN/2;i++)

{printf("%d",a[i]);}

printf("\n");

)

程序運(yùn)營(yíng)后輸出成果是【】

A.1313

B.2234

C.3234

D.1234

23、有如下程序

#incIude<studio.h>

intf(intt[],intn);

main

{inta[4]={1,2,3.4},s;

s=f(a,4);printf("%d\n",s);

)

intf(intt[]rintn)

{if(n>0)returnt[n-1]+f(t,n-1);

eIsereturn0;

1

程序運(yùn)營(yíng)后輸出成果是【】

A.4

B.10

C.14

D.6

24、有如下程序

#incIude<stdio.h>

intfun()

{staticintx=1;

x*2;returnx;

1

main()

{inti,s=1,

for(i=1;i<=2;i++)s=fun();

printf("%d\n"rs);

}

程序運(yùn)營(yíng)后輸出成果是【】

A.0

B.1

0.4

D.8

25、有如下程序

#include<stdio.h>

#defineSUB(a)(a)-(a)

main()

{inta=2,b=3,c=5,d;

d=SUB(a+b)*c;

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

)

程序運(yùn)營(yíng)后輸出成果是【】

A.0

B.-12

C.-20

D.10

26、設(shè)有定義:

structcompIex

{intreal,unreal;1data1={1,8},data2;

則如下賦值語(yǔ)句中錯(cuò)誤是【】

A.data2=data1;

B.data2=(2,6);

C.data2.real=data1.real;

D.data2.reaI=data1.unreaI;

27、有如下程序

#include<stdio.h>

#incIude<string.h>

structA

{inta;charb[10];doublec;};

voidf(structAt);

main()

{structAa={1001,"ZhangDa",1098.0};

f(a);printf("%d,%s,%6.1f\n",a.a,a.b,a.c);

)

voidf(structAt)

{t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;}

程序運(yùn)營(yíng)后輸出成果是【】

A.1001,zhangDa,1098.0

B.1002,changRong,1202.0

0.1001,ehangRong,1098.0

D.1002,ZhangDa,1202.0

28、有如下定義和語(yǔ)句

structworkers

{intnum;charname[20];charc;

struct

{intday;intmonth;intyear;}s;

};

structworkersw,*pw;

pw=&w;

能給w中year成員賦1980語(yǔ)句是【】

A.*pw.year=1980;

B.w.year=1980;

0.pw->year=1980;

D.w.s.year=1980;

29、有如下程序

#incIude<stdio.h>

main()

{inta=2,b二2,c=2;

printf("%d\n",a/b&C.

)

程序運(yùn)營(yíng)后輸出成果是【】

A.0

B.1

C.2

D.3

30、有如下程序

#incIude<stdio.h>

main()

{FILE*fp;charstr[10];

fp=fopen("myfiIe.dat","w");

fputs("abc",fp);fcIose(fp);

fpfopen("myfiIe.data'1,"a++");

fprintf(fp,H%d",28);

rewind(fp);

fscanf(fp,"%s"rstr);puts(str);

fcIose(fp);

1

程序運(yùn)營(yíng)后輸出成果是【】

A.abc

B.28c

C.abc28

D.因類型不一致而出錯(cuò)

二、填空題(每空2分,共30分)

1、設(shè)x為int型變量,請(qǐng)寫(xiě)出一種關(guān)系表達(dá)式用以判斷X同步為3和7倍數(shù)時(shí),

關(guān)系表達(dá)式值為真。

2、有如下程序

#include<stdio.h>

main()

{inta=1,b=2,c=3,d=0;

if(a==1)

if(b!=2)

if(c==3)d=1;

elsed=2;

elseif(c!=3)d=3;

elsedM;

eIsed=5;

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

)

程序運(yùn)營(yíng)后輸出成果是。

3、有如下程序

#include<stdio.h>

main()

{intm,n;

H

scanf(%d%d"f&m,&n);

while(m!=n)

{while(m>n)m=m-n;

while(m<n)n=n-m;

)

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

)

程序運(yùn)營(yíng)后,當(dāng)輸入1463〈回車>時(shí),輸出成果是

4、有如下程序

#incIude<stdio.h>

main()

{inti,j,a[][3]={1,2,3,4,5,6,7,8.9);

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

for(j=i;j<3;j++)printfa[i][j]);

printf("\n");

)

程序運(yùn)營(yíng)后輸出成果是o

5、有如下程序

#include<stdio.h>

main()

{inta[]={1,2,3,4,5.6},*k[3],i=0;

while(i<3)

{k[i]=&a[2*i];

printf("%d",*k[i]);

i++;

}

)

程序運(yùn)營(yíng)后輸出成果是o

6、有如下程序

#include<stdio.h>

main()

{inta[3][3]={{1,2,3},{4,516},{7,8.9}};

intb[3]={0},i;

for(i=0;i<3;i++)b[i]=a[i][2]+a[2][i];

for(i=0;i<3;i++)printf("%d",b[i]);

printf("\n");

1

程序運(yùn)營(yíng)后輸出成果是o

7、有如下程序

#include<stdio.h>

#incIude<string.h>

voidfun(char*str)

{chartemp;intn,i;

n=strlen(str);

temp=str[n-1];

for(i=n-1;i>0;i-)str[i]=str[i-1];

str[0]=temp;

)

main()

{chars[50];

,,

scanf("%s"rs);fun(s);printf(%s\n",s);)

程序運(yùn)營(yíng)后輸入:2北(^千<回車),則輸出成果是O

8、如下程序功能是:將值為三位正整數(shù)變量x中數(shù)值按照個(gè)位、十位、百位順序拆分并輸出。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{intx=256;

printf("%d-%d-%d\n",,x/10%10,x/100);

)

9、如下程序用以刪除字符串所有空格,請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{chars[100]={"OurteacherteachCIanguage!"};inti,j;

for(i=j=O;s[i]!=,\0*;i++)

if(s[i]!='){s[j]=s[i];j++;)

s[j]=______________________

printf("%s\n”,s);

)

10如下程序功能是:借助指針變量找出數(shù)組元素中最大值及其元素下標(biāo)值。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

main()

{inta[10],*p,*s;

for(p=a;p-a<10;p++)scanf("%d",p);

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

if(*p>*s)s=;

printf(uindex=%d\nJ,,s-a);}

三、程序改錯(cuò)題(10分)

下列給定程序中,函數(shù)proc功能是:先從鍵盤(pán)輸入一種3行3列矩陣各個(gè)元素值,然后輸出主對(duì)角線元素

之積,請(qǐng)修函數(shù)proc中錯(cuò)誤使其能得出對(duì)的成果。

注意不要修改主函數(shù),不要增刪程序行或更改程序構(gòu)造。

#include<stdio.h>

voidproc()

intarr[3][3],muI;

mul=1;

printf("pIeaseinputan3*3array:\n");

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

/*************第一處錯(cuò)誤區(qū)**************/

for(i=0;j<3;j++)

scanf("%d",&arr[i][i]);

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

/*************第二處錯(cuò)誤區(qū)**************/

mul=mul*arr[i][j];

printf("Mul=%d\nn,muI);

)

voidmain()

溫馨提示

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

評(píng)論

0/150

提交評(píng)論