違法信息舉報(bào) 客服熱線:400-118-7898
廣告
?
專接本欄目測(cè)試廣告

?2022年湖北專升本C語(yǔ)言函數(shù)模擬題

普通專升本 責(zé)任編輯:管理員 2022-02-12

摘要:本文是2022年湖北專升本C語(yǔ)言函數(shù)模擬題,共有39道選擇題和14道填空題,供大家參考。具體詳細(xì)內(nèi)容見下文。

一、單項(xiàng)選擇題

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

int d=1;

fun(int p)

{static int d=5;

d+=p;

printf("%d ",d);

return(d);

}

main( )

{ int a=3; printf("%d\n",fun(a+fun(d)));}

A) 6 9 9

B) 6 6 9

C) 6 15 15

D) 6 6 15

2.下列程序執(zhí)行后的輸出結(jié)果是( C)。

void func1(int i);

void func2(int i);

char st[ ]="hello,friend!";

void func1(int i)

{printf("%c", st[i]);

if(i<3){i+=2;func2(i);}

}

void func2(int i)

{printf("%c", st[i]);

if(i<3){i+=2;func1(i);}

}

main()

{int i=0; func1(i); printf("\n");}

A) hello

B) hel

C) hlo

D) hlm

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

A) 地址傳遞

B) 單向值傳遞

C) 由實(shí)參傳給形參,再由形參傳回實(shí)參

D) 傳遞方式由用戶指定

4.以下函數(shù)值的類型是( A )。

fun( float x )

{float y;

y=3*x-4;

return y;

}

A) int

B) 不確定

C) void

D) float

5.設(shè)有以下函數(shù):

f( int a)

{int b=0;

static int c=3;

b++; c++;

return(a+b+c);

}

如果在下面的程序中調(diào)用該函數(shù),則輸出結(jié)果是(A)。

main()

{int a=2, i;

for(i=0;i<3;i++) printf("%d\n", f(a));

}

image.png

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

int a, b;

void fun()

{a=100; b=200;}

main()

{int a=5, b=7;

fun();

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

}

A) 100200

B) 57

C) 200100

D) 75

7.以下所列的各函數(shù)首部中,正確的是(C)。

A) void play(var a:Integer, var b:Integer)

B) void play(int a, b)

C) void play(int a, int b)

D) Sub play(a as integer, b as integer)

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

fun(int x, int y, int z)

{z=x*x+y*y; }

main()

{int a=31;

fun(5, 2, a);

printf("%d", a);

}

A) 0

B) 29

C) 31

D) 無(wú)定值}

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

A) 數(shù)組的長(zhǎng)度

B) 數(shù)組的首地址

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

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

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

long fun( int n)

{long s;

if(n= =1 || n= =2) s=2;

else s=n-fun(n-1);

return s;

}

main()

{printf("%ld\n", fun(3)); }

A) 1

B) 2

C) 3

D) 4

11.有如下函數(shù)調(diào)用語(yǔ)句:

func(rec1, rec2+rec3, (rec4, rec5));

在該函數(shù)調(diào)用語(yǔ)句中,含有的實(shí)參個(gè)數(shù)是( A)。

A) 3

B) 4

C) 5

D) 有語(yǔ)法錯(cuò)

12.有如下程序:

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 )。

A) 12

B) 13

C) 14

D) 15

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

long fib(int n)

{if(n>2) return(fib(n-1)+fib(n-2));

else return(2);

}

main( )

{printf(“%ld\n”,fib(3));}

A) 2

B) 4

C) 6

D) 8

14.在 C 語(yǔ)言中,變量的隱含存儲(chǔ)類別是( A )。

A) auto

B) static

C) extern

D) 無(wú)存儲(chǔ)類別

15.在下列的函數(shù)調(diào)用中,不正確的是( D )。

A) max(a,b);

B) max(3,a+b);

C) max(3,5);

D) int max(a,b);

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

func(int x, int y)

{int z;

z=x+y;

return z;

}

main( )

{int a=10, b=20, c=30, s;

s=func((a--, b++, a+b), c--);

printf(“%d\n”, s);

}

A) 30

B) 40

C) 60

D) 50

17.現(xiàn)有以下程序:

#include

inverse(char str[ ])

{char t;

int i, j;

for(i=0, j=strlen(str); i<strlen(str) p="" j--)

{t=str[i];

str[i]=str[j-1];

str[j-1]=t;

}

}

main( )

{char str[100];

scanf(“%s”, str);

inverse(str);

printf(“%s\n”, str);

}

