違法信息舉報 客服熱線:400-118-7898
廣告
?
專接本欄目測試廣告

?2022年遼寧專升本C語言程序設(shè)計習(xí)題練習(xí)(2)

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

摘要:本文是2022年遼寧專升本C語言程序設(shè)計習(xí)題練習(xí)(2),內(nèi)容主要為C語言(函數(shù),變量作用范圍)和指針的考核,包含選擇題、填空題。供大家2022年遼寧專升本報考參考,下面是具體內(nèi)容。

C語言(數(shù)組)一

設(shè)有程序:

main()

{ int i,a[11];

printf("給數(shù)組賦值:\n");

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

scanf("%d",( ));

... ...

printf("輸出數(shù)組:\n");

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

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

}

則在程序中的兩個園括號中分別應(yīng)填入:

A) &a[i]和&a[i]

B) a[i]和&a[i]

C) &a[i]和a[i]

D) a[i]和a[i]

設(shè)已定義:int a[15]; 則數(shù)組a占用的內(nèi)存單元數(shù)是( ).

A) 15 B) 16 C) 30 D) 32

閱讀程序:

main()

{ int a[2]={0},i,j,k=2;

for(i=0;i<k;i++)< p="">

for(j=0;j

printf("%d\n",a[k]);

}

以上程序的輸出結(jié)果是( ).

A) 1 B) 3 C) 2 D) 不確定的值

閱讀程序:

f(int b[],int n)

{ int i,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);

}

以上程序的輸出結(jié)果是( ).

A) 720 B) 6 C)24 D) 120

以下定義語句中,錯誤的是( ).

A) int a[ ] = {6,7,8};

B) int n=5, a[n];

C) char a[ ]= "string";

D) char a[5 ]={'0','1','2','3','4'};

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

A) 數(shù)組名后面的常量表達式用一對圓括弧括起來

B) 數(shù)組下標(biāo)從1開始

C) 數(shù)組下標(biāo)的數(shù)據(jù)類型可以是整型或?qū)嵭?/p>

D) 數(shù)組名的規(guī)定與變量名相同

若定義數(shù)組并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'};指出以下錯誤語句( ).

A) scanf("%c",a[0]);

B) scanf("%s",&a);

C) printf("%c",a[3]);

D) printf("%s",a);

若定義數(shù)組int a[10] ,其最后一個數(shù)組元素為( ).

A) a[0]

B) a[1]

C) a[9]

D) a[10]

若定義數(shù)組并初始化int a[10]={ 1,2,3,4},以下語句哪一個不成立( )?

A) a[8] 的值為0

B) a[1] 的值為1

C) a[3] 的值為4

D) a[9] 的值為0

指出以下錯誤語句( ).

A) int n=10,a[n];

B) int n,a[10];

C) int a[10]={1,2,3};

D) int a[10]={1,2,3,4,5,6,7,8,9,10};

請讀程序:

main()

{int n[2],i,j,k;

for(i=0;i<2;i++) n[i]=0;

k=2;

for(i=0;i<k;i++)< p="">

for(j=0;j

printf("%d\n",n[k]);

}

上面程序的輸出結(jié)果是( ).

A)不確定的值 B)3 C)2 D)1

若有以下的定義和語句:

int str[12]={1,2,3,4,5,6,7,8,9,10,11,12};

char c='e',

則數(shù)值為2的表達式是( ).

A)str['g'-c] B)str[2] C)str['d'-'c'] D)str['d'-c]

設(shè)有數(shù)組定義:int a[5];則下列給數(shù)組元素賦值錯誤的是( ).

A) a[3]=93;

B) scanf("%c",a[3]);

C) a[3]=getchar();

D) a[3]='a'+3;

以下數(shù)組定義中錯誤的是( ).

A) #define N 30

int a[N+30];

B) #define N 30

int a[N];

C) int a[30];

D) int a[N];

在定義一個一維數(shù)組時,不能用來表示數(shù)組長度的是( ).

A)常量 B)符號常量 C)常量表達式 D) 已被賦值的變量

若float型變量占用4個字節(jié),有定義float a[20]={1.1,2.1,3.1};則數(shù)組a在內(nèi)存中所占的字節(jié)數(shù)是( ).

A)12 B)20 C)40 D)80

設(shè)已定義:int x[2][4]={1,2,3,4,5,6,7,8}; 則元素x[1][1]的正確初值是( ).

A) 6 B) 5 C) 7 D) 1

設(shè)有定義:int a[][3]={{1,2,3},{4,5,6},{7,8,9}}; 則a[1][2]的初值為( ).

A) 2 B) 4 C) 6 D) 8

設(shè)有:int a[4][5]; 則數(shù)組a占用的內(nèi)存字節(jié)數(shù)是( ).

A) 12 B) 24 C) 40 D) 20

以下數(shù)組定義中,不正確的是( ).

A) int b[3][4];

B) int c[3][ ]={{1,2},{1,2,3},{4,5,6,7}};

C) int b[200][100]={0};

D) int c[ ][3]={{1,2,3},{4,5,6}};

定義數(shù)組:int x[2][3]; 則數(shù)組x 的維數(shù)是( ).

A) 1 B) 2 C) 3 D) 6

若定義數(shù)組并初始化int b[2][3]= { 1,2,3,4,5,6},以下語句哪一個成立( )?

A) 表達式b[1][2]的值為1

B) 表達式b[1][2]的值為4

C) 表達式b[1][2]的值為6

D) 表達式b[1][2]的值為2

若定義數(shù)組并初始化int a[2][3]={{1,2,3},{4,5,6}};for(i=0;i<2;i++) for(j=0;j<3;j++)

printf("%d",a[i][j]);語句的結(jié)果是哪一個( )?

A) 1,2,3,4,5,6

B) 1 2 3 4 5 6

C) 123456

若定義數(shù)組并初始化int a[2][3]= {{1,2, 3},{4,5,6}};以下語句哪一個不成立( )?

A) a數(shù)組中有6個元素

B) a[2][3]是a數(shù)組的最后一個元素的引用

C) a數(shù)組中每個元素都為整數(shù)

D) a數(shù)組是整型數(shù)組

定義如下變量和數(shù)組:

int i;

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

則下面語句的輸出結(jié)果是( ).

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

A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9

如有以下定義:double s[][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};則數(shù)值為2的元素是( ).

A) s[1][3] B) s[0][3] C) s[0][2] D) s[1][2]

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

main()

{int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

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

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

s+=a[i][j];

printf("%d",s);

}

A) 18 B) 19 C) 20 D) 21

若已有char b[10][50];則該二維字符數(shù)組在內(nèi)存所占字節(jié)數(shù)為( ).

A) 10 B)50 C)60 D)500

A)int a[2][3]; B)int b[][3]={0,1,2,3};

C)int c[5][5]={0}; D)int d[3][ ]={{1,2},{1,2,3},{1,2,3,4}};

設(shè)有:char a[10]; 下列語句那個是正確的( )?

