一、单选题(共20分,每小题1分)
- 变量名代表该变量的【 】。
- (A) 类型
- (B) 值
- (C) 存储地址
- (D) 要素
二、填空题 (共20分,每小题1分)
- 要调用函数
sqrt
时,在#include
命令行中应包含【 】。 - 如果定义
char str1[ ]="abc"; char str2[ ]={'e','f','g'};
则strlen(str1)
和strlen(str2)
的函数值分别是【 】和【 】。
三、分析题 (共30分,每小题5分)
- 给出下列程序的运行结果。
#include <stdio.h>
void main( )
{
int a[ ]={1,2,3,4,5,6}, *p=a;
printf("%d,%d\n", *p, *(p+1));
p++;
printf("%d,%d\n", *(p+1), p-a);
}
- 所谓回文,是指正向拼写与反向拼写都一样的字符串,例如,
adegeda
是回文。函数huiwen
的功能是检查一个字符串是否为回文,当字符串是回文时,函数返回字符串“Yes
”,否则函数返回字符串“No
”。请填空。
char *huiwen(char *str) {
char *p1,*p2;
int i, t=0;
p1=str;
p2= 【1】 ;
for(i=0; i<=(int)strlen(str)/2; i++)
if(*p1++!=*p2--) { 【2】; break; }
if( 【3】 ) return(“Yes”);
else return(“No”);
}
四、设计题 (共30分,每小题10分)
- 编写程序实现:对一个整数序列按照由大到小的顺序进行排序,然后插入一个整数,使序列仍保持有序。(要求写三个函数:主函数、排序函数和插入操作函数,且要求输入输出操作在主函数中完成)。
说明:
- 在草稿纸上书写草稿,用目视编译运行验算无误后,用工整的字体誊写在答题纸的指定位置。代码编译通过所必须的头文件不可省略。
- 为代码的目的写注释(
// quick sort of the string a
),而不要为代码做翻译式的注释(例如:y=strlen(a); // y is length of a
)。- 注意审题,题目要求的每一个要件都应该达到,题目要求不需要写出的勿写(写错反而扣分)。