c語(yǔ)言函數(shù)題目及答案 c語(yǔ)言考試常用函數(shù)

c語(yǔ)言函數(shù)習(xí)題

1、 函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是________。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)推出廣安免費(fèi)做網(wǎng)站回饋大家。

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

2、 若有以下調(diào)用語(yǔ)句,則正確的fun函數(shù)首部是

main()

{ ∶

int a;float x;

fun(x,a);

}

B) void fun(float a,int x)

3、 有如下程序

int func(int a,int b)

{ return(a+b); }

main()

{ int x=2,y=5,z=8,r;

r=func(func(x,y),z);

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

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

D) 15

4、 函數(shù)pi的功能是根據(jù)以下近似公式求π值:

(π*π)/6=1+1/(2*2)+1/(3*3)+……+1/(n*n)

請(qǐng)你在下面程序中的劃線(xiàn)部分填入________,完成求π的功能。

#include "math.h"

double pi(long n)

{ double s=0.0; long i;

for(i=1;i=n;i++) s=s+________;

return (sqrt(6*s)); }

A) 1.0/i/i

5、 在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞

方式是________。

B) 單向值傳遞

6、 對(duì)于C語(yǔ)言的函數(shù),下列敘述中正確的是________。

A) 函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套 (這答案有待斟酌)

7、 函數(shù)f的功能是:測(cè)定字符串的長(zhǎng)度,空白處應(yīng)填入________。

int f(char s[ ])

{ int i=0;

while(s[i]!='\0') i++;

return (________); }

main( )

{ printf("%d\n",f("goodbye!")); }

B) i

8、 若主調(diào)用函數(shù)類(lèi)型為double,被調(diào)用函數(shù)定義中沒(méi)有進(jìn)行函數(shù)類(lèi)型

說(shuō)明,而return語(yǔ)句中的表達(dá)式類(lèi)型為float型,則被調(diào)函數(shù)返回

值的類(lèi)型是________。

C) double 型

9、 以下敘述中,錯(cuò)誤的是________。

D) 形參可以是常量、變量或表達(dá)式

10、 以下敘述中,不正確的是________。

B) 在main函數(shù)體內(nèi)定義的變量是全局變量

求c語(yǔ)言試題及答案!急??!

c語(yǔ)言考試題(一)

一、 單項(xiàng)選擇題(每題2分,共20分)

1、以下選項(xiàng)中屬于C語(yǔ)言的數(shù)據(jù)類(lèi)型是( )

A.復(fù)數(shù)型 B.邏輯型 C.集合型 D.雙精度型

2、一個(gè)C程序的執(zhí)行是從( )

A.main()函數(shù)開(kāi)始,直到main()函數(shù)結(jié)束 B.第一個(gè)函數(shù)開(kāi)始,直到最后一個(gè)函數(shù)結(jié)束

C.第一個(gè)語(yǔ)句開(kāi)始,直到最后一個(gè)語(yǔ)句結(jié)束 D.main()函數(shù)開(kāi)始,直到最后一個(gè)函數(shù)結(jié)束

3、設(shè)有語(yǔ)句int a=3;則執(zhí)行語(yǔ)句a+=a-=a*a;后,變量a的值是( )

A.3 B.0C.-12?。模?/p>

4、若有 char c[5]={'c','d','\0','e','\0'};則執(zhí)行語(yǔ)句printf("%s",c);結(jié)果是( )。

A.cd\0e B.'c''d' C.cd D.cd e

5、已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;則下列表達(dá)式不是4的是 ( )。

A.*(*p+3) B.*p+3 C.*(*(p+0)+3) D.a(chǎn)[0][3]

6、以下有宏替換不正確的敘述( ).

A.宏替換不占用運(yùn)行時(shí)間 B.宏名無(wú)類(lèi)型

C.宏替換只是字符串替換 D.宏名必須用大寫(xiě)字母表示

7、執(zhí)行char str[10]=”Ch\nina”; strlen(str)的值是( )

A.5 B.6 C.7 D.9

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

#define POWER(x) (x*x)

main()

{int i=4; printf("%d",POWER(i-2)); }

A. -9 B. -7 C. 5 D. -6

9、在定義int a[3][4][2];后,第10個(gè)元素是( )

A.a(chǎn)[2][1][2] B.a(chǎn)[1][0][1] C.a(chǎn)[2][0][1] D.a(chǎn)[2][2][1]

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

typedef struct