如果輸入 an anple,該程序的輸出結(jié)果是(D)。

A) an anple

B) elpna na

C) an

D) na

18.在下列敘述中,正確的一條是( A )。

A) puts 和 gets 函數(shù)只能輸入或輸出一個(gè)字符串

B) 在 C 語(yǔ)言中,函數(shù)可以遞歸調(diào)用或遞歸定義

C) 用 scanf 函數(shù)輸入數(shù)據(jù)時(shí)可以規(guī)定精度,例如 scanf(“%7.2f”,&a);

D) 外部變量只限于本文件中使用

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

power(int x, int n)

{int p;

if(n>0) p=power(x, n-1)*x;

else p=1;

return (p);

}

main( )

{int x=2, n=3;

printf(“%d\n”, power(x, n));

}

A) 5

B) 6

C) 8

D) 9

20.在 C 語(yǔ)言的函數(shù)中( C)。

A) 必須有形參

B) 形參必須是變量名

C) 可以有也可以沒(méi)有形參

D) 數(shù)組名不能作形參

21.當(dāng)輸入 a1b2c3d4e 時(shí),以下程序的輸出結(jié)果為( A )。

#include

main( )

{char str[40];

printf(“請(qǐng)輸入含有四個(gè)數(shù)字字符的字符串:\n”);

scanf(“%s”,str);

insert(str);

}

insert(char str[ ])

{int i;

for(i=strlen(str);i>0;i--)

{str[2*i]=str[i];

str[2*i-1]=

‘ ’;

}

printf(“\n 結(jié)果是:%s”, str);

}

A) a 1 b 2 c 3 d 4 e

B) 1 2 3 4

C) a 1 b 2

D) 因輸入錯(cuò)誤,程序出錯(cuò)

22.在下列敘述中,錯(cuò)誤的一條是( A )。

A) 主函數(shù) main 中定義的變量在整個(gè)文件或程序中有效

B) 不同函數(shù)中,可以使用相同名字的變量

C) 函數(shù)中的形式參數(shù)是局部變量

D) 在一個(gè)函數(shù)內(nèi)部,可在復(fù)合語(yǔ)句中定義變量,這些變量只在本復(fù)合語(yǔ)句中有效

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

#include

main( )

{int i;

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

as ( );

}

as( )

{int lv=0;

static int sv=0;

printf(“l(fā)v=%d, sv=%d”, lv, sv);

lv++;

sv++;

}

A) lv=0,sv=0,lv=0,sv=1

B) lv=0,sv=0,lv=1,sv=1

C) lv=0,sv=0,lv=0,sv=0

D) lv=0,sv=1,lv=0,sv=1

24.在下列敘述中,錯(cuò)誤的一條是( B )。

A) 全局變量存放在靜態(tài)存儲(chǔ)區(qū)中,在程序開始執(zhí)行時(shí)就給全局變量分配存儲(chǔ)區(qū),程序執(zhí)行完才釋放

B) 在有參函數(shù)中,形參在整個(gè)程序一開始執(zhí)行時(shí)便分配內(nèi)存單元

C) 用數(shù)組名作函數(shù)實(shí)參和形參時(shí),應(yīng)在主調(diào)函數(shù)和被調(diào)用函數(shù)中分別定義數(shù)組

D) 在同一個(gè)源文件中,全局變量與局部變量同名時(shí),在局部變量的作用范圍內(nèi),全局變量不起作用

25.在下列語(yǔ)句中,不正確的是( D)。

A) c=2*max(a,b); B) m=max(a,max(b,c));

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

D) int max(int x,int max(int y,int z));

26.若輸入 1.5、2.5,以下程序的輸出結(jié)果為( C)。

main( )

{int max(float x, float y);

float a, b;

int c;

scanf(“%f, %f” , &a, &b);

c=max(a, b);

printf(“%d”, c);

}

max(float x, float y)

{float z;

z=x>y ? x : y;

return(z);

}

A) 1

B) 2.5

C) 2

D) 3

27.下列程序結(jié)構(gòu)中,正確的是( D)。

A) main()

{float a,b,c;

scanf(“%f,%f”,&a,&b);

c=add(a,b);

}

int add(float x,float y)

{ … }

B) main()

{float a,b,c;

scanf(“%f,%f”,&a,&b);

c=add(a,b);

}

float add(float x,float y)

{ … }

C) float add();

main()

{float a,b,c;

scanf(“%f,%f”,&a,&b);

c=add(a,b);

}

