南昌航空大學(xué)C語(yǔ)言期末考試試卷_第1頁(yè)
南昌航空大學(xué)C語(yǔ)言期末考試試卷_第2頁(yè)
南昌航空大學(xué)C語(yǔ)言期末考試試卷_第3頁(yè)
南昌航空大學(xué)C語(yǔ)言期末考試試卷_第4頁(yè)
南昌航空大學(xué)C語(yǔ)言期末考試試卷_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

評(píng)閱人得分

一、單項(xiàng)選擇題(每題3分,共30分,注意:答案寫(xiě)在后面的答題卡內(nèi),否則

0分)

1、若有定義:inta=8,b=5,c;執(zhí)行語(yǔ)句c=a/b+0.4;后,c的值為()。

A)1.4B)1C)2.0D)2

2、以下程序中,while循環(huán)的次數(shù)是()。

#include<stdio.h>

voidmain(void)

{inti=0;

while(i<10){if(i<l)continue;

if(i==5)break;i++;}}

A)1B)死循環(huán),不能確定次數(shù)C)6D)10

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

#include<stdio.h>

voidmain(void)

{inta=0,i;

for(i=l;i<5;i++)

{switch(i){case0:

case3:a+=2;

case1:

case2:a+=3;

default:a+=5;}

)

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

)

A)31B)13C)10D)1)

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

#include<stdio.h>

voidmain(void)

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

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

}

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

5、執(zhí)行以下程序后的輸出結(jié)果是()

#include<stdio.h>

voidmain(void)

(

chara[]=,,abc\0abc";

printf("%s”,a);

)

A)abc\0abcB)abc\C)abc\0D)d)c

6、當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是()。

A)數(shù)組的長(zhǎng)度B)數(shù)組的首地址

C)數(shù)組每一個(gè)元素的地址D)數(shù)組每個(gè)元素中的值

7、執(zhí)行以下程序后,a的值為()?

int*p,a=10,b=l;

p=&a;a=*p+b;

A)12B)編譯出錯(cuò)C)10D)U

8、以下正確的敘述是()。

A)在C語(yǔ)言中,main函數(shù)必須位于文件的開(kāi)頭

B)C語(yǔ)言每行中只能寫(xiě)一條語(yǔ)句

C)C語(yǔ)言本身沒(méi)有輸入、輸出語(yǔ)句

D)對(duì)一個(gè)C語(yǔ)言進(jìn)行編譯預(yù)處理時(shí),可檢查宏定義的語(yǔ)法錯(cuò)誤

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

voidmain(void)

{inta=4,b=5,c=0,d;

d=!a&&!bII!c;

primf("%d\n”,d);

)

A)1B)0C)非0的數(shù)D)-l

10、執(zhí)行以下程序段后,變量y的值是()o

intx,y;

X=1;

y=(++x*5);

A)5B)10C)15D)20

單項(xiàng)選擇題答題卡

12345678

BBACDBDC

910

AB

評(píng)分標(biāo)準(zhǔn):每題選對(duì)滿分,選錯(cuò)0分。

評(píng)閱人得分

--------------二、分析結(jié)果題(20分)

1、(9分)

#include<stdio.h>

voidf(intc)

{inta=0;

staticintb=0;

a++;

b++;

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

)

voidmain(void)

{inti;

for(i=l;i<=3;i++)f(i);

)

運(yùn)行結(jié)果為:

I:a=1,b=1

2:a=l,b=2

3:a=l,b=3

2、(11分)

#include<stdio.h>

voidmain(void)

(

intnum,c;

num=2004;

do{

c=num%10;

printf("%d”,c);

}while((num/=10)>0);

printf("\n”);

)

運(yùn)行結(jié)果為:4002

評(píng)閱人得分三、程序填空題(每空4分,共20分)

1、求1!+2!+3!+o<.o+10!

#include<stdio.h>

voidmain(void)

(

floats=0,t=1;

intn;

for(n=l;nv=10;n++){

l=t*n;

__________s=s+t______________;}

printfC'l!+2!+3!+。。。+10!=%f\s);

)

2、以下函數(shù)的功能是,把兩個(gè)整數(shù)指針?biāo)傅拇鎯?chǔ)單元中的內(nèi)容進(jìn)行交換。

