當前位置:首頁 » 編程語言 » c語言基礎代碼帶翻譯
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言基礎代碼帶翻譯

發布時間: 2023-08-01 08:46:12

1. c語言語法翻譯

TC的
#include <stdio.h>
#include <alloc.h>
#include <ctype.h>
#include <dos.h>
#include <dir.h>
#include <io.h>
#include <graphics.h>
#define GETADR(n,str) (str *) calloc (n,sizeof(str))
#define W16 16
#define C16 32
unsigned char bit[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};

FILE *fi;
char *dot,str[20];

main(int argc,char *argv[])
{
int i,j,nn,xc,yc,MaxX,MaxY,menul[1000];
int graphdriver=DETECT,graphmode;
if(argc!=2){
puts("LT16<???.N4>");
exit(0);
}
dot=GETADR(C16,char);
fnmerge(str,"","",argv[1],".N4");
if((fi=fopen(str,"r"))==NULL){
puts("Can't open DATA.");
exit(0);
}
fscanf(fi,"%d",&nn);
if(nn<=0||nn>1000)
exit(0);
for (i=0;i<nn;i++)
fscanf(fi,"%d",&menul[i]);
fclose(fi);
if((fi=fopen("CLIB16.DOT","rb"))==NULL){
puts("Can't open CLIB16.DOT");
exit(0);
}

initgraph(&graphdriver,&graphmode,"");
MaxX=getmaxx();
MaxY=getmaxy();
xc=0;
yc=20;
for(j=0;j<nn;j++){
i=readlibdot(menul[j]);
putchar16(xc,yc);
xc+=20;
if(xc>MaxX-20){
yc+=20;
xc=0;
if(yc>MaxY-20){
getch();
clearviewport();
yc=0;
}
}
}
getch();
closegraph();
}
readlibdot(int j)
{
int i0,j1,j2;
long order,k1;
j1=j/100;
j2=j-j1*100;
if(j1>=9)
j1=j1-6;
k1=94*j1+j2-95;
order=C16*k1;
fseek(fi,order,SEEK_SET);
i0=fread(dot,C16,1,fi);
return(i0);
}
putchar16(int bx,int by)
{
int i,j,kk,k,x1,y1;
unsigned char marker;
kk=0;
y1=by;
for(i=0;i<16;i++,y1++){
for(j=0;j<2;j++){
x1=bx+j*8;
marker=*(dot+kk);
kk++;
for(k=0;k<8;k++){
if(!(marker&bit[k]))
continue;
putpixel(x1+k,y1,YELLOW);
}
}
}
return;
}

2. C語言代碼翻譯

#include <stdio.h>
#include <stdlib.h>
#include <time.h> //三個頭文件

void wait ( int seconds ) //定義一個具有等待功能的函數
{
int a=0;
clock_t endwait; //clock_t 就是long 型
//通過下面兩部實現等待seconds秒的作用
endwait =clock()+seconds*CLK_TCK;
while (clock()<endwait){}
}

void main()
{
int t,m,s;
printf("input counterdown time in seconds\n");
scanf("%d",&t);
printf("\n===================\n");
while(1) //只要時間不為0 不斷執行循環
{
wait (1); //執行wait函數 程序等待一秒
t--; //倒計時總秒數每隔一秒自動減一
if(t==0)
break;
s = t % 60; //確定倒計時分鍾
m = t / 60; //確定倒計時秒數
printf("\r\t%02d:%02d",m,s);
}
exit(0);
}

3. 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;
}
}

4. C語言中所有的代碼及其代表的意思,有誰知道

