指针p指向一个double类型的动态存储单元,请填空。
p= 【11】 malloc(sizeof(double));
答案:【11】(double*)
评析:函数malloc返回的是void*,所以若要使指针指向一个double类型,则必须进行类型转换,类型转换格式为:(数据类型*)。
(12)下面程序的功能:输出100以内能被3整除且个位数为6的所有整数,请补充完整。
main().
{ int ij;
for(i=o; 【12】 ;i++)
{ j=i*10+6;
if( 【13】 )continue;
printf("%d",j);
}
}
答案:【12】i【13】j%3!=0
评析:本题要求输出100以内能被3整除且个位数为6的所有整数,程序中j=i*10+6;语句是求个位数为6的整数,由此可得出程序的循环次数为i
(13)函数mycmp(char*s,char。t)的功能是比较字符串s和t的大小,当s等于t时返回0,
当s>t返回正值,当s mycmp(char*s,char*t)
{ while(*s==*t)
{ if(*s==’\0’)return 0;
++s;++t;
}
return( 【14】 );
}
答案:【14】*s-*t或-*t+*s
评析:函数的两个形参是两个字符指针变量,字符串的首地址是指针变量的值,*s和*t表示字符串数组s和t的第一个字符,在while循环中,是通过s和t值的不断变化来改变指针所指向的字符,要改变s和t所指不同字符的ascii码的差值,必须使用"*s-*t"得出。
(14)以下程序运行后的输出结果是 【15】 。
void fun(、)
{
static int a=0:
a+=2;printf("%d",a);
}
main()
{ int cc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
答案:【15】2 4 6
评析:static声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。
(15)下列程序的运行结果是 【16】 。
main()
{ union example
{ struct
{int x;int y;}in;
int a;
int b:
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf("%d,%d\n",e.in.x,e.in.y);
}
答案:【16】4,8
评析:c语言规定,共用体中各个成员变量在内存中占用同一段内存单元,即e.in.x和e.a、e.b占用同一段内存单元,由于e.in.x和e.a、e.b占用的是同一段内存单元,所以程序最后的打印结果为"4,8"。 (16)在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数 是 【17】 函数。
答案:【17】[nnlrewind或fseek
评析:在对文件进行操作的过程中,若要求文件的位置回到文件的开头,可以调用rewind或fseek函数。其中rewind函数的作用是将位置指针重新返回文件的开头,而fseek函数可以实现文件指针的定位。
(17)以下函数
上一页 [1] [2] [3] [4] [5] [6] [7] [8] 下一页
责任编辑:小草