导航:首页 > 源码编译 > 计算机上程序编译符号

计算机上程序编译符号

发布时间:2022-06-13 00:08:01

⑴ 计算机编写的程序是什么汇编程序是什么编译程序是什么

1、计算机编写的程序可以是高级语言程序,如:vb,c#,c++,java
也可以是汇编语言,机器语言程序
2、汇编语言是一种助记符语言,机器语言之后诞生,帮助人们编写程序的符号,不用再记哪些机器指令,汇编语言写的程序就是汇编程序
3、编译程序是把汇编语言或一些高级语言转换成机器语言的代码

⑵ 请问编程里的 “. _ : = ”各表示什么意思

1、" . " —— 用在指针和结构体中。比如Student a;(Student 中有int sno;int grade;)int *b = Student;那么 (*b).sno等同于a.sno。

2、“ :”——用在选择判断。x = (a > b) ? a : b;

3、“ = ”——就是赋值运算符号了,最常用的。int a = 1;表示将1赋值给变量a;int b = a;表示将a变量的值赋值给b。

编程为编定程序的中文简称,让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

(2)计算机上程序编译符号扩展阅读:

编程的执行原理:

1、计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。

2、程序设计语言编写的源程序转换到机器目标程序的方式有两种:解释方式和编译方式。

3、解释方式下,计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。

⑶ C语言编译时,一些符号用什么写法

不是的,错误不是出在符号上,而是出在它的文件输上,你可以打开菜单栏中的Optionst选项,在下拉菜单中选择Directories选项,按回车键,第一个为Include directiories:……,这就是它的输入目录,你安装在磁盘的什么地言就输入就行了,不过后面还有一些事,自己查。

⑷ 请各位网友告诉我编程到底是怎样编的,为什么几个符号就可以了,符号也是人编出来的,计算机不是不懂吗

所谓的编程是运用一些编程软件如C++、.net、VB等按照计算机标准语言定义写出相应实现所需功能的程序段,您所说的符号是就是计算机的标准语言(并不是随便输入就可以哦),编写时必须严格按照标准,否则就会报错致使无法生成程序!另外计算机肯定是只懂0和1这两个符号,您所看到的符号是已经被编程软件等内部定义好的宏指令,把这些符号读入计算机后还是0和1的组合而已!

⑸ 计算机编译原理 图 里面的 圆圈 表示什么意思

先打个比方:
用程序接受从键盘输入的单词,并对照词典判断是不是拼写正确,步骤是:
一个一个地接收字母,每接受一个字母,识别状态往前推进一步。
假如只考虑识别3个单词:it, if, is

状态1:刚开始,一个字母还没收到。
状态2:接收到一个字母 i
状态3:又接收到一个字母 s
1,2,3用圆圈圈起来,1和2之间画个箭头连起来,箭头上标上字母 i。2和3也画个箭头,标上字母 s 。
这样的一张图,表示的是单词 is 的识别过程。

这个过程,就是你照片中第一个图,1,2,3串成一直线的图。
图中V1对应 i , 图中 V2 对应 s

你书上的图,描述的是“自动机”。自动机反映的是读取到一连串字母后的状态变化过程。
它包含若干个状态,即画有圆圈的数字。
当读入一个字母时,自动机从一个状态运行到另一个状态,对应图上的一个带箭头线条。线上标注的符号,代表读到的字符。

⑹ 关于C语言程序设计里的编译程序的符号---开根号(C++里面的)

double pow(double a, double b); // 返回a^b的值,开3方可写作pow(a,1.0/3.0)

⑺ 预编译命令行由什么符号开头

#include "stdio.h"
#define P 3
void *F(int x)/*定义一个无类型函数,它有返回值,只是返回的值是指向无类型数据的指针*/

