当前位置:首页 » 编程语言 » 景深计算c语言源程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

景深计算c语言源程序

发布时间: 2022-11-02 00:43:45

‘壹’ c语言编程源代码翻译

#include<stdio.h>//头文件
intmain(void)//主函数
{
intdogs;//定义整型变量dogs
printf("Howmanydogsdoyouhave? ");//屏幕上输出:Howmanydogsdoyouhave?
scanf("%d",&dogs);//从键盘输入一个数,这个数给dogs赋值,之后dogs的值就是这个数
printf("soyouhave%ddog(s)! ",dogs);//屏幕上输出:soyouhave(你从键盘输入的那个数)dog(s)!
return0;
}
}

‘贰’ 这有个C语言计算器源代码 请高手翻译一下各句的作用

#include"dos.h"
#include"conio.h"
#include"string.h"
#include"stdio.h"

#define normbut_bor 0x80
#define presbut_but 0xb8
#define normnum_but 0x8e
#define presnum_but 0xb9
#define spebut_char 0x2c
#define win_color 0xf2
#define win_char 0xfb

struct s_button
{
int sx,sy,ex,ey;
char *head;
int press;
}button[18];

char far *vid_mem;
static int tx=32,ty=3;
float v1=0.0,v2=0.0;
struct stack
{
char s[20];
int tos,top;
}stack;
char tag;

init_stack()
{
stack.tos=0;
stack.top=0;
stack.s[stack.tos]='\0';
}
push(char ch)
{
stack.s[stack.tos++]=ch;
stack.s[stack.tos]='\0';
}
pop()
{
if(stack.tos>0)
stack.s[--stack.tos]='\0';
}
clear_stack()
{
stack.tos=0;
stack.top=0;
stack.s[stack.tos]='\0';
}

int form_win()
{
textbackground(WHITE);
clrscr();
draw_win();
active_button();
out_text_win();
window_xy(32,3);
}

draw_win()
{
int i;
char far *t;
char *s="LP_-_ Calculator";
draw_border(30,0,79,24,win_color);
i=(79-30-strlen(s))/2+30;
t=vid_mem+i*2;
for(;*s;)
{
*t++=*s++;
*t++=win_char;
}
}

draw_border(int sx,int sy,int ex,int ey,int attrib)
{
char far *t,far *v;
int i;
t=vid_mem;
for(i=sx+1;i<ex;i++)
{
v=t+sy*160+i*2;
*v++=196;
*v=attrib;
v=t+ey*160+i*2;
*v++=196;
*v=attrib;
}
for(i=sy+1;i<ey;i++)
{
v=t+i*160+sx*2;
*v++=179;
*v=attrib;
v=t+i*160+ex*2;
*v++=179;
*v=attrib;
}
write_char(sx,sy,218,attrib);
write_char(ex,sy,191,attrib);
write_char(sx,ey,192,attrib);
write_char(ex,ey,217,attrib);
}

write_char(int x,int y,char ch,int attrib)
{
char far *v;
v=vid_mem;
v+=x*2+160*y;
*v++=ch;
*v=attrib;
}

active_button()
{
int i;
make_button(0,39,6,55,8,"Backspace");
make_button(1,59,6,75,8,"C");
make_button(2,39,9,46,11,"7");
make_button(3,48,9,55,11,"8");
make_button(4,59,9,66,11,"9");
make_button(5,68,9,75,11,"/");
make_button(6,39,12,46,14,"4");
make_button(7,48,12,55,14,"5");
make_button(8,59,12,66,14,"6");
make_button(9,68,12,75,14,"*");
make_button(10,39,15,46,17,"1");
make_button(11,48,15,55,17,"2");
make_button(12,59,15,66,17,"3");
make_button(13,68,15,75,17,"-");
make_button(14,39,18,46,20,"0");
make_button(15,48,18,55,20,".");
make_button(16,59,18,66,20,"=");
make_button(17,68,18,75,20,"+");
for(i=0;i<18;i++)
{
draw_border(button[i].sx,button[i].sy,button[i].ex,button[i].ey,normbut_bor);
}
for(i=2;i<18;i++)
{
write_top(button[i].sx+1,button[i].sy+1,button[i].ex-1,button[i].head,normnum_but);
}
for(i=0;i<2;i++)
{
write_top(button[i].sx+1,button[i].sy+1,button[i].ex-1,button[i].head,spebut_char);
}

}

