请将答案填在答题卡内
答题卡
一、选择题
1
2
3
4
5
6
7
二、填空题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
第十一章
一、选择题
1.下面程序的运行果是 ( A )
#include<stdio.h>
int main(void)
{
int x[5]={2,4,6,8,10}, *p, **pp;
p = x;
pp = &p;
printf(%d , *(p++));
printf(%d\n, **pp);
return 0;
}
A4 4         B2 4         C2 2         D4 6
2于以下量定,正确的赋值 (  D   )
int *p[3], a[3];
Ap = a         B*p = a[0]         Cp = &a[0]         Dp[0] = &a[0]
3.下列程序的出是 (  D )
#include<stdio.h>
int main(void)
{
int a[12] = {1,2,3,4,5,6,7,8,9,10,11,12}, *p[4], i;
for (i = 0; i < 4; i++)
p[i] = &a[i*3];
printf("%d\n", p[3][2]);
return 0;
}
A.上述程序有错误         B6         C8         D12
4.假下列程序保存在test.c 中,编译后运行test hello world则输出是 )
#include<stdio.h>
int main(int argc, char *argv[ ])
{
printf(%d,%s, argc, argv[1]+1);
return 0;
}
A2,est         B2,ello         C3,ello         D3,orld
5有如下定表,则值为7 的表达式是 C )
struct st{
int n;
struct st *next;} a[3] = {5, &a[1], 7, &a[2], 9, NULL}, *p = a;
Ap->n         B(p->n)++     C(++p)->n     Dp->next->n
二、填空
1. 下面程序可以逐行出由language 元素所指向的5 个字符串。
#include<stdio.h>
int main(void)
{
char *language[] ={BASIC,FORTRAN,PROLOG,JAVA,C++};
char *q      ;
int k ;
for(k = 0 ; k < 5 ; k++) {
q =   language[k]        ;
printf(%s\n, *q);
}
return 0;
}
2.下面的程序10 个成最高分并出。
#include<stdio.h>
int *GetMax(int score[ ], int n);
int main(void)
{
int i, score[10], *p;
for(i = 0; i < 10; i++)
scanf(%d, &score[i]);
p=             ;
printf(Max:%d\n, *p);
return 0;
}
int *GetMax(int score[ ], int n)
{
int i, temp, pos = 0;
temp = score[0] ;
for(i = 0 ; i < 10 ; i++)
if(score[i] > temp)
{ temp = score[i];
pos = i ;
}
return         ;
}
3. 下面程序的运行果是
#include<stdio.h>
int main(void)
{
static int a[4][4];
int *p[4], i, j;
for(i = 0; i < 4; i++)
p[i] = &a[i][0];
for(i = 0 ; i < 4 ; i++) {
*(p[i] + i) = 1 ;
*(p[i] + 4 - (i + 1)) = 1;
}
for(i = 0; i < 4; i++){
for(j = 0; j < 4; j++)
printf(%2d, p[i][j]);
printf(\n);
}
return 0;
}
解答:
1 0 0 1
0 1 1 0
0 1 1 0
1 0 0 1
4.下列函数用于将表中各点的数据依次出。
void print(struct student *head)
{
struct student *p ;
p=head;
if(head != NULL)
do {
printf(%ld\n, p->data);
printf怎么读英语          ;
} while (           );
}
5. 已建立学生“英程的成绩链表(成存于score 域中,学号存于num 域中),
列函数用于出不及格学生的学号和成,考学生人数。
void require(struct student *head)
{
struct student *p;
long x;
if( head != NULL) {
        ;
while(p != NULL) {
if(             ) {
printf(%7d %6.1f\n, p->num, p->score);
x++;
}
p = p->next;
}
printf(%ld\n, x);
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。