C语言中使用诸如F1,F2,F3……这些键

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-04
C语言递归函数,f3=2f2-f1;

先提一下,你这个不是函数的递归,函数递归的定义是“调用函数本身”,你的fn()函数里面直接执行完然后printf打印,没有调用自身。
完整的源代码:
#include

void fn(int n)
{
int i,s=2;
int f1=1,f2=1,f3;
for(i=3;i<=n;i++)
{
f3=2*f2-f1; //这里是2
s+=f3;
f1=f2;
f2=f3;
}
printf("%d",s);
}

int main()
{
//int fn(int n); 这条语句不用,因为这条语句的作用是申明函数fn,可是你的fn函数本来就在main()函数前面,所以不用申明,如果fn()放在main后面就可以了
int n;
scanf("%d",&n);
fn(n); //fn(int n);调用函数时,不能再声明参数的类型。

return 0;//main()函数最好带上返回值,这样才能告诉编译器你的程序正常运行退出了,
//当然,不返回,将int main()变为void main()也能得到曾雀结果,但不正规
}

3.#include

void main()
{ long num;
/*****FOUND*****/
long k=1;
printf("
Please enter a number.");
/*****FOUND*****/
scanf("%ld", &num);
do
{ k*=num%10;
/*****FOUND*****/
num/=10;
}while(num);
printf("
%ld
", k);
}



运行测试:

4.
#include

void main()
{ int i;
float f1=1,f2=1,f3;
/*****FOUND*****/
printf("%8.0f",f1);
/*****FOUND*****/
for(i=1;i<20;i++)
{ f3=f1+f2;f1=f2;
/*****FOUND*****/
f2=f3;
printf("%8.0f",f1);
}
printf("
");
}

运行结果:

关于键盘的操纵,和具体操作系统有关。

最原始控制键盘的方法是用机器代码,但一般不会有人这么做。BIOS中封装了对键盘的操控,但直接调用BIOS程序段来操纵键盘,仍然是一件很麻烦的事情,所以,进一步,操作系统在BIOS基础上对键盘操作进行了封装。

直接读写键盘信息,其实是扫描键盘接口电信号的变化,根据不同的信号得到不同的键值,这显然不符合现代的抽象编程思想。操作系统一般对键盘操作的最终封装,在很大程度下减轻了键盘操控的复杂性。

综上,你要想在C语言中,直接控制F1之类的功能键,最好的最直接的方法,是调用操作提供提供的API函数。比如在WINDOWS下的WIN32 API。不论使用什么编译器(不仅仅是C语言),都可以用这个方法来进行键盘操控。

不过,在WINDOWS窗口编程中,由于使用了消息机制,可以根据窗口消息来捕捉键盘输入。

#define F1 315
#define F2 316
#define F3 317
#define F4 318
#define F5 319
#define F6 320
#define F7 321
#define F8 322
#define F9 323
#define F10 324

int GetKey(void)
{
int Key;
_AH=0;
asm int 0x16;
if(_AL!=0)
Key=_AL;
else
{
Key=_AH;
Key=Key+256;
}
return Key;
}

  • c语言 字段题
    答:include <stdio.h> include <stdlib.h> struct bits { unsigned char bit0;unsigned char bit1;unsigned char bit2;unsigned char bit3;unsigned char bit4;unsigned char bit5;unsigned char bit6;unsigned char bit7;};void f0(int b);void f1(int b);void f2(int b);void f3(int b);...
  • 使用C语言编写一个程序,将一个文件添加到另一个文件中去。
    答:include<stdio.h> include<stdlib.h> include<string.h> int main(){ char s[300]="copy ",f1[100],f2[100],f3[100];printf("File1 name:");scanf("%s",f1);printf("File2 name:");scanf("%s",f2);printf("Dest File name:");scanf("%s",f3);strcat(s,f1);strcat(s,"/b+...
  • 怎么用C语言表示积分
    答:源代码如下:include#includefloat f1(float x){ return(1.0+x);} float f2(float x){ return(2.0*x+3.0);}float f3(float x){return(exp(x)+1);}float f4(float x){return(pow(1+x,2));} float f5(float x){ return(pow(x,3));} float fsimp(float a,float b,float (...
  • 如何使用c语言实现四则运算,详细思路很重要啊(越详细越好~),可以木有...
    答:如果元素是运算符就分开处理,如果是'(''+''-''*''/'')'处理方法都不一样,详细说明太复杂,整体的思想就是把数据和运算符的顺序排列好(上面的元素排列以后变成234,456,+;可以参考后序排列)。4.计算:依次弹出A中的元素,如果是数据把数据压在栈C中,如果是运算符,从C中弹出该运算符需要...
  • C语言从键盘输入3个数,求平均值并输出(求平均值写成自定义函数)_百度...
    答:include <stdio.h> void Avg(int a,int b,int c){ printf("%.3f\n",(float)((a+b+c)/3.0));} void main(){ int a,b,c;printf("Please input 3 number:\n");printf("First one:\n");scanf("%d",&a);printf("Second one:\n");scanf("%d",&b);printf("Third one:\...
  • C语言编程:写出斐波那契数列的前40个数
    答:include <stdio.h> int main(){ int f1 = 1;int f2 = 1;int f3,i;printf("%d\t%d\t",f1,f2);for(i = 1; i <= 38; i++){ f3 = f1 + f2;printf("%d\t",f3);f1= f2;f2= f3;} printf("\n");return 0;}
  • C语言中如何将文本文件中的数字读入
    答:voidmain(){ FILE*fin;inta,b,c,d;chars[20];floatf1,f2,f3,f4;fin=fopen("abc.txt","r");//打开 fscanf(fin,"%1d%1d%1d%1d",&a,&b,&c,&d);//按1位整型读前4个数 printf("a=%db=%dc=%dd=%d\n",a,b,c,d);rewind(fin);//文件回绕到开始处 fscanf(fin,"%s",s);...
  • 如何在C语言中输入空格符
    答:诸如这样的输入函数很多~比如:getch();getche();以上两个函数连回车符,F1、F2...等~~~
  • C语言问题!
    答:解释:(m1=f1>f2)此式子的值为1先进行>运算,在进行赋值运算。后式同此步,只不过后式的值为0,最后进行&&运算。一下程序是验证此话的正确性的。可以试一下。此题目的应该在于考察运算符的优先级的。include<stdio.h> main(){ int m1,m2;float f1,f2,f3,f4;m1=1;m2=1;f1=4;f2=3;...
  • C语言下F12用什么符号表示?
    答:F1~F12的ASCII码如下:VK_F1 = 112;VK_F2 = 113;VK_F3 = 114;VK_F4 = 115;VK_F5 = 116;VK_F6 = 117;VK_F7 = 118;VK_F8 = 119;VK_F9 = 120;VK_F10 = 121;VK_F11 = 122;VK_F12 = 123;=== ESC...