C语言基本输入输出
目录
输出
原样输出
#include<stdio.h> //标准输入输出头文件
int main()
{
printf("输出内容"); //打印内容到屏幕上
//多行写法
printf("这是第一行"
" "
"这是第三行"); //本质上还是输出一行
return 0;
}
转义字符
调整输出格式
打印特殊字符
表示特殊字符
printf("\n"); //换行(另起一行回到下一行行首) printf("\r") //回到当前行行首 printf("姓名\t年龄\t\t学号\n"); // 1.制表的原理(八位制表超过再加) printf("岩崎\t18\t\t1001\n"); printf("李安\t12345678\t1002\n"); printf("\t"); // 2.\ddd字符(8进制转十进制)ASCII码 printf("\111"); // 3.特殊字符的打印 printf("\""); //用转义字符帮助解析 printf("\\"); printf("%%");
打印变量
格式控制字符:%+特殊字符的具有特殊含义的字符---->占位符
int ->%d
unsigned int ->%u
float ->%f
double ->%lf
char ->%c
char* ->%s
long long int ->%lld
占位符
printf("整数:%d,小数:%f,字符:%c\n",1,1.1f,'A'); //小数默认double类型
打印变量
int iNum=0; printf("%d",iNum);
精度控制->小数
//%+a.bf 右对齐(默认) //%-a.bf 左对齐 //a:输出数据宽度 b:小数位 printf("%10.4lf",1.33);
人为制表
printf("%10s%10s%10s\n", "姓名", "年龄", "学号");
printf("%10s%10d%10d\n", "莲娜",18,1002);
//\t制表左对齐
printf("%-10s%-10s%-10s\n", "姓名", "年龄", "学号");
printf("%-10s%-10d%-10d\n", "莲娜", 18, 1002);
printf("%08d\n", 123); //补零
输出字符
putchar():专门输出一个字符
puts():打印字符串且自带换行
输入
基本输入
输入缓冲区:暂时输入的数据 快递公司
地址的概念:存储在计算机的位置
得到一个变量地址(&)
int iNum=0; printf("%p\n",&iNum); //打印变量的地址
scanf类似快递员
输入单个数据
输入前加一个提示
scanf需要给返回值避免出现波浪线(vs的scanf_s不需要)
int iNum=0;
printf("请输入:");
int result=scanf("%d", &iNum);
printf("iNum=%d\n", iNum);
输入多个数据
输入多个数据默认空格作为数据间隔(或者输入一个按一次回车)
int iNum=0,number=0;
printf("请输入:");
int result=scanf("%d%d", &iNum,&number);
printf("iNum=%d,number=%d\n", iNum,number);
输入状态是没有精度控制的
float fNum=0.0f;
printf("请输入:");
int result=scanf("%f", &fNum);
printf("fNum=%.1f\n",fNum);
字符输入
getchar()输入
printf("input char:");
char cNum = 0;
//int result = scanf("%c", &cNum);
cNum = getchar(); //专用字符输入函数
putchar(cNum); //专用字符打印函数
printf("%c", cNum);
在字符和字符串输入前做了输入会存在跳过现象
清空缓冲区
while(getchar()!='\n'); //循环输入直到获取到\n结束
scanf_s输入字符类需要增加一个尺寸作为限制
printf("请输入:"); scanf_s("%c", &cNum, 1); putchar(cNum);
特殊字符输入:不需要回车键确认的输入
//getch(); //vs使用_getch() #include<conio.h> //_getch()头文件 char cKey = 0; cKey = _getch(); putchar(cKey);
类型转换
隐式转换
int iNum=1.3333f;
float fNum=3;
printf("iNum=%d\t,fNum=%f",iNum,fNum);
强制类型转换
int number = (int)1.23;
printf("%d\n",num)
ASCII码(整数与字符间的转换)
13->回车键
字母大写与小写之间间距为32
char cNum='A';
printf("cNum=%d",cNum); //cNum=65,按ASCII码转换
格式控制字符对不上数据
输出为垃圾值
无法输入
无意义
作业
填空题
标识符可由_字母___,__数字,__下划线__组成,但是首字符不能是数字____
C语言中常用的标识符命名规范是以字母或下划线开头,后面可跟任意是数字、字母或下划线_(大驼峰 小驼峰 匈牙利)
整数 520 默认的类型是int__
浮点型 3.14 默认的类型是double__
类型大小:计算机类型为32位
char ___1_字节
short _2___字节
int __4__字节
long int _4___字节
long long __8__字节
float _4___字节
double __8__字节
unsigned int 4____字节
编程题
编程实现输入一个字符,若字符是大写字母则转小写输出,如是小写字母则转大写字母输出,不是字符直接输出。
#include <stdio.h>
int main()
{
char cNum = 0;
printf("请输入字符:\n");
scanf_s("%c", &cNum, 1);
if (cNum >= 'A' && cNum <= 'Z')
{
putchar(cNum + 32);
}
else if (cNum >= 'a' && cNum <= 'z')
{
putchar(cNum - 32);
}
else
{
putchar(cNum);
}
return 0;
}
本文含有隐藏内容,请 开通VIP 后查看