float add(float x,float y)

{ … }

D)

float add(float x,float y)

{ … }

main()

{float a,b,c;

scanf(“%f,%f”,&a,&b);

c=add(a,b);

}

28.在下列敘述中,錯(cuò)誤的一條是( B)。

A) scanf 函數(shù)可以用來(lái)輸入任何類型的多個(gè)數(shù)據(jù)

B) 數(shù)組名作函數(shù)參數(shù)時(shí),也采用“值傳遞”方式

C) 如果形參發(fā)生改變,不會(huì)改變主調(diào)函數(shù)的實(shí)參值

D) 函數(shù)的實(shí)參與形參的類型應(yīng)一致

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

main()

{int i=1,j=3;

printf(“%d”,i++);

{int i=0;

i+=j*2;

printf(“%d,%d”,i,j);

}

printf(“%d,%d\n”,i,j);

}

A) 1,6,3,1,3

B) 1,6,3,2,3

C) 1,6,3,6,3

D) 1,7,3,2,3

30.C 語(yǔ)言中形參的缺省存儲(chǔ)類別是( A)。

A) 自動(dòng)(auto)

B) 靜態(tài)(static)

C) 寄存器(register)

D) 外部(extern)

31.設(shè)有如下函數(shù):

ggg(float x)

{printf(“\n%d”, x*x);}

則函數(shù)的類型為( C )。

A) 與參數(shù) x 的類型相同 B) void

C) int D) 無(wú)法確定

32.C 語(yǔ)言規(guī)定,程序中各函數(shù)之間( A)

A) 既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用

B) 不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用

C) 允許直接遞歸調(diào)用不允許間接遞歸調(diào)用

D) 不允許直接遞歸調(diào)用允許間接遞歸調(diào)用

33.下面程序的輸出結(jié)果是( A)。

main()

{int i=2,p;

p=f(i,i+1);

printf(“%d”,p);

}

int f(int a,int b)

{int c;

c=a;

if(a>b) c=1;

else

if(a==b) c=0;

else c=-1;

return(c);

}

A) -1

B) 0

C) 1

D) 2

34.以下程序的輸出結(jié)果為(B)。

f(int b[ ], int n)

{int i, r;

r=1;

for(i=0; i<=n; i++) r=r*b[i];

return(r);

}

main()

{int x, a[ ]={2,3,4,5,6,7,8,9};

x=f(a, 3);

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

}

A) 720

B) 120

C) 24

D) 6

35.下列程序執(zhí)行后的輸出結(jié)果是( D)。

f(int a)

{int b=0;

static c=3;

a=c++, b++;

return(a);

}

main( )

{int a=2, i, k;

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

k=f(a++);

printf(“%d\n”, k);

}

A) 3

B) 0

C) 5

D) 4

36.下列程序執(zhí)行后輸出的結(jié)果是( A)。

int d=1;

fun(int p)

{int d=5;

d+=p++;

printf(“%d”, d);

}

main( )

{int a=3;

fun(a);

d+=a++;

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

}

A) 84

B) 96

C) 94

D) 85

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

fun(int k)

{if(k>0) fun(k-1);

printf(“%d”, k);

}

main( )

{int w=5;

fun(w);

}

A) 54321

B) 012345

C) 12345

D) 543210

38.以下說(shuō)法中正確的是( C )。

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

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

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

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

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

int abc(int u, int v);

main()

{int a=24, b=16, c;

c=abc (a, b);

printf(“%d\n”, c);

}

int abc(int u, int v)

{int w;

while(v)

{w= u%v; u=v; v=w;}

return u;

}

A) 6

B) 7

C) 8

D) 9

二、填空題

1.下列程序的輸出結(jié)果是5 6。

int t(int x, int y, int cp, int dp)

{cp=x*x+y*y;

dp=x*x-y*y;

}

main( )

{int a=4, b=3, c=5, d=6;

t(a, b, c, d);

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

}

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

#include

main()

{int k=4, m=1, p;

p=func(k, m); printf("%d,", p);

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

}

func(int a, int b)

{static int m=0, i=2;

i+=m+1;

m=i+a+b;

return m;

}

3.以下程序輸出的最后一個(gè)值是120

int ff(int n)

{static int f=l;

f=f*n;

return f;

}

main()

{int i;

for(i=1;i<=5;i++) printf("%d\n",ff(i));

}

4.以下函數(shù)的功能是:求 x 的 y 次方,請(qǐng)?zhí)羁铡?/p>

