《C語言程序設(shè)計(jì)》試題與答案_第1頁
《C語言程序設(shè)計(jì)》試題與答案_第2頁
《C語言程序設(shè)計(jì)》試題與答案_第3頁
《C語言程序設(shè)計(jì)》試題與答案_第4頁
《C語言程序設(shè)計(jì)》試題與答案_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《C語言程序設(shè)計(jì)》試題與答案

1.C語言是一種()。

A.低級語言B.高級語言C.機(jī)器語言D.匯編語言

2.以下描述中錯誤的是()。

A.不同的計(jì)算機(jī)可以理解的機(jī)器語言也不同

B.機(jī)器語言和匯編語言都和具體的硬件平臺相關(guān),因此統(tǒng)稱為低

級語言

C.高級語言編寫的程序較為簡潔,可讀性較好

D.編譯方式執(zhí)行速度較快,且每次修改源程序后不必重新進(jìn)行編

譯處理

3.以下描述中正確的是()。

A.C語言編程的一個(gè)顯著特點(diǎn)是以計(jì)算機(jī)工作方式來思考和組織

程序代碼

B.面向過程的程序設(shè)計(jì)方法以提高執(zhí)行效率、少占內(nèi)存作為目標(biāo)

C.面向過程的程序設(shè)計(jì)方法一般采用結(jié)構(gòu)化和模塊化設(shè)計(jì)思想

D.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法提高了軟件開發(fā)的可重用性,但增加

了程序開發(fā)的復(fù)雜性

4.以下描述中錯誤的是()。

A.編寫C程序的過程通常稱為編輯,結(jié)果將得到.c源文件

B.C源程序經(jīng)過編譯,將生成本機(jī)目標(biāo)代碼文件,擴(kuò)展名為obj

C.鏈接過程通常是將目標(biāo)代碼文件和程序中使用到的其他代碼

連接在一起

D.運(yùn)行結(jié)果不對,通常是由于語法錯誤引起的

5.語句“printf("Welcome\nto\nC!");”將輸出()。

A.1行B.2行C.3行D.4行

6.有以下程序

#include"stdio.h"

voidmain()

{floata=b=2,result;

result=a/b;

printf("result=%f\n",result);}

正確的說法是()。

A.因?yàn)樽兞柯暶鲉栴}導(dǎo)致編譯出錯

B.因?yàn)閞esult=a/b;語句有誤導(dǎo)致編譯出錯

C.輸出結(jié)果為result=2.000000

D.輸出結(jié)果為result=1.000000

7.下列程序運(yùn)行時(shí)輸入土,則程序的輸出結(jié)果是()。

#include"stdio.h"

intmulti(inta,intb)

{returna*b;}

voidmain()

{intx,y,t;

printf("Pleaseinputtwointegers(xandy):");

scanf("%d%d",&x,&y);

t=multi(x,y);

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

A.3B.4C.7D.12

8.以下程序的運(yùn)行結(jié)果是()。

#include"stdio.h"

#defineRATE0.05

voidmain()

{doublesalary,tax;

salary=5000.00;

tax=(salary-3000)*RATE;

printf("Theresultis:%.2f\n",salary-tax);}

A.5000.00B.100.00C.4900.00D.3000.00

9.以下程序的運(yùn)行結(jié)果為()。

#include"stdio.h"

voidmain()

{printf("%d\n",sizeof(char)+sizeof(int)+sizeof(double));}

A.148B.1,4,8C.144D.13

10.有以下程序

#include"stdio.h"

voidmain()

{charch;

printf("輸入一個(gè)大寫字母:");

scanf("%c",&ch);

digit=ch-'A';

printf("%c,%d\n",digit+'a',digit);}

若程序運(yùn)行時(shí)輸入B_,則程序的輸出結(jié)果是()。

A.編譯時(shí)出錯B.b,BC.b,1D.B,1

二、自測練習(xí)

1.已定義:intk,a,b;unsignedlongw=5;doublex=l.42,不正確

的表達(dá)式是()。

A.x%(-3)B.w+=

-2C.k=(a=2,b=3,a+b)D.a+-a--(b=4)*(a=3)

2.單精度變量x=3.0,y=4.0,下列表達(dá)式中的y的值為9.0的是

()。

A.y/=x*27/4B.y+=x+2.0C.y-=x+8.0D.y*=x-3.0

3.已定義intnum=sum=7,(sum=num++,sum++,++num)表達(dá)式的

結(jié)果是()o

A.7B.8C.9D.10

4.若有定義:inta-7;floatx-2.5,y=4.7;則表達(dá)式

x+a%3*(int)(x+y)%2/4的值是()□

A.2.500000B.4.50000C.3.500000D.0.00000

5.若x、i、j和k都是int型變量,則執(zhí)行下面表達(dá)式x=(i=4,j=16,

k=32)后x的值為()。

A.4B.16C.32D.52

6.設(shè)有定義:intx=2;,以下表達(dá)式中,值不為6的是()。

A.x*=x+lB.x++,2*xC.x*=(l+x)

D.2*x,x+=2

7.若變量a、i已正確定義,且i已正確賦值,合法的語句是()。

A.a--lB.++i;C.a=a++=5;D.a=int⑴

8.執(zhí)行下面程序段的輸出結(jié)果是()o

intx=023,y=5,z-2+(y+=y++,x+8,++x);printf("%d,%d\n,z,x,z);

A.18,13B.19,14C.22,21D.20,22

9.已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<CR>,使i

的值為l,j的值為2,k的值為3,以下選項(xiàng)中正確的輸入語句是()。

A.scanfC%2d%2d%2d,z,&i,&j,&k);B.scanf(z,%d%d%d,z,&i,&

j,&k);

C.scanf(z/%d,%d,%dz/,&i,&j,&k);D.scanf("i=%d,j=%d,k

=%d〃,&i,&j,&k);

10.執(zhí)行下面程序段的輸出結(jié)果為()o

intx=13,y=5;printfx%=(y/=2));

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