voidexchange(int*x,int*y)

(

intt;

t=*y;

*y=*x;

*x=t;}

評(píng)閱人得分四、程序設(shè)計(jì)題(30分)

(1)sum=2+5+8+11+14——,輸入正整數(shù)n,求sum的前n項(xiàng)和。(10分)

voidmain()

intn,i,t,sum=O;//I分

scanf("%d",&n);//I分

t=2;//I分

for(i=l;i<=n;i++)//2分

(

sum=sum+t;//2分

t=t+3;//2分

)

printf(',sum=%d',,sum);//I分

}(2)今有100塊磚,需100人來(lái)搬,男搬4,女搬3,兩個(gè)小孩搬一磚。

問(wèn)男、女、小孩各幾何?(8分)

#includenstdio.h"

voidmain()

{intman,woman,child;//I分

fbr(man=0;man<=100;man++)〃1分

for(woman=0;woman<=100;woman++)//I分

for(child=0;child<=100;child++)//I分

(

if(8*man+6*woman+child==200&&man+woman+child==100)//2分

printf("%d%d%d\n",man,woman,child);//2分

)

(3)求?個(gè)矩陣外圍元素之和。(12分)

#include<stdio.h>

#defineN4

#defineM5

doublematrix_sum(doublematrix[][M])

{double5um=0;

intk;

for(k=0;k<N;k++)

{sum=sum+matrix[k][0];

sum=sum+matrix[k][M-lJ;//3分

)

for(k=l;k<M-l;k++)

{sum=sum+matrix[0][k];

sum=sum+matrixlN-1JlkJ;//3分

)

returnsum;//I分

)

voidmain()

(

inti,j;

doublematrix_source[N][M];

doublet;

doubleresult;

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

for(j=O;j<M;j++)

{scanf(u%lf",&t);//I分

matrix_source[i][j]=t;//2

)

result=matrix_sum(matrix_source);//2分

printf(u%lf\nH,result);

評(píng)閱人得分

二、單項(xiàng)選擇題(每題2分,共30分,注意:答案寫(xiě)在后面的答題卡內(nèi),否則

0分)

1、下面哪一個(gè)是正確的標(biāo)識(shí)符()

Aqbc?Bbc$C_bcD2bc

2、設(shè)有inta[6]={l,2,3,4,5,6},*p=a;則*(p+3)與(*a+3)的值為()

A1,3B3,3C4,4D4,6

3>設(shè)a、b^c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)

運(yùn)算后,n的值為()

AOBlC2D3

4、t為int類(lèi)型,進(jìn)入下面的循環(huán)之前,t的值為0

while(t=l)

{……}

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

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

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

5、設(shè)inti=4,j=8,k;則表達(dá)式k=(i++,++i,j++)的值為()

A4B8C9D10

6、有宏定義#defineMULTI(a,b)a*b

#defineMULT2(a,b)(a)*(b)

宏引用Y=MULTl(3+2,5+8);Z=MULT2(3+2,5+8)后,則丫和Z的值是()。

AY=65,Z=65BY=21,Z=65

CY=65,Z=21DY=21,Z=21

7、若定義a為int型變量,則對(duì)指針變量p的正確初始化是()o

Aint*p=a;Bint*p=*a;

Cintp=&a;Dint*p=&a;

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

main()

{inta=3;

printf("%d\n”,(a+a-=a*a));

)

A-6B12C0D-12

9、在一個(gè)源文件中定義的全局變量的作用域?yàn)?)。

A本文件的全部范圍B本程序的全部范圍

C本函數(shù)的全部范圍D從定義該變量的位置開(kāi)始至本文件結(jié)束

10、設(shè)有intI;1=7/2;printf("%d”,D;則執(zhí)行結(jié)果為()

A3.5B3.50C3D3.0

11、在C語(yǔ)言中,合法的長(zhǎng)整型常數(shù)是()

A0LB4962710C324562&D216D

12、以下選項(xiàng)中合法的字符常量是()

A"B"B''010'C68DD

13、假定x和y為double型,則表達(dá)式x=2,y=x+3/2的值是()

A3.500000B3C2.000000D3.000000

14、設(shè)x、y均為整型變量,且x=10,y=3,則以下語(yǔ)句的輸出結(jié)果是()

printf(/z%d,%d\n”,x―,—y);

A10,3B9,3C9,2D10,2

15、x、y、z被定義為int型變量,若從鍵盤(pán)給x、y、z輸入數(shù)據(jù),正確的輸入語(yǔ)句是()

AINPUTx、y、z;Bscanf("%d%d%d”,&x,&y,&z);

Cscanf("%d%d/d”,x,y,z);Dread("%d%d%d”,&x,&y,&z);

單項(xiàng)選擇題答題卡

12345678

CCCBBBDD

9101112131415

DCABDDB

評(píng)分標(biāo)準(zhǔn):選對(duì)得滿分,否則0分。

評(píng)閱人得分

--------------二、分析結(jié)果題(23分)

1、(6分)

#include"stdio.h"

voidmain()

{int1=6,x,y;

x=I++;

y=++I;

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

)

運(yùn)行結(jié)果為:6.8

評(píng)分標(biāo)準(zhǔn):寫(xiě)對(duì)一個(gè)數(shù)字得3分,全寫(xiě)對(duì)得6分。

2、(5分)

#include"stdio.h"

voidmain()

{inta[3][3]={1,2,34,5,6,7,8,9);

printf(“%d”,*(a[l]+2));

}

運(yùn)行結(jié)果為:6

評(píng)分標(biāo)準(zhǔn):寫(xiě)對(duì)得5分,否則0分。

3、(6分)

#include"stdio.h"

voidsub(ints,intt)

{intw;

w=s;s=t;t=w;

)

voidmain()

{inta,b;

a=100;b=200;

sub(a,b);

printf(“%d,%d”,a,b);

)

運(yùn)行結(jié)果為:100,200

評(píng)分標(biāo)準(zhǔn):寫(xiě)對(duì)一個(gè)數(shù)字得3分,全寫(xiě)對(duì)得6分。

4、(6分)

ttinclude"stdio.h"

voidmain()

{intn;

for(n=l;n<=20;n++)

{if(n%3!=0)

continue;

printf('/Bd'',n);

)

}

運(yùn)行結(jié)果為:369121518________________________

評(píng)分標(biāo)準(zhǔn):寫(xiě)對(duì)一個(gè)數(shù)字得1分,全寫(xiě)對(duì)得6分。

三、程序填空題(每空2分,共16分)

1.本程序能實(shí)現(xiàn)將若干個(gè)數(shù)按逆序存放,然后輸出,請(qǐng)?jiān)跈M線上填寫(xiě)正確內(nèi)容完成

程序。

例如:原順序?yàn)槿?,4,5,1逆序后為1,5,4,8,6

ttdefineN5

voidmain()

{inti,t;

staticinta[N]={6,8,4,5,1};

for(i=0;i<N/2;i++)

{t=a[i];a[i]=a[N-l-i];a[N-『i]=t;}

printf("\n”);

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

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

)

評(píng)分標(biāo)準(zhǔn):寫(xiě)對(duì)一個(gè)空得2分,全寫(xiě)對(duì)得8分。

2.以下程序?qū)崿F(xiàn):輸入三個(gè)整數(shù),按從大到小的順序輸出,請(qǐng)?jiān)跈M線上填寫(xiě)正確內(nèi)

容完成程序.

voidmain()

{intx,y,z,c;

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

if(V<z)

{c=y;y=z;z=c;}

if(x<z)

{c=X;x=z;z=c;}

if(x<y)

{c=x;x=y;y=c;}

printf(a%d,%d,%dw,x,y,z);

)

評(píng)分標(biāo)準(zhǔn):寫(xiě)對(duì)一個(gè)空得2分,全寫(xiě)對(duì)得8分。

四、程序設(shè)計(jì)題(31分)

1.如果某個(gè)3位數(shù)的各位數(shù)字的立方之和等于該數(shù)本身,則這個(gè)3位數(shù)

就是一個(gè)“水仙花”數(shù),如153=1M3+53O編程打印所有的“水仙花”數(shù)。(10分)

#include"stdio.h"

voidmain()

{intge,shi,bai,x;//I分

for(ge=0;ge<=9;ge++)//I分

for(shi=0;shi<=9;shi++)//I分

for(bai=1;bai<=9;bai++)//I分

(

x=ge+10*shi+100*bai;//2分

if(x==ge*ge*ge+shi*shi*shi+bai*bai*bai)//3分

printf("%d”,x);//I分

)

)

2.編程實(shí)現(xiàn)函數(shù)voidstrcopy(char*dest_str,char*sour_str);要求該函數(shù)實(shí)現(xiàn)將sour_str中的內(nèi)容拷貝到dest__stro(不

許直接調(diào)用其他函數(shù)來(lái)實(shí)現(xiàn),否則0分處理)(8分)

voidstrcopy(char*dest_str,char*sour_str)

(

inti=0;//I分

while(sour_str[i])//2分

(

dest_str[i]=sour_str[i];//2分

i++;//I分

)

dest_str[i]=,\O,;//2分

)

3.用指針做形參編寫(xiě)一個(gè)子函數(shù),計(jì)算學(xué)生的最低分、最高分以及平均分,然后在主函數(shù)中

從鍵盤(pán)輸入10個(gè)學(xué)生的分?jǐn)?shù),并調(diào)用子函數(shù),最后輸出最低分、最高分及平均分(13分)

#include"stdio.h"

floatCalculateScore(float*s,intlen,float*max,float*min)

{floatave=*s;//I分

*max=*s;//I分

*min=*s;//I分

inti;

for(i=l;i<len;i++)//I分

{if(*(s+i)>*max)//I分

*max=*(s+i);

if(*(s+i)<*min)//I分

*min=*(s+i);

ave=ave+*(s+i);//I分

ave=ave/len;//I分

returnave;//I分

)

voidmain()

{floatscore[10],max,min,average;

inti;

printf("Pleasethescoreofstudent\nM);

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

scanf(n%f;&score[i]);//I分

average=CalculateScore(score,10,&max,&min);//2分

printf(,,max=%f,min=%f,average=%f\n,',max,min,average);//I分

)

一、單選題(15X2分)

1、若有定義:inta=8,b=5,c;執(zhí)行語(yǔ)句c=a/b+0.4;后,c的值為(B)。

A)1.4B)1C)2.0D)2

