练习答案
更新时间:2023-09-13 18:12:01 阅读量: 教学研究 文档下载
综 合 练 习 题
一、从下列四个供选择的答案中选出正确的一个答案 1、语句printf(“%%d%d”, 123); 将输出: A) 3%d B) %?23 C) ?23 D)上述语句语法有错 “%%”格式表示输出一个“%”。 2、执行下列程序段后, a值为:
int a, b; a=15; b=12;
a=(a-- ==b++)? a%5 : a/5;
A) 0 B) 2.8 C ) 4 D) 2 先计算a--==b++的值:
a--的值为15,执行后a=14;b++的值为12,执行后b=13;15==12为假 执行a/5即14/5值为2 结果: a = 2
3、判断字符变量c的值为数字(?0?---?9?)则返回1,否则返回0, 可用表达式: A) ?0?<=c<=?9? B) ?0?<=c && c<=?9? C) ?0?<=c || c<= ?9? D)以上均不是 4、对于int x, y; 语句 if (x<0) y= -1; else if (!x) y=0; else y=1; 等价于:
A) y=0; if (x>=0) if (x) y=1; else y= -1;
B) if (x!=0) if (x>0) y=1; else y= -1; else y=0; C) if (x<0) y= -1; if (x!=0) y=1; else y=0; D) y= -1; if (x!=0) if (x>0) y=1; else y=0;
语句if (x<0) y= -1; else if (!x) y=0; else y=1; 等价于: if (x < 0) y = -1; else {
if (!x)
y = 0; else
y = 1; } 即:
-1 x < 0 y = 0 x = 0 1 x > 0
5、循环 for(i=0, j=5; ++i!=--j; ) printf(“%d %d”, i, j); 将执行 A) 6次 B) 3次 C) 0次 D) 无限次
i = 0, j = 5, (++i?1) != (--j?4) 成立: i = 1, j = 4 i = 1, j = 4, (++i?2) != (--j?3) 成立: i = 2, j = 3 i = 2, j = 3, (++i?3) != (--j?2) 成立: i = 3, j = 2
1
6、下列程序段执行后s值为:
int i=5, s=0;
do if (i%2) continue; else s+=i; while (--i);
A) 15 B) 9 C) 6 D) 以上均不是 写成规范形式:
do
if (i % 2)
continue; else
s += i;
while (--i);
i = 5, s = 0: i % 2 = 1: i = 4 i = 4, s = 0: i % 2 = 0: s = 0 + 4 = 4; i = 3 i = 3, s = 4: i % 2 = 1: i = 2 i = 2, s = 4: i % 2 = 0: s = 4 + 2 = 6; i = 1 i = 1, s = 6: i % 2 = 1: i = 0 7、对于int a,要使((1<<2>>1)|a)==a; 则a 可以是: A) 2 B) 6 C) 10 D) 2,6,10均可
1: 0000 0000 0000 0001 1<<2: 0000 0000 0000 0100
1<<2>>1: 0000 0000 0000 0010 (1<<2>>1) | 2: 0000 0000 0000 0010 (2)
(1<<2>>1) | 6: 0000 0000 0000 0110 (6) (1<<2>>1) | 10: 0000 0000 0000 1010 (10) 8、对于以下宏定义:
#define SQ(x) x*x #define DD(x,y) SQ(x)-SQ(y) 宏调用DD(2*3, 2+3)执行后值为:
A) 43 B) 11 C) 25 D) 以上均不是
DD(2*3,2+3) ?SQ(2*3)-SQ(2+3) ?2*3*2*3-2+3*2+3 ?43
9、语句if (a>b) k=0; else k=1; (int a, b, k) 等价于: A) k=(a>b)?1:0; B) k=a>b; C) k=a<=b; D) 以上均不是
10、对于int i; char c, s[20];从输入序列123ab45efg中将123读入i; ? b?读入c; “45efg”读入s, 则scanf语句应写为:
A) scanf(“ú%c%s”, i, c, s) B) scanf(“%d%*c%c%s”,&i, &c, s);
2
C) scanf(“ú%c%s”, &i,&c,&s) D) scanf(“%d%c%c%s”, &i, &c, s); 11、对于以下递归函数f, 调用f(4),其返回值为:
int f(int n) { return f(n-1)+n; } A) 10 B) 11 C) 0 D) 以上均不是 12、如下程序段:
int c[]={1, 7, 12}; int *k; k 1 c[0] k=c; 7 c[1] printf(\ 12 c[2] 其输出应为:
A) 2 B) 7 C) 1 D)以上均不对
13、执行 i=3; if(i>3) if ( i<4 ) i=1 else i=2; 后i的值应为: A) 1 B) 2 C) 3 D) 语句错误 14、执行下列程序:
#define MA(x, y) ( (x)*(y) ) i=5;
i=MA(i,i+1)-7; 后变量i的值应为:
A) 30 B) 19 C) 23 D) 1 MA(i,i+1)-7 ? ((i) * (i+1)) – 7 ? (5 * 6 ) – 7 ? 23
15、执行下列程序:
int i, j;
i = 3/2 + 7/2 == 5;
j = 45 % 11 + (((7>8) ? 14:21) == 14); 后变量i,j的值应为:
A) i=0 j=1 B) i=1 j=1 C) i=0 j=2 D) i=1 j=2
i = ((3/2 + 7/2) == 5) = ((1+3) == 5) = (4 == 5) = 0;
j = 1 + (21 == 14) = 1 + 0 = 1
16、如果char cc[]=\,做sizeof(cc)后的返回值应为
A) 2 B) 5 C) 6 D) 1
sizeof()返回参数对象的字节数: 这里的参数是字符数组cc,有6个元素. 17、如果 int i=16, j=23 ; 执行 printf(\后输出为: A) 10--23 B) 10--27 C) 16--23 D) 16--27
3
18、执行下列程序:
#define MA(x, y) (x)*(y) int i = 2;
i = 3/MA(i, i+1)+5; printf(“%d\\n”, i); 其输出应为:
A) 5 B) 8 C) 0 D) 以上都错 3/MA(i,i+1)+5 ? 3/(i)*(i+1)+5 ? 3/2*3+5 ? 8
19、有一函数:
int f(int a) {
auto int b = 0; static int c = 3; b = b+1; c = c+1;
return(a+b+c);}
如果有int i, j; 则执行两次调用:i=f(2); j=f(2) 后, i, j值为: A) i = 7, j = 7 B) i = 7, j = 8 C) i = 8, j = 7 D) i = 8, j = 8 注意静态局部变量static int c;的含义
第一次调用f(2):
开始时: b = 0, c = 3
执行: b = 0 + 1 = 1, c = 3 + 1 = 4; 返回: a+b+c=2+1+4=7;
调用结束后: 静态局部变量c=4保持不变; 第二次调用f(2): 开始时: b = 0, c = 4
执行: b = 0 + 1 = 1, c = 4 + 1 = 5; 返回: a+b+c=2+1+5=8;
调用结束后: 静态局部变量c=5保持不变; 20、有一函数:
int f(char *s) { int k = 0;
while (*s) k = k*10+*s++-?0?; return(k); }
调用f(“1234”)的返回结果是:
4
A) “1234” B) 1234 C) “4321” D) 4321
while循环等价于: while (*s) k = k * 10 + (*s++) – ?0?; 该函数的作用:将数字字符串转换成相应的整数. 21、static int a[] = {1,2,3}, *p, *q;
p = a+1; q = p++;
执行该程序段后, p和q所指向的单元的内容分别为:
A) (*p) = 1, (*q) = 2 B) (*p) = 2, (*q) = 3
C) (*p) = 3, (*q) = 2 D) 以上都错
二、填空题
p 22、用for循环打印 1 4 7 10 13 16 19 22 25 , 其语句应为: for (i=1; i<=9; i++) printf(“=”, _3*i-2__);
23、执行完下列语句段后, i,j值分别为:___355,350__ int i, j; j=10*(i=5);
i+=j*=i+2;
第一条语句执行后: i = 5, j = 50 执行第二条语句: i+=j*=i+2
? i += (j *= (i+2)) ? i += (j *= 7) ? i += (j = 50*7)
? i = 5 + 350 = 355, j = 350
24、执行完下列语句段后, i值为:__5__ static int a[3][4]={{1,2,3},{4,5,6}}, i; i= a[0][5];
a[0][0] 1 X a[0][1] 2 X+2
a[0][2] 3 X+4
a[0][3] ? X+6 a[1][0] 4 X+8 a[1][1] 5 X+10 a[1][2] 6 X+12 a[1][3] ? X+14 a[2][0] ? X+16 a[2][1] ? X+18 a[2][2] ? X+20 a[2][3] ? X+22
5
a
1 a[0] 2 a[1] 3 a[2]
a[0][5]的地址: X+(0*4+5)*2 = X + 10, 即对应于a[1][1]。 25、执行完下列语句段后, i值为:__4___ int i; int f(int x) { static int k = 0; x+=k++; return x;} i=f(2); i=f(3);
26、执行完下列语句段后, i值为:__18__
int i;
int f(int x)
{ return ((x>0)? x*f(x-1):3); } i=f(f(1)); 调用f(1):
(1>0) 成立,执行1*f(0)=f(0),
调用f(0) = 3
所以,f(1)=3; 调用f(3):
f(3) = 3 * f(2)
f(2) = 2 * f(1) = 2 * 3 = 6 所以 f(3) = 3 * 6 = 18
27、执行完下列语句段后, s和f值分别为: __”%s%lf”, 12.4__
char s[20]; double f;
sscanf(“%s%lf 12.4%s?2.5”, “%s %lf”, s, &f);
函数sscanf()的一般形式: sscanf(char *buffer, char *format, var1, var2, var3, …) 它的含义:从缓冲区buffer中按照格式字符串format读入变量var1,var2,var3,…的值。 28、对于char c; 若已知其值为小写字母, 将其转换为相应大写字母的表达式为 ___c – ?a? + ?A?______ 29、int i=0, s=0; while (i int i, s; for(_i=0,s=0; i < n; s+=i++_); 30、下面是用二分法从数组v[n]中查找数x的函数,返回值为x所在下标(若找到)或-1(没找到): binsearch(int x, int v[], int n) 6 { int low, high, mid; low=0; high=n-1; while (low<=high) { mid = _ (low+high)/2_; if (x 31、对于整型变量i,j执行scanf(\当输入2 3 4 5 6后 i=_ 2_ j= _4__ 32、对于 int *p, *q, i=5, j=6;执行: p = &i; q = p; p = &j;后 (*p)=_ 6_ , (*q)= __5__ 33、f( int m ) { int i, j; for( i=0; i for( j=m-1; j>=0; j--) printf(“%c\#'); } 如果调用f(3)将输出__2*1*0#3*2*1#4*3*2#__ 34、void f( int *a, int b ) { static int k=0; *a += ++k; b +=2; } 若执行 i=2; j=4; f( &i, j ); f( &j, i ) 后 i= __3__, j= __6___ i 2 ? 3 j 4 i 3 j 4 ? 6 k 0 ? 1 k 1 ? 2 a b 4 ? 6 a b 3 ? 5 35、用for循环打印 0 1 2 0 1 2 0 1 2; for( i=1; i<=9; i++ ) printf(\(i-1)%3__); 7
正在阅读:
练习答案09-13
4指导教师评语1(共5篇)08-23
西华师范大学-统计学复习资料 - 图文01-27
较复杂的三组抢答器的PLC控制 - 图文11-08
娌??鐗堝垵浜岀墿鐞嗐02-03
构造地质期末总结07-10
曼昆微观经济学复习题1答案06-03
第四章 保险的基本原则练习题答案考05-06
新课程改革对教师提出哪些要求04-29
- 公务员上岸同学告诉你,怎样走出面试中常见的十大误区
- 作表率,我们怎么办(办公室主任)
- 乘务员安全责任书
- 增员面试流程
- 河南省焦作市规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 最新4社区工作者面试题
- 个人简历表
- 男教工体检必检项目
- 河南省兰考县规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 兼职译员测试稿
- 河南省开封市规模以上租赁和商务服务业企业应付职工薪酬数据洞察报告2019版
- 永州职业技术学院校园总体规划-永州职业学院
- 最新5、培训科长笔试题(答案)
- 2019雅商酒店境外人员登记培训稀有资料,不可错过
- 小学教师求职简历范文
- 红酒知识与礼仪
- 春节给领导拜年的短信拜年词
- 2019年上半年中小学教师资格证结构化面试真题1
- 20XX年县干部培训工作目标
- 硬笔试听课
- 练习
- 答案
- 多年电销的心得与体会
- 换热机组控制系统 - 图文
- DIY 法国高商EDHEC申请
- 英语二冲刺班讲义 - 图文
- 9-040342001《英美文学欣赏》
- 我的化学课堂教学智
- 婚前贷款买房婚后归属问题研究
- 站内联系电路、铁路信号基本知识6
- 伊利亚特教案 - 图文
- 油脂厂菜籽油生产改扩建项目环境影响报告表 - 图文
- 《庖丁解牛》导学案
- 大家小传 王国维
- 第7章 随机解释变量
- 技能科教师教学业务手册(四年级信息技术上册)
- 附录6:内审管理(征求意见稿)
- 重庆市渝北区产业投资项目准入管理暂行办法
- 北师大版语文三年级上册要求背诵的课文及古诗
- 硫化氢中毒事故案例
- 初中语文课后“读一读写一写”字词库2014.10
- 加拿大留学租房,如何挑选符合自己生活要求的住宿方式