1、答题说明:要求所有解答均写在答题卡上,否则无效。 一、填空题(每空1分,共20分) 1. 数组名做函数实参时,它和对应形参之间数据传递方式是 。 2. 自定义函数的形参放在内存的 存储区。 3. 若有定义int a=3, b=6, c;则执行语句c = a / b +3.5;后,c的值为 。 4. 表示“x ≥10或y+z ≥ 6”的C表达式是_______ 。 5. 若输入字符‘A’,在以下while语句执行后ch的值为 。 while (ch = getchar ( )
2、 = ‘A’); 6. 已知 int a[ ]={1,3,5,7,9}, *p=a, *q; q=p+2; 则执行下列语句printf ( “%d”, *q++);后的输出结果为 。 7. 已知int i=10;表达式 “11<= i <=9; ” 的值是 。 8. 字符串存储时,末尾被系统自动加上 字符。 9. 若定义char str1[ ]= “ABcd”, str2[ ]= “abCD”;则表达式strcmp (str1,str2)>0;的值为 。 10. 在说明语句:int *f ( );中,标识符f
3、代表的是 。 11. 逗号表达式 “(a=3*5,a*2), a+10; ” 的值是 。 12. 若定义数组int a[ ]={1,2,3,4,5,6};,则该数组元素a[a[2]+1]的值为 。 13. 已知int i=1; 执行语句while (i++<4) ;后,变量i的值为 。 14. 定义char str[20]; 如果想通过调用标准库函数完成字符数组str的输入,则实现方式为 。 15. 下面的for语句:for ( x=0, y=10; (y>0) && (x<4)
4、 x++, y-- ) ;共执行的循环次数为_ _次。 16. 程序设计常采用模块化的思想,C语言中子模块通常用 来实现。 17. 若希望产生1~6之间的随机数,则正确的C表达式为n =__ __。 18. 若有以下定义:int a=20, *p=&a; 执行语句a=*p-10; 后a的值是 。 19. 根据文件的存储形式,文件可分为二进制文件和 文件。 20. 设有如下定义语句:FILE *fp;若要以只读方式打开一个二进制文件file.dat,则正确的语句应为fp = fopen (“f
5、ile.dat”, “ ”);。
二、阅读程序(每题5分,共30分)
1. 下列程序运行的结果是: 。
#include
6、则以下程序的输出结果是: 。
#include
7、 。
#include
8、 y=1;
x+=2;
y+=2;
return x+y;
}
void main ( )
{
int a,b;
a=fun ( );
b=fun ( );
printf(“%d,%d\n”, a,b);
}
5. 下列程序运行的结果是: 。
#include
9、
}
6. 下列程序运行的结果是: 。
#include
10、 (1) int isprime(int a) { int i; for ( i=2; i<=sqrt (a); i++) if ( (2) ) return 0; return 1; } void main ( ) { int iNumber; printf (“请输入一个整数:”); scanf (“%d” , &iNumber); if ( (3) ) printf (“%d是素数” , iNumber); else printf (“%d不是素数
11、 , iNumber);
}
2. 以下程序的功能是将数组中的元素按反序存放并输出。
#include 12、10);
for( (7) )
printf ( "%3d", a[i] );
}
3. 以下程序的功能是用利用折半查找法,在不超过100个数中查找指定的数据。
#include 13、f("%d", &x);
t=0;b=n-1;find=0;
do
{
(8) ;
if (a[m]==x )
{
printf("找到了%3d,是 a[%d]\n",x,m);
find = 1;
}
else if ( (9) ) b = m - 1;
else t = m + 1;
} while( (10) );
if( find == 0 )
printf(“%3d 没有找到.\n",x);
}
四、编程题(每题10分,共30分) 14、
1. 输入n的值,输出如图所示高为n的等腰三角形(例如,下图为n=6时的等腰三角形)。
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * * * * * *
2. 求这样一个三位数,该三位数等于其每位数字的阶乘之和(通过调用自定义函数计算阶乘)。即: abc = a! + b! + c!
3. 从键盘输入一行字符,统计其中字母、空格、数字以及其它字符的个数。
答题卡
一、填空题:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
二、阅读程序写结果:
1.
2.
3.
4.
5.
6.
三、程序填空题:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
四、编程题:
7