write_top(int x1,int y,int x2,char *s,int attrib)
{
char far *v,far *t;
int i;
v=vid_mem;
for(i=x1;i<=x2;i++)
{
t=v+y*160+i*2;
*t++=' ';
*t=attrib;
}
i=(x2-x1-strlen(s)+1)/2+x1;
t=v+160*y+i*2;
for(;*s;)
{
*t++=*s++;
*t++=attrib;
}

}

make_button(int num,int sx,int sy,int ex,int ey,char *top)
{
button[num].sx=sx;
button[num].sy=sy;
button[num].ex=ex;
button[num].ey=ey;
button[num].head=top;
button[num].press=0;
}
out_text_win()
{
draw_border(31,2,75,4,0x7f);
write_top(32,3,74," ",0xff);

}

get_key()
{
union inkey
{
char ch[2];
int i;
}c;
c.i=bioskey(0);
return(c.i);
}
window_xy(int x,int y)
{
union REGS r;
r.h.ah=2;
r.h.dh=y;
r.h.dl=x;
r.h.bh=0;
int86(0x10,&r,&r);
}

key_choice()
{
int ch,bx=0,by=4;
do
{
ch=get_key();
switch(ch)
{
case 0x011b: exit(1); break;

case 0x0231:res_but(bx,by);bx=0;by=3;get_data(bx,by);break;
case 0x0332:res_but(bx,by);bx=1;by=3;get_data(bx,by);break;
case 0x0433:res_but(bx,by);bx=2;by=3;get_data(bx,by);break;
case 0x0534:res_but(bx,by);bx=0;by=2;get_data(bx,by);break;
case 0x0635:res_but(bx,by);bx=1;by=2;get_data(bx,by);break;
case 0x0736:res_but(bx,by);bx=2;by=2;get_data(bx,by);break;
case 0x0837:res_but(bx,by);bx=0;by=1;get_data(bx,by);break;
case 0x0938:res_but(bx,by);bx=1;by=1;get_data(bx,by);break;
case 0x0a39:res_but(bx,by);bx=2;by=1;get_data(bx,by);break;
case 0x0b30:res_but(bx,by);bx=0;by=4;get_data(bx,by);break;

case 0xd2b :res_but(bx,by);bx=3;by=4;get_data(bx,by);send1();break;/*jia*/
case 0xc5f :res_but(bx,by);bx=3;by=3;get_data(bx,by);send1();break;/*jian*/
case 0x92a :res_but(bx,by);bx=3;by=2;get_data(bx,by);send1();break;/*chen*/
case 0x352f:res_but(bx,by);bx=3;by=1;get_data(bx,by);send1();break;/*chu*/

case 0x0d3d:res_but(bx,by);bx=2;by=4;get_data(bx,by);send2();
out_text_win();put_string();break;/*deng*/
case 0x342e:res_but(bx,by);bx=1;by=4;get_data(bx,by);break;/* . */

case 0x1c0d:res_but(bx,by);bx=2;by=4;get_data(bx,by);send2();
out_text_win();put_string();break;/* huiche */

case 0x0e08:res_but(bx,by);bx=0;by=0;pop();text_clo();break; /*tuige*/
case 0x4700:res_but(bx,by);bx=2;by=0;out_text_win();clear_stack();v1=0.0;v2=0.0;tx=32;window_xy(32,3);break;/*qingling*/
case 0x3920:res_but(bx,by);get_data(bx,by);ba_space(bx,by); break;/* kongge */

case 0x4800:res_but(bx,by);by--;break;/* 上 */
case 0x4b00:res_but(bx,by);bx--;break;/* zuo */
case 0x5000:res_but(bx,by);by++;break;/* xia */
case 0x4d00:res_but(bx,by);bx++;break;/* you */
}
if(bx<0)bx=0;
if(by<0)by=0;
if(by>4)by=4;
if(bx>3)bx=3;
select_but(bx,by);
}while(1);
}
ba_space(int x,int y)
{
int num;
char ch;
if(y<1)
if(x<2)num=0;
else num=1;
else num=x+2+4*(y-1);
switch(num)
{
case 17:send1();break;
case 16:send2();out_text_win();put_string();break;
case 13:send1();break;
case 9:send1();break;
case 5:send1();break;
case 1:clear_stack();out_text_win();tx=32;window_xy(32,3);break;
case 0:pop();text_clo();break;
default:;
}
}
text_clo()
{

tx--;
if(tx<32)tx++;
put_char(tx,ty,'');
}
put_string()
{
float result;
tx=32;
switch(tag)
{
case '+': result=v1+v2;break;
case '-':result=v1-v2;break;
case'*':result=v1*v2;break;
case '/': result=v1/v2;break;
default :result=v1;
}
sprintf(stack.s,"%f",result);
while(stack.s[stack.top])
{
put_char(tx,ty,stack.s[stack.top++]);
tx++;
}
}