這個問題問的太。。。。了,給你找了個操作符(operator)用於操作數據。操作符進行計算、檢查等式、進行賦值、操作變數和進行其它更奇怪的工作。C++中有許多操作符,這里不想列出全部,只列出最常用的操作符,如下表所示。表1.2常用C++操作符操作符說明舉例
算術運算符
+ 加 x=y+z;
- 減 x=y-z;
* 乘 x=y*z;
/ 除 x=y/z;
賦值運算符
= 賦值 x=10;
+= 賦值與和 x+=10;(等於x=x+10;)
-= 賦值與減 x-=10;
*= 賦值與乘 x*=10;
\= 賦值與除 x\=10;
&= 賦值位與 x&=0x02;
|= 賦值位或 x|=0x02;
邏輯操作符
&& 邏輯與 if(x && 0xFF) {...}
|| 邏輯或 if(x || 0xFF) {...}
等式操作符
== 等於 if(x == 10) {...}
!= 不等於 if(x != 10) {...}
< 小於 if(x < 10) {...}
> 大於 if(x > 10) {...}
<= 小於或等於 if(x <= 10) {...}
>= 大於或等於 if(x >= 10) {...}
一元操作符
* 間接操作符 int x=*y;
& 地址操作符 int* x=&y;
~ 位非 x &=~0x02;
! 邏輯非 if(!valid) {...}
++ 遞增操作符 x++(等於x=x+1;)
-- 遞減操作符 x--;
類和結構操作符
:: 范圍解析 MyClass :: SomeFunction();
-> 間接成員 MyClass-> SomeFunction();
· 直接成員 MyClass . SomeFunction();
可以看出,這個清單長了些,沒法一下子記住。使用C++時,你會慢慢熟悉這些操作符的。必須指出,遞增操作符既可用作前遞增(++x),也可用作後遞增(x++)。前遞增操作符告訴編譯器先遞增再使用變數,而後遞增操作符則讓編譯器先使用變數值再遞增。例如下列代碼:
int x = 10;
cout << "x = " << x++ << end1;
cout << "x = " << x << end1;
cout << "x = " x << end1;
cout << "x = " << ++x << end1;
輸出結果如下:
x=10
x=11
x=12
x=12
遞減操作符也是這樣,這里不想將這些內容講得太深,但讀者可以耐心閱讀下去,正如彭茲對奧古斯特所說,「奧古,耐心點,羅馬不是一天建成的」。說明 在C++中操作符可以過載(overload)。編程人員可以通過過載標准操作符讓它在特定類中進行特定運行。例如,可以在一個類中過載遞增操作符,讓它將變數遞增10而不是遞增1。操作符過載是個高級C++技術,本書不準備詳細介紹。你也許會發現,有些操作符使用了相同的符號。符號的意義隨情境的不同而不同。例如,星號(*)可以作為乘號、聲明指針或取消指針引用。這初看起來有點亂,事實上,C++編程老手有時也覺得有點亂。多實踐,你會慢慢適應的。本書有許多例子介紹這些操作符。讀者不必死記每個操作符的作用,而可以在學習中通過程序和碼段去理解其作用。 C++中的函數
函數是與主程序分開的碼段。這些碼段在程序中需要進行特定動作時調用(執行)。例如,函數可能取兩個值並對其進行復雜的數學運算。然後返回結果,函數可能取一個字串進行分析,然後返回分析字串的一部分。新術語 函數(function)是與主程序分開的碼段,進行預定的一個服務。函數是各種編程語言的重要部分,C++也不例外。最簡單的函數不帶參數,返回void(表示不返回任何東西),其它函數可能帶一個或幾個參數並可能返回一個值。函數名規則與變數名相同。圖1.5顯示了函數的構成部分。新術語 參數(parameter)是傳遞給函數的值,用於改變操作或指示操作程度。
返回類型 函數名 參數表
↓ ↓ ↓
int SomeFunction(int x, int y){
函數體→int z = (x * y); return z; ↑返回語句
}
圖1.5函數的構成部分使用函數前,要先進行聲明。函數聲明或原型(prototype)告訴編譯器函數所取的參數個數、每個參數的數據類型和函數返回值的數據類型。清單1.4列示了這個概念。新術語 原型(prototype)是函數外觀的聲明或其定義的說明。
清單1.4Muttiply.cpp
1: #include <iostream.h>
2: #include <conio.h>
3: #pragma hdrstop
4:
5: int multiply(int,int)
6: void showResult(int);
7:
8:int main(int argc,char **argv);
9:{
10: int x,y,result;
11: cout << end1 << "Enter the first value:";
12: cin >> x;
13: cout << "Enter the second value: ";
14: cin >> y;
15: result=multiply(x,y);
16: showResult(result);
17: cout << end1 << end1 << "Press any key to continue...";
18: getch();
19: return 0
20: }
21:
22: int multiply(int x,int y)
23: {
24:return x * y;
25: }
26:
27: void showResult(int res)
28: {
29:cout << "The result is: " << res <<end1;
30: }
這個程序的11到14行用標准輸入流cin向用戶取兩個數字,第15行調用multiply()函數將兩個數相乘,第16行調用showResult()函數顯示相乘的結果。注意主程序前面第5和第6行multiply()和showResult()函數的原型聲明。原型中只列出了返回類型、函數名和函數參數的數據類型。這是函數聲明的最基本要求。函數原型中還可以包含用於建檔函數功能的變數名。例如,multiply()函數的函數聲明可以寫成如下:int multiply(int firstNumber,int secondNumber);這里函數multiply()的作用很明顯,但代碼既可通過說明也可通過代碼本身建檔。注意清單1.4中函數multiply()的定義(22到25行)在主函數定義碼段(8到20行)之外。函數定義中包含實際的函數體。這里的函數體是最基本的,因為函數只是將函數的兩個參數相乘並返回結果。清單1.4中函數multiply()可以用多種方法調用,可以傳遞變數、直接數或其它函數調用的結果:
result = multiply(2,5);//passing literal values
result = multiply(x,y); //passing variables
showResult(multiply(x,y));
//return value used as a
//parameter for another function
multiply(x,y);//return value ignored
注意 最後一例中沒有使用返回值。本例中調用函數multiply()而不用返回值沒什麼道理,但C++編程中經常忽略返回值。有許多函數是先進行特定動作再返回一個數值,表示函數調用的狀態。有時返回值與程序無關,可以忽略不計。如果將返回值忽略,則只是放棄這個值,而不會有別的危害。例如,前面的樣本程序中忽略了getch()函數的返回值(返回所按鍵的ASCII值)。函數可以調用其它函數,甚至可以調用自己,這種調用稱為遞歸(recursion)。這在C++編程中是個較復雜的問題,這里先不介紹。新術語 遞歸(recursion)就是函數調用自己的過程。

