C语言程序设计练习题整理 下载本文

d+=a++;

printf(“%d”,d);

}

A.8 4 B.9 6 C.9 4 D.8 5 6、 C语言中,若省略函数数据类型说明,则函数值的隐含类型是( ) A.void B) int C)float D) extern 7、 下面函数调用语句含有实参的个数是( )。 Func((exp1,exp2),(exp3,exp4,exp5));

A.1 B.2 C.4 D.5 8、 以下正确的函数定义形式是( )。

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

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

二、填空题

1、 函数中的形参和调用时的实参都是数组名时,传递方式为 ,都是变量时,传递方式为 。

2、 函数的形式参数的作用域为 ,全局的外部变量和函数体内定义的局部变量重名时, 变量优先。

3、 若自定义函数要求有返回值,则应在该函数体中有一条 语句;若自定义函数要求不返回一个值,则应在对该函数的说明时加一个类型说明符 。

4、 下面函数要求计算两个整数x 、y之和,并通过形参z传回该两个整数之和的值,请填空

add( int x , int y , z )

{ = x + y ; return ; }

17

第7章 指针

一、选择题:

1、 设有定义”int a = 3, b, *p = &a; ”,则下列语句中使b不为3的语句是( ) A.b = *&a; B.b = *&p; C.b = a ; D.b = *p ;

2、 设指针x指向的整型变量值为25,则printf(“%d\\n”, ++ *x);的输出是( ) A.23 B.24 C.25 D.26 3、 若有说明:int i, j = 7, *p = &i ; 则与i = j;等价的语句是( ) A.i = p ; B.*p = *&j ; C.i = &j ; D.i = **p ; 4、 若有说明:int a[10], *p = a ; 对数组元素的正确引用是( ) A.a[ p ] B.p[ a ] C.*( p + 2 ) D.p + 2 5、 下面各语句行中,能正确进行赋字符串操作的语句是( ) A.char a[5]={“ABCDE”} ; B.char s[5]={?A?,?B?,?C?,;D?,?E?}; C.char *s; s=“ABCDEF”; D.char *s; scanf(“%s”, &s); 6、 若有以下定义,则不能表示a数组元素的表达式是( )

int a[10] , *p = a ;

A.*p B.a[10] C.*a D.a[p-a] 7、 若有以下定义,则值为3的表达式是( )

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

A.p+ =2, (p++) B.p+=2,++p C.p+=2,*p++ D.p+=2,++*p 8、 执行语句”char a[10] = {“abcd”}, p = a;”后,*(p+4)的值是( )

A.”abcd” B.?d? C.?\\0? D.不能确定 9、 设有定义语句”int (*ptr)[10] ; ” , 其中ptr的是( ) A.10个指向整型变量的指针

B.指向10个整型变量的函数指针

C.一个指向具有10个元素的一维数组的指针 D.具有10个指针元素的一维数组

18