嵌入式学习LV1 您所在的位置:网站首页 2k×1的16进制地址码是多少 嵌入式学习LV1

嵌入式学习LV1

2023-06-11 01:04| 来源: 网络整理| 查看: 265

D3.输入输出专题 如果出现图片无法查看可能是网络问题,我用的GitHub+图床保存的图片,用uu加速器说不定能解决,可以参考我另外一篇文章GitHub的使用方法 GitHub使用教程含网络问题_github加速器_肉丸子QAQ的博客-CSDN博客 关注后私信获取附加资料 1. 数据输出 1. 字符输出 C语言无I/O语句,I/O操作由函数实现字符输出函数 格式: putchar( c )参数: c为字符常量、变量或表达式功能:把字符c输出到显示器上返值:正常,为显示的代码值;

示例:

#include int main() { int a = 65; char ch = 'B'; putchar(a); putchar('\n'); putchar(ch); putchar('\n'); return 0;

实验现象:

image-20230316154921169

2. 格式输出 格式:printf(“格式控制串”,输出表)功能:按指定格式向显示器输出数据输出表:要输出的数据格式控制串:包含两种信息 格式说明:%[修饰符]格式字符,用于指定输出格式普通字符:原样输出 格式符作用i, d十进制整数x,X十六进制无符号整数o八进制无符号整数u无符号十进制整数c单一字符s字符串e,E指数形式浮点小数f小数形式浮点小数ge和f中较短一种%%百分号本身

代码

#include int main() { int a = 254; char ch = 'A'; char s[] = "dsfsdf"; float f1 = 567.89; printf("%d %o %x\n", a, a, a);//十进制 八进制 十六进制 printf("%c-%d\n", ch, ch);//单一字符 十进制(字符对应的ASCLL码值) printf("%s\n", s);//字符 printf("%f-%e-%g\n", f1, f1, f1);//小数点形式 指数形式 两种方式选较短的一种 return 0; }

现象:

image-20230316162736007

附加格式说明符 修饰符功能m输出数据域宽,数据长度 char s[] = "Hellow world"; printf("%15s\n", s); printf("%15.5s\n", s); printf("%2.5s\n", s);//小数点前面的是取宽度,太小则原样输出 printf("%.5s\n", s);//小数点后面是取内容指定长度就输出多少长度 return 0; }

实验现象:

image-20230316165445075

代码3:

#include int main(int argc, char *argv[]) { int a = 254; float f1 = 345.7; char ch = 'a'; printf("%08d\n%0+8d\n", a, a); printf("%09f-%09.2f-%.3f\n", f1, f1, f1); printf("ch=%5c\n", ch); return 0; }

实验现象:

image-20230316170125536

2. 数据输入 1. 字符输入

字符输入函数getchar

格式: getchar( )

功能:从键盘读一字符

返值:正常,返回读取的代码值;出错或结束键盘输入,返回-1 (ctrl +d结束输入)

代码:

#include int main() { int ch; ch = getchar();//当自己不想输入时ctrl+d结束输入 putchar(ch); putchar('\n'); printf("ch=%d\n", ch); return 0; }

实验现象:

image-20230316171502471

2. 格式输入

格式: scanf(“格式控制串”,地址表)

功能:按指定格式从键盘读入数据,存入地址表指定

存储单元中,并按回车键结束

返值:正常,返回输入数据个数

地址表:变量的地址,常用取地址运算符&

注意:scanf里面不要写提示语句,最好单独用printf写

格式输入函数

修饰符功能h用于d, o, x前,指定输入为short型整数l用于d, o, x前,指定输入为long型整数用于e, f前,指定输入为double型实数m指定输入数据宽度,遇空格或不可转换字符结束*抑制符,指定输入项读入后不赋给变量

代码:

#include int main() { int n,y,r; printf("input: "); scanf("%d,%d,%d", &n, &y, &r); //scanf("%d%d%d", &n, &y, &r); //这里需要注意当scanf里面带有逗号的时候也需要在键盘输入的时候带有并且可以不用使用回车来选择输入下一位 //例如%d %d %d在输入时可以数字空格数字空格数字连续输入,逗号同理 printf("%d-%d-%d\n", n, y, r); return 0; }

注意:字符串输入时空格和转义字符作为有效字符输入

3. 垃圾输入处理 #include int main() { char x; int a; printf("input: "); scanf("%d",&a); //方法一 getchar();//当输入完第一个scanf回车后,这个回车会直接带到下一scanf,需要一个getchar函数将回车消化 //方法二 //第二个scanf用格式串中空格或“%*c”来“吃掉” //scanf("%c",&a); //scanf("%*c%c",&x); scanf("%c",&x); printf("%d-%d-%c", a,x,x); printf("%d\n", '\n'); return 0; }

实验现象:

image-20230316201943677

回车的ASCII值是10

4. 字符串输入函数

字符串输入函数gets

格式: char * gets(char *s)

功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘\0’,这里注意字符串数组大小减一是实际可输入字符串的个数结束符要占一个储存

说明1:输入串长度应小于字符数组维数

说明2:与scanf函数不同,gets函数并不以空格作为字符串输入结束的标志。

注意:scanf函数在输入字符串的时候中间不能有空格

image-20230316203837995

代码

#include int main() { char s[5]; gets(s); printf("%s", s); }

字符串输出函数puts

格式:int puts(const char *s)

功能:向显示器输出字符串(输出完,换行),输出自动换行

说明:字符数组必须以‘\0’结束

作业

1.下列语句正确的是() A.unsigned int i; scanf(“%d”,i); B. unsigned int i; scanf(“%f”,i); C. unsigned int i; scanf(“%u”,&i); 2.以下程序 unsigned int Year,Mon,Day; 改为scanf(“%4u%2u%2u”,&Year,&Mon,&Day); 程序运行后在键盘输入20 16 1 2 0 2那么变量Day的值为() A.1 B.12 C.2 D.21 3.用代码实现在终端上输入一行字符,原样输出(温馨提示:编程题需要把源码.c文件压缩上传到附件中,如果有多个,请压缩到一个压缩包中。)

CA #include int main(void) { char str[10]; printf("请输入字符串:"); scanf("%s", str); printf("输出结果:%s\n", str); return 0; }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有