2、以下程序中,while循環(huán)的次數(shù)是(B)。

#include<stdio.h>

voidmain(void)

{inti=0;

while(i<10){

if(i<l)continue;

if(i==5)break;

i++;

)

)

A)1B)死循環(huán),不能確定次數(shù)C)6D)10

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

#include<stdio.h>

voidmain(void)

{inta=0,i;

for(i=l;i<5;i++){

switch(i){

case0:

case3:a+=2;

case1:

case2:a+=3;

default:a+=5;

)

)

printf(44%d\n,\a);

)

A)31B)13C)10D)2)

4、執(zhí)行以下程序段后的輸出結(jié)果是(C)。

intx=5;

intm,n;

n=(++x)+(++x);

m=(x-)+(x—);

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

A)1410B)1313C)1414D)1412

5、以下程序的輸出結(jié)果是(c

#include<stdio.h>

voidmain(void)

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

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

)

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

6、執(zhí)行以下程序后的輸出結(jié)果是(D)

#include<stdio.h>

voidmain(void)

(

chara口二"abc'Oabc";

printf("%s”,a);

)

A)abc\0abcB)abc\C)abc\0D)i)c

7、當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是(B)。

A)數(shù)組的長(zhǎng)度B)數(shù)組的首地址

C)數(shù)組每一個(gè)元素的地址D)數(shù)組每個(gè)元素中的值

