A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 耿小强 中级黑马   /  2015-3-16 09:54  /  688 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第二章
第一节:数据输出(一)(二)
1、使用printf和scanf函数时,要在最前面加上#include“stdio.h”
2、printf可以只有一个参数,也可以有两个参数。(选择题考过一次)
3、printf(“ 第一部分 ”,第二部分  );把第二部分的变量、表达式、常量以第一部分的形式展现出来!
4、printf(“a=%d,b=%d”,12, 34) 考试重点!
一定要记住是将12和34以第一部分的形式现在在终端也就是黑色的屏幕上。考试核心为:一模一样。在黑色屏幕上面显示为  a=12,b=34         
  printf(“a=%d,\n b=%d”,12, 34)那么输出的结果就是:a=12,
b=34
   5、int x=017;   一定要弄清楚为什么是这个结果!过程很重要
      printf(“%d”, x); 15
printf(“%o”, x); 17
printf(“%#o”,x); 017
printf(“%x”, x); 11  
printf(“%#x”,x); 0x11
   6、int x=12,y=34;  注意这种题型
      char z=‘a’;     
      printf(“%d ”,x,y); 一个格式说明,两个输出变量,后面的y不输出
      printf(“%c”,z);       结果为:12a
   7、一定要背诵的
格式说明        表示内容        格式说明        表示内容
%d        整型   int        %c        字符  char
%ld        长整型 long int        %s        字符串
%f        浮点型 float        %o        八进制
%lf        double        %#o        带前导的八进制
%%        输出一个百分号        %x        十六进制
%5d                %#x        带前导的十六进制
举例说明:
printf(“%2d”,123 );  第二部分有三位,大于指定的两位,原样输出123
printf(“%5d”,123 );  第二部分有三位,小于指定的五位,左边补两个空格  123
printf(“%10f”,1.25 ); 小数要求补足6位的,没有六位的补0,。结果为  1.250000
printf(“%5.3f”,125 ); 小数三位,整个五位,结果为1.250(小数点算一位)
printf(“%3.1f”,1.25 );小数一位,整个三位,结果为1.3(要进行四舍五入)
第三节 数据输入
1、scanf(“a=%d,b=%d”,&a,&b) 考试超级重点!
一定要记住是以第一部分的格式在终端输入数据。考试核心为:一模一样。
在黑色屏幕上面输入的为  a=12,b=34才可以把12和34正确给a和b 。有一点不同也不行。         
2、scanf(“%d,%d”,x,y);这种写法绝对错误,scanf的第二个部分一定要是地址!
scanf(“%d,%d”,&x,&y);注意写成这样才可以!
3、特别注意指针在scanf的考察
例如: int x=2;int *p=&x;
scanf(“%d”,x);   错误          scanf(“%d”,p);正确
scanf(“%d”,&p);  错误         scanf(“%d”,*p)错误
4、指定输入的长度 (考试重点)
终端输入:1234567
scanf(“%2d%4d%d”,&x,&y,&z);x为12,y为3456,z为7
终端输入:1 234567     由于1和2中间有空格,所以只有1位给x
scanf(“%2d%4d%d”,&x,&y,&z);x为1,y为2345,z为67
5、字符和整型是近亲:
int x=97;
printf(“%d”,x);   结果为97
printf(“%c”,x);   结果为 a
6、输入时候字符和整数的区别(考试超级重点)
scanf(“%d”,&x);这个时候输入1,特别注意表示的是整数1
scanf(“%c”,&x);这个时候输入1,特别注意表示的是字符‘1’ASCII为整数48。
补充说明:
1)scanf函数的格式考察:
   注意该函数的第二个部分是&a 这样的地址,不是a;  
   scanf(“%d%d%*d%d”,&a,&b,&c); 跳过输入的第三个数据。
2)putchar ,getchar 函数的考查:
   char  a = getchar() 是没有参数的,从键盘得到你输入的一个字符给变量a。
   putchar(‘y’)把字符y输出到屏幕中。
3)如何实现两个变量x ,y中数值的互换(要求背下来)
   不可以把 x=y ,y=x; 要用中间变量 t=x;x=y;y=t。
4)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来)
       y=(int)(x*100+0.5)/100.0   这个保留两位,对第三位四舍五入
       y=(int)(x*1000+0.5)/1000.0 这个保留三位,对第四位四舍五入
y=(int)(x*10000+0.5)/10000.0 这个保留四位,对第五位四舍五入
   这个有推广的意义,注意 x = (int)x 这样是把小数部分去掉。

3 个回复

倒序浏览
:handshake
回复 使用道具 举报
加油啊!为梦想而努力!
回复 使用道具 举报
:handshake:handshake:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马