C语言的输入与输出_c语言实现hdmi输入输出-程序员宅基地

技术标签: 个人学习  c语言  自学  

今天感觉过的有点迷,早上是电脑系统更新了一早上,下午是刚到了HDMI转VGA的数据线,一直想着尝试,感觉今儿的学习状态极差反正。今晚好好整理一波了,总归是要收获知识的。

1.关于putchar:
函数:int putchar ( int c )
功能是向终端输出一个字符,而这个参数呢,可以是变量,字符常量,整数常量或者是表达式,像putchar(65+32)之类的,感觉需要注意的就是putchar的返回值为成功输出字符所对应的ascii码,这个返回值似乎并没有什么用。

#include<stdio.h>
int main(int argc, const char *argv[])
{
    char a = 'P';
    int ret = 0;

    putchar('K'+32);
    putchar('\n');

    ret = putchar(65+32);
    putchar(10);

    putchar(a);
    putchar(10);

    printf("ret = %d\n",ret);

    return 0;
}

2.getchar:
函数:int getchar (void )
功能是从终端获取一个字符,这个是没有参数的,返回的值就是成功获取的字符所对应的ascii码,不过有个细节,getchar一次只能获取你输入的一个字符,例如:

#include <stdio.h>
int main(int argc, const char *argv[])
{
    char ch;
    ch = getchar();
    printf("ch = %c\n",ch);

    ch = getchar();
    printf("ch = %c\n",ch);

    return 0;
}

这是一个简单的从终端上获取一个字符给ch,然后把ch打印出来,在输入的时候无论你打多少个,它都只取第一个。

这时候第一个printf打印的是第一个,第二个printf打印的是第二个。

另外提一个,getchar()的作用是吃掉一个空格

3.printf:
格式:printf(“格式控制串”,输出表)
这估摸着也是最常用的输出语句了,就是按照指定的格式向显示器输出数据,列举了一下那些控制数据类型
%d //有符号十进制整数
%o //八进制
%x //十六进制
%u //无符号十进制整数
%c //字符
%f //浮点型 %.1f :小数后面保存一位(看清是 . 1 f)
%e //指数
%ld //long
%p //数据内存地址
%s //字符串,从给定的地址开始,到‘\0’结束输出
这还有个控制数据格式
M //数据输出宽度,比如%4d(小数前面不够4位,那就补空格嘛)
- //左对齐(默认是右对齐)
0 //空位补0
.N //对于浮点型,控制小数点位数,四舍五入
.N //对于字符串,输出数据的字符个数
%% //%
这期间有讲到了数组,数组就是若干个数据类型相同的元素集合
比如这个:
char a[10] = {‘A’,’B’,’C’,’D’,’\0’,’E’,’F’,’\0’};
又或者这个
char a[10] = {“ABCDERFDA”};
其实这两种写法是一样的。在数组里有个字符是 ‘\0’,这个是结束字符,你可以尝试着去打印a这个数组,你会发现只能显示ABCD,后面的就不会执行下去了,但如果你用sizeof去计算a这个数组的话,会显示a的内存大小为8,说明’ \ 0 ’ 是一个字符,但是一个有关键性作用的字符。
还有一点,就是在printf中,当控制数据类型是%s和%p的时候,后面那个输出表前面必须要加&(取地址符号)

4.scanf
函数:scanf(“格式控制串”,地址表);
功能:按指定格式从键盘读入数据,存入地址表指定存储单元中
返值:成功从终端获取数据的个数
这个函数和printf差不多,都用的特别多。有个有点意思的小例题。
char a[11]={“adsdasd”};
scanf(“%s”,&a[0]);
在上面,当程序运行到scanf的时候,你输入的值会把原来的数组a给代替掉(只要不超过数组a定义的长度就行)

#include <stdio.h>
int main(int argc, const char *argv[])
{
    char a[10] = {
   'A','B','C','E','F','G','\0'};
    printf("a = %s\n",&a[0]);
    scanf("%s", &a[0]);       
    printf("a = %s\n",&a[0]); 
    return 0;
}

