Return(x);
}
6、编写程序题。
假设已知10个学生的姓名和学号,请编写分别满足下面条件的三个函数,其中函数中的形式参数int num[10]表示学号,char name[10][20]表示姓名。
(1)编写函数void input(int num[10],char name[10][20]),输入10个学生的学号和姓名。
(2)编写函数void sort(int num[10],char name[10][20]),用选择排序法将10个学生的学好有效到大排序,姓名顺序也随之调整;
(3)编写函数void display(int num[10],char name[10][20]);显示10个学生的姓名和学号。
1、若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是(D)。
A. p=q B.*p=*q C.n=*q D.p=n
2、以下程序运行输出的结果是( )。
#include “stdio.h”
#include “string.h”
Main()
{char *s1=“abcdef”,*s2=“aB”;
Printf(“%d”,strcmp(s1,s2));
}
A.正数 B.负数 C.零 D.不确定的值
3、下面程序运行的结果是( )
Main()
{int I,j;
Char str[]=“12345678”;
Char *s=str;
Char *p=s,c;
While(*p) p++;
P - -;
while(s<p)
{c=*s;
*s++=*p;
*p--=c;
}
printf(“%s;”,str);
}
4、改错。下面程序段的功能是输出数组的各元素。
Main()
{static int a[]={5,4,3,2,1};
Int I;
For(I=0;I<5;I++)
Printf(“%d”,*a++);/*改此行*/
}
1、设有如下定义:
struct sk
{int a;
float b;
}data;
Int *p;
若要使p指向data中的成员a,正确的赋值语句是()。
A. p=&a; B.p=data.a; C.p=&data.a; D.*p=data;
2、以下各选项企图说明一种新的类型名,其中正确的是()。
A.typedef v1 int; B.typedef int v3;
C.typedef v2=int; D.typedef v4:int;
3、下列程序的输出结果:
main( )
{int a,b;
int *p,*q;
p=&a;
q=&b;
*p=3;
*&b=4;
printf("%d,%d,%d,%d",a,b,*p,*q); }
4、填空
(1)下面这个程序的功能是使用指针来实现数组的输入和输出。请在程序的空白处填入合适的内容。
main( )
{int s[10],*p,i;
;
for(i=0;i<10;i++)
scanf("%d",p++);
;
for(i=0;i<10;i++)
printf("%5d",*p++);
}
(2)下面这个程序的功能是实现将一维数组s[12]降序排列,在在程序空白处填入合适内容.
main( )
{int s[12],num,i,j;
int *p;
;
for(i=0;i<12;i++)
scanf("%d",p+i);
for(i=0;i<12;i++)
for(j=i+1;j<12;j++)
if(*(p+j)>*(p+i))
;
for( ; ; p++)
printf("%5d",*p); }
1、填空题: