程序设计大赛试题
1
、 选择题
(
每小题 2 分,共 20 分
)
1.
已有定义
: int x = 3 , y = 4 , z = 5 ;
则表达式
!(x+y)–z+1&&y+z>>2
的值是
( )
A) 1 B) -3 C) 2 D) 0
2.
阅读下面程序,执行后的结果为( )
int fun ( int x[ ] , int n )
{ static int sum = 0 , i ;
for ( i=0 ; i< n ; i++) sum+=x[ i ] ;
return sum ;}
main ( )
{ int a[ ]= {1,2,3,4,5}; b[ ]= {6,7,8,9}, s = 0 ;
s = fun ( a , 5 ) + fun ( b , 4 ) ; printf (“%d” , s ) ; }
A) 55 B) 45 C) 50 D) 60
3.
已知
: int a[6], *p = a ;
则下列不能表示
a[1]
地址的表达式是
( )
A) a+1 B) a++ C) ++p D) p+1
4.
有以下程序
struct st
{ int n ; struct st *next ; };
static struct st a[3]={ 5, &a[1] , 7 , &a[2], 9,’ ’ } , *p ;
则值为
6
的表达式是
( )
A) p++ -> n B) p-> n ++ C) ++p-> n D) ( *p ) .n++
5.
以下程序的运行结果是
( )
point ( char * p ) { p+=3;}
main ( )
{ char b [ 4 ] = { ‘a’ , ‘b’ , ‘c’ , ‘d’ } , *p = b ;
point ( p ) ; printf (“%c”, *p ) ; }
A) a B) b C) c D) d
6.
设有以下定义:
int a[4][3]= {1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12};
int
(*prt) [3] = a
,
*p=a[0]
;
则下列能够正确表示数组元素
a[2][2]
的表达式是( )