c语言函数知识点总结(2)

时间:2021-08-31

  第二章

  第一节:数据输出(一)(二)

  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,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 = get) 是没有参数的,从键盘得到你输入的一个字符给变量a。

  put‘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 这样是把小数部分去掉。  第三章

  特别要注意:C语言中是用非0表示逻辑真的,用0表示逻辑假的。

  C语言有构造类型,没有逻辑类型。

  关系运算符号:注意<=的写法,==和=的区别!(考试重点)

  if只管后面一个语句,要管多个,请用大括号!

  1)关系表达式:

  a、表达式的数值只能为1(表示为真),或0(表示假)。

  如 9>8这个关系表达式是真的,所以9>8这个表达式的数值就是1。

  如 7<6这个关系表达式是假的,所以7<6这个表达式的数值就是0

  b、考试最容易错的:就是int x=1,y=0,z=2;

  x