c语言输入输出函数-C语言若没有库函数怎么办?不用库函数能不能实现基本的输入输出?

问题描述

C语言若没有库函数怎么办?不用库函数能不能实现基本的输入输出?

C语言编程就是频繁调用一些库函数。如果不用库函数,好像什么都干不了,即使是基本的输入输出。我一直有疑问,如果完全不用库函数,是否也可以编程?如果不用库函数也能编程,那么C语言是否也有像汇编一样的更基本的指令?库函数是否用C语言编写?如果用C语言编写,像输入scanf 和printf函数要用到什么指令才能实现?

解决方案

C语言不用库函数,那还用C语言做什么。。。
的确,题主所言,我也曾小小思考了一下,但问得就没你这么深了,在此向你致敬。
比如printf和scanf函数我们知道它是放在“stdio.h"中的,exit函数是放在”stdlib.h“中的,clock函数是放在"time.h"中的。
我的想法是,最基本的函数是处于底层核心位置的,比如基本输入输出,这个理论上可以重新自己编写,但一定会动用汇编甚至是机器语言,可参考Unix的诞生史。
至于一些扩展的高层函数,比如C++中的sort函数(库中有),我们可以自己重新编个头文件作为库调用。
这样说你觉得可还满意?

解决方案二:

用C语言对单片机编程,会有专门的与控制器相关的底层驱动函数,对同一种硬件电路这些底层驱动函数调试好后基本不要修改,应用时直接调用函数,通过函数传递不同的参数就可以控制外部设备。
在计算机上编写C语言程序也是一样,与处理器外围相关的操作都已经封装到函数里面了,可以查看汇编指令看到与外部设备操作相关。

解决方案三:

我觉得像输入输出一类的库函数应该用的有底层汇编,其他的很多库函数可以自己编写

解决方案四:

我觉得像输入输出一类的库函数应该用的有底层汇编,其他的很多库函数可以自己编写

解决方案五:

很可惜的C语言只能在库函数里看到函数声明,而看不到函数的定义。如果能找到库函数的定义,这个问题应该就能解决了

解决方案六:

很可惜的C语言只能在库函数里看到函数声明,而看不到函数的定义。如果能找到库函数的定义,这个问题应该就能解决了

时间: 2025-01-30 02:41:22

c语言输入输出函数-C语言若没有库函数怎么办?不用库函数能不能实现基本的输入输出?的相关文章

C++中基本的输入输出函数使用指南_C 语言

在C语言中是用printf函数进行输出,用scanf函数进行输入的.C++保留了C语言的这一用法. scanf函数一般格式是: scanf(格式控制, 输出表列) printf函数的一般格式是     scanf(格式控制, 输出表列) scanf(格式控制, 输出表列) [例]用scanf和printf函数进行输入和输出. #include <iostream> using namespace std; int main( ) { int a; float b; char c; scanf(

c语言输入字符删除特定字符问题

问题描述 c语言输入字符删除特定字符问题 输入一行字符,要求删去其中的某个字符后输出,要删除的字符由键盘输入. 解决方案 #include#includevoid main(){ char s[81]; int in; printf(""input a string:""); gets(s); printf(""input n:""); scanf(""%d""&n); for(

C语言输入一个数之后,无法继续往下执行代码,void initial那里,可以帮忙改一下么

问题描述 C语言输入一个数之后,无法继续往下执行代码,void initial那里,可以帮忙改一下么 #include int n=0,time=0; struct PCB { char pname[5]; //进程名 int arrivalTime[5]; //进程提交时间 int pstart[5]; //进程开始运行时间 int pend[5]; //进程完成时间 int runningTime[5]; //进程运行所需时间 int turnaroundTime[5]; //进程周转时间

c语言-C语言输入不会,求指教

问题描述 C语言输入不会,求指教 按如下图形打印杨辉三角,其特点是两个腰上的数都为1,其他位置上的每一个数是它上 一行相邻两个整数之和. 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 . . . Input 包含多组数据.每组数据占一行. 输入n(0 < n <= 20)表示输出杨辉三角的行数. Output 对于每组测试数据,输出n行杨辉三角. 格式要求: 每个数字宽6个字符.请使用 printf("%-6d", a); 每行末尾无空格. Sample In

c语言-询问一个关于C语言输入的问题?

问题描述 询问一个关于C语言输入的问题? 在学C语言版的数据结构时为了方便经常使用ElemType类型,用typedef ElemType+int或其他类型,那么在编写函数时scanf()中的输入数据类型该怎么定义啊? 解决方案 scanf对应这个结构体里的字段呗. typedef ElemType { int x, int y } et; scanf("%d",&et.x) ; 解决方案二: 答案就在这里:一个关于C语言输入的问题

c语言-C语言输入n(n&amp;amp;lt;=600)自然数,求解满足下列条件的1等差数列公差为1数列,2各项的和为n

问题描述 C语言输入n(n<=600)自然数,求解满足下列条件的1等差数列公差为1数列,2各项的和为n #include int found(int a[][30],int n) { int row=0,col=0,presum=0; int i,j; for(i=1;i<=n;i++) { for(j=i;j<=n;j++) { presum+=j; if(presum<=n) { a[row][col]=j; col++; } if(presum==n) { row++; br

怎么在windows8系统中更换键盘输入或键盘语言

您可以按照以下步骤更改键盘输入设置: 1. 从开始屏幕,打开"控制面板". 2. 单击"常规",然后在右窗格中单击"添加输入语言". 3. 在语言列表中,单击您想要选择的语言旁边的"选项".(如果列表中没有您想要的语言,请单击"添加语言",选择想要的语言,然后单击"添加到列表".) 4. 在这些语言选项中,单击"添加输入法". 5. 从选项列表中选择键盘布局,单击&q

《C++程序设计教程(第3版)》——第3章,第1节传统的输入输出函数实现方法

第3章 简单的输入输出通过前面的章节我们了解了组成一个程序的基本数据元素,下面我们就可以在数据元素的基础上开始学习编写简单的C++程序了.本章主要介绍计算机程序设计的基础:在C++程序中实现数据输入输出的基本方法.由于C++中数据输入输出的实现机制与后续章节中的面向对象重载等技术有着密切的联系,因此在没有系统地学习面向对象设计思想之前无法对此进行详细的介绍.因此,本章只对C++中数据输入输出的使用方法做简单的介绍.有关C++编译器提供的完整的输入输出流体系结构的实现原理,将在第14章中进行详细的

用c 语言或者c++程序语言编写DGIM算法(近似计算窗口中1-bit的个数的算法)。

问题描述 用c 语言或者c++程序语言编写DGIM算法(近似计算窗口中1-bit的个数的算法). 1:以01stream.txt文件,好像不能上传附件,文件内容为01所组成的数据流,为自己所写程序的输入,读取中文件中的01数据流: 2:设定窗口大小1000,以不超过50%的相对误差回答任意时刻,当前窗口中有多少个1-bit: 3:设定窗口大小2000,以不超过10%的相对误差回答任意时刻,当前窗口中有多少个1-bit: 4:编写一个精确计算当前窗口中1-bit个数的精确程序,比较精确程序在运行时