C语言编程问题 高手进

如果第2点满足了,那么第3点也不需要多线程了。

估计你用的是TC编译器,这是一个很差的编译器,建议你使用VC++(window)或者gcc(Linux/Unix)两者之一。图形和多线程都是与操作系统相关的东西,单单的C语言标准库是没有这类函数的,所以,如果你真的要实现这些东西,请选译一个平台(window或Linux),深入学习。

关于你说的第2点,TC还是有办法的。即使用boiskey函数

函数原型:int bioskey (int cmd)
说明:bioskey()的函数原型在bios.h中 bioskey()完成直接键盘操作,cmd的值决定执行什么操作。
cmd = 0:
当cmd是0,bioskey()返回下一个在键盘键入的值(它将等待到按下一个键)。它返回一个16位的二进制数,包括两个不同的值。当按下一个普通键时,它的低8位数存放该字符的ASCII码;对于特殊键(如方向键、F1~F12等等),低8位为0,高8位字节存放该键的扫描码。
cmd = 1:
当cmd是1,bioskey()查询是否按下一个键,若按下一个键则返回非零值,否则返回0。
cmd = 2:
当cmd是2,bioskey()返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert键的状态。各键状态存放在返回值的低8位字节中。 字节位 含义 0 右边Shift键状态 1 左边Shift键状态 3 Ctrl键状态 4 Alt键状态 5 ScrollLock键状态 6 NumLock键状态 7 CapsLock键状态 8 Insert

bioskey函数在游戏开发中很有用的一个函数,基本都是用它来处理用户的输入。scanf函数用来接受用户的输出入,直到用户输入后才返回。而bioskey不同的,它可以获取此时用户是否输入,如果输入,可以获取用户的输入值,只要设置函数的入口参数cmd即可。

http://blog.csdn.net/linyt/archive/2007/01/11/1480281.aspx
这是我博客上的一篇文章,具体分析搬运工游戏的代码,跟你的程序结构应该是很类似的(只能在TC上编译)

那个黑框子叫做控制台,是不带图形用户界面的.
如果真想用C语言写带图形界面的东西,在Windows下必须使用Win32 API,建议你看一下<Windows 程序设计>,网上有电子书可以下到.不过要做好心理准备,学用C语言进行Win32编程的难度比初学C语言还要大.
如果想速成,可以学VB,C#之类的语言,它们封装了许多底层的东西,可以以拖放的方式来设计程序的界面.

可以用一个死循环解决你说的问题。
比如:while(1){}
这样程序就能不断的执行下去了:)

3.看完书后发现C语言编的程序怎么都是“单线程”(不知道该怎么说)的?
那你何不在Linux下编C语言程序呢?Linux系统为程序员提供了多线程接口,不知道windows下有没有?反正标准C库我没发现有。

getch()不用按回车

C语言编程高手进问题简单~

没有看懂你究竟要完成什么~~!

一(1)
void main(int argc,char* argv[])
{
int a=0,b=0,i,c;
for(i=0;argv[1][i]!=0;i++)
a=a*10+argv[1][i]-'0';

for(i=0;argv[2][i]!=0;i++)
b=b*10+argv[2][i]-'0';

if(argc==4){
switch(*argv[3]){
case '+':printf("%d",a+b);break;
case '-':printf("%d",a-b);break;
case '*':printf("%d",a*b);break;
case '/':printf("%d",a/b);break;
}
}
else;

}
太多了,真的做不完啊!fliename.exe argv1 argv2 argv3 运行就好了
而且其它几题都不难的说。。。你自己试着做吧^ ^

#13977802350# C语言的问题(高手请进)我用TurboCforWindows集成 ******
#秦俘# 1. symbol _peintf in module c:\jmsoft\clanguage\人员信息管理.c 表明函数peintf()未定义,这错误在此: newname(void) { peintf("\n\nRecord %d. \nEnter neme:",n...

#13977802350# C语言编程高手进~~······帮我编个公式 - ******
#秦俘# #include "stdio.h"int main(){char a[14];int c1,c2,c3;gets(a);c1=(a[1]+a[3]+a[5]+a[7]+a[9]+a[11]-6*0x30)*3;c2=a[0]+a[2]+a[4]+a[6]+a[8]+a[10]-6*0x30;c3...

#13977802350# C语言的高手进 ******
#秦俘# 楼主问题很牛B我们差点儿受用不起了. 首先、需要非常熟悉文件的读写操作,还有二叉树的遍历,字符串操作 如果上边熟悉了考虑这问题就只要关注一个:哈弗曼树的建立.

#13977802350# C语言高手进、单片机编程、 - ******
#秦俘# 首先你声明的void display()函数是没参数的,而你定义的是void display(int x)有参数的.其次你的display函数中的switch case没有break,default.其他没仔细看,你改一下试试.

#13977802350# 关于c语言读入数据的问题,高手进 - ******
#秦俘#在循环里面的开头加上if(x==0 && y==0)break; 2,重点是你要调整一下程序 选一个不能用到的一种输入对;这样也可以 不知道是不是你要的答案,可以发消息给我----EOF是遇到错误或遇到end of file,在进入下一轮程序处理之前,进行一次判断...

#13977802350# C语言编程问题(麻烦各位高手给我解答,有重金悬赏) - ******
#秦俘# 三段程序都在 VS2010 编译通过先集中说下问题1. LZ 很多符号用的中文版本的标点符号,编译认不出来,所以出现很多怪提示.写代码的时候一定要关闭中文输入法2. scanf() 中提供的应该是变量的地址 &a 而不是 a 本身,这和 printf 不同3. ...

#13977802350# C语言编程 高手进 分不是问题 ******
#秦俘# #include <stdio.h> int Monge(int* a, int m, int n) // m行n列 { int i,k,j,l; for(i = 0; i < m-1; ++i) for(k = i + 1; k < m; ++k) for(j = 0; j < n-1; ++j) for(l = j + 1; l < n; ++l) if(*(a+(i*m)+j) + *(a+(k*m)+l) > *(a+(i*m)+l) + *(a+(k*m)+j)) return 0; return 1; } void Change(int...

#13977802350# c程序问题,高手进 ******
#秦俘# 请不要输入空格,因为空格在%s输入的时候被认为是字符串断续的符号,后面的字符串忽略不计了. 代码如下:#include<stdio.h> #include<stdlib.h> #define N 10 void main(){ void test(char *a); char a[N],*a1; a1=a; int i; printf("请输入字符串...

#13977802350# C语言问题,高手进! ******
#秦俘# 早就超出了unsigned int可以表示的范围! 这个题目的答案公式是:2^n,即2的n次幂. 在tc下,无符号整型数unsigned int的表示范围是0~(2^16-1) 在vc++中,无符号整型数unsigned int的表示范围是0~(2^32-1) 所以当n=32时,2^32产生向更高位的进位,但是向高位产生的进位不能保存,因为超过了无符号整型数unsigned int的表示范围.好比m是一个一位正整数,现在m=9,然后m++,得m=10但是m只能保存一位整数,所以m=0,向高位产生的进位1没法保存被丢弃.其实这就是模(mod或者用符号表示就是%)的意思!

#13977802350# C语言小问题 高手进 ******
#秦俘# #include <stdio.h> int main() { float c, f; printf("输入华氏温度:"); scanf("%f", &f); c = 5 * (f - 32) / 9; printf("摄氏温度是%.1f\n", c); printf("输入摄氏温度:"); scanf("%f", &c); f = 9 * c / 5 + 32; printf("华氏温度是%.1f\n", f); return 0; }

为传递更多家电数码信息,若有事情请联系
数码大全网