當前位置:首頁 » 編程語言 » 景深計算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直接識別二進制文件。將目標文件鏈接起來就成了可執行文件。

源代碼與源文件:

源代碼(也稱源程序)是指未編譯的按照一定的程序設計語言規范書寫的文本文件,是一系列人類可讀的計算機語言指令。 在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。

計算機源代碼的最終目的是將人類可讀的文本翻譯成為計算機可以執行的二進制指令,這種過程叫做編譯,通過編譯器完成。在大多數情況下,源代碼等於源文件。

參考資料來源:網路-源文件