{long x[2];brshort y[4];brchar z[8];br}MYTYPE;

MYTYPE a;

main()

{ printf("%d\n",sizeof(a));}

A. 2 B. 8 C. 14 D. 24

二、 填空題(每空1分,共11分)

1、字符串"A"在內(nèi)存中占用的字節(jié)數(shù)為 。

2、C語(yǔ)言中的標(biāo)識(shí)符只能由字母、下劃線(xiàn)和 組成。

3、若有定義語(yǔ)句“ int a=25,b=14,c=19;",以下語(yǔ)句的執(zhí)行結(jié)果是

if(a++=25b--=2c++) printf("***a=%d,b=%d,c=%d\n",a,b,c);

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

4、有如下定義a[]="B\172\\\'a%%";則執(zhí)行語(yǔ)句printf("%d",strlen(a));的結(jié)果為 。

5、若有定義:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i; for(i=0;i4;i++) p[i]=a[i*3];則*(*(p+1)+2)的值為 ,*p[2]的值為 。若數(shù)組的首地址為2000,則p[1]指向的地址為 。

6、設(shè)a=2,b=3,x=3.5,y=2.5,則表達(dá)式(float)(a+b)/2+(int)x%(int)y 的結(jié)果是 。

7、設(shè)x、y都是int型變量,初值都為1,則執(zhí)行表達(dá)式:--xy++后,y的值為 。

8、語(yǔ)句for(i=1;i==10;i++)continue;循環(huán)的次數(shù)是 。

9、以下程序輸出 。

main()

{enum em {em1=3,em2=1,em3};

char *aa[]={"AA","BB","CC","DD"}; printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);

}

三、 寫(xiě)程序結(jié)果(每題5分,共35分)

1、#include

main()

{int x,y,z;brx=1,y=2,z=3; x+=y+=z;brprintf("1:%d\n",z+=xy?x++:y++);brx=0x02ff;y=0xff00;brprintf("2:%d\n",(xy)4|0x005f);brx=y=z=-1; ++x||++y++z;brprintf("3:%d,%d,%d\n",x,y,z);br}

2、#define f(x) x*x

main()

{int a=6,b=2,c;brc=f(a+b)/f(b);brprintf(“%d\n”,c);br}

3、fun(int k)

{ printf("%d",k);

if(k0)

fun(k-1);

}

main( )

{ int w=5; fun(w); printf("\n"); }

4、#include

main()

{int x=1,y=0;brswitch(x)br{ case 1:brswitch(y)br{ case 0:printf(“first\n”);break;brcase 1:printf(“second\n”);break;br}

case 2:printf(“third\n”);

}

}

5、#include

main()

{ int k=4;

func(k); func(k);

}

func(int a)

{ static int m=0;

m+=a;

printf("%d",m);

}

6、struct st

{ int x;

int *y;

}*p;

int s[]={30,20};

struct st a[]={1,s[0],2,s[1]};

main()

{ p=a; printf("%d,",p-x);

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

}

7、假定在當(dāng)前盤(pán)目錄下有2個(gè)文本文件,其名稱(chēng)和內(nèi)容如下:

文件名: a1.txt a2.txt

內(nèi)容: ABCDEF# abcdef#

#include "stdio.h"

main()

{FILE *fp;brvoid fc();brif((fp=fopen("a1.txt","r"))==NULL)br{printf("Can not open file!\n"); exit(1);}

else{fc(fp);fclose(fp);}

if((fp=fopen("a2.txt","r"))==NULL)

{printf("Can not open file!\n"); exit(1);}

else{fc(fp);fclose(fp);}

}

void fc(fp1)

FILE *fp1;

{char c;brwhile((c=fgetc(fp1))!='#')putchar(c);br}

四、 程序填空(每空2分,共14分)

1、下面程序求矩陣a的主對(duì)角線(xiàn)元素之和,請(qǐng)?zhí)羁铡?/p>

main()

{ int a[3][3]={2,4,6,8,10,12,14,16,18};

int sum=0,i,j;

for(i=0;i3; ① )

for(j=0; ② ;j++)

if(i= =j) sum=sum+ ③ ;

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

}

2、下列函數(shù)coy把字符數(shù)組S2中的全部字符復(fù)制到字符數(shù)組S1中, 復(fù)制時(shí)’\0’也要復(fù)制過(guò)去,’\0’后面的字符不用。

coy(char s1[],char s2[])