send1()
{
sscanf(stack.s,"%f",&v1);
clear_stack();
}
send2()
{
sscanf(stack.s,"%f",&v2);
clear_stack();
}
get_data(int x,int y)
{
int num;
char ch;
if(y<1)
if(x<2)num=0;
else num=1;
else num=x+2+4*(y-1);
switch(num)
{
case 2:ch='7';break;
case 3:ch='8';break;
case 4:ch='9';break;
case 5:ch='/';break;
case 6:ch='4';break;
case 7:ch='5';break;
case 8:ch='6';break;
case 9:ch='*';break;
case 10:ch='1';break;
case 11:ch='2';break;
case 12:ch='3';break;
case 13:ch='-';break;
case 14:ch='0';break;
case 15:ch='.';break;
case 17:ch='+';break;
default:ch=1;
}
if(ch!=1)
{
put_char(tx,ty,ch);
if(ch!='+'&&ch!='-'&&ch!='*'&&ch!='/')
push(ch);
else tag=ch;
tx++;
}
}

select_but(int x,int y)
{
int num;
if(y<1)
if(x<2)num=0;
else num=1;
else num=x+2+4*(y-1);
draw_border(button[num].sx,button[num].sy,button[num].ex,button[num].ey,presbut_but);
write_top(button[num].sx+1,button[num].sy+1,button[num].ex-1,button[num].head,presnum_but);
}
res_but(int x,int y)
{
int num;
if(y<1)
if(x<2)num=0;
else num=1;
else num=x+2+4*(y-1);
if(num>1)
{
draw_border(button[num].sx,button[num].sy,button[num].ex,button[num].ey,normbut_bor);
write_top(button[num].sx+1,button[num].sy+1,button[num].ex-1,button[num].head,normnum_but);
}
else
{
draw_border(button[num].sx,button[num].sy,button[num].ex,button[num].ey,normbut_bor);
write_top(button[num].sx+1,button[num].sy+1,button[num].ex-1,button[num].head,spebut_char);
}
}

put_char(int x,int y,char ch)
{
char far *v;
v=vid_mem;
v+=x*2+y*160;
*v++=ch;
*v=0xf0;
window_xy(x,y);
}

calculator()
{
int a,b;
key_choice();

}
write_text(int x,int y,char *s,int attrib)
{
char ch;
int lx=x,ly=y;
for(;*s;)
{
ch=*s++;
switch(ch)
{
case '\n':lx=x;ly++;break;
default:write_char(lx++,ly,ch,attrib);
}

}
}

menu()
{
char *s="Made by LiuPeng\nEmail:[email protected]\nQQ:391930474"
"\nSfcode:080524\nCopyright:LP.inc";
draw_border(0,0,29,24,win_color);
write_top(1,2,28,"FUNCTION BUTTONS",0xf9);
draw_border(3,4,7,6,0x80);
draw_border(9,4,19,6,0x80);
draw_border(21,4,26,6,0x80);
draw_border(13,8,15,10,0x80);
draw_border(13,12,15,14,0x80);
draw_border(9,12,11,14,0x80);
draw_border(17,12,19,14,0x80);
write_top(4,5,6,"ESC",0x8b);
write_top(10,5,18,"backspace",0x8b);
write_top(22,5,25,"home",0x8b);
write_char(14,9,24,0x8b);
write_char(14,13,25,0x8b);
write_char(10,13,27,0x8b);
write_char(18,13,26,0x8b);
write_top(1,16,28,"Introction",0x7e);
write_text(1,17,s,0x78);
}
main()
{
init_stack();
vid_mem=(char far *)0xb8000000;
if(!form_win())
{
printf("can't form the device,press any key to leave!...");
getch();
exit();
}
menu();
calculator();

}