A) scanf("%s",a[0]);

B) scanf("%s",&a);

C) printf("%s",a[0])

D) printf("%s",a)

閱讀程序:

main()

{ char a[10];

int i;

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

scanf("%c",&a[i]);

printf("%c",a[0]);

}

設(shè)從鍵盤輸入字符串:abcde,則程序的輸出結(jié)果是( ).

A) a B)空格 C)不確定 D)0

設(shè)有:char a[4][5]; 則數(shù)組a占用的內(nèi)存字節(jié)數(shù)是( ).

A) 12 B) 24 C) 40 D) 20

合法的數(shù)組定義是( ).

A) int a[ ] = "string";

B) int a[5]={0,1,2,3,4,5};

C) char a= "string";

D) char a[ ]={'0','1','2','3'};

設(shè)有數(shù)組定義:char string[ ]="China";則數(shù)組string所占的空間為( ).

A) 5個字節(jié)

B) 6個字節(jié)

C) 7個字節(jié)

D) 10個字節(jié)

定義字符數(shù)組c:char c[ ]={"c language"};數(shù)組c在內(nèi)存中所占字節(jié)數(shù)是( ).

A) 9  B) 10  C) 11  D) 12

指出以下錯誤語句( ).

A) char a[10]={'0','1','2','3','4','5','6','7','8','9'};

B) char a[10]={'0','1 ','2','3'};

C) char a[2]= {"1","2"};

D) char a[2]= {'a’,'b’};

若定義數(shù)組并初始化char a[10]={"hello"},該數(shù)組的元素個數(shù)是( ).

A) 10

B) 5

C) 6

D) 7

若定義數(shù)組并初始化char a[10]={"HELLO"},該數(shù)組的元素中 a[2]是( ).

A) 'L'

B) 'E'

C) 'H'

D) 'O'

若定義數(shù)組并初始化int b[10]={ 1,2,3,4},以下哪幾個語句成立( )?

A)b[8]的值為0

B)b[1]的值為1

C)b[3]的值為整數(shù)

D)b[10]不是b數(shù)組中的元素

若定義數(shù)組int a[10];指出下列錯誤語句:

A) a數(shù)組共有10個元素,其引用方法是:a[1],a[2]...a[10];

B) a數(shù)組是整型數(shù)組,其元素自動初始化為0;

C) a數(shù)組最后一個元素的引用方法是a[10];

D) a數(shù)組第一個元素的引用方法是a[1];

數(shù)組是數(shù)目固定的若干變量的有序集合,數(shù)組中各元素的類型可以不同。

數(shù)組是C語言的一種構(gòu)造數(shù)據(jù)類型,其元素的類型可以是整型、實型、字符型甚至結(jié)構(gòu)類型。

設(shè)需定義一個有15個元素的數(shù)組a,并對其前5個元素賦初值,可用如下語句實現(xiàn):int a[]={1,2,3,4,5};

數(shù)組定義時,只允許使用常量表達式定義數(shù)組的大小,其值必須是正整數(shù),而不能用變量來定義數(shù)組長度。

C語言數(shù)組的下標(biāo)從0開始,下標(biāo)必須是整數(shù)型的常量或變量。

數(shù)組是數(shù)目固定、類型相同的若干變量的有序集合。數(shù)組中的每一個數(shù)(變量)稱為數(shù)組元素,數(shù)組中的所有元素都屬于同一種數(shù)據(jù)類型。

數(shù)組元素下標(biāo)的下界是固定的,總是為0。

一維數(shù)組在引用時下標(biāo)的范圍是:0 <= 下標(biāo) < 數(shù)組的長度 。

若有數(shù)組定義為:int a[100];則該數(shù)組的下界為0,上界為100。數(shù)組元素下標(biāo)范圍是: 下界 <= 下標(biāo) < 上界。

設(shè)已定義:double a[5][5]; 則數(shù)組a在內(nèi)存中的存放順序是:a[0][0],a[0][1],a[0][2], ... ,a[4][3],a[4][4] 。

C語言(數(shù)組)二

設(shè)已定義:float a[15]; 則數(shù)組a可引用的元素有( ).

A) a[1]~a[15]

B) a[0]~a[15]

C) a[1]~a[14]

D) a[0]~a[14]

以下程序段給數(shù)組所有元素輸入數(shù)據(jù):

main()

{ int a[10],i=0;

while(i<10) scanf("%d",( ));

... ...

}

應(yīng)在園括號中填入的是:

A) a+(i++)

B) &a[i+1]

C) a+i

D) &a[++i]

若有以下定義:double w[100]; 則數(shù)組w的元素下標(biāo)范圍是( ).

A) [0,100]

B) [0,99]

C) [1,100]

D) [1,99]

若有以下說明:int a[10]={1,2,3,4,5,6,7,8,9,10}; char c='a'; 則數(shù)值為4的表達式是( ).

A) a['f'-c]

B) a[4]

C) a['d'-'c']

D) a['d'-c]

已知int類型變量在內(nèi)存中占用2個字節(jié),定義數(shù)組int b[8]={2,3,4};則數(shù)組b在內(nèi)存中所占字節(jié)數(shù)為( ).

A) 3  B) 6  C) 8  D) 16

用數(shù)組名作為函數(shù)調(diào)用時的實參,實際上傳送給形參的是( ).

A) 數(shù)組首地址 B) 數(shù)組的第一個元素值

C) 數(shù)組中全部元素的值 D) 數(shù)組元素的個數(shù)

若定義數(shù)組int a[10] ,其數(shù)組元素的下標(biāo)下限為( ).

A) 1

B) 0

C) 9

D) 10

若定義數(shù)組int a[10],以下語句哪一個不成立( )?

A) a 數(shù)組在內(nèi)存中占有一連續(xù)的存儲區(qū)

B) a代表a數(shù)組在內(nèi)存中占有的存儲區(qū)的首地址

C) *(a+1)與a[1]代表的數(shù)組元素相同

D) a是一個變量

若定義數(shù)組并初始化int a[10]={ 1,2,3,4},以下語句哪一個成立( )?

A) 若引用a[10],編譯時報錯

B) 若引用a[10],連接時報錯

C) 若引用a[10],運行時出錯

D) 若引用a[10],系統(tǒng)不報錯

若定義數(shù)組并初始化int a[10]={ 1,2,3,4},以下語句哪一個不成立( )?

A) a[10]是a數(shù)組的最后一個元素的引用

B) a數(shù)組中有10個元素

C) a數(shù)組中每個元素都為整數(shù)

D) a數(shù)組是整型數(shù)組

執(zhí)行下面的程序段后,變量k中的值為( ).

int k=3,s[2];

s[0]=k;k=s[1]*10;

A)不定值 B)33 C)30 D)10

如已有定義:int a[4];若要把10,20,30,40分別賦值給數(shù)組a的4個元素,下面正確的賦值方式是( ).

A)scanf("%d%d%d%d",a[0],a[1],a[2],a[3]};

B)scanf("%s",a);