{ int i;

for(i=0;s2[i]!= ① ;i++)

s1[i]=s2[i];

② ;

}

3、下面程序的功能是將字符串a(chǎn)中的下標(biāo)為奇數(shù)的元素由小到大排序,其他元素不變,請(qǐng)?zhí)羁铡?/p>

main()

{ char a[]="students",t; int i,j;

for(i=1;i7;i+=2)

for(j=i+2;j8; ① )

if( ② )

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

}

c語(yǔ)言考試題(二)

一. 填空題(每題2分,共20分)

1. C語(yǔ)言基本數(shù)據(jù)類(lèi)型有:_______________________________;

構(gòu)造類(lèi)型有:_____________________________________。 P.13

2. C語(yǔ)言源程序注注釋符號(hào)是:________________________________,

為表明層次結(jié)構(gòu),C語(yǔ)言源程序通常采用_____________________格式編寫(xiě)。P.4

3. 源程序TEST.C經(jīng)編譯產(chǎn)生的目標(biāo)文件是:________________________;

經(jīng)連接處理后,產(chǎn)生的可執(zhí)行文件是:__________________________。

4. strlen(“1234 \ 0xy)的值為:_____________________________;

sizeof(float)的值為:____________________________

5. 二維數(shù)組a[10] [50]最后一行的首地址為:_________________________;

最后一個(gè)元素的首地址為:____________________________________。

6. C標(biāo)準(zhǔn)庫(kù)函數(shù)中,數(shù)學(xué)函數(shù)的原型在:________________頭文件中,自定義頭文件D :\ MYC \ MY . H應(yīng)如何包含到源程序文件中:_________________________。P.130

7. 已知函數(shù)定義為:int stat(int?。幔琭loat *p)

{……………}

則此函數(shù)的兩個(gè)參數(shù)類(lèi)型分別是_______________ 、 _____________________。

8. 設(shè)int x,y,z=4;

x=y(tǒng)=++z;

x=(yz)?x+2;x++;則x的值是:_________;

設(shè)int a=0,b=0,c=0;c=++a | | b++; ,則a、b、c值分別是:_____________。

9. 與if (x=0) 等價(jià)的寫(xiě)法是if ( ! x );

判斷兩個(gè)(float)變量x,z是否相等一般:if ( fabc(x-z)1e-6 )。

10.已知賦值語(yǔ)句zhang.year=1985;可判斷zhang是_______________類(lèi)型的變量;

定義文件指針的C語(yǔ)句是:_________________________________。

二. 單項(xiàng)選擇題 (每題1分,共10分)

1. 組成C程序的基本單位是____________________________。

A.函數(shù) B.標(biāo)識(shí)符 C.表達(dá)式 D.語(yǔ)句

2. 設(shè)int類(lèi)型的數(shù)據(jù)長(zhǎng)度為2字節(jié),則該類(lèi)型數(shù)據(jù)的取值范圍是__________________。

A.0至65536 B.0至65535

C.-32767至32768 D.-32768至32767

3. 在C語(yǔ)言中,邏輯值“真”是用_____________________表示的。

A.預(yù)定義為真值的宏 B.非零數(shù)

C.正數(shù) D.非零整數(shù)

4. C語(yǔ)言對(duì)于嵌套if語(yǔ)句規(guī)定else總是與_____________________匹配。

A.與最外層的if B.與之前最近的if

C.與之前最近的不帶else的if D.與最近的{ }之前的if

5. 數(shù)組定義char a[10]={`a`,`b`,`c`}:包括了幾個(gè)元素____________________。

A.3 B.9 C.4 D.10

6. 數(shù)組名作為實(shí)參傳給被調(diào)用的函數(shù)時(shí),形參獲得的是_____________________。

A.該數(shù)組第一個(gè)元素的值 B.該數(shù)組所有元素的值

C.該數(shù)組第一個(gè)元素的首地址 D.該數(shù)組所有元素的首地址

7. 為表示關(guān)系x ≥ y ≥z,正確的C語(yǔ)言表達(dá)式為_(kāi)________________________。

A.(x=y=z) B.(x=y)AND(y=z)

C.(x=y)(y=z) D.(xy)(y=z)

8. 根據(jù)定義int a[ ]={1,2,3},i,*p=a; 從語(yǔ)法分析_________________是不正確的。

A. a[p-a] B.*(a) C.p D.*(*(a+i))