5.puts
格式:int puts(char *s);
功能:向显示器输出字符串(输出完,换行)
说明:字符数组必须以‘\0’结束,默认会添加的。
这个能自动换行挺好的,不过只能输出字符型的,否则我就弃了printf的坑= =。

6.gets
格式:char * gets(char *s);
功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘\0’
说明:输入串长度应小于字符数组维数

int main(int argc, const char *argv[])
{
    char a[10] = {
   'a','b','c','d','\0'};

    gets(&a[0]);
    puts(&a[0]);

    return 0;
}

这个gets和前面的scanf一样,把从键盘上获取到的值存入到数组a中,并替换掉原来的数据。

好了,差不多就这样了,明天周六,虽然说想着可以好好休息一下,但看着其他人早起来学习,自己可没法懒惰下去。明天加油,新的一天。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yuruochen018/article/details/74012161

智能推荐

oracle数据库02195,Oracle错误小记-程序员宅基地

文章浏览阅读897次。问题1:ORA-01034: ORACLE not availableORA-27101: shared memory realm does not existLinux Error: 2: No such file or directory解决方案:1. 查看环境变量是否设置正确,more .bash_profilePATH=$PATH:$HOME/binexport PATHunset USE..._java.sql.sqlsyntaxerrorexception: ora-02195: attempt to create permanent obj

Day6 Numerical simulation of optical wave propagation之通过随机介质(如大气湍流)的传播(二)...-程序员宅基地

文章浏览阅读644次。2.蒙特卡洛相位屏大气折射率变化是一个随机的过程,通过大气的光程长度也同样是随机的。因此,湍流模型仅给出统计平均值,如折射率变量的结构函数和功率谱。建立大气相位屏的问题就是产生随机过程独立表达式的问题,即相位屏的建立是通过把计算机产生的随机数变换为采样点网格上的两维相位值阵列来实现的,相位值阵列具有与湍流引起的相位变化相同的统计特性。为了在有限的网格上生成相位屏,相位通常被写成各种基底..._随机介质的相位屏

如何快速从基因组中提取基因、转录本、蛋白、启动子、非编码序列?-程序员宅基地

文章浏览阅读1.3w次,点赞12次,收藏73次。NGS基础 -GTF/GFF文件格式解读和转换这篇文章有读者留言想要提取外显子,内含子,启动子,基因体,非编码区,编码区,TSS上游1500,TSS下游500的序列。下面我们就来示范如何..._如何快速从基因组中提取

如何在vue项目中使用less公共变量以及vant ui中定制主题_引入公用的less-程序员宅基地

文章浏览阅读3.3k次。在vue项目中使用正确是用less公共变量,并且搭配UI框架的使用._引入公用的less

毕设项目 基于wifi的室内定位算法设计与实现_基于wifi信息采集与定位设计方案-程序员宅基地

文章浏览阅读560次,点赞10次,收藏12次。今天学长向大家分享一个毕业设计项目毕业设计 wifi室内定位系统学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:3分创新点:4分毕业设计 wifi室内定位算法实现今天来介绍一下室内定位相关的原理以及实现方法;WIFI全称WirelessFidelity,在中文里又称作“行动热点”,是Wi-Fi联盟制造商的商标做为产品的品牌认证,是一个创建于IEEE 802.11标准的无线局域网技术。基于两套系统的密切相关,也常有人把Wi-Fi当做IEEE 802.11标准的同义术语。_基于wifi信息采集与定位设计方案

Python学习(二)列表,for循环,切片,元组_列表和for循环-程序员宅基地

文章浏览阅读979次。文章目录Python学习(二)列表访问列表元素修改列表元素在列表中插入元素在列表末尾插入元素在列表中插入元素删除列表元素使用del语句删除元素使用`pop()`删除元素根据值删除元素对列表进行排序逆序打印列表获取列表的长度列表索引错误for循环for循环的基本格式在循环结束后执行操作for循环的常见错误忘记缩进进行了不必要的缩进遗漏冒号数值列表使用`range()`函数生成一系列数字将`range()`函数生成的数字转换为数字列表对数字列表简单的统计列表解析切片遍历切片复制列表元组遍历元组的所有值修改元组变_列表和for循环

