else return 0 ; }
第十章
4. 下面程序建立一个主次对角在线的元素为1,其余元素为0的5阶方阵并输出。请选择填空。 #include
{int a[5][5]={0},*p[5],i,j; for(i=0;i<5;i++) p[i]=【1】 &a[i][0] ; /*使指针数组p指向二维数组每行首地址*/
for(i=0;i<5;i++)
{*(p[i]+【2】 i )=1; /*使主对角在线元素为1*/ *(p[i]+5-【3】 (i+1) )=1;/*使次对角在线元素为1*/
}
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
printf(\【4】 p[i][j] ); 【5】 printf(\ } }
[1] A、&a[i][0] B、&a[i][1] C、&p[i] D、
&a[0][i]
[2] A、0 B、1 C、i D、(i+1) [3] A、0 B、1 C、i D、(i+1) [4] A、a[i][i] B、a[j][j] C、p[i][i] D、p[i][j]
[5] A、putchar(“\\n”); B、putchar(‘\\n’);
C、putchar(‘\\0’); D、printf(“’\\n’);
5. 下面程序交换a,b的值,请填空
#include \
void swap(int *p1,int *p2) {int temp ;
【1】 temp =*p1; *p1=*p2;
*p2=【2】 temp ;
17
}
void main() {int a,b; int *p_1,*p_2;
printf(\ scanf(\
p_1=【3】 &a ; p_2=【4】 &b ; if(a
6. 若一个字符串顺读和倒读都一样,则此字符串是“回文”,如LEVEL,下面程序判断输入的字符串是否是“回文”。请填空。
#include
char s[81],*pi,*pj; int n;
gets(s);n=strlen(s);
pi=【1】 s ;pj=【2】 s+n-1 ; /*pi指向串首,*pj指向串尾*/
while(*pi= =' ') 【3】 pi++ ; /*跳过字符串的前导空格*/
while(*pj= =' ') 【4】 pj-- ; /*跳过字符串最后面的空格*/
while((【5】 pi if(pi } 第十三章 7. 从键盘输入一些字符存贮到磁盘文件中,直到输入一个\为止。 #include \ main() {FILE *fp; 18 char ch, filename[10]; scanf(\ if((fp=【1】 fopen (filename, 【2】 \=NULL) {printf (\ exit(0); } ch=【3】 getchar(fp) ; while(ch!=【4】 '#' ) {fputc (ch, fp); ch=getchar(fp); } 【5】 fclose(fp) ; } 8. 从磁盘文件E:\\D.txt中顺序读入字符,并显示在屏幕上。 #include FILE 【1】 *fp ; char ch; fp=fopen(\【2】 E:\\\\D.txt\ ch=fgetc(fp); while(ch!= 【3】 EOF ) { putchar(ch); ch=【4】 fgetc(fp) ; } printf(\ 【5】 fclose(fp ) ; } 三、判断题 第一章 1. √C语言可以直接访问物理位元元址。 2. √C语言既可以用来写系统软件,也可以用来写应用软件。 19 3. √C中的变量必须“先定义,后使用”,函数也不例外。 4. √一个C源程序只能有一个main()函数。 5. √一个C源程序可以由一个main()函数和若干个其它函数组成。 6. ×C程序中和每一行就是一个语句。 第三章 7. ×min和id-s都是合法的标识符。 8. √在某种意义上,char和int通用。 9. √若a=2,b=-4;则执行a||b++ 后,b为-4。 10. √在C程序中“%”是只能用于整数运算的运算符,而“/”是既可以用于整数运算又可以用于实数运算的运算符。 11. ×用户标识符中可以出现下划线和中划线(减号)。 12. ×在C中 变量不定义也可以使用。 13. √表达式 ’a’ 和 “a” 是不同的,前者长度为1,后者长度为2。 14. √自增自减运算符++,--可以用于int型、float型和double型资料。 15. √在某种意义上,char和int通用。 16. ×自增运算符和自减运算符的结合方向也是“自左向右”。 第四章 17. ×格式字符%md中的m只能为正,不能为负。 第五章 18. ×在C的if语句中,用作判断的表达式只能是关系表达式或逻辑表达式。 19. ×若有int a,b; 则a=(b*b>b)的值是1。 20. ×若a=2,b=-4; 则执行a||b++ 后,b为-3。 21. √若a=7,b=5; 则执行a&&b++ 后,b为6。 22. √在C中能代表逻辑值“假”的是0。 23. ×若有int x,y,z; x=y=z=1;则执行++x&&++y&&++z后,x,y,z的值分别为2,1,1。 第六章 24. ×continue语句可用于switch语句,也可用于for、while和do循环语句中。 20