三、自測練習(xí)

1.為表示關(guān)系x>y>z,應(yīng)使用C語言表達(dá)式()O

A.(x>=y)&&(y>=z)B.(x>=y)and(y>=z)

C.x>=y>=zD.(x>=Y)&&(Y>=z)

2.以下運(yùn)算符中優(yōu)先級最低的運(yùn)算符為()。

A.&&B.&C.!=D.||

3.下列表達(dá)式中,()不滿足“當(dāng)x的值為偶數(shù)時(shí)其值為真,為奇

數(shù)時(shí)其值為假”的要求。

A.x%2==0B.!x%2!=0C.(x/2*2-x)==0D.!(x%2)

4.判斷char型變量ch是否為大寫字母的正確表達(dá)式是()。

A.'A'<=ch<='Z'B.(ch>='A')&(ch<=Z)

C.ch>='A'&&ch<='Z'D.('A'<=ch)AND('Z'>=ch)

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

A./B.++C.!=D.%

6.下述程序段的輸出結(jié)果是()。

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

intm=2,n=2;

a=(m=a>b)&&(n=c>d)+5;

printf("%d",n);

A.0B.1C.2D.5

7.執(zhí)行下列程序段后,變量m的值是()。

intw=1,x=2,y=3,z=4,m;

m=(w<x)?w:x;

m=(m<y)?m:y;

m=(m<z)?m:z;

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

8.有定義語句:inta=1,b=2,c=3,x;,則以下選項(xiàng)中各程序段執(zhí)行

后,x的值不為3的是()。

A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;

B.if(a>3)x=3;elseif(a<2)x=2;elsex=1;

C.if(a<3)x=1;if(a<2)x=2;if(a==1)x=3;

D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;

9.執(zhí)行以下程序時(shí),若從鍵盤輸入一個(gè)數(shù)字字符“5”,則會輸出結(jié)

果()。

#include"stdio.h"

voidmain()