随便推点

three.js将多个mesh(网格模型)合并(merge)为一个多材质网格( BufferGeometryUtils.mergeBufferGeometries )-程序员宅基地

文章浏览阅读1.2w次,点赞15次,收藏34次。提示:本文写道three.js中合并几何体的方法文章为原创文章,如在别的平台引用请注明出处。文章目录前言一、group一、BufferGeometryUtils.mergeBufferGeometries引入使用方式:问题:总结前言Three.js 作为 WebGL 框架中的佼佼者,由于它的易用性和扩展性,使得它能够满足大部分的开发需求。但是当我们渲染几何体比较多的场景时候,有很多细小、零散零件我们不需要对他进行任何操作。零件数目一多就会会造成整个场景加载很慢。这个时候我们就想把场景中的一些细_mergebuffergeometries

数据结构与算法_C语言链表案例_链表字符串数据结构与算法(c语言版)-程序员宅基地

文章浏览阅读151次。#define _CRT_SECURE_NO_WARNINGS#include "stdio.h"#include "stdlib.h"#include "string.h"//设计链表节点typedef struct __LINKNODE{ void*data; struct __LINKNODE*next;}LinkNode;//设计链表管理结构体 由于多了m_Size 可以更方便管理节点typedef struct __LINKLIST{ LinkNode*pHead_链表字符串数据结构与算法(c语言版)

基于SpringBoot+Vue的学生信息管理系统设计实现(源码+lw+部署文档+讲解等)_学生信息管理系统 vue3+springboot-程序员宅基地

文章浏览阅读914次,点赞15次,收藏18次。博主介绍:全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战精彩专栏 推荐订阅2023-2024年最值得选的微信小程序毕业设计选题大全:100个热门选题推荐2023-2024年最值得选的Java毕业设计选题大全:500个热门选题推荐Java精品实战案例《500套》微信小程序项目精品案例《500套》文末获取源码+数据库。_学生信息管理系统 vue3+springboot

pyqt QMessageBox自动关闭_pyqt messagebox的关闭-程序员宅基地

文章浏览阅读8.2k次,点赞4次,收藏12次。 infoBox = QtGui.QMessageBox() ##Message Box that doesn't run infoBox.setIcon(QtGui.QMessageBox.Information) infoBox.setText("保存完成!") info..._pyqt messagebox的关闭

matlab中如何改变坐标轴显示的数字_matlab改变坐标轴数值-程序员宅基地

文章浏览阅读1.6w次,点赞5次,收藏26次。1、首先打开电脑上的“matlab”软件,主界面如下图所示,箭头处输入代码百即可运行。2、下面输入代码绘制图像,此处以简单的正弦函数为例。3、点击enter键之后,即可运行程序度绘制图像,正弦函数图像如下图所示,可以问看到x和y的坐标轴答刻度内。容4、下面使用set(gca,'XTick',0:pi/2:2*pi);set(gca,'XTicklabel',{'0','pi..._matlab改变坐标轴数值

android studio 修改代码不生效,终极解决方案!_android13 studio loge不生效-程序员宅基地

文章浏览阅读6.7k次。android studio 修改代码不实时生效android studio 版本4.1.2问题描述修改代码例如,添加如 Log.d(TAG, “修改代码是否生效”);真机运行 没有生效,二次三次运行,才会打印此log。删除这条log,再次运行,依然打印此log,再运行,生效。如果修改了这个log,运行之前先clear一下,运行结果是会实时生效的。但是不能每次都clear吧。分析原因新版的 Android Studio 引入了 instant run 功能,也就是俗称的热补丁技术,但是热_android13 studio loge不生效

推荐文章

热门文章

相关标签