C)a={10,20,30,40};

D)a[0]=10;a[1]=a[0]+10;a[2]=a[1]+10;a[3]=a[2]+10;

下列數(shù)組定義正確的是( ).

A) int a[];

B) char a[100]={68,69,70};

C) int n=100,a[n];

D) char n=4,a[n]={"abc"};

一維數(shù)組初始化時,若對部分?jǐn)?shù)組元素賦初值,則下面正確的說法是( ).

A)可以只對數(shù)組的前幾個元素賦初值

B)可以只對數(shù)組的中間幾個元素賦初值

C)可以只對數(shù)組的后幾個元素賦初值

D)以上說法全部正確

決定數(shù)組所占內(nèi)存單元多少的是( ).

A)數(shù)組的長度 B)數(shù)組的類型 C)數(shù)組在初始化時被賦值的元素的個數(shù) D) 數(shù)組元素的個數(shù)及其類型

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

main( )

{int i , a[10]};

for (i=9;i>=0;i--) a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A)258 B)741 C)852 D)369

設(shè)有程序段:

#define N 3

#define M N+2

float a[M][N];

則數(shù)組a的元素個數(shù)和最后一個元素分別為( ).

A) 15,a[5][3] B) 15,a[3][5] C) 8,a[4][2] D) 15,a[4][2]

設(shè)有:int x[2][4]={1,2,3,4,5,6,7,8};printf("%d",x[2][4]); 則輸出結(jié)果是( ).

A) 8 B) 1 C) 隨機數(shù) D) 語法檢查出錯

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

main()

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

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

}

A) 1,5,9  B) 1,4,7  C) 3,5,7  D) 3,6,9

以下數(shù)組定義中正確的是( ).

A) float f[3,4]; B) int a[ ][4];

C) char c(3); D) double d[3+2][4];

指出以下錯誤語句( ).

A) int a[2][3]= {{1,2,3},{4,5,6}};

B) int b[2][3]= {1,2,3,4,5,6};

C) int a[][]={{1,2,3},{4,5,6}};

D) int a[][3]= {{1,2,3},{4,5,6}};

若定義數(shù)組并初始化int b[][3]={{1,2,3},{4,5,6}};以下語句哪一個成立( )?

A) b[1][2]的值為1

B) b[1][2]的值為4

C) b[1][2]的值為6

D) b[1][2]的值為2

若定義數(shù)組并初始化int b[][3]={{1,2,3},{4,5,6}};以下語句哪一個成立( )?

A) b[1][2]的值為1

B) b[1][2]的值為4

C) b[1][2]的值為6

D) b[1][2]的值為2

若定義數(shù)組并初始化int a[2][3]={{1,2,3},{4,5,6}},b[2][3]={ 1,2,3,4,5,6};

以下語句哪一個不成立( )?

A) a和b數(shù)組中各有6個元素

B) b數(shù)組的初始化是錯誤的

C) a數(shù)組與b數(shù)組中每個對應(yīng)元素相等

D) a、b數(shù)組都是整型數(shù)組

合法的數(shù)組初始化是( ).

A) int x[][]={{1,2,3},{4,5,6}};

B) int x[][3]={1,2,3,4,5};

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

D) int x[3][3]={1,2,3};

在對二維數(shù)組初始化時,錯誤的說法是( ).

A)可對二維數(shù)組的全部元素賦初值

B)可對二維數(shù)組的部分元素賦初值

C)給二維數(shù)組的全部元素賦初值時,可以不指定第一維的長度但第二維的長度不能省略

D)給二維數(shù)組的全部元素賦初值時,可以不指定第二維的長度但第一維的長度不能省略

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

main()

{int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);

}

A)0650 B) 1470 C) 5430 D)輸出值不確定

在內(nèi)存中,二維數(shù)組存放的順序是( ).

A)按行順序 B)按列順序 C)按元素的大小 D)按元素被賦值的先后順序

設(shè)定義了:char a[10]={'1','2','3','4','5'}; 則a[5]的正確初值是( ).

A) '5' B) 5 C) '\0' D) ' '

設(shè)有:char a[10]; 下列語句那個是正確的( )?

A) scanf("%c",a[0]);

B) scanf("%c",a);

C) printf("%c",a)

D) printf("%c",a[0])

設(shè)有定義:char a[][5]={{'*'},{'*',' ','*'},{'*',' ',' ',' ','*'},{'*',' ','*'},{'*'}};

則a[0][0]和a[4][4]的初值分別為( ).

A) *,*

B) 空格,空格

C) 空白符,*

D) *,空白符

設(shè)有:char a[]={"I am a student."}; 則a在內(nèi)存中占用的字節(jié)數(shù)是( ).

A) 15 B) 12 C) 16 D) 32

給出以下定義:char u[ ]="abcdef"; char v[ ]={'a','b','c','d','e','f'}; 則下列正確的描述為( ).

A) 數(shù)組u和數(shù)組v等價

B) 數(shù)組u和數(shù)組v的長度相等

C) 數(shù)組u的長度大于數(shù)組v的長度

D) 數(shù)組u的長度小于數(shù)組v的長度

若有以下定義和語句,則輸出結(jié)果是( ).

char string[ ]="Sunny";

printf("%.3s",string);

A) Su  B) Sun  C) Sunn  D) Sunny

C語言中實現(xiàn)字符串輸入的庫函數(shù)是( ).

A) gets(字符數(shù)組) B) puts(字符數(shù)組)

C) strlen (字符串) D) strcmp(字符串1,字符串2)

若定義數(shù)組并初始化char a[]={"hello"},該數(shù)組的元素個數(shù)是( ).

A) 不知道

B) 5

C) 6

D) 7

若定義數(shù)組并初始化char a[10]={"hello"},該數(shù)組的元素中’\0’的個數(shù)是( ).

A) 10

B) 5

C) 6

若定義數(shù)組并初始化char a[10]={"hello"},該數(shù)組的元素中 a[5]是( ).

A) 'h'

B) 'o'

C) '\0'

D) 'l'

若定義數(shù)組并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'},指出以下錯誤語句( ):

A)可以用scanf("%s",a[0]);語句對a[0]元素重新賦值。

B)可以用scanf("%s",&a);語句對a數(shù)組重新賦值。

C)可以用scanf("%c",a[3]);語句對a[3]元素重新賦值。

D)可以用scanf("%s",a);語句對a數(shù)組重新賦值。

數(shù)組初始化時,下面說法錯誤的是( ).

A)當(dāng)對一維數(shù)組的全部元素賦初值時,可以不指定長度

B)當(dāng)對二維數(shù)組的全部元素賦初值時,可以省略維數(shù)

C)用字符串對一維字符數(shù)組賦值時,可以不指定長度

D)用字符串對二維字符數(shù)組賦值時,可以省略維數(shù)

可以用如下的語句定義數(shù)組a:int n=10,a[n];

設(shè)已定義:int a[15]={1,2,3,4,5}; 則語句 printf("%d",a[5]); 的輸出結(jié)果是5。