{charch;

printf("\n==========TIME==========\n");

printf("\n1.Findsquareofanumber");

printf("\n2.Findcubeofanumber");

printf("\n3.Findsquarerootofanumber");

printf("\n\nEnteryourchoice:");

ch=getchar();

switch(ch)

{case'1':printf("\nGoodmorning!";break;

case2:printf("\nGoodafternoon!";break;

case'3':printf("\nGoodnight!";break;

default:printf("\nSelectionwrong!\n");

}

}

A.Goodmorning!B.Goodnight!

C.Goodafternoon!D.Selectionwrong!

10.執(zhí)行以下程序時(shí),若從鍵盤輸入一個(gè)實(shí)數(shù)15,則會輸出結(jié)果()。

#include"stdio.h"

voidmain()

{floatx;

inty=0;

scanf("%f",&x);

if(x!=0)

if(x>0)y=1;

elsey=-1;

printf("\n%d\n"?y);

}

A.15B.0C.-1D.1

四、自測練習(xí)

1.以下不構(gòu)成無限循環(huán)的語句或語句組是()。

A.n=0;do{++n;}while(n<=0);B.n=0;while(1){n++;}

C.n=10;while(n);{n—;}D.for(n=0,i=1;;i++)

n+=i;

2.以下描述中正確的是()。

A.由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以

循環(huán)體內(nèi)不能使用復(fù)合語句

B.do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式)后面

不能寫分號

C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷

D.do-while循環(huán)中,根據(jù)情況可以省略while

3.若變量已正確定義,有以下程序段

i=0;

doprintf("%d,",i);while(i++);

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

其輸出結(jié)果是()。

A.0,0B.0,1C.1,1D.程序進(jìn)入無限循環(huán)

4.已知

intt=O;

while(t=1)

{.??}

則以下敘述正確的是()。

A.循環(huán)控制表達(dá)式的值為0B.循環(huán)控制表達(dá)式的值為

C.循環(huán)控制表達(dá)式不合法D.以上說法都不對

5.設(shè)有以下程序段

intx=O,s=O;

while(!x!=O)s+=++x;

printf("%d",s);

則()。

A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出1

C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無限次

6.有以下程序

#include"stdio.h"

voidmain()

{inti,s=1;

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

if(!(i%5)&&!(i%3))s+=i;

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

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

A.409B.277C.1D.91

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

#include"stdio.h"

voidmain()

{inti,a=0,b=0;

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

{if(i%2==0)

{a++;

continue;}

b++;}

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

A.a=4,b=4B.a=4,b=5C.

a=5,b=4D.a=5,b=5

8.有以下程序

#include<stdio.h>

voidmain()

{inty=9;

for(;y>0;y-)

if(y%3==0)printf("%d",-y);

}

程序的運(yùn)行結(jié)果是()o

A.741B.963C.852D.875421

9.有以下程序

#include<stdio.h>

voidmain()

{intk=5,n=0;

do

{switch(k)

{case1:case3:n+=1;k—;break;

default:n=O;k—;

case2:case4:n+=2;k--;break;

}

printf("%d",n);

}while(k>0&&n<5);

)

程序運(yùn)行后的輸出結(jié)果是()。

A.235B.0235C.02356D.2356

10.有以下程序

#include<stdio.h>

voidmain()

{intx=0,y=0,i;

for(i=1;;++i)

{if(i%2==0){x++;continue;}

if(i%5==0){y++;break;}}

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

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

A.2,1B.2,2C.2,5D,5,2

五、自測練習(xí)

1.若有定義intnum[10];則對數(shù)組元素的正確引用是

()O

A.num[10]B.

num(5)C.num[2.5]D.num[2X3]

2.下面關(guān)于數(shù)組的敘述,正確的是()。

A.數(shù)組元素的數(shù)據(jù)類型都相同

B.數(shù)組不經(jīng)過定義即可使用

C.同一數(shù)組中會出現(xiàn)不同類型的數(shù)組元素

D.數(shù)組名等同于第一個(gè)元素

3.以下定義合法的是()。

A.inta[]="string";B.int

a[5]={0f1,2f3,4f5};

C.chars[]="string";D.char

a()={0,123,4,5};

4.以下定義正確的是()。

A.intnum[];B.#defineN100

intnum[N];

C.intnum[0..100];D.intN=100;

intnum[N];

5.以下不能正確定義二維數(shù)組的是()。

A.inta[2][2]={{1},{2}};B.

inta[][2]={1f2f3,4};

C.inta[2][2]={{1}f2f3};D.

inta[2][]={{1f2}f{3,4}};

6?假設(shè)按如下方式調(diào)用scanfO函數(shù):

scanf("%d%s%d"(&i(sf8£j);

若用戶輸入12abe3456def78,那么調(diào)用后s的是

()O

A.abeB.abc34

C.abc3456defD.一個(gè)空格

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

#include"stdio.h"

voidmainO

{int

a[4][4]={{1f2f3,4}f{5f6f7f8L{3,9,l0,2}f{4f2,9,6}};

inti(s=0;

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

s+=a[i][1];

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

)

A.11B.13C.19D.20

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

#include"stdio.h"

#include"string.h"

voidmainO

{charstr[][10]={"ABCD"f"EFGH"f"UKL"f"MNO

P“}k

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

printf("%s\n"f&str[k][k]);

)

A.ABCDB.ABCDC.EFGD.FGH

FGHEFGJKKL

KLIJO

9.執(zhí)行下列語句后,字符串str的值是()。

strcpy(strf"Howareyou");

strcpy(&str[4]f"isyourdayto");

strcat(strf"day");

A."Howareyou"B."Howisyourday

to"

C."Howisyourdaytoday"D."Howareyou

today"

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

#include"stdio.h"

voidmainO

{chars[]="ABCCDA"rc;

intk;

for(k=1;(c=s[k])!='\0';k++)

{switch(c)

{case'A':putcharC%');continiie;

case'B':++k;break;

default:putchar('*');

case'C'zputcharC&'^continue;

}

putchar('#');

)

)

A.#&*&%B.%&*&#C.%&&*%D.#

六、自測練習(xí)

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

A.C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成

B.函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語句存在

C.調(diào)用函數(shù)前,必須進(jìn)行函數(shù)原型說明

D.函數(shù)形參的類型可以與返回值類型不一致

2.以下正確的函數(shù)定義形式是()。

A.floatfun(intx;inty)B.floatfun(intx,y)

C.floatfun(intx,inty)D.floatfun(intx,int

y;)

3.有以下程序:

#include"stdio.h"

fun(floatx,floaty)

{return(x*y)/3.0;}

voidmain()

{floatk;

k=fun(5.2,4.0);

printf("%.2f\n",k);

)

程序運(yùn)行后的輸出結(jié)果為()。

A.6.93B.6.00C,6.67D.程序出

錯,無結(jié)果

4.有以下程序:

#include"stdio.h"

voidfun(charc)

{if(c>'b')

fun(c-2);

printf("%c",c);

}

voidmain()

{fun('h');}

程序運(yùn)行后的輸出結(jié)果是(

A.bdfB.bdfhC.hfdbD.hfd

5.有以下程序

#inclu

溫馨提示

  • 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

提交評論