‘叁’ 请描述一下一个简单的C语言源程序代码都包括哪些

您好,很高兴回答您的问题。
在C语言中,无论是什么样程度的代码程序,都包含有以下几个方面:
宏定义(或者包含的头文件,视情况而定)
函数返回值类型 主函数(类型 变量)
{变量定义或者初始化;
输入语句;
计算语句;
输出语句;
}
函数返回值类型 函数名(类型 变量,类型 变量,。。。)(自定义函数视情况而定)
{变量定义或者初始化;
输入语句;
计算语句;
输出语句;
}

‘肆’ 景深是什么

景深(DOF),是指在摄影机镜头或其他成像器前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围。光圈、镜头、及焦平面到拍摄物的距离是影响景深的重要因素。

在聚焦完成后,焦点前后的范围内所呈现的清晰图像的距离,这一前一后的范围,便叫做景深。

在镜头前方(焦点的前、后)有一段一定长度的空间,当被摄物体位于这段空间内时,其在底片上的成像恰位于同一个弥散圆之间。被摄体所在的这段空间的长度,就叫景深。换言之,在这段空间内的被摄体,其呈现在底片面的影象模糊度,都在容许弥散圆的限定范围内,这段空间的长度就是景深。

中文名:景深

外文名:DOF (Depth of Field)

拼音:jǐngshēn

三要素:光圈、镜头、及焦平面到拍摄物的距离

定义:焦点前后仍清晰的范围

‘伍’ 用c语言编写的代码程序

c语言的源程序语法结构如下:
#include<stdio.h>//预处理语句
/* 自定义函数1*/
/* 自定义函数2*/
int main()
{
//main()主函数执行调用以上定义的函数的顺序
return 0;//执行完毕 退出

}
示例如下:
#include <stdio.h>
int main()
{
printf("welcome to c language!!!\n");
return 0;

}

‘陆’ c语言贷款计算器的源程序

/*
* main.c
*
* Created on: 2011-6-8
* Author: icelights
*/
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>

#define APR1 0.0747 /*<1年(含1年)年利率*/
#define APR2 0.0756 /*1-3年(含3年)年利率*/
#define APR3 0.0774 /*3-5年(含5年)年利率*/
#define APR4 0.0783 /*5年以上年利率*/
#define A_TO_M 1/12 /*月利率 = 年利率 / 12*/
#define RTP 12 /*Reimbursement total periods还款总期数 =年限*12*/
#define LENGTH 80

struct LoanInfo
{
/*姓名*/
char name[LENGTH];
/*贷款总额*/
double LoanAmount;
/*贷款年限*/
double LoanYear;
/*月付*/
double MonthlyPayment;
/*总利息*/
double TotalInterest;
/*还款总额*/
double ReimbursementAmount;
/*年利率*/
double apr;

struct LoanInfo * next;
};

void CalcShow(struct LoanInfo * cur, struct LoanInfo * hd,
struct LoanInfo * prv);

int main(void)
{
int temp;
struct LoanInfo * head = NULL;
struct LoanInfo * prev, * current;

current = (struct LoanInfo *)malloc(sizeof(struct LoanInfo));

if (NULL == head)
{
head = current;
}
else
{
prev->next = current;
}/*End of if (NULL == head)*/

puts("请输入姓名");
gets(current->name);
fflush(stdin);

puts("请输入贷款数额(单位:万元)");
scanf("%lf", ¤t->LoanAmount);
fflush(stdin);

puts("请输入贷款年限");
scanf("%lf", ¤t->LoanYear);
fflush(stdin);

printf("姓名:%s,贷款年限:%lf, 贷款数额%lf",
current->name, current->LoanYear, current->LoanAmount);

prev = current;

puts("请确认Y/N");

temp = getchar();

switch(toupper(temp))
{
case 'Y' : CalcShow(current, head, prev);
break;
case 'N' : free(current);
main();
break;
default : puts("输入错误");
free(current);
break;
}

return 0;
}