9. 若有語(yǔ)句scanf(“%d%d”,a,b);要使變量a,b分別得到12和34;正確的輸入形式為_(kāi)___________________________。

A.12 34 B.12,34 C.1234 D.12:34

10.union uex {int i;float f;char c;}ex;則sizeof(ex)的值是____________________。

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

三. 分析程序,寫(xiě)出運(yùn)行結(jié)果。(每題4分,共20分)

1. 源程序如下,運(yùn)行時(shí)假定鍵盤(pán)輸入字符串為``2004``

#include

void main(void)

{

int n=0;

char c;

while( (c=getchar( )) ! =`\n` ) /*字符型數(shù)字*/

{

if (c=`0`c=`9` )

n = n*10 + c- `0` ; /*數(shù)字*/

}

printf(“value=%d|n” ,n);

}

結(jié)果為: value=2004 。

2. 源程序如下:

#include

void main(void)

{

int num[9]={399,398,397,396,395,299,290,311,301};

int score[9]={81,85,59,77,90,66,89,93,73};

int iMax,iPos,i;

iPos=0;

iMax=score[iPos];

for(i=1;i9;i++)

if(scoreiMax)

{

iPos=i;

iMax=score[iPox];

}

printf(“num=%d,score=%d”,num[iPos];score[iPos]);

結(jié)果為: num=311, score=93 。

3. 源程序如下,運(yùn)行時(shí)假定鍵盤(pán)輸入數(shù)據(jù)為:1 2 3 4 5 6 7 8 9 10

#include

void main(void)

{

int i,a[10];

int *p;

p=a;

for(i=0;i10;i++)

scanf(“%d“,p++);

for(p=a;p SPAN;p++)

if (*p%2)printf(“%3d”,*p);

}

結(jié)果為: 1 3 5 7 9 。

4. 源程序如下,兩次運(yùn)行,分別輸入數(shù)據(jù)13和21

#include

#include

void main(void)

{

int n,s;

scant (“%d”,n);

s=panduan( n);

if(s==1)printf(“yes\n”);

else printf(“no\n);

}

int panduan(int n)

{

int k,j;

k=(int)sqrt((double)n);

for(j=2;j=k,j++)

{

if(n%j==0) break;

}

if(jk) retum(1);

else retum(0);

}

結(jié)果為 yes

no

5.源程序如下,運(yùn)行時(shí)假定鍵盤(pán)輸入字符為:AxByCz

#include

#include

void main(void)

{

char str[80];

int i;

gets(str);

for(i=0;str!=`\0`;i++)

if(str=`a`str=`z`) str-=32;

else if (str=`A`str=`Z`) str+=32;

puts(str);

}

結(jié)果為: aXbYcZ 。

四. 下列程序中每個(gè)劃線(xiàn)處有一個(gè)錯(cuò)誤,改正劃線(xiàn) 中的錯(cuò)誤,使其實(shí)現(xiàn)題目要求。(每體4分,共20分)

1. 求 s=1+2+3+、、、、、、、+100

include 改正為_(kāi)________________________。

void sum (void) 改正為_(kāi)________________________。

{

int s,i;

for (s=0,i=1;i=100;i++)

{

s=s+ i ++; 改正為_(kāi)_________________________。

}

printf (“s=%f”,s) 改正為_(kāi)_________________________。

}

2. 源程序?qū)崿F(xiàn)求x

#include

double pow(float . int) 改正為_(kāi)________________________。

void main(void)

{

int i, n;

float x;

scanf (“%f,%d”,x,n);

for (i=1; i9;i++)

printf(“%d,%e\n”, i, pow(i,x);

} 改正為_(kāi)_____________________。

double v v pow(float x, int n)

{

int i;

double p=0; 改正為_(kāi)_____________________。

for (i=1; i i++)改正為_(kāi)______________________。

p*=x;

retum(p);

}

3. 源程序?qū)崿F(xiàn)排升序。

#include

void main(void)

{

int i, j, iMin, a[10]={4,3,5,1,10,12,2,6,7,9}, iTemp;

for (i=0; i9; i++)

{

iMin=0; 改正為_(kāi)______________________。

for (j=i+1; j10;j++)

if(a[iMin] iMin="j;"改正為_(kāi)______________________。

if (iMin==i) 改正為_(kāi)________________________。

{ iTemp=a;

a[iMin]=a; 改正為_(kāi)________________________。

a[iMin]=iTemp;

}

}

for(i=0; i10; i++)

printf(“%4d”, a):

}

4. 源程序?yàn)榍笃骄怠?/p>

