当前位置:首页 » 编程语言 » 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;
}