5. C語言代碼解釋「Hello,world」

printf("Hello,world ");//printf是系統輸出函數,用於向控制台列印文字。

#include"stdio.h"//標准輸入輸出庫的頭文件

#include"conio.h"//控制台輸入輸入庫的頭文件

#include<stdio.h>

intmain()

{

printf("helloworld! ");//輸出helloword!

return1;//返回1

}

(5)c語言基礎代碼帶翻譯擴展閱讀

「Hello,world」的引用

HelloWorld最初是由BrianKernighan創建的。1978年,BrianKernighan寫了一本名叫《C程序設計》的編程書,在程序員中廣為流傳。他在這本書中第一次引用的HelloWorld,之後「Helloworld」就開始流行起來,並成為了計算機發展歷史上一個具有重要意義的起點。

例:

main(){

分機a,b,c;

putchar(a);putchar(b);putchar(c);putchar('!*n');

}

「地獄」;

b'o,w';

c'orld';

6. c語言基礎代碼,越詳細,解釋越簡單,越好

你並沒有把詳細的 C 語言基礎代碼寫出來,別人怎麼幫助你添加註釋語句啊?因為所說的 C 語言基礎代碼實際上並沒有一定之規。怎麼樣才算是基礎代碼、有幾行代碼就可以、足夠了?這些都是靈活的、並不是一成不變的。例如,最、最簡單的 C 語言基礎代碼就是:很多 C 語言教材上的第一個程序,輸出:"Hello, World !"。該詳細的 C 語言代碼如下:
#include <stdio.h> /* 基本輸入輸出頭文件,包括:printf、scanf等的庫函數原型說明 */
void main( ) /* 任何一個 C 語言源代碼都必須包含主函數 main( ),void 表示該函數不返回任何值 */
{ /* 在 C 語言代碼中,任何一個函數都是以 { 開始,並且以 } 結束 */
printf( "Hello, World !\n" ) ; /* 在電腦屏幕上輸出字元串:Hello, World */

}

7. 關於C語言簡單翻譯,麻煩各位大神幫忙把下面的函數每句的中文意思寫在後面,謝謝謝

(1)void add_data()