數(shù)組中的所有元素必須屬于同一種數(shù)據(jù)類型。

數(shù)組名表示的是該數(shù)組元素在內(nèi)存中的首地址。

C語言只能單個引用數(shù)組元素而不能一次引用整個數(shù)組。

定義數(shù)組:int a[10]; 則數(shù)組a的最后一個元素是a[9],數(shù)組 a共有9個元素。

C語言中數(shù)組元素用數(shù)組名后帶圓括弧的下標(biāo)表示。

C語言中數(shù)組所占存儲單元的多少僅由數(shù)組的長度決定。

定義一維數(shù)組int a[10];則語句for(i=0;i<10;i++) scanf("%d",a[i]);是正確的。

給二維數(shù)組的全部元素賦初值,可以用如下的語句實現(xiàn):int a[][]={{1,2,3},{4,5,6},{7,8,9}};

C語言(函數(shù),變量作用范圍)一

C語言程序的基本單位是( ).

A) 程序 B) 語句 C) 字符 D) 函數(shù)

下列函數(shù)定義不正確的是 ( )。

A)int max() B)int max(x,y)

{ int x,y,z; int x,y;

z=x>y?x:y; {int z;

} z=x>y?x:y;

C) int max(x,y) return(z);

{ int x,y,z; }

z=x>y?x:y; D) int max()

return (z); { }

}

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

A)在C語言中總從第一個開始定義的函數(shù)開始執(zhí)行

B)在C語言中所有調(diào)用別的函數(shù)必須在main函數(shù)中定義

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

D)在C語言中,main函數(shù)必須放在最前面

以下說法中正確的是( ).

A) C語言程序是由一個或多個函數(shù)組成,其中至少有一個主函數(shù)

B)一個C語言文件至少應(yīng)有一個主函數(shù)

C)所有C語言函數(shù)都有返回值

D)C程序中,main函數(shù)必須放在其他函數(shù)之后

以下正確的函數(shù)定義是( ).

A) double fun(int x,int y);

{int z;

z=x+y; return z;}

B) fun(int x,y)

{int z; return z;}

C) double fun(int x,int y);

{double z;

z=x+y; return z;}

D) double fun( x, y)

int x,y;

{double z; z=x+y; return z;}

以下正確的函數(shù)聲明形式是( ).

A) float fun(int x,int y)

B) float fun(int x, y)

C) float fun(int x,int y);

D) float fun(int ,int )

C語言中,函數(shù)返回值的類型是由( )決定的。

A)調(diào)用函數(shù)時臨時

B)return語句中的表達式類型

C)調(diào)用該函數(shù)的主調(diào)函數(shù)類型

D)定義函數(shù)時,所指定的函數(shù)類型

關(guān)于return語句,正確的說法是 ( )。

A)可以在同一個函數(shù)中出現(xiàn)多次

B)必須在每個函數(shù)中出現(xiàn)

C)在主函數(shù)和其它函數(shù)中均可出現(xiàn)

D)只能在除主函數(shù)之外的函數(shù)中出現(xiàn)一次

C語言中形式參數(shù)的作用范圍是( ).

A) 其所在的函數(shù)內(nèi) B) 整個程序文件

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

A) double fun(int x,int y)

B) double fun(int x,int y);

C) double fun(int x, y)

D) double fun(int x, y);

以下函數(shù)f返回值是( ).

f(int x){return x;}

A)void類型 B) int類型 C) float類型 D) 無法確定返回值類型

以下說法中正確的是( ).

A)定義函數(shù)時,形參的類型說明可以放在函數(shù)體內(nèi)

B)return后面的值不能為表達式

C)如果函數(shù)值的類型與返回值的類型不一致,以函數(shù)值類型為準(zhǔn)

D)如果形參與實參的類型不一致,以實參為準(zhǔn)

若用數(shù)組作為函數(shù)調(diào)用的實參,傳遞給形參的是( ).

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

B)數(shù)組第一個元素的值

C)數(shù)組中全部元素的值

D)數(shù)組元素的個數(shù)

C語言中,調(diào)用一個函數(shù)時,當(dāng)形參是變量名時,實參和形參之間的數(shù)據(jù)傳遞是( ) 。

A)單純值傳遞

B)單純地址傳遞

C)值傳遞和地址傳遞都有可能

D)由實參傳給形參,然后由形參傳回給實參,既是雙向傳遞

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

A)max(a,b); B)max(3,a+b);

C)max(3,5); D)int max(a,b);

若輸入ab,程序運行結(jié)果為 ( )。

main()

{ char a[2];

scanf("%s",a);

printf("%c,%c",a[1],a[2]);

}

A)a,b B)a,

C)b, D)程序出錯

在下面對C語言函數(shù)的有關(guān)描述中,正確的是( ).

A)在C語言中調(diào)用函數(shù)時,若函數(shù)參數(shù)為簡單變量,則只能將實參的值傳給形參,形參的值不能傳給實參

B)函數(shù)必須有返回值,否則不能使用函數(shù)

C)C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一源程序文件中

在C語言中以下正確的說法是( ).

A) 當(dāng)函數(shù)的參數(shù)為簡單變量時,實參和與其對應(yīng)的形參各占用獨立的存儲單元;

B) 當(dāng)函數(shù)的參數(shù)為簡單變量時,實參和與其對應(yīng)的形參共占用一個存儲單元;

C) 形參是虛擬的,不占用存儲單元。

若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是( ).

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

B)數(shù)組第一個元素的值

C)數(shù)組全部元素的值

D)數(shù)組元素的個數(shù)

程序

f(int x)

{

return x;

}

main()

{

float a=3.14;

a=f(a);

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

執(zhí)行結(jié)果為( ).

A) 3 B) 3.14 C) 3.00 D) 0

執(zhí)行下列程序后, 變量a的值應(yīng)為( ).

f1(float x)

{return x+1.3;}

main()

{float a;

a=f1(2.4);

}

A) 3.7 B) 3 C) 4 D) 不確定

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

float f1(float x)

{

int k=2;

k=k*x;

return k;

}

main()

{

float b=4.3;

printf("%.1f",f1(b));

}

A) 8.6 B) 9.0 C) 8.0 D) 8

若有以下函數(shù)定義,則在主函數(shù)中正確的調(diào)用語句是

int fun(int array[3][5])

{ ………..}

main()

{ int a[3][5], b;

……..}

A)b=fun(a[3][5]);

B)b=fun(int a[3][5]);

C) b=fun(a);

E) b=fun(&a);

函數(shù)f的定義為:

f(int x)

{return x*x;}

以下程序是嵌套調(diào)用的有( ).

A)a=f(2)*f(2);

B)a=sqrt(f2(4)*f(4));

C)以上均不是

D)以上均是

對下列遞歸函數(shù):

int f(int n)

{

return (n==0)? 1: f(n-1)+2;

}

函數(shù)調(diào)用f(3)的返回值是( ).

