#C语言入门知识1#

#关于printf和scanf#

1.printf

printf是一个库函数,当然使用printf时要先包含头文件也就是include<stdio.h>才能进行使用;printf的一般格式为printf(格式控制字符串,输出值参数表);以及print(格式控制字符串)

例如printf("hellow world\n");以及常见的printf("%d\n",a);

上面的例子里%d以及接触到的%f,%c,%u诸如此类,为占位符

同样的printf()的也可指定输出项输出是所占的列数,也就是输入域宽m(m为整数)也可以设置显示精度.n(n为大于或等于0的整数)

例如printf("circumference=%7.2",circum);是指输出数据占7个字符宽度,显示精度为2;注意小数点也会占一个字符位置;也就是说,若运行的结果为33.30则输出的结果33.30前面会有两个空格。

若改成%7.0则输出33,且33前面会有5个空格。

printf输出数据时,遇到\0时会自动停止

这里补充个小知识

char arr1[ ]={'a','b','c'};

char arr2[ ]="abc";

printf("%s\n",arr1);

printf("%s\n",arr2);

其中arr1中只有a,b,c三个字符

而arr2中却是a,b,c和\0

2.scanf

scanf(格式控制字符串,参数地址表);

同样的,scanf()也有域宽但是scanf()没有显示精度.n

而且scanf()有忽略输入修饰符*,表示对应的输入项在读入后不赋给相应的变量

用scanf()输入数值型数据时,遇到以下几种情况都认为数据输入结束:

(1)遇到空格符、回车符、制表符(Tab);

(2)达到输入域宽;

(3)遇非法字符输入。

常见的scanf()如scanf("%d",&a);其中&是用于指出接受数据的储存单元的地址,如若没有&则会使得编译器误将a值当做了地址值,使得数据试图存入这个地址单元,从而导致了非法的内存访问,而真正的地址&a的内存单元却未被存入数据,即变量a未被赋值。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值