8、執(zhí)行以下程序后,a的值為(D)。

int*p,a=10,b=l;

p=&a;a=*p+b;

A)12B)編譯出錯(cuò)C)10D)11

9、以下正確的敘述是(C)。

A)在C語(yǔ)言中,main函數(shù)必須位于文件的開(kāi)頭

B)C語(yǔ)言每行中只能寫(xiě)一條語(yǔ)句

C)C語(yǔ)言本身沒(méi)有輸入、輸出語(yǔ)句

D)對(duì)一個(gè)C語(yǔ)言進(jìn)行編譯預(yù)處理時(shí),可檢查宏定義的語(yǔ)法錯(cuò)誤

10、下面正確的標(biāo)識(shí)符是(A)

A)12b3B)htC)htibcD)213b

11、以下程序的輸出結(jié)果是(A)o

voidmain(void)

{inta=4,b=5,c=0,d;

d=!a&&!bII!c;

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

}

A)1B)0C)非0的數(shù)D)-l

12、執(zhí)行以下程序段后,變量y的值是(B)。

intx,y;

x=1;

y=(++x*5);

A)5B)10C)15D)20

13、若已定義:inta[9],*p=a;并在以后的語(yǔ)句中未改變p的值,則不能表示a“]地址的表達(dá)式是(C)。

