14.以下程序的执行结果是 。(2级)
#include
int fun(int x,int y,int *cp,int *dp) { *cp=x+y; *dp=x-y; }
void main(void) { int a, b, c, d; a=30; b=50; fun(a,b,&c,&d);
printf(\}
15.下列程序的输出结果 。(1级)
#include
{char b[]=\char *chp=&b[7]; while(--chp>&b[0]) putchar(*chp); putchar('\\n'); }
16. 阅读程序
main()
{char str1[]=\,str2[10]; char *p1=str1,*p2=str2; scanf(\printf(\printf(\}
运行上面的程序,输入字符串PEOPLE AND COMPUTER,程序的输出结果是 。(2级)
17. 下列程序的运行结果是 。(2级) main() { int i,*p;
static int a[4]={1,2,3,4}; p=a;
for(i=0;i<3;i++)
printf(\ }
18.以下程序的运行结果是 。(2级) main() { int i,*p;
static int a[4]={1,2,3,4}; p=a;
for(i=0;i<3;i++)
printf(\ }
19. 分析程序
#define FORMAT \ main()
{static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12} printf(FORMAT,a,*a);
printf(FORMAT,a[0],*(a+0); printf(FORMAT,&a[0],&a[0][0]); printf(FORMAT,a[1],a+1);
printf(FORMAT,&a[1][0],*(a+1)+0); printf(FORMAT,a[2],*(a+2)); printf(FORMAT,&a[2],a+2);
printf(FORMAT,a[1][0],*(*(a+1)+0)); }
如果数组a的首地址为404,则程序的运行结果为 。(2级)
五、编程题
1.编写一个程序计算一个字符串的长度。(1级)
2.编写一个程序,用12个月份的英文名称初始化一个字符指针数组,当键盘输入整数为1到12时,显示相应的月份名,键入其它整数时显示错误信息。(1级) 3.编一程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串。请用指针完成。(2级)
4.编一程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调函数中完成复制。 (2级)
5.设有一数列,包含10个数,已按升序排好。现要求编一程序,它能够把从指定位置开始的n个数按逆序重新排列并输出新的完整数列。进行逆序处理时要求使用指针方法。试编程。(例如:原数列为2,4,6,8,10,12,14,16,18,20,若要求把从第4个数开始的5个数按逆序重新排列,则得到新数列为2,4,6,16,14,12,10,8,18,20。)(2级)
6.通过指针数组p和一维数组a构成一个3×2 的二维数组,并为a数组赋初值2、4、6、8、?。要求先按行的顺序输出此“二维数组”,然后再按列的顺序输出它。试编程。(2级)
7.编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数) (2级)
8.编写一程序,从键盘输入10个数存入数组data[10]中,同时设置一个指针变量 p指向数data,然后通过指针变量p对数组按照从小到大的顺序排序,最后输 出其排序结果。(2级)
9. 编一程序,从一个3行4列的二维数组中找出最大数所在的行和列,并将最大 值及所在行列值打印出来。要求将查找和打印的功能编一个函数,二维数组的 输入在主函数中进行,并将二维数组通过指针参数传递的方式由主函数传递到 子函数中。(2级)
10. 编一程序,首先将一个包含10个数的数组按照升序排列,然后将从一指定位 置m开始的n个数按照逆序重新排列,并将新生成的相互组输出。要求使用指
针控制方法实现上述功能。(2级)
11.遍一程序,在主函数中输入10个数并保存到数组,同时编写一被调用函数 funct,函数funct有两个形式参数(其中一个用于接收数组,另一个表示该数 组的元素个数),funct功能是找出该数组中的最大值的位置并将该最大值的地 址作为函数funct的返回值到主函数中。在主函数中打印出该数组的最大值。(2级) 12.编一程序,设置一个排序函数sort,该函数将数组按照从小到大的顺序进行排序,其中有两个形式参数,一个为指向数组的指针p,另一个为数组的元素个数n。在主函数main()中要求从键盘输入10个数存入数组data[10]中,同时要求调用函数sort对data进行排序,并在main()中输出最终的排序结果。(2级)