A) 5 B) 6 C) 7 D) 以上均不是

在一個源文件中定義的全局變量的作用域為( )。

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

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

C語言中全局變量的作用范圍是( ).

A) 其所在的函數(shù)內(nèi) B) 整個程序文件

如果在一個函數(shù)中的復(fù)合語句中定義了一個變量,則該變量的作用范圍為( ).

A)在該函數(shù)中有效

B)在該復(fù)合語句中有效

一個函數(shù)一般由函數(shù)說明部分和函數(shù)體組成。

執(zhí)行下列語句后,程序的運行結(jié)果為( ).

int a=10;

f( )

{a=12;

}

main()

{f();

printf("%d",a);

}

A) 10 B) 12 C) 0 D) 不確定

以下說法中正確的是( ).

A)主函數(shù)中定義的變量是全局變量,其作用范圍僅限于函數(shù)內(nèi)部

B)主函數(shù)中定義的變量是全局變量,其作用范圍從定義之處到文件結(jié)束。

C)主函數(shù)中定義的變量是局部變量,其作用范圍僅限于函數(shù)內(nèi)部

D)主函數(shù)中定義的變量是局部變量,其作用范圍從定義之處到文件結(jié)束。

調(diào)用C語言函數(shù)時,實參可以是:

A)常量

B)變量

C)表達式

D)void

下面程序段是否正確。

main()

{ void fun()

{ ...

}

}

形參應(yīng)與其對應(yīng)的實參類型一致。

C語言中,void類型的函數(shù)可以不用在主調(diào)函數(shù)中聲明。

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

以數(shù)組名作為函數(shù)參數(shù)時,實參數(shù)組必須定義為具有確定長度的數(shù)組,而形參數(shù)組可以不定義長度。

Return語句后面的值不能為表達式。

對于不要求帶返回值的函數(shù),函數(shù)類型必須是void類型。

數(shù)組元素做函數(shù)的實際參數(shù),傳遞的是整個數(shù)組。

形參不是局部變量。

在一個函數(shù)定義中只能包含一個return語句。

主函數(shù)和其它函數(shù)可以互相調(diào)用。

以下程序運行結(jié)果為1,3,5,7。

main()

{ int a[4]={1,3,5,7};

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

}

函數(shù)調(diào)用可以作為一個函數(shù)的實參。

函數(shù)的嵌套調(diào)用就是在調(diào)用一個函數(shù)的過程中,又調(diào)用另一個函數(shù)。

數(shù)組名作為函數(shù)參數(shù)時,傳遞的是數(shù)組第一個元素的值。

C語言中允許函數(shù)的遞歸調(diào)用。

下面程序段能否正確執(zhí)行。

main()

{int m=n;

...

}

int n;

void func()

{int s=3;

n=s;

...

}

不同函數(shù)中定義的變量,其作用范圍都限制在各自的函數(shù)內(nèi),在內(nèi)存中占據(jù)的存儲單元也各不相同。

在C語言中,如果不對函數(shù)作類型說明,則函數(shù)的隱含類型為【 】。

C語言(函數(shù),變量作用范圍)二

1 C語言程序由函數(shù)組成,以下說法正確的是( A ).

A)主函數(shù)可以在其它函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)

B)主函數(shù)可以在其它函數(shù)之前,函數(shù)內(nèi)可以嵌套定義函數(shù)

C)主函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)不可以嵌套定義函數(shù)

D)主函數(shù)必須在其它函數(shù)之前,函數(shù)內(nèi)可以嵌套定義函數(shù)

2 以下說法中不正確的是 ( A )。

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

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

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

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

3 下面函數(shù)

f(double x)

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

的類型為( C ).

A) 實型 B)void 類型 C)int 類型 D) A)、B)、C)均不正確

4 以下說法中正確的是( C ).

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

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

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

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

5 以下正確的函數(shù)定義是( C ).

A) double fun(int x,int y);

{int z;

z=x+y; return z;}

B) fun(int x,y)

{int z; return z;}

C) double fun(int x,int y)

{double z;

z=x+y; return z;}

D) double fun( x, y)

{int x,y;

double z;

z=x+y; return z;}

6 定義為void類型的函數(shù),其含義是( A ).

A)調(diào)用函數(shù)后,被調(diào)用的函數(shù)沒有返回值

B)調(diào)用函數(shù)后,被調(diào)用的函數(shù)不返回

C)調(diào)用函數(shù)后,被調(diào)用的函數(shù)的返回值為任意的類型

D)以上三種說法都是錯誤的

7 設(shè)有如下定義:

int x=10,y=3,z ;

則語句

printf("%d\n",z=(x%y,x/y));

的輸出結(jié)果是( D ).

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

8 在C語言的函數(shù)中,( C )。

A)必須有形參 B)形參必須是變量名

C)可以有也可以沒有形參 D)數(shù)組名不能作形參

9 函數(shù)調(diào)用語句f((x,y),(a,b,c),(1,2,3,4));中,所含的實參個數(shù)是( C ).

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

10 如果函數(shù)的首部省略了函數(shù)返回值的類型名,則函數(shù)被默認(rèn)為( C )。

A)void類型 B)空類型

C)int類型 D)char類型

11 用數(shù)組名做函數(shù)的參數(shù),實際上傳遞給形參的是( A ).

A) 數(shù)組元素的首地址 B) 數(shù)組的第一個元素的值 C) 每一個數(shù)組元素 D)整個數(shù)組的個數(shù)

12 C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是( B ).

A)float

B)int

C)long int

D)void

13 已有以下數(shù)組定義和f函數(shù)調(diào)用語句,則在f函數(shù)的說明中,對形參數(shù)組array的錯誤定義方式是( B ).

int a[3][4];

f(a);

A)f(int array[ ][6])

B)f(int array[ 3][ ])

C)f(int array[ ][4])

D)f(int array[ 2][5])

14 下列說法中正確的是( D ).

A)調(diào)用函數(shù)時,實參變量與形參變量可以共用內(nèi)存單元

B)調(diào)用函數(shù)時,實參的個數(shù)、類型和順序與形參可以不一致

C)調(diào)用函數(shù)時,形參可以是表達式

D)調(diào)用函數(shù)時,將為形參分配內(nèi)存單元

15 下列語句中,不正確的是 ( 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))

16 以下函數(shù)調(diào)用語句:

fun(x+y,x-y);中實際參數(shù)的個數(shù)是( B ).

A) 1 B) 2 C) 4 D)5

17 C語言可執(zhí)行程序開始執(zhí)行點為( C ).

A)程序中第一條可執(zhí)行語句 B) 程序中第一個函數(shù)

C)程序中的main函數(shù) D) 包含文件中的第一個函數(shù)

18 若調(diào)用一個函數(shù),且此函數(shù)中無return語句,則正確的說法是( D ).

A) 沒有返回值;

B) 返回若干個系統(tǒng)默認(rèn)值;

C) 能返回一個用戶所希望的函數(shù)值;

D) 返回一個不確定的值

19 執(zhí)行下列程序后, 變量 i 的值應(yīng)為( A ).

int ma(int x,int y)

{return x*y;

}

main()

{ int i;

i = 5;

i = ma(i,i-1)-7;

}

A) 13 B) 17 C) 19 D) 以上都錯

20 下列程序的結(jié)果為( C ).

change(int x,int y)

{int t;

t=x;x=y;y=t;

}

main()

{

int x=2,y=3;

change(x,y);

printf("x=%d,y=%d\n",x,y);

}

A) x=3,y=2 B) x=2,y=3 C) x=2,y=2 D) x=3,y=3

21 執(zhí)行下列程序后, 變量a的值應(yīng)為( D ).

int f(int x)

{return x+3;}

main()

{int a=1;

while(f(a)<10)

a++;

}

A) 11 B) 10 C) 9 D) 7

22 若有以下函數(shù)定義,則在主函數(shù)中正確的調(diào)用語句是( C ).

void fun(int array[][5])

{ ………..}

main()

{ int a[3][5], b;

……..}

A)fun(a[3][5]);

B)b=fun(a);

C) fun(a);

D) fun(a)

23 C語言中的函數(shù)( D ).

A)可以嵌套定義。

B)不可以嵌套調(diào)用。

C)可以嵌套調(diào)用,但不能遞歸調(diào)用。

D)嵌套調(diào)用和遞歸調(diào)用均可。

24 C語言中( A )函數(shù)的遞歸調(diào)用.

A) 允許 B) 不允許

25 對于以下遞歸函數(shù)f, 調(diào)用f(4),其返回值為( B ).

int f(int n)

{ if (n)

return f(n-1)+n;

else

return n;

}

A) 8 B) 10 C) 11 D) 12

26 以下不正確的描述為( B ).

A)在函數(shù)之外定義的變量為外部變量,外部變量是全局變量。

B)在函數(shù)中既可以使用本函數(shù)中的局部變量,又可以使用全局變量。

C)若在同一個源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內(nèi),外部變量不起作用。

27 以下正確的說法是:建立函數(shù)的目的之一是( B ).

A) 提高程序的執(zhí)行效率; B) 提高程序的可讀性

C) 減少程序的篇幅; D) 減少程序文件所占內(nèi)存

28 執(zhí)行下列語句后,a的值為( C ).

int a=12, b=7;

m(int a,int b)

{

a=b;

}

main()

{

m(a,b);

}

A) 0 B) 1 C) 12 D) 7

29 全局變量的有效范圍為(D ).

A) 該程序的所有文件

B) 從本源文件的開始到結(jié)束

C) 該程序的主函數(shù)

D) 從定義變量的位置開始到本源文件結(jié)束

30 以下說法中正確的是( C ).

A)形參是全局變量,其作用范圍僅限于函數(shù)內(nèi)部

B)形參是全局變量,其作用范圍從定義之處到文件結(jié)束。

C)形參是局部變量,其作用范圍僅限于函數(shù)內(nèi)部

D)形參是局部變量,其作用范圍從定義之處到文件結(jié)束。

1 若使用一維數(shù)組名作為函數(shù)實參,則以下說法正確的是( AC )

A)必須在主調(diào)函數(shù)中說明此數(shù)組的大小

B)實參數(shù)組與形參數(shù)組類型可以不匹配

C)實參數(shù)組與形參數(shù)組的大小可以不一致

D)實參數(shù)組名與形參數(shù)組名必須一致

1 實參可以是常量、變量或表達式。 對

2 定義函數(shù)時,形參的類型說明可放在函數(shù)體內(nèi)。

3 在有參函數(shù)中,定義函數(shù)中指定的形參變量在整個程序一開始執(zhí)行時便分配內(nèi)存單元。

4 數(shù)組名作函數(shù)參數(shù)時,也采用“值傳送”方式。

5 在C函數(shù)中,當(dāng)以數(shù)組名作為參數(shù)時,對形參變量的操作不會影響到調(diào)用函數(shù)中的實參變量,即形參值不能傳回給實參。

6 函數(shù)調(diào)用可以作為一個函數(shù)的形參。

7 數(shù)組名做函數(shù)的參數(shù)時,可以只在主調(diào)函數(shù)中定義數(shù)組,被調(diào)用函數(shù)只需要確定名稱就可以了。

8 數(shù)組元素做函數(shù)的實參,是雙向傳遞,即“地址傳遞”方式。

9 形參和實參的變量名稱可以一樣。 對

10 除了利用實際參數(shù)和形式參數(shù)在各函數(shù)之間傳遞數(shù)據(jù)外,利用全局變量,也可以在各函數(shù)間傳遞數(shù)據(jù)。 對

11 函數(shù)的實參與形參的類型應(yīng)一致。 對

12 在C中,形式參數(shù)只是局限于所在函數(shù). 對

13 在一個函數(shù)定義中只能包含一個return語句。

14 C語言不允許在調(diào)用一個函數(shù)的過程中出現(xiàn)直接或者間接地調(diào)用該函數(shù)本身。

15 C語言中允許函數(shù)的嵌套定義和嵌套調(diào)用。

16 在同一源文件中,外部變量與局部變量同名時,則在局部變量的作用范圍內(nèi),外部變量不起作用。 對

17 不同函數(shù)中使用相同名字的變量時,代表的是相同的變量。

18 全局變量在在程序的全部執(zhí)行過程中都占用存儲單元。 對

1 f( int m )

{

int i, j;

for( i=0; i<m; p="" )

for( j=m-1; j>=0; j--)

printf("%1d%c",i+j, j?'*':'#');

}

如果調(diào)用f(3)將輸出【 2*1*0#3*2*1#4*3*2# 】

C語言(函數(shù),變量作用范圍)三

1 下列定義不正確的有 ( C ) 。

A)#define PI 3.141592 B)#define S 345

C)int max(x,y); D)char c;

int x,y ;

{ }

2 下列程序結(jié)構(gòu)中,不正確的是 ( B )。

A)main() B) main()

{float a,b,c; {float a,b,c;

scanf("%f,%f",&a,&b); scanf("%f,%f",&a,&b);

c=add(a,b); c=add(a,b);

...... .....

} }

int add(float x,float y) float add(float x,float y)

{ ... } { ... }

C)float add(float x,float y); D)float add(float x,float y)

main() { ... }

{float a,b,c; main()

scanf("%f,%f",&a,&b); {float a,b,c;

c=add(a,b); scanf("%f,%f",&a,&b);

...... c=add(a,b);

} .....

float add(float x,float y) }

{ ... }

3 一個C語言的程序總是從( A )開始執(zhí)行的.

A)main函數(shù)

B)文件中的第一個函數(shù)

C)文件中的第一個子函數(shù)調(diào)用

D)文件中的第一條語句

4 以下正確的函數(shù)定義是( D ).

A)double fun(int x,int y)

{z=x+y; return z;}

B) double fun(int x,int y);

{int z;

z=x+y; return z;}