double fun(double x, int y)

{int i;

double z;

for(i=1, z=x; i<y;i++)z=z*x;

return z;

}

5.若變量 n 中的值為 24,則 prnt 函數(shù)共輸出5行,最后一行有4個(gè)數(shù)。

void prnt(int n, int aa[ ])

{int i;

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

{printf("%6d", aa[i]);

if(!(i%5)) printf("\n");

}

printf("\n");

}

6.以下程序中,主函數(shù)調(diào)用了 LineMax 函數(shù),實(shí)現(xiàn)在 N 行 M 列的二維數(shù)組中,找出每一行上的最大值。請(qǐng)?zhí)羁铡?/p>

#define N 3

#define M 4

void LineMax(int x[N][M])

image.png

7.函數(shù) pi 的功能是根據(jù)以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+ … +1/(n*n)請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求π的功能。

#include “math.h”

double pi(long n)

{double s=0.0;

long i;

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

s=s+1.0/i*i;

return(sqrt(6*s));

}

8.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語(yǔ)句,且 fun 函數(shù)為 void 類型;請(qǐng)寫出 fun 函數(shù)的首部void fun( double b[10][22])。要求形參名為 b。

main()

{double s[10][22];

int n;

fun(s);

}

9.輸入 12 時(shí),程序輸出結(jié)果為12 is not prime number.;若輸入 17,輸出結(jié)果為 17 is primenumber.。

main()

{int number;

scanf(“%d”, &number);

if(prime(number)) printf(“\n%d is prime number.”, number);

else printf(“\n%d is not prime number.”, number);

}

int prime(int number)

{int flag=1, n;

for(n=2; n<number/2&&flag==1;n++)

if(number%n= =0) flag=0;

return(flag);

}

10.理解下面的程序,填空完善程序。

main()

{int a, b, c;

scanf(“%d %d”,&a,%b);

c=max(a, b);

printf(“a=%d b=%d max=%d\n”, a, b, c);

}

int max(x, y)

int x,int y;

{int z;

if(x>y) z=x;

else z=y;

return z;

}

11.下面程序的輸出結(jié)果是2,5,1,2,3,-2。

main()

{int a=3, b=2, c=1;

c-=++b;

b*=a+c;

{int b=5, c=12;

c/=b*2;

a-=c;

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

a+=--c;

}

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

}

12.下面的 findmax 函數(shù)返回?cái)?shù)組 s 中值為最大的元素的下標(biāo),數(shù)組中元素的個(gè)數(shù)由 t 傳人,請(qǐng)?zhí)羁铡?/p>

findmax(int s[ ], int t)

{int k, p;

for(p=0, k=p; p<t; p="" p++)

if(s[p]>s[k]) p=k;

return k;

}

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

fun(int x)

{int p;

if(x= =0||x= =1) return(3);

p=x-fun(x-2);

return p;

}

main()

{printf(“%d\n”, fun(9));}

14.函數(shù) fun 的功能是:使一個(gè)字符串按逆序存放,請(qǐng)?zhí)羁铡?/p>

void fun(char str[ ])

{char m;

int i, j;

for(i=0, j=strlen(str); i< strlen(str); i++, j--)

{m=str[i];

str[i]=str[j-1];

str[j-1]=m;

}

printf(“%s\n”, str);

}

更多資料

統(tǒng)招專升本《計(jì)算機(jī)基礎(chǔ)》備考資料一

格式:PDF 2022-12-17 更新

河北省專升本《政治》真題(2020年)

格式:PDF 2022-12-09 更新

更多課程

2022年10月《市場(chǎng)營(yíng)銷學(xué)》公開課—業(yè)務(wù)成長(zhǎng)戰(zhàn)略

1節(jié)課

2022年10月《基礎(chǔ)會(huì)計(jì)》公開課—會(huì)計(jì)要素-反映財(cái)務(wù)狀況的會(huì)計(jì)要素

1節(jié)課

2022年10月《管理學(xué)》公開課——馬斯洛需要層次理論

1節(jié)課

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

專升本備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

資料下載
  • 統(tǒng)招專升本《大學(xué)語(yǔ)文》真題資料

    下載
  • 統(tǒng)招專升本《大學(xué)語(yǔ)文》真題回憶版(2021年)

    下載
  • 統(tǒng)招專升本《大學(xué)語(yǔ)文》備考資料一

    下載
  • 全國(guó)版專接本《大學(xué)語(yǔ)文》真題匯編

    下載