首页 理论教育 C语言函数和数组的相关问题及答案

C语言函数和数组的相关问题及答案

时间:2023-10-30 理论教育 版权反馈
【摘要】:A)12yzB)a2yzC)abcyzD)abyz2.关于子函数返回值的程序段中错误的是()。A)1401B)53C)503D)40416.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()。A)所有文件的所有范围B)所在程序的全部范围C)所在函数的全部范围D)由具体定义位置和extern 说明来决定范围24.关于变量使用域的叙述中正确的是( )。A)数组a 和b 长度相同B)a 数组长度小于b 数组长度C)a 数组长度大于b

C语言函数和数组的相关问题及答案

(单选题)

1.以下程序的输出结果是(  )。

A)12yz B)a2yz C)abcyz D)abyz

2.关于子函数返回值的程序段中错误的是(  )。

A)main(){……x=fun(2,10);……}float fun(int a,int b){……}

B)float fun(int a,intb){……}main(){…… x=fun(i,j);……}

C)float fun(int,int);main(){……x=fun(2,10);……}float fun(int a,int b){……}

D)main(){float fun(int i,int j);……x=fun(i,j);……float fun(int a,int b){………}

3.关于子函数调用的叙述中正确的是(  )。

A)实用的C 语言源程序总是由一个或多个函数组

B)不同函数的形式参数不能使用相同名称的标识符

C)在C 语言的函数内部,可以定义局部嵌套函数

D)用户自己定义的函数只能调用库函数

4.关于子函数return 语句的叙述中正确的是(  )。

A)一个自定义函数中必须至少有一条return 语句

B)一个自定义函数中可以根据不同情况设置多条return 语句

C)定义成void 类型的函数中可以有带返回值的return 语句

D)没有return 语句的自定义函数执行结束时不能返回到调用处

5.设int fun( int *p){ return *p;},则此函数返回值是(  )。

A)NULL B)一个整数

C)形参p 中存放的值 D)形参p 的地址

6.关于return 语句的叙述中错误的是(  )。

A)用户定义的函数中可以没有return 语句

B)用户定义的函数中若没有return 语句,则应当定义函数为void 类型

C)用户定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值

D)函数的return 语句中可以没有表达式

7.关于函数调用的叙述中错误的是(  )。

A)C 程序必须由一个或一个以上的函数组成

B)函数形参的值也可以传回给对应的实参

C)若函数有返回值,必须通过return 语句返回

D)函数调用可以作为一个独立的语句存在

8.若函数f 调用了函数g,函数g 又调用了函数f,则以下说法中正确的是(  )。

A)称为函数的调用

B)称为函数的间接递归调用

C)称为函数的循环调用

D)C 语言中不允许这样的递归调用

9.关于void fun()的叙述中正确的是(  )。

A)fun 函数无返回值

B)fun 函数的返回值是NULL

C)fun 函数的返回值是无值型的指针类型

D)指针fun 指向一个函数,该函数无返回值

10.若int fun(double x[10],int *n)则下面针对此函数的函数声明语句中正确的是(  )。

A)int fun(float, int);

B)int fun(float *x, int n);

C)int fun(double*,int*);

D)int fun(double x,int *n);

11.关于静态变量的叙述中错误的是(  )。

A)C 程序函数的形参不可以说明为static 型变量

B)C 程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

C)C 程序函数中定义的自动变量,系统不自动赋确定的初值

D)在C 程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内

12.以下程序的输出结果是(  )。

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

13.以下程序的输出结果是(  )。

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

14.以下程序的输出结果是(  )。

A)7 B)8

C)9 D)10

15.以下程序的输出结果是(  )。

A)1401 B)53 C)503 D)404

16.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(  )。

A)形参只是形式上的存在,不占用具体存储单元

B)函数的形参和实参分别占用不同的存储单元

C)同名的实参和形参占同一存储单元

D)函数的实参和其对应的形参共占同一存储单元

17.若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是(  )。

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

18.以下程序的输出结果是(  )。

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

19.以下程序的输出结果是( )。 (strcat 函数用以连接两个字符串)

A)\OFG\OIJK B)ABCDIJK

C)IJK D)EFG

20.执行程序时,给变量x 输入10,,则以下程序的输出结果是( )。

A)45 B)50 C)60 D)55

21.以下程序的输出结果是( )。

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

22.以下程序的输出结果是( )。

A)9 B)8 C)7 D)5

23.关于全局变量作用域的叙述中正确的是( )。

A)所有文件的所有范围

B)所在程序的全部范围

C)所在函数的全部范围

D)由具体定义位置和extern 说明来决定范围

24.关于变量使用域的叙述中正确的是( )。

A)局部变量不能被说明为static

B)只要是用户定义的标识符,都有一个有效的作用域

C)只有在函数内部定义的变量才是局部变量

D)只有全局变量才有自己的作用域,函数中的局部变量没有作用域

25.关于变量的定义和说明的叙述中正确的是( )。

A)对于变量而言,“定义”和“说明”这两个词实际上是同一个意思

B)在复合语句中不能定义变量

C)全局变量的存储类别可以是静态类