C) fun(int x,y)

{int z; return z;}

D) double fun(int x,int y)

{double z;

z=x+y; return z;}

5 以下正確的函數(shù)聲明形式是( D ).

A) double fun(int x,int y)

B) double fun(int x;int y)

C) double fun(int ,int )

D) double fun(int ,int );

6 以下說法中正確的是( B )

在C語言中

A)實參與其對應(yīng)的形參各占用獨立的存儲單元

B)實參與其對應(yīng)的形參占用同一個存儲單元

C)只有當(dāng)實參與形參同名時才占用同一個存儲單元

D)實參占用存儲單元,但形參是虛擬的,不占用存儲單元

7 設(shè)有如下函數(shù)定義:

int f(char *s)

{ char *p=s ;

while(*p!='\0') p++;

return(p-s) ;

}

如果在主程序中用下面的語句調(diào)用上述函數(shù),則輸出結(jié)果為( A ).

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

的輸出結(jié)果是

A) 3 B) 6 C) 8 D) 0

8 下面程序段中,主函數(shù)中變量a被初始化為 ( C )。

int f()

{

return 3.5;

}

main()

{

int a=f();

}

A)3.5 B)無確定值

C)3 D)程序出錯

9 下面敘述不正確的是( D ).

A) 在函數(shù)中,通常用return語句傳回函數(shù)值;

B) 在函數(shù)中,可以有多條return語句;

C) 在C中,主函數(shù)main后的一對圓括號中也可以帶有形參;

D) 在C中,調(diào)用函數(shù)必須在一條獨立的語句中完成;

10-C語言函數(shù)返回值的類型是由( C )決定的。

A) 調(diào)用該函數(shù)的主調(diào)函數(shù)類型 B) 定義函數(shù)時所指定的函數(shù)類型

C) return語句中的表達式類型 D) 以上都錯

11-以下說法中正確的是( A ).

A)實參可以是常量、變量或表達式

B)形參可以是常量、變量或表達式

C)實參可以為任意類型

D)形參應(yīng)與其對應(yīng)的實參類型一致

12-C語言中規(guī)定,簡單變量做實參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是( B ).

A)地址傳遞

B)單向值傳遞

C)由實參傳給形參,再由形參傳給實參

D)由用戶指定傳遞方式

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

int power(int x,int y);

main()

{float a=2.6,b=3.4;

int p;

p=power((int)a,(int)b);

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

}

int power(int x,int y)

{int i,p=1;

for(i=y;i>0;i--)

p=p*x;

return p;

}

A) 8 B) 9 C) 27 D) 81

14-以下不正確的描述為( B ).

A)調(diào)用函數(shù)時,實參可以是表達式

B)調(diào)用函數(shù)時,實參變量與形參變量可以共用內(nèi)存單元

C)調(diào)用函數(shù)時,將為形參分配內(nèi)存單元

D)調(diào)用函數(shù)時,實參與形參的類型必須一致

15-下列語句中,不正確的是 ( C )。

A)char a[]={"China"}; B)char a[]="China";

C)printf("%s",a[0]); D)scanf("%s",a);

16-若有以下函數(shù)調(diào)用語句fun(a+b, (x,y), fun(n+k,d,(a,b)));在此函數(shù)調(diào)用語句中實際參數(shù)的個數(shù)是( A ).

A) 3 B) 4 C) 5 D) 6

17-下面程序

#include

main ( )

{

char *a="1234";

fun(a);

printf("\n");

}

fun ( char *s)

{ char t;

if(*s) {t = *s++; fun(s); }

if(t !='\0') putchar( t );

}

輸出為( B ).

A) 1234 B) 4321 C)1324 D) 4231

18-C規(guī)定,簡單變量做實參時,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是( B ).

A) 地址傳遞

B)單向值傳遞

C)有實參傳遞到形參,再由形參傳回給實參。

19-執(zhí)行完下列語句段后, i值為( C ).

int i;

int f(int x)

{ int k = x+1;

int t;

t=k; k=x; x=t;

return x;

}

i=f(f(1));

A) 1 B) 2 C) 3 D) 以上都錯

20-下列程序段的運行結(jié)果為( B ).

float f(int x)

{

x=x+3.6;

return x;

}

main()

{

printf("%.1f",f(2));

}

A) 6.0 B) 5.0 C) 5.6 D) 以上都不對

21-執(zhí)行下列程序后, 變量a的值應(yīng)為( A ).

int f(int x,int y)

{return x*y;}

main()

{int a=2;

a=f(f(a,a*a),f(a+a,a/3));

}

A) 0 B) 2 C) 8 D) 16

22-若有以下函數(shù)定義,則在主函數(shù)中正確的調(diào)用語句是( B ).

viod fun(int array[3][5])

{ ………..}

main()

{ int a[3][5], b;

……..}

A)fun(a[3][5]);

B)b=fun(a);

C) fun(a);

D) fun(&a);

23-若有以下變量說明和函數(shù)定義:

int a=4,b=6,c,k;

char ch='x';

float x,y,z;

sub(int x, int y, char ch, float *z)

{ switch(ch)

{case '+': *z=x+y;break;

case '-': *z=x-y;break;

case '*': *z=x*y;break;

case '/': *z=x/y;break;

}

}

則以下合法的函數(shù)調(diào)用語句是( B ).

A) sub(10,20,ch,y);

B) sub(1,2+3,'+',&z);

C) sub(sub(1,2,'+',&y), sub(3,4,'+',&x),'-',&y);

D) sub(a,b,&x,ch);

24-下面程序

#include

f ( int x )

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

else return ( x–f(x–2));

}

main ()

{

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

}

輸出結(jié)果是( A ).

A) 7 B) 3 C) 6 D) 8

25-以下說法中正確的是( B ).

A)一個函數(shù)在它的函數(shù)體內(nèi)調(diào)用它自身稱為嵌套調(diào)用。

B)一個函數(shù)在它的函數(shù)體內(nèi)調(diào)用它自身稱為遞歸調(diào)用。這種函數(shù)稱為遞歸函數(shù)。

C)一個函數(shù)在它的函數(shù)體內(nèi)調(diào)用其它函數(shù)稱為遞歸調(diào)用。這種函數(shù)稱為遞歸函數(shù)。

D)一個函數(shù)在它的函數(shù)體內(nèi)不能調(diào)用自身

26-以下敘述中不正確的是( D ).

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

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

C) 在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效

D) 在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效

27-C函數(shù)返回值的類型由( D )決定.

A)調(diào)用函數(shù)時臨時

B)return語句中的表達式類型

C)調(diào)用該函數(shù)的主調(diào)函數(shù)類型

D)定義函數(shù)時指定的函數(shù)返回值類型

28-執(zhí)行下列語句后,程序的運行結(jié)果為( A ).

int a=10;

f( )

{int a;

a=12;

}

main()

{f();

printf("%d",a);

}

A) 10 B) 12 C) 0 D) 不確定

