练习
设a,b为int型变量,x,y为float型变量,c1,c2为char型变量,
且设a = 5, b = 10, x = 3.5, y = 10.8, c1 = ’a’, c2 = ’b’。
为了得到以下的输出格式和结果,请写出对应的printf语句。
(1)a = 5, b = 10, x + y = 14.3
(2)x - y = -7.3, a - b = -5
(3)c1 = ’a’ or 65(ASCII) c2 = ’b’ or 66(ASCII)
#include<stdio.h>
int main(void)
{
int a = 5;
int b = 10;
float x = 3.5,y = 10.8;
char c1 = 'a',c2 = 'b';
printf("a=%d,b=%d,x+y=%.1f\n",a,b,x+y);
printf("x-y=%.1f,a-b=%d\n",x-y,a-b);
printf("c1='%c' or %d(ASCII) c2= '%c'or %d(ASCII)\n",c1,c1,c2,c2);
return 0;
通过键盘输入圆的半径,输出其周长和面积
#include<sydio.h>
#define PI 3.14
int main(void)
{
float r = 0,l = 0,s = 0;
printf("请输入圆的半径r=");
scanf("%f",&r);
l = 2*PI*r;
s = PI*r*r;
printf("周长l=%.2f\n面积s=%.2f\n",l,s);
return 0;
}
通过键盘输入两个数,求他们的和差积商
#include<stdio.h>
int main(void)
{
float a = 0,b = 0;
scanf("%f,%f",&a,&b);
printf("a+b=%.3f\na-b=%.3f\na*b=%.3f\na/b=%.3f\n",a+b,a-b,a*b,a/b);
return 0;
}
函数里面逗号区分参数
计算机中能够显示,输入都是字符
1.C语言中常用的输入输出函数:
1.getchar putchar
2.scanf printf
3.gets puts
1.putchar
功能:在终端打印一个字符
示例:
putchar('a');
chr ch = 'A';
putchar(ch);
putchar(ch + 32);
注意:
1.putchar只能打印一个字符,想打印多个字符需要多次调用putchar
2.putchar只能打印字符
2.getchar
功能: 从终端接收一个字符
1.getchar会将程序阻塞,直到用户输入数据,程序才能继续向下执行
2.getchar只能接收 一个字符,想要接收多个字符需要多次调用
3.getchar只能接收字符
2.scanf printf
1.printf
打印非输出控制符
\n 换行符
\t 横向制表符
\v 纵向制表符
\b 退格符
\r 回车符
\\ \字符
\" "字符
打印单个输出控制符,打印多个输出控制符,输出控制符的个数必须与后面的表达式个数一一匹配
%d 按照十进制打印
%o 按照八进制打印
%x 按照十六进制打印
%c 按照字符打印
%f 按照浮点数类型打印
%s 按照字符串打印
%p 按照指针类型打印
%u 按照无符号类型打印
%e 按照科学计数法打印浮点数类型
%% 打印%号
2.scanf
注:scanf如果输入数据与想要接受的数据不匹配,从不匹配开始不再向后读取;
除了%s形式外都得加&
1.从终端接受非输入控制符
scanf("m")
2.接受输入控制符
%c 和 (空格%c)完全不一样
3.puts gets 和字符串有关,字符串的定义用数组
数组的初始化得使用大括号eg: char xx[] = {0}
1.puts
在终端末尾打印一行字符,打印完自动换行(默认字符末尾加入\n)。
2.gets
从终端接受一个字符串去掉一个\n
可以接受带空格的字符串