A)p+1B)a+1C)a++D)++p

14、函數(shù)調(diào)用strcat(strcpy(strl,str2),str3)的功能是(c)。

A)將串strl復(fù)制到串str2中后再連接到串str3之后

B)將串strl連接到串str2之后再?gòu)?fù)制到串str3之后

C)將串str2復(fù)制到串strl中后再將串str3連接到串strl之后

D)將串str2連接到串strl之后再將串strl復(fù)制到串str3中

15、在下列選項(xiàng)中,不正確的賦值語(yǔ)句是(D)o

A)++t;B)nl=(n2=(n3=0));C)k=i==j;D)a=b+c=1;

二、程序填空(16分)

1、求1!+2!+3!+ooo+10!

#include<stdio.h>

voidmain(void)

(

floats=0,t=1;

intn;

for(n=l;nv=10;n++){

t=t*n;

s=s+t;

printfC'l!+2!+3!+10!=%f\s);

)

2、以下程序是用來(lái)統(tǒng)計(jì)從鍵盤(pán)輸入的一個(gè)正整數(shù)中各位數(shù)字中零的個(gè)數(shù),并求各位數(shù)字中最大者。例如:1080其

零的個(gè)數(shù)是2,各位數(shù)字中最大者是8。

#include<stdio.h>

voidmain(void)

(

unsignedlongnum,max,t;

intcount;

count=max=0;

scanf&num);

do{

t=num%10;

if(t==0)++count;

else

if(max<t)max=l;

num/=10;

}while(num);

printf(ncount=%d,max=%1d\n”,count,max);

)

3、下面程序的功能是:輸出100以?xún)?nèi)能被3整除且個(gè)位數(shù)字為6的所有整數(shù)。

#include<stdio.h>

voidmain(void)

(

inti,j;

for(i=0;ivlO;i++){

j=i*10+6;

if(j%3!=0)continue;

4、以下函數(shù)的功能是,把兩個(gè)整數(shù)指針?biāo)傅拇鎯?chǔ)單元中的內(nèi)容進(jìn)行交換。

voidexchange(int*x,int*y)

intt;

t=*y;

*x=t;}

三、閱讀程序,寫(xiě)出程序的輸出結(jié)果(24分)

1、include〃stdio.h〃

voidmain()