29-以下說法中不正確的是( D ).

A)主函數(shù)中定義的變量只在主函數(shù)內(nèi)部有效

B)形式參數(shù)是局部變量

C)在函數(shù)內(nèi)部定義的變量只在本函數(shù)范圍內(nèi)有效

D)當(dāng)全局變量與局部變量同名時,局部變量不起作用

30-當(dāng)全局變量與函數(shù)內(nèi)部的局部變量同名時,則在函數(shù)內(nèi)部( A ).

A)全局變量有效

B)局部變量有效

C)全局變量與局部變量都有效

D)全局變量與局部變量都無效

1-設(shè)下面程序段中調(diào)用fun函數(shù)傳送實參a和b:

main( )

{ char a[10],b[10];

……

fun(a,b);

……

}

則在fun函數(shù)頭部中,對形參正確的定義是:(BCD)

A) fun(char a,b)

B) fun(char a1[],char a2[])

C) fun(char p[10], char q[10])

D) fun(char *s1,char *s2)

1 形參可以是常量、變量或表達式。

2 如函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準(zhǔn)。

3 下面兩種寫法等價。

(1) int fun(int x,int y) (2) int fun(x,y)

int x,y ;

4 在C語言中,最好使用全局變量.

5 以下說法是否正確:若調(diào)用C標(biāo)準(zhǔn)庫函數(shù),調(diào)用前必須重新定義。

6 形式參數(shù)和實際參數(shù)的個數(shù)可以不同。

7 數(shù)組名做函數(shù)的參數(shù)時,實參數(shù)組和形參數(shù)組大小一定要一致。

8 用數(shù)組名做函數(shù)參數(shù),形參數(shù)組可以不指定大小。

9 C語言中函數(shù)的返回值類型是由return語句中的表達式類型決定的。

10 數(shù)組名作為函數(shù)參數(shù),應(yīng)該在主調(diào)函數(shù)與被調(diào)函數(shù)中分別定義數(shù)組,不能只在一方定義。

11 下面的程序是否有一個整型輸出值。

main()

{int a ;

a=pp();

printf("%d",a);

}

void pp()

{ }

12 以數(shù)組名作為參數(shù)時,數(shù)據(jù)傳送方向是“雙向的”。即形參值可以傳回給實參。

13 所有的函數(shù)都是平行的,一個函數(shù)并不從屬于另一個函數(shù)。

14 只有主函數(shù)才可以調(diào)用其它函數(shù)。

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

16 在同一文件中,外部變量與局部變量同名。在局部變量的作用范圍內(nèi),外部變量的值等于局部變量的值。

17 main函數(shù)中定義變量是全局變量。

18 當(dāng)全局變量與函數(shù)內(nèi)部的局部變量同名時,則在函數(shù)內(nèi)部全局變量有效。

1-執(zhí)行完下列語句段后, i值為【 1 】。

int i;

int f(int x)

{int k = 0;

x+=k++;

return x;

}

i=f(f(1));

指針一

對于類型相同的指針變量,不能進行哪種運算( )?

A) - B) + C) = D) >

若有以下說明,則正確的賦值表達式是( )。

int x,*p;

A) p=&x B) p=x C) *p=&x D) *p=*x

有如下語句int a=10,b=20,*p1,*p2;p1=&a;p2=&b;若要實現(xiàn)p1,p2均指向b,可選用的賦值語句是( )。

A) *p1=*p2; B) p1=p2; C) p1=*p2; D) *p1=p2;

以下程序的運行結(jié)果是( )。

sub(int x,int y,int *z)

{*z=y-x;}

main()

{int a,b,c;

sub(10,5,&a);

sub(7,a,&b);

sub(a,b,&c);

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

A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7

以下程序中調(diào)用scanf函數(shù)給變量a輸入數(shù)值的方法是錯誤的,其錯誤原因是( )。

main()

{int *p,*q,a,b;

p=&a;

printf("input a:");

scanf("%d",*p);

……

}

A) *p表示的是指針變量p的地址 B) *p表示的是變量a的值,而不是變量a的地址

C) *p表示的是指針變量p的值 D) *p只能用來說明p是一個指針變量。

變量的指針,其含義是指該變量的( )。

A) 值 B) 地址 C)名 D)一個標(biāo)志

若有說明:int *p,m=5,n; 以下正確的程序段是( )。

A)p=&n; B)p=&n; C)scanf("%d",&n); D)p=&n;

scanf("%d",&p); scanf("%d",*p); *p=n *p=m;

下面程序段運行結(jié)果是( )。

char *p="%d,a=%d,b=%d\n";

int a=111,b=10,c;

c=a%b; p+=3;

printf(p,c,a,b);

A)1,a=111,b=10 B)a=1,b=111 C)a=111,b=10 D) 以上結(jié)果都不對。

執(zhí)行下面程序段后,ab的值為( )。

int *var,ab;

ab=100;var=&ab; ab=*var+10;

A)120 B)110 C)100 D)90

若有定義:int x,*pb;則正確的賦值表達式是( )。

A)pb=&x B)pb=x C)*pb=&x D)*pb=*x

下面程序運行結(jié)果是( )。

void fun(int x)

{ printf("%d\n",++*x);

main()

{int a=25;fun(&a);}

A)23 B)24 C)25 D)26

對于兩個類型相同的指針變量,不能進行( )運算?

A. + B. - C. = D. ==

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

a. 4 b. 6 c. 8 d. 10

main( )

{ int k=2,m=4,n=6;

int *pk=&k,*pm=&m,*p;

*(p=&n)=*pk*(*pm);

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

}

若有int a[10]={1,2,3,4,5,,6,7,8,9,10};*p=a;則數(shù)值為9的表達式是( )。

A. *p+9 B. *(p+8) C. *p+=9 D. p+8

若有以下說明和語句,且0≤i<5,則下面哪個答案( )是對數(shù)組元素地址的正確表示?

float a[]={1.6,3.0,-5.4,7.8,94.0},*p,i;

p=a;

A) &(p+i) B) a++ C) &p D) &p[i]

若有以下說明, 則a[*(a+a[3])]的值為( )。

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

A) 8 B) 3 C) 0 D) 不合法

以下程序運行后,輸出結(jié)果是( )。

main( )

{

int a[10]={19,23,44,17,37,28,49,36},*p;

p=a;

printf("%d\n",(p+=3)[3]);

}

A) 44 B) 17 C) 49 D) 運行時出錯,無定值

更多資料

廣東省專升本《大學(xué)語文》真題

云南專升本《高等數(shù)學(xué)》真題(2019年)

統(tǒng)招專升本《高等數(shù)學(xué)》真題回憶版(2021年)

更多課程

《市場營銷學(xué)》公開課—業(yè)務(wù)成長戰(zhàn)略

1節(jié)課

《基礎(chǔ)會計》公開課—會計要素-反映財務(wù)狀況的會計要素

1節(jié)課

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

1節(jié)課

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

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

去領(lǐng)取

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

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

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

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

    下載