void main(){printf("%d\n",(int)F(1+3));/*将无类型函数F返回的指针值通过(int)强制转换为int型*/

还有几个问题,
1.预处理命令行必须位于源文件的开头是对是错?为什么?
对!
编译器在编译源代码时都是从开头到结尾依次读取,自己定义的变量、宏等等都得放前面,这样在编译器在读到它们时就作一个记录;
在使用这些变量、宏时,编译器会在记录中去寻找,如果找不到就会报错——此变量未被定义。

函数可以放在结尾(main()之后),但是必须在开头作一个函数声明(也叫函数原型)以使编译器为它作记录,以便以后使用它时可以在记录中找到它。
函数也可以放在前面(main()之前),此时就不用再声明了,编译器在读到它时也会作一个记录。

总之,自己定义的东西都得先声明后使用,否则使用时在记录中会找不到它。

预处理命令也是自己定义的东西,同属这一范畴。

2.为什么在源文件的一行上不能有多条预处理命令?
每条C语句都有一个“;”作结尾,即使都放一行,编译器都能分辨得出。
预处理命令并不以“#”作为结尾标记,放一行的话编译器是无法分辨的,它会把此行作为一个语句处理

通常的语句最好都分行写,否则程序量大时是不便排错的。

3.若有下列说明和定义
union dt
date;
变量data所占内存字节数与成员c所占字节数相同,为什么?

联合体的长度是其最长成员(如double c)的长度。
联合体在内存中的存储形式:
联合体所有成员a,b,c都是同一地址,也就是说他们共同占用这一段内存。
以TC3.0为例,a占这一段内存的头2个字节,b占这一段内存的头一个字节,c占这一段内存的全部字节(也就是头4个字节)

4.为什么以下不对
char *sp;*sp="right!";
char s[10];s="right!";
一、进行字符串赋值时可以在定义时:直接在字符串定义后接“="right"”
如:char *sp="right";
或者 char s[10]="right";

二、也可以在非定义时,这时左值必须是左值必须是字符串指针变量。
如:sp="right!";
以下都是错误用法:
*sp="right!";//左值不是字符串指针变量
s="right!";//左值只是字符串指针 常量

1、如果说*a包含(x和\0),而*b包含(x和y),拿*a-*b会得出什么结果,*a和*b都是char型变量的话

最终的表达式*a-*b中,a points to '\0',b points to 'y',so 表达式*a-*b代表的是'\0'-'y',结果是-121(y的ASCII是121)

point(char*p)
main()
{
char b[4]={'a','b','c','d'),*p=b;
point(p); printf("%c\n",*p);
}
A.a B.b C.c D.d
选哪个?为什么?

选D,p最初是首地址b,然后p是b+3,此时*p相当*(b+3)、b[3].

2号问题:
main()
,,,},i,j;
for(i=0;i<4;i++)
{for (j=0;j<i,j++)
printf("%4c",' ');/*原题就是'和'之间只有个空格,我也不清楚是怎么回事*/
for(j=__;j<4;j++)
printf(%4d",num[i][j]);
printf("\n");
}
}
printf("%4c",' '); 其中的' '其实是一个空格字符常量,这个同'a','b','c'等字符常量是一样的。
这个语句中%4c是指要读取一个字符(这个字符就是后面的空格字符常量' ')并输出,这个字符在显示器上应该占4格。所以此句的功能是输出4个空格(空格也是属于字符)。
你改成printf("%4c",'a');printf("%4c",'b');试下,它是输出3个空格和一个字符。
printf("%8c",' ');是输出8个空格,这个比printf(" ");来实现输出8个字符来得方便。

若要按下列形式输出数组右上半三角(什么玩意?)。
1 2 3 4 i=0,j=i,那么j可以是0,1,2,3
6 7 8 i=1,j=i,那么j可以是1,2,3
11 12 i=2,j=i,那么j可以是2,3
16 i=3,j=i,那么j可以是3
则下划线处应填入的是?为什么?(B)
A.i-1 B.i
C.i+1 D.4-i

3号问题:
程序中若有下列说明和定义语句:
char fun(char*);
main()
{
char *s="one",a[5]=,(*fl)()=fun,ch;
......
}
下列选项中对函数的正确调用语句是?为什么?
A.(*fl)(a);
B.*fl(*s);
C.fun(&a);
D.ch=*fl( s);

选择A,根据定义char fun(char*),形参必须是一个字符指针,"a","s"才是字符指针(char pointer),而"*s" is char variable,"&a" is invalid.所以排除B、C

只有fun、*fl才是函数入口地址.
B.*fl(*s);相当于*(fl(*s)),错误,指针运算符只能针对指针运算,fl(*s)得到的是int,不是指针,下同。故排除B、D.
D.*fl( s);相当于*(fl( s));

4号问题
#define S(x) 4*x*x+1
main()
{
int i=6,j=8;
printf("%d",S(i+j));
getchar();
}
这个函数的输出结果是多少?怎么得的?

得到81.
因为S(i+j)经过预编译用i+j替换x后,它被展开为4*i+j*i+j+1。即(4*6+8*6+8+1)
你应该这样改:
#define S(x) 4*(x)*(x)+1
或者 printf("%d",S((i+j)));即将i+j用括号括起来(i+j),这样就在替换时用(i+j)替换x

⑻ 编译器怎么区分标识符和字符

首先要清楚标识符和字符的定义

举例子就是 class string

举例子就是 1,2,3,abc

然后要强调,编译器是无法区分标识符和字符的,只有人事先为其规定好规则的情况下,编译器才会按照标识符的方式去读取。打个比方,我规定了class为类标识符,那当我程序里 出现了class test时,编译器就会认为test是类而不是字符。不知道能不能理解,不过是个好问题

阅读全文

与计算机上程序编译符号相关的资料

热点内容
python怎么调用knn 浏览:807
excel怎么保存pdf 浏览:68
模拟退火算法matlab代码 浏览:115
算法工程师年龄大了以后怎么办 浏览:261
人教版高中化学pdf 浏览:706
pic单片机网口编程 浏览:25
大学必须学python吗 浏览:870
养什么植物解压 浏览:464
华为云服务器怎么装 浏览:481
ensp查看配置好的命令 浏览:85
短视频推荐系统python 浏览:805
加密超级大师怎么恢复文件 浏览:274
浏览器下载图片解压失败 浏览:197
android抢单 浏览:22
电信用联通游戏服务器地址 浏览:75
安卓缺什么软件 浏览:221
安卓app如何植入群号 浏览:765
php排序按钮 浏览:637
php位异或运算 浏览:866
服务器共享型有什么坏处 浏览:28