Ⅰ c语言如何让输入函数再隔一段时间输入端无回应后继续运行后面的程序
#include <stdio.h>
#include <conio.h>
#include <time.h>
int main () {
int x= -9999; //初值
clock_t t0,dt;
int ttt= 2; //假定等待时间设2秒
t0 = clock(); //计时开始
printf("input x:\n");
while( !_kbhit() ) {
dt = clock() - t0;
if (dt >= ttt * CLOCKS_PER_SEC) goto Lab;
}
scanf("%d",&x);
Lab: printf("x=%d",x); //超时,跳到这行。
return 0;
}
超时,则输出 -9999, 不超时,输出拍入的值
Ⅱ c语言输入输出函数的格式
一:格式输出函数printf()
1、调用形式一般为:printf("格式化控制字符串",输出表列);
2、格式化控制字符串用于指定输出格式,它有三种形式:
1、格式说明符:规定了相应输出表列内容的输出格式,以%打头,如%d、%o等
2、转义字符:用来输出转义字符所代表的控制代码或者特殊字符,比如常用的‘\n'、‘\t'
3、普通字符:需要原样输出的字符。
3、输出表列为若干需要输出的数据项,它与格式说明符在数量和类型上一一对应;
4、格式字符m指定输出数据所占宽度,n对实数表示输出n位小数,对字符串表示截取的字符个数,+表示右对齐,通常省略。
—表示左对齐,l用于长整型数据,可加在d、o、x、u前,更多格式说明符及其组合形式如下所示:
格式字符
数据对象
输出形式
数据输出方法
%(+)-md
int
unsigned int
short
unsigned short
char
十进制整数
1、无m按实际位数输出
2、有m输出m位;超过m位,按实际位数输出,不足补空格
3、有+(默认为+)右对齐(左补空格)
4、有-左对齐(右补空格)
%(+)-mo
八进制整数
%(+)-mx
十六进制整数
%(+)-mu
无符号整数
%(+)-mld
long
unsigned long
十进制整数
%(+)-mlo
八进制整数
%(+)-mlx
十六进制整数
%(+)-mlu
无符号整数
%(+)-m.nf
float
double
十进制小数
%(+)-m.ne
十进制指数
%(+)-g
自动选用%f和%e中较短的输出宽度输出单、双精度浮点数
%(+)-mc
char
int
short
单个字符
1、无m输出单个字符
2、有m输出m位,补空格
3、有+(默认为+)右对齐(左补空格)
4、有-左对齐(右补空格)
%(+)-m.ns
字符串
一串字符
1.无m、n按实际字符串输出全部字符
2、有m、n仅输出前n个字符,补空格
3.有+(默认为+)右对齐(左补空格)
4、有-左对齐(右补空格)
二:格式输入函数scanf()
1、 调用格式一般为:scanf("格式化控制字符串",地址表列);
2、格式化控制字符串和printf()函数含义相似,所不同的是它是对输入格式进行控制;
3、地址表列是有若干等待输入的数据所对应的内存单元地址组成,由逗号隔开,一般形式为&a,a为变量;
4、地址表列在数量和类型上和格式化控制字符串中的格式说明符一一对应;
5、格式字符h表示输入短型数据,可用在d、o、x前面,m指定输入数据所占宽度,
*表示对应的数据项读入后不赋给相应的变量,更多格式说明符及其组合如下
格式字符
数据对象
输入形式
数据输入方法
%md
int
short
unsigned int
unsigned short
十进制整数
1、无m按实际位数输入
2、有m输入m位,不足m则跟回车键
%mo
八进制整数
%mx
十六进制整数
%mld
long
unsigned long
十进制整数
%mlo
八进制整数
%mlx
十六进制整数
%mlf
float
double
十进制整数
%mle
%mc
char
单个字符
1、无m取单个字符
2、有m输入m位,仅取第一个字符
%ms
字符串
一串字符
1、无m取回车或空格前若干字符
2、有m仅取前m字符
Ⅲ c语言中等待的函数是什么
如果对时间要求非常精确,可以考虑采用和汇编中处理的情况,看看cpu的频率,将for命令分解成汇编语言,看多少毫秒执行一次命令,然后设置循环次数,这样足够精确,实际上在汇编下也是这么做的。
Ⅳ C语言scanf语句
scanf()是C语言标准库中的输入函数,声明包含在stdio.h文件中,因此要使用该函数,必须加载#include<stdio.h>头文件。当执行到scanf函数时,程序就暂停等待用户输入,该函数只接受变量的地址,格式为&变量名。是一个阻塞式的函数,等用户输入完毕后,则将值赋值给变量,至此函数调用完毕。敲回车键告知计算机键入完毕。
函数原型:int scanf(const char *format,...);
说明:scanf() 是从标准输入流stdio (标准输入设备,一般是键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
其调用形式为: scanf("<格式说明字符串>",<变量地址>);变量地址要求有效,并且与格式说明的次序一致。
使用示例:
//使用scanf函数输入一个字符变量。
chara;
scanf(“%c”,&a);
//同时输入多个值。
scanf(“%d,%d”,&num1,num2);
//在内部不能使用 转义字符,否则没完没了。
scanf(“%d ”,&a);
注意:在这里两个占位符之间是,隔开,则要求在输入时也使用逗号隔开如输入1,2。此时为num1=1,num2=2。若内部为“%d#%d”则输入1#2。若内部为“%dy%d”,则输入1y2。如果中间的字符是空格,则在输入时可以用空格隔开,也可以敲tab键或者是回车键作为分隔符隔开,后两者可以看做是由空格组成的。
扩展:格式说明符
转换字符(就是%后跟的部分)
a 读浮点值(仅适用于 C++)
A 读浮点值(仅适用于 C++)
c 读单字符
d 读十进制整数
i 读十进制、八进制、十六进制整数
e 读浮点数
E 读浮点数
f 读浮点数
F 读浮点数(仅适用于 C++)
g 读浮点数
G 读浮点数
o 读八进制数
s 读字符串
x 读十六进制数
X 读十六进制数
p 读指针值
n 至此已读入值的等价字符数
u 读无符号十进制整数
[ ] 扫描字符集合
% 读 % 符号(百分号)
附加格式说明字符表修饰符说明
L/l 长度修饰符 输入"长"数据
h 长度修饰符 输入"短"数据
W 整型常数 指定输入数据所占宽度
* 表示本输入项在读入后不赋值给相应的变量
Ⅳ C语言中输入函数等待输入和结束输入
你随便输入一个字母试下,马上就返回,除了你本就是要输入%c
Ⅵ C语言中的键盘输入函数。。。
k=k&0xff?0x00ff:k>>8;其实就是
if(k&0xff) {
k=0x00ff;
}else {
k=k>>8;
}的简写。
其实0xff和0x00ff是一样的,都表示同一个十六进制的值。
书上这么写,没有错;至于为什么,就不好说了。
可能是让你多学点知识,也可能是现在很多书其实在编写时并不是很认真的。毕竟尽信书不如无书!
后面的k>>8是把0xff的值右移8位,达到计算的目的(具体什么目的要看具体内容)
Ⅶ 我现在学c语言,c语言程序经常需要用到暂停,一般都是用getch函数,但这个函数会有一个等待输入的
这个函数主要是想让运行结果仍然保持,不会一闪而过。
你可以试试去掉的话,运行完,运行框也就没了
Ⅷ c语言中 等待的函数是什么呢
包含头文件:
#include
<windows.h>
调用
Sleep(3000);
就是等待3000毫秒(3秒)。第一个字母S大写。
--------
也可以自己写一个
等待
整数秒的函数:
#include
<time.h>
void
wait
(
int
seconds
)
{
clock_t
endwait;
endwait
=
clock
()
+
seconds
*
CLK_TCK
;
while
(clock()
<
endwait)
{}
}
调用
wait(3);
就是等待3秒
Ⅸ C语言输入函数
getc():
调用方式:int getc(FILE *stream)
它返回指定输入流stream的当前位置的下一个字符,并增加文件的位置指示器.
getch():
调用方式:int getch(void)
getch()从控制台读取一个字符,但不把该字符显示在屏幕上,也就是不回显.
getche():
调用方式:int getche(void)
getche()从控制台读取一个字符,把该字符显示在屏幕上,也就是回显.
getchar():
调有方式:int getchar(void)
getchar()从控制台读取一个字符,并回显,它和getch(),getche()的不同在于,它等到输入一个回车才结束,就算你输入了一个字符串,它也只取其中的第一个字符.
getchar()头文件为string.h,即需有# include<string.h>
其他的头文件为conio.h
呃,你可以使用追问吗~我这太不方便了,请问你用的什么编译器?
呃,这样子啊,对gcc我不清楚了就,也许其不支持或者文件库不一样,你可以针对查查,
在vc中我试了没有问题。。。