void CalcShow(struct LoanInfo * cur, struct LoanInfo * hd,
struct LoanInfo * prv)
{
char lcv_temp;

if (cur->LoanYear <= 1)
cur->apr = APR1;
else if (cur->LoanYear <= 3)
cur->apr = APR2;
else if (cur->LoanYear <= 5)
cur->apr = APR3;
else
cur->apr = APR4;
/*End of if (year <= 1)*/

cur->LoanAmount = 10000 * cur->LoanAmount;
cur->ReimbursementAmount = cur->LoanAmount * pow((1 + cur->apr), cur->LoanYear);
cur->MonthlyPayment = cur->ReimbursementAmount / (cur->LoanYear * RTP);
cur->TotalInterest = cur->ReimbursementAmount - cur->LoanAmount;

printf("姓名:%s 贷款年限:%.0lf\n"
"贷款数额:%.2lf 每月还款额:%.2lf\n"
"利息合计:%.2lf 还款总额:%.2lf\n",
cur->name, cur->LoanYear, cur->LoanAmount,
cur->MonthlyPayment, cur->TotalInterest, cur->ReimbursementAmount);

puts("是否继续计算Y/N");

lcv_temp = getchar();
switch(toupper(lcv_temp))
{
case 'Y' : free(cur);
main();
break;
case 'N' : free(cur);
exit(0);
default : puts("输入错误");
free(cur);
main();
break;
}

system("pause");

}

‘柒’ C语言的源程序的扩展名是什么

C语言源程序后缀为.c
,在windows平台上,编译后的后缀为.obj,连接后的后缀为.exe。在Linux平台上,预处理后的文件扩展名一般为.i,C语言编译器编译后的文件扩展名一般为.S,是一个汇编代码文件,汇编器编译后的文件扩展一般为.o,链接器生成的可执行文件默认为.out。

‘捌’ C语言中,源程序与源文件有什么区别麻烦详细点

通常我们在做练习的时候编的程序是将定义的数据结构、函数和宏,都放在了一个.c文件中了。
但是,在做大的项目的时候,往往是由多人完成,有些通用的东西可能多个人都要用到。这样就将数据结构的定义、函数的定义宏的定义甚至包含的头文件都放于某个.h文件里面,把相关功能的代码放在同一个.c文件里面。最后,多个.c文件可以编译成多个.o目标文件,多个.o文件可以连接一个大的工程文件。
以上的.c文件就是源程序文件。
可能没有讲得怎么清楚…但是,初学编程的人可以先养成良好的习惯将数据结构的定义,函数的定义宏的定义放在头文件.h里,其他代码写在.c文件里,在.c文件中包含这个头文件。

‘玖’ C语言中的源程序文件和目标文件的扩展名分别是

C语言源代码文件一般扩展名为.c,目标文件扩展名一般为.obj,生成的可执行文件扩展名一般为.exe。

不同平台的C源代码扩展名都为.c,但目标文件扩展名不同,例如:在Linux平台上,生成的可执行文件一般扩展为.out。

源文件:这是指由源程序和数据构成的文件。通常由终端或输入设备输入的源程序和数据所形成的文件都属于源文件。它通常是由 ASCII 码或汉字所组成的。

目标文件:这是指把源程序经过相应语言的编译程序编译过,但尚未经过链接程序链接的目标代码所构成的文件。它属于二进制文件。

可执行文件:这是指把编译后所产生的目标代码再经过链接程序链接后所形成的文件。

(9)景深计算c语言源程序扩展阅读:

源文件,目标文件,可执行文件的联系:

源文件就是用汇编语言或高级语言写出来的代码保存为文件,目标文件是指源文件经过编译程序产生的能被cpu直接识别二进制文件。将目标文件链接起来就成了可执行文件。

源代码与源文件:

源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。

计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。在大多数情况下,源代码等于源文件。

参考资料来源:网络-源文件