D)函数的形式参数不属于局部变量

26.以下程序的输出结果是( )。

A)50 B)55 C)60 D)65

27.以下程序的输出结果是(  )。

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

28.以下程序的输出结果是(  )(www.xing528.com)

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

29.以下程序的输出结果是(  )。

A)28 B)30

C)32 D)34

30.设char a[]="xyz",b[]={'x', 'y','z'};,则关于数组长度的叙述中正确的是(  )。

A)数组a 和b 长度相同

B)a 数组长度小于b 数组长度

C)a 数组长度大于b 数组长度

D)上述说法都不对

31.若char *line[5];,则以下叙述中正确的是(  )。

A)定义line 是一个数组,每个数组元素是一个基类型为char 的指针变量

B)定义line 是一个指向字符型函数的指针

C)定义line 是一个指针数组,语句中的*号称为间址运算符

D)定义line 是一个指针变量,该变量可以指向一个长度为5 的字符型数组

32.若int m[]={5,4,3,2,1},i=4;, 则下面对m 数组元素的引用中错误的是(  )。

A)m[--i] B)m[2*2]

C)m[m[0]] D)m[m[i]]

33.若有定义语句:float x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x 数组元素的是(  )。

A)*p B)x[5]

C)*(p+1) D)*x

34.若要定义一个具有5 个元素的整型数组,以下错误的定义语句是(  )。

A)int a[5]={1};

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

C)int c[2+3]

D)int i=5,d[i]

35.合法定义一维数组的是(  )。

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

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

C)char a={'A','B','C'};

D)int a[5]="0123"

36.以下程序的输出结果是(  )。

A)345678 B)321678

C)1098765 D)876543

37.不合法的数组定义是(  )。

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

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

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

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

38.关于数组的叙述中正确的是(  )。

A)语句int a[4][3]={1,2,4,5};是错误的初始化形式

B)语句int a[][3]={1,2,4,5};是错误的初始化形式

C)在逻辑上,可以把二维数组看成是一个具有行和列的表格或矩阵

D)语句int a[4][3]={{1,2},{4,5}};是错误的初始化形式

39.设int x[2][3];则以下关于二维数组x 的叙述错误的是(  )。

A)数组x 可以看作是由x[0]和x[1]两个元素组成的一维数组

B)可以用X[0]=0;的形式为数组所有元素赋初值0

C)元素x[0]可看作是由3 个整型元素组成的一维数组

D)x[0]和x[1]是数组名,分别代表一个地址常量

40.以下程序的输出结果是(  )。

A)1,3,5, B)3,5,7,

C)2,4,8, D)3,6,9,

41.关于字符数组定义中存在语法错误的是(  )。

A)char ss[ ][20]={"right? "};

B)char *ss[6]; ss[l]= "right? ";

C)char *ss[ ]={"right? "};

D)char ss[6][20]; ss[l]="right? ";

42.关于字符数组的描述中有错误的是(  )。

A)字符数组中的内容不一定是字符串

B)可以用输入语句把字符串整体输入给字符数组

C)不可以用赋值语句给字符数组名赋字符串

D)字符数组只能存放字符串

43.关于字符数组的定义中有语法错误的是(  )。

A)char str[3][10]; str[l]="guest";

B)char str[ ][10] ={"guest"} ;

C)char *str[3]; str[l]="guest";

D)char *str[ ]={"guest"} ;

44.关于字符串的叙述中正确的是(  )。

A)两个连续的单引号(")是合法的字符常量

B)可以对字符串进行关系运算

C)两个连续的双引号("")是合法的字符串常量

D)空字符串不占用内存,其内存空间大小是0

45.能正确进行字符串赋值的是(  )。

A)char*s;gets(s);

B)char *s="ABCDE"

C)char s[4][5]={"ABCDE"};

D)char s[5]={ 'A','B','C','D','E'};

46.以下程序的输出结果是(  )

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

47.若有以下程序段

for(i=0;i<4;i++)strp[i]=str[i];不能正确引用字符串的选项是(  )。

A)strp B)str[0] C)strp[3] D)*strp

48.关于字符串的叙述中正确的是(  )。

A)下面的语句用赋初值方式来定义字符串,其中,"'\0'"是必须的,char str1[]={'s','t','r','\0'}

B)有定义语句:char str1[]="str1";,数组str1 将包含4 个元素

C)字符串常量“str1”的类型是:字符串数据类型

D)字符数组的每个元素可存放一个字符,并且最后一个元素必须是"'\0'字符

49.关于字符串的叙述中正确的是(  )。

A)char ca[3][5]={"Aa","BBb", "CCc");是不合语法的

B)字符串数组,是指数组中的每个元素都是一个存放字符串的一维数组

C)char ca[ ][5]={"A","BB","CCC");是不合语法的

D)char *ca[3]={"A","BB","CCC"};是不合语法的

50.关于字符串的叙述中正确的是(  )。

A)函数调用“strlen(s);”会返回字符串s 实际占用内存的大小(以字节为单位)

B)两个字符串可以用关系运算符进行大小比较

C)当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和

D)C 语言本身没有提供对字符串进行整体操作的运算符

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