{inti,j;

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

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

printf(z,〃);

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

printf(〃*");

printf(〃\n〃);

)

}

****

2、#include<stdio.h>

voidf(intc)

{intD;

staticintb=0;

a++;

b++;

printf(n%d:a=%d,b=%d\n';c,a,b);

)

voidmain(void)

{inti;

for(i=l;i<=3;i++)f(i);

)

1:a=l,b=l

2:a=l,b=2

3:a=l,b=3

3、#include<stdio.h>

voidmain(void)

intnum,c;

num=2004;

do{

c=num%10;

printf(H%d",c);

}while((num/=10)>0);

printf("\n");

)

4002

五、編程(30分)

(1)sum=2+5+8+11+14——,輸入正整數(shù)n,求sum的前n項(xiàng)和。

voidmain()

{

intn,i,t,sum=0;

scanf("%d",&n);

t=2;

for(i=l;i<=n;i++)

(

sum=sum+t;

t=t+3;

)

printf("sum=%d,,,sum);

)

(2)編程實(shí)現(xiàn)函數(shù)voidstrcopy(char*dest_str,char*sour_str);要求該函數(shù)實(shí)現(xiàn)將sour__str中的內(nèi)容拷貝到dest_str。(不

許直接調(diào)用其他函數(shù)來(lái)實(shí)現(xiàn),否則。分處理)

voidstrcopy(char*dest_str,char*sour_str)

(

inti=0;

while(sour_str[i])

(

dest_str[i]=sour_str[i];

i++;

)

dest_str[i]=,\O,;

)

(3)求?個(gè)矩陣外圍元素之和。

#include<stdio.h>

#defineN4

#defineM5

doublematrix_sum(doublematrix[][M])

{doubleium=0;

intk;

for(k=0;k<N;k++)

{sum=sum+matrix[k][0];

sum=sum+matrix[k][M-1];

)

for(k=l;k<M-l;k++)

{sum=sum+matrix[OJlkJ;

sum=sum+matrix[N-1][k];

returnsum;

voidmain()

(

inti,j;

doublematrix_source[N][M];

doublet;

doubleresult;

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

for(j=O;j<M;j++)

{scanf(H%lf',&t);

matrix_source[i][j]=t;

)

resu1t=matrix_sum(matrix_source);

printf(H%lf\n",result);

)

(4)編寫(xiě)函數(shù)strcmp(sl,s2),按照字典順序比較兩個(gè)字符串si和s2,若兩串相等返

回0;若串sl>s2,則返回+1;若串sl<s2,則返回-1。

(5)編程找出1000以?xún)?nèi)的滿足勾股定理/+。2=。2的整數(shù)組g,b,c)?

評(píng)閱人得分

--------------三、選擇題(共40分)

1、以下選項(xiàng)中合法的標(biāo)識(shí)符是((2分)

A.abc!B.abc#C._abcD.2bc

2、以下說(shuō)法中正確的是()。(2分)

A.C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行

B.在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main。函數(shù)中定義

C.C語(yǔ)言程序總是從main。函數(shù)開(kāi)始執(zhí)行

D.C語(yǔ)言程序中的main()函數(shù)必須放在程序的開(kāi)始部分

3、設(shè)有:intcl=5,c2=2,c3;則執(zhí)行c3=cl/c2;后,c3的值是()。(2分)

A.2B.5/2C.2.5D.3

4、設(shè)有:inti=4,j;j=i++;則執(zhí)行printf(后,屏幕上顯示的

是()o(2分)

A.5,5B.5,4C.4,5D.4,4

5、程序中出現(xiàn)的&&是()。(2分)

A.取地址運(yùn)算符B.邏輯與運(yùn)算符C.按位與運(yùn)算符D.標(biāo)識(shí)符

6、以下程序中,while循環(huán)的次數(shù)是()。(2分)

ftinclude<stdio.h>

voidmain()

{inti=0;

while(i<10)

{if(i==5)break;

i++;

)

A.0B.10C.5D.6

7、程序中出現(xiàn)的“5”是()。(2分)

A.整數(shù)常量B.字符常量C.字符串常量D.標(biāo)識(shí)符

8、若定義a為int型變量,則對(duì)整型指針變量p的正確初始化()。(2分)

A.int*p=a;B.int*p=*a;C.intp=&a;D.int*p=&a;

9、x、y、z被定義為int型變量,若從鍵盤(pán)給x、y、z輸入數(shù)據(jù),正確的輸入語(yǔ)

句是()。(2分)

A.INPUTx、y、z;B.scanf("冊(cè)d%d”,&x,&y,&z);

C.scanf(“猊猊%d”,x,y,z);D.read(“%d%d%d”,&x,&y,&z);

10、設(shè)有:intx,a,b;根據(jù)a和b的大小關(guān)系確定x的值,從下列式中選出合法的if語(yǔ)句()。(2分)

A.if(a=b)x++;B.if(a=<b)x++;

C.if(a!=b)x++;I),if(a=>b)x++;

11、設(shè)有:inta[4]={2,3,4},i;則執(zhí)行完i=a[l]+a[2];后,i的值為().(2分)

A.5B.7C.2D.4

12、以下正確的敘述是()o(2分)

A.在C程序中,語(yǔ)句之間必須要用分號(hào)“;”分隔

B.若a是實(shí)型變量,C程序中允許賦值a=10,因此實(shí)型變量中允許存放整型

C.在C程序中,無(wú)論是整數(shù)還是實(shí)數(shù),都能準(zhǔn)確無(wú)誤地表示

D.在C程序中,“/”是只能用于整數(shù)運(yùn)算的運(yùn)算符

13、設(shè)有:inta=2,b=4,c=3,d=4,m=4,n=3;執(zhí)行(m=a〉b)&&(n=c>d)后,n的值為

()o(2分)

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

14、在下列運(yùn)算符中,優(yōu)先級(jí)最低的是()。(2分)

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

15、以下選項(xiàng)中,與k=++n完全等價(jià)的表達(dá)式是()。(2分)

A.k=n;n=n+l;B.n=n+l;k=n;C.k=++n;D.k+=n+l;

16、以下選項(xiàng)中合法的字符常量是()。(2分)

A."B”B.68C.I)D.'D'

17、函數(shù)調(diào)用strcat(strl,str2)的功能是()。(2分)

A.將串strl連接到串str2之后

B.將串str2連接到串strl之后

C.將串str2復(fù)制到串strl中

D.將串strl和串str2進(jìn)行比較

18、以下選項(xiàng)中,不合法的賦值語(yǔ)句是()o(2分)

A.a+=3;B.k=3;C.a=b=c=0;D.a=3*4=2*l;

19、以下選項(xiàng)中,合法的長(zhǎng)整型常數(shù)是()。(2分)

A.0LB.65534C.32756&D.453D

20、在一個(gè)源文件中定義的全局變量的作用域?yàn)椋ǎ?。?分)

A.本源文件的全部范圍B.本函數(shù)的全部范圍

C.從定義該變量的位置開(kāi)始至本源文件結(jié)束D.本程序的全部范圍

評(píng)閱人得分

填空題(共40分)

1、本程序功能是求解1X3X5X7X9X11,請(qǐng)?jiān)跈M線上填寫(xiě)正確內(nèi)容完成程序。(6分)

#include<stdio.h>

voidmain()

{inti,t;

t=l;

i=3;

_____________________(3分)

{t=t*i;

______________________(3分)

printfC4%d,,,t);

2、本程序功能是求a,b二個(gè)數(shù)中的較大者,請(qǐng)?jiān)跈M線上填寫(xiě)正確內(nèi)容完成程序。(6分)

#include<stdio.h>

voidmain()

{inta,b,max;

scanfC%d,%d";&a,&b);

if(3分)

______________________(3分)

else

max=b;

printf(umax=%d";max);

}

3、本程序功能是求一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5…前10項(xiàng)之和。請(qǐng)?jiān)跈M線上填寫(xiě)

正確內(nèi)容完成程序。(9分)

#include<stdio.h>

voidmain()

{inti,t;

floata=2,b=l,s=0;

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

{(3分)

t=a;

______________________(3分)

b=t;

printf("sum=%f",s);

4、本程序功能是輸入十個(gè)整數(shù),并統(tǒng)計(jì)大于0、等于0、小于0的個(gè)數(shù)。請(qǐng)?jiān)跈M線上填寫(xiě)正確內(nèi)容完成程序。

(9分)

#include<stdio.h>

voidmain()

{inta[10],j,m=0,n=0,k=0;

for(;j<10;j++)(3分)

______________________(3分)

printfC'n");

for(j=0;;j++)(3分)

{if(a[j]>0)m=m+1;

if(a[j]==0)n=n+1;

if(a[j]<0)k=k+l;

)

printfC€m=%d,n=%d,k=%d,\m,n,k);

}

5、分析本程序,并在橫線上填入程序的輸出。(5分)

#include<stdio.h>

voidmain()

(

chara,b;

a=*a';

b='b';

a=a-32;

b=b-32;

printf("%c%c\nu,a,b);

)

輸出:(5分)

6、分析本程序,并在橫線上填入程序的輸出。(5分)

#include"stdio.h"

voidmain()

{intn;

for(n=l;n<=20;n++)

{if(n%3!=0)

continue;

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

)

)

輸出:(5分)

評(píng)閱人得分

--------------三、編程題(共20分)

1、編寫(xiě)程序判斷m是否為素?cái)?shù),m值由用戶(hù)輸入。(10分)

2、編寫(xiě)程序用函數(shù)遞歸方法求n!。(10分)

評(píng)閱人得分

--------------四、單項(xiàng)選擇題(每題2分,共30分)

1有以下程序

main()

{intx[8]={8,7,6,5,0,0},*s;

s=x+3;printf("%d\n〃,s⑵);

執(zhí)行后輸出結(jié)果是(B)

A)隨機(jī)值B)0C)5D)6

2以下敘述中正確的是(B)

A)全局變量的作用域一定比局部變量的作用域范圍大

