?2022年遼寧專升本C語言程序設(shè)計習(xí)題練習(xí)(2)
摘要:本文是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) 運行時出錯,無定值
延伸閱讀
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(九)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(八)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(七)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(六)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(五)
- 2022年遼寧專升本思想道德修養(yǎng)與法律基礎(chǔ)模擬題(四)
專升本微信公眾號
掃碼添加
專升本備考資料免費領(lǐng)取
去領(lǐng)取