1、 C 语言程序设计练习题 B一、单项选择题1. 以下选项中可作为 C 语言合法整数的是( )A)10110B B)0386 C)0Xffa D)x2a22. 以下选项中非法的表达式是( )A)0s2)S B) if(strcmp(s1,s2)S;C) if(strcmp(s2,s1)0)S D) if(strcmp(s1,s2)0)S; 12. 下列条件语句中,功能与其它语句不同的是( )A) if(a) printf(“%dn“,x); else printf(“%dn“,y);B) if(a=0) printf(“%dn“,y); else printf(“%dn“,x);C) if (a
2、!=0) printf(“%dn“,x); else printf(“%dn“,y);D) if(a=0) printf(“%dn“,x); else printf(“%dn“,y); 13. 有以下定义和语句 int a32=1,2,3,4,5,6,*p3; p0=a1;则*(p0+1)所代表的数组元素是( )A) a01 B) a10 C) a11 D) a1214. 已有定义:int i,a10,*p;,则合法的赋值语句是( )A) p=100 B) p=a5 C) p=a2+2 D) p=a+2; 15. 设有如下程序段:int x=2002, y=2003;printf(“%dn“,
3、(x,y);则以下叙述中正确的是( )A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息 C)输出值为 2002 D)输出值为 200316. 有以下说明和定义语句 struct student int age; char num8; struct student stu3=20,“200401“,21,“200402“,109,“200403“;struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是( )A) (p+)-num B) p-num C) (*p).num D) stu3.age17以下叙述中正确的是( )A) 预
4、处理命令行必须位于源文件的开头 B) 在源文件的一行上可以有多条预处理命令 C) 宏名必须用大写字母表示 D) 宏替换不占用程序的运行时间 18. 要求以下程序的功能是计算:s= 1+1/2+1/3+1/10main() int n; float s;s=1.0;for(n=10;n1;n-) s=s+1/n;printf(“%6.4fn“,s); 程序运行后输出结果错误,导致错误结果的程序行是( )A)s=1.0 B)for(n=10;n1;n-) C)s=s+1/n D)printf(“%6.4fn“,s);19. 下列函数定义中,会出现编译错误的是( )A)max(int x,int y
5、,int *z) B)int max(int x,y) *z=xy ? x:y; int z;z=xy ? x:y;return z; C)max(int x,int y) D)int max(int x,int y) int z; return(xy?x:y); z=xy?x:y; return(z);20. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参2、阅读程序写结果1.以下程序运行后的输出结果是 _ 。main() int i,n
6、=0,0,0,0,0;for(i=1;i2);printf(“%dn“,j);7. 设有以下程序:main() int n1,n2;scanf(“%d“,while(n2!=0) n1=n2%10;n2=n2/10;printf(“%d“,n1);程序运行后,如果从键盘上输入 1298;则输出结果为_。8. 以下程序输出的最后一个值是_。int ff(int n) static int f=l;f=f*n;return f;main() int i;for(i=1;iaji) k=j; s+= _ ; *sum =s; main() int xMN=3,2,5,1,4,1,8,3,s; Sum
7、ColumMin( _ _, _ ); printf(“%dn“,s); 3. 以下程序的功能是将字符串 s 中的数字字符放入 d 数组中,最后输出 d 中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。#include “stdio.h“#include “string.h“main() char s80, d80;int i,j;gets(s);for(i=j=0;si!=0;i+)if(_) dj=si; j+; dj=0;puts(d);四、编程题1.编写函数 fun 的功能用选择排序法对数组的的数据按从小到大的顺序排列。C 语言程序设计
8、练习题 B 答案一、选择题1.C2.D3.D4.A 5.D6.C7. D8.C9. A 10.D 11. D 12. D13.C 14. D 15. D16. D 17. D18. C 19. B 20. D二、读程序写结果1. 1 3 7 152. 1 2 30 0 00 0 03. si=0 s+= _ ; aki *sum =s; main() int xMN=3,2,5,1,4,1,8,3,s; SumColumMin( _ _, _ ); x, 3. 以下程序的功能是将字符串 s 中的数字字符放入 d 数组中,最后输出 d 中的字符串。例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。#include “stdio.h“#include “string.h“main() char s80, d80;int i,j;gets(s);for(i=j=0;si!=0;i+)if(_) dj=si; j+; si=0puts(d);四、编程题(略)