B)靜態(tài)(static)類(lèi)別變量的生存期貫穿于整個(gè)程序的運(yùn)行期間

C)函數(shù)的形參都屬于全局變量

D)未在定義語(yǔ)句中賦初值的auto變量和static變量的初值都是隨機(jī)值

3設(shè)有如下定義

structss

{charname[10];intage;charsex;

}std[3],*p=std;

下面各輸入語(yǔ)句中錯(cuò)誤的是(B)

A)scanf&(*p).age);B)scanf&);

C)scanf&std[0].sex);D)scanf&(p-〉sex));

4以下敘述中正確的是(A)

A)C程序中注釋部分可以出現(xiàn)在程序中任意合適的地方

B)花括號(hào)"{"和只能作為函數(shù)體的定界符

C)構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶(hù)命名

D)分號(hào)是C語(yǔ)句之間的分隔符,不是語(yǔ)句的--部分

5以下選項(xiàng)中可作為C語(yǔ)言合法整數(shù)的是(C)

A)10110BB)0386C)OXffaD)x2a2

6以下不能定義為用戶(hù)標(biāo)識(shí)符的是(D)

A)scanfB)VoidC)_3com_D)int

7以下選項(xiàng)中非法的表達(dá)式是(Dy

A)0<=x<100B)i=j==0C)(char)(65+3)D)x+l=x+l

8有定義語(yǔ)句:intx,y;,若要通過(guò)scanf(繪d,%d”,&x,&y);語(yǔ)句使變量x得到數(shù)值11,變量y得到數(shù)值12,下

面四組輸入形式中,錯(cuò)誤的是(A)

A)1112〈回車(chē)〉B)11,12〈回車(chē)〉C)11,12〈回車(chē)〉

D)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論