嵌入式学习LV1 | 您所在的位置:网站首页 › 2k×1的16进制地址码是多少 › 嵌入式学习LV1 |
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;实验现象: 代码 #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; }现象: 实验现象: 代码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; }实验现象: 字符输入函数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; }实验现象: 格式: 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; }实验现象: 回车的ASCII值是10 4. 字符串输入函数字符串输入函数gets 格式: char * gets(char *s) 功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘\0’,这里注意字符串数组大小减一是实际可输入字符串的个数结束符要占一个储存 说明1:输入串长度应小于字符数组维数 说明2:与scanf函数不同,gets函数并不以空格作为字符串输入结束的标志。 注意:scanf函数在输入字符串的时候中间不能有空格 代码 #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 实验室设备网 版权所有 |