{

structstudent st;//創建結構體變數st

int b;

int k,i;

while(1)

{

printf("\n請輸入學生信息:");

printf("\n編號\t姓名\t郵政編碼\t電話號碼");

printf("\n---------------------------------------------------------------\n");

scanf("%s%s%s%s",st.no,st.name,st.postcode,st.phonenumber);//將名字,電話號等組包放在st.no下

for(i=0;i<dd.count;i++)//for循環每個學號的學生

if(strcmp(dd.stu[i].no,st.no)==0) //如果學生學號和no的相同證明找到了

break;//中斷

if(i<dd.count)//如果查找的學生數不在總數中

printf("您輸入的學號已存在,請重新輸入");

else//這個else是將學號姓名電話等存入stu數組中,並且計數

{

k =dd.count;

strcpy(dd.stu[k].no,st.no);

strcpy(dd.stu[k].name,st.name);

strcpy(dd.stu[k].postcode,st.postcode);

strcpy(dd.stu[k].phonenumber,st.phonenumber);

dd.count++;

}

printf("\n\n繼續添加學生信息[1-yes 0-no]:");

scanf("%d",&b);

if(b==0) break;

}

save_data();

}

//此段程序為輸入程序,主程序為數組和while循環的結合體,並且實現的無重復編號的輸入,從而實現的信息的准確性。

(2)void delete_data()

{

int i,k;

charno[10];

printf("\n請輸入要刪除學生的編號:");

scanf("%s",no);

k=-1;

for(i=0;i<dd.count;i++)//循環整個學生數

{

if(strcmp(dd.stu[i].no,no)==0)//如果找到該學號了

{

k=i;//將學號給k變數

break;

}

}

if(k==-1)//沒有找到

{

printf("\n\n沒有找到該學生(編號-%s)!",no);

}

else//根本就沒有

{

for(i=k;i<dd.count-1;i++)//接著k學號之後的學生找

{

strcpy(dd.stu[i].no,dd.stu[i+1].no);

strcpy(dd.stu[i].name,dd.stu[i+1].name);

strcpy(dd.stu[i].postcode,dd.stu[i+1].postcode);

strcpy(dd.stu[i].phonenumber,dd.stu[i+1].phonenumber);

}

dd.count--;

save_data();

printf("\n\n刪除(編號-%s)成功!",no);

}

}

8. C語言代碼求解釋翻譯,越詳細越好!

#include "circle.h"

//創建一個圓實例(分配內存)
circle *circle_new()
{
circle *returnValue;

returnValue = (circle *) malloc(sizeof(circle));
memset(returnValue, 0, sizeof(circle));

return returnValue;
}

//創建一個圓列表的實例(分配內存)
//noOfCircle表示該列表最多容納多少個圓
//由於沒有頭文件,猜測該列表是通過一個數組模擬的。(list是一個圓指針的數組)
circleList *circleList_new(int noOfCircle)
{
circleList *returnValue;

returnValue = (circleList *) malloc(sizeof(circleList));
memset(returnValue, 0, sizeof(circleList));
returnValue->list = (circle **) malloc(sizeof(circle *)*noOfCircle);
returnValue->noOfCircle = noOfCircle;

return returnValue;
}

//根據指定的ID獲得圓
//circleList *aCircleList(圓列表), int circleID(圓ID)
//返回指定的圓
circle *circle_getCircle(circleList *aCircleList, int circleID)
{
circle *returnValue;

returnValue = aCircleList->list[circleID];

return returnValue;
}

//列印一個圓,包括圓心坐標:x,y和半徑r
void circle_print(circle *aCircle)
{
double x, y, radius;

x = aCircle->x;
y = aCircle->y;
radius = aCircle->radius;

printf("(%.5f, %.5f) with radius = %.5f\n", x, y, radius);
}

//列印一個列表中的所有的圓,
void circleList_print(circleList *aCircleList)
{
circle **list;
circle *aCircle;

int i;

int noOfCircle;

noOfCircle = aCircleList->noOfCircle;
list = aCircleList->list;

for (i = 0; i < noOfCircle; i++)
{
aCircle = list[i];
printf(" Circle %d \n", i);
circle_print(aCircle);
}
}

//檢查一個圓(aCircle)是否覆蓋某個點(x,y)
int circle_checkWhetherCircleCoverPoint(circle *aCircle, double x, double y)
{
int returnValue;

double centerX, centerY;
double radius;

double leftSide, rightSide;

double temp1, temp2;

centerX = aCircle->x;
centerY = aCircle->y;
radius = aCircle->radius;

temp1 = centerX - x;
temp2 = centerY - y;

leftSide = temp1*temp1 + temp2*temp2;
rightSide = radius*radius;

if (leftSide <= rightSide)
{
returnValue = 1;
}
else
{
returnValue = 0;
}

return returnValue;
}