一、课前背诵+检查(5min)??????????????????????????? (1)自动类型转换关系图:______________________ ??????????类型转换原则:?______________________ (2)赋值语句中的类型转换原则:______________________ (3)强制类型转换一般形式:?______________________ 二、学习内容(25分钟) 1.字符输出函数putchar()
- 常用格式:__________________________________________??? ? ? ? ? ? ? ? ? ? ? ? ?
- 功 ???能:__________________________________________ ??????????????????????????????
- 参数c可以是:______________________________________
2.格式化输出函数printf()
- 常用格式:_________________________________________ ??????????????????????????????
- 功 ???能:非格式符:_______________________________ ??????????????????????????????
格式符:字符:_________字符串:_________ ????????整型:___________、__________、__________ ???????浮点型:__________、__________、__________ 三、典型例题(5分钟) 1.已定义x为float型变量 x=213.82631; printf("%-4.2f\n",x); 则以上语句 A.输出格式描述符的域宽不够,不能输出 ??B.输出为213.83 C.输出为213.82 ????????????????????????D.输出为-213.82 2.若char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A'); 则输出结果是: A.3,M B.3,E ??????? C.2,E ? D.输出项与对应的格式控制不一致,输出结果不确定 3.设有: int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是 A.1 ?????????B. 0 ????????C.4 ?????????D.3 4.请读程序: main() { int a=1,b=2; printf("%d\n",a=a+1,a+6,b+2);} 则上面程序的输出结果是 A.2 B.3 C.4 ?D.1 5.请读程序: ??m=1234.123; printf=("%-8.3f\n",m); printf=("%10.3f\n",m); 则上面程序的输出结果是 A.1234.12300 1234.123 ?B.1234.123 1234.123 C.1234.123 1234.12300 ?? ?D.1234.12300 1234.123 6.以下程序段的输出结果是 int a=1234; printf("%2d\n",a); A. 12 ?B. 34 C.1234 ??D.提示出错、无结果 7.有如下程序 main0 { ??int y=3,x=3,z=1; printf("%d %d\n",(++x,y++),z+2); } 运行该程序的输出结果是 A. 3 4 ????B. 4 2 ??C. 4 3 ??D. 3 3 8.请读程序: int x=10; int y=x++; printf("%d,%d",(x++,y),y++); 则上面程序的输出结果是 A.11,10 ?B.11,11 ?C.10,10 D.10,11 9.下列程序的运行结果是 #include <stdio.h> main() { ??int a=2,c=5; printf("a=%d,b=%d\n",a,c); ?} A.a=%2,b=%5 B.a=2,b=5 C.a=d, b=d D.a=%d,b=%d 10.以下程序段的运行结果是( ???) int a=032; printf(“%d%5o%6x\n”,a,a,a); A.26 ?32 ?1a ??????B.26 ??032 ?0x20 ?????? C.32 ?40 ?20 ??????D.32 ??040 ?0x20 11.下面程序的输出结果是( ???) #include <stdio.h> main() { char k=67; printf(“%x,%o,%c\n”,k,k,k); } A.43,103,C ???????B.44,103,C ?????C.43,102,C ?????????D.43,103,D 12.以下程序段的运行结果是( ) int n=290; char c; c=n; printf(”c=%d \n”,c); ? A.c=290 ??? ?B.c=34 ??? ?C.c=137 ??? ?D.c=68 13.有以下程序段: char ch;int k; ch=a;k=12; printf(”%c,%d,”,ch,ch,k); printf(”k=%d\n”,k); 14.已知字符a的ASCII十进制代码为97,则执行上述程序段后的输出结果是 ( ) ? A.因为变量类型与输出函数格式描述符的类型不匹配,因此输出不确定的值 ? B.输出项与格式描述符个数不符,输出为零值或不确定的值 ? C.a,97,12k=12 ? D.a,97,k=12 15.设有定义“int x=10,y=3,z;”,则语句“printf(”%d \n”,z=(x%y,x/y));”的输出结果是( ) ? A.0 ??? ?B.1 ??? ??? ?C.3 ??? ??? ?D.4 |