#include

void main(void)

{

int i, sum; 改正為_(kāi)___________________。

float avg;

int sc[10], *p=sc;

for (i=0, i10; i++) 改正為_(kāi)___________________。

{

scanf(“%d”, p++);

sum+= *p; 改正為_(kāi)___________________。

}

avg = sum/ 10; 改正為_(kāi)__________________。

printf(“avg=%f”, avg);

}

5. 源程序求 eX=1+x+x2/2!+……+xn/n!前n+1項(xiàng)之和

#include

void main(void

{

float exp , x , t;

int i, n;

scanf(“%f, %d”,x, n);

t=0; 改正為_(kāi)__________________。

exp=1.0;

for(i=1 ; i=n; i++)

{

if(t1e-6) loop; 改正為_(kāi)_________________。

t+=x/i; 改正為_(kāi)__________________。

exp*=t; 改正為_(kāi)__________________。

}

printf(“\n%15.6f”, exp);

}

五. 編程題 (每題6分,共30分)

1. 根據(jù)以下程序框架,編寫(xiě)子函數(shù),實(shí)現(xiàn)交換兩個(gè)整型變量x和y的值。

#include

void swap (int *, int *);

void main (void)

{

int x, y;

scanf(“%d, %d”, x, y);

swap( x, y);

printf(“%d, %d”, x, y);

}

void swap( )

{

}

2. 設(shè)某班人數(shù)36人,參加C語(yǔ)言考試,用一維數(shù)組score[36]存放考試成績(jī),已給出一部分程序,完善以下程序,使其實(shí)現(xiàn)統(tǒng)計(jì)并輸出不及格人數(shù)及百分比。

#include

void main (void)

{ int i;

float scoer[36], precent;

int count=0;

for (i=0; i36; i++)

{

scanf(“%f”, score);

}

3. 完善以下程序使其實(shí)現(xiàn)由鍵盤(pán)任意輸入一串字符,統(tǒng)計(jì)其中大寫(xiě)字母?jìng)€(gè)數(shù)iA、小寫(xiě)字母?jìng)€(gè)數(shù)ia、其他字符個(gè)數(shù)iother。

#include

#include

void main (void)

{

char str [80];

int i, iA=0, ia=0, iother=0;

}

4. 完善以下程序使其實(shí)現(xiàn)求方陣主和輔對(duì)角線(xiàn)元素之和及其轉(zhuǎn)置矩陣,設(shè)方陣用二維數(shù)組a表示,轉(zhuǎn)置矩陣用t表示,sl和s2表示主和輔對(duì)角線(xiàn)元素之和。

#include

void main(void)

{

int a[3] [3]={1,3,5,7,9,11,13,15,11};

int i, j, s1, s2;

int t[3] [3];

printf(“%d, %d,\n”,s1, s2);

for(i=0; i3; i++)

for(j=0; j3; j++)

printf(“%3d”, t [j]);

}

5. 已知字符數(shù)組str[80],編寫(xiě)返回指針的子函數(shù),實(shí)現(xiàn)在其中查找字符ch首次出現(xiàn)的位置。

#include

#include

#include

char *lstrchar(char*, char);

void main(void)

{

char c, *p, str[80];

gets (str);

scanf(“%c”, c);

p=lstrchar(str,c);

if(p==NULL) printf(“char %c not found\n”c);

else printf(“The position is %d”, p-str);

char “l(fā)strchar( )

{ }

歷年全國(guó)計(jì)算機(jī)二級(jí)考試c語(yǔ)言真題及答案

C語(yǔ)言函數(shù)填空題,最好能稍微講講為啥填,答案?

您好,很高興回答您的問(wèn)題。

第一空應(yīng)該是對(duì)Fib函數(shù)進(jìn)行說(shuō)明void Fib(long f[],int n )

第二空為主函數(shù)調(diào)用Fib函數(shù)

Fib(a,20)

第三空為f[i]=f[i-1]+f[i-2]

以上就是我的回答,希望能幫助到您。

新聞標(biāo)題:c語(yǔ)言函數(shù)題目及答案 c語(yǔ)言考試常用函數(shù)
瀏覽地址:http://muchs.cn/article48/dophhhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站收錄商城網(wǎng)站、響應(yīng)式網(wǎng)站動(dòng)態(tài)網(wǎng)站、網(wǎng)站營(yíng)銷(xiāo)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)