【C语言基础】C语言第一章

来源:互联网 发布:王朔浮出海面 知乎 编辑:程序博客网 时间:2024/06/06 11:42
第一章 C语言概述
计算机语言分为机器语言、低级语言与高级语言。
早期的时候用的是机器语言,要实现两个数的相加用的是一串01指令,如
“0000100101010101010001011”
所以工程师为了方便,将这串01指令变更成了低级语言,如在计算机以及电子专业中有开设“微机原理”课程,里面会用到汇编语言,汇编语言实现两个数的相加代码如下:
"ADD x , y"
该程序段运行的结果就是:将变量x与变量y相加的结果赋值给x。


【赋值与变量的概念】
例:已知函数f(x,y)=x+y,现已知z=f(x,y),求x=10,y=20时z的值?
这里x=10中的“=”已经不是相等的意思了,而是把10赋给x。
同样,当把10赋值给x,把20赋值给y是,我们将x+y的结果30赋值给z,z的值就变成了30.
变量:x,y,z都是。
常量:10,20。。。不变的量


低级语言的不足:编写起来比较麻烦
下面是汇编语言编写的一个程序,用于比较两个字符串是否相同。
DATA SEGMENT
R1 DB 'MATCH',0AH,0DH
R2 DB 'NO MATCH',0AH,0DH
STRING1 DB 'XXXXX'
N1 EQU $-STRING1
STRING2 DB 'YYYYY'
N2 EQU $-STRING2
DATA ENDS
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
       MOV DS,AX
       MOV AX,N1
       CMP AX,N2
       JNZ AA1
       ADD AX,1
       LEA SI,STRING1
       LEA DI,STRING2
AA2:   MOV BL,[SI]
       MOV BH,[DI]
       INC SI
       INC DI
       SUB AX,1
       JZ AA3
       CMP BL,BH
       JZ AA2
       JMP AA1
AA3:   LEA BX,R1
       MOV CX,7
AA4:   MOV DL,[BX]
       INC BX
       MOV AH,2
       INT 21H
       LOOP AA4
       JMP E
AA1:   LEA BX,R2
       MOV CX,10
AA5:   MOV DL,[BX]
       INC BX
       MOV AH,2
       INT 21H
       LOOP AA5 
E:     MOV AH,4CH
       INT 21H
CODE   ENDS
END START
下面是C语言的程序:
#include <stdio.h>
#include <string.h>
int main()
{
scanf("%s%s" ,s1 ,s2);
if(strcmp(s1 , s2) == 0) printf("MATCH");
else printf("NO MATCH");
return 0;
}


C语言作为一门高级语言,他有很多好的特点:
(1)语言简介、紧凑,使用方便、灵活。
(2)运算符丰富。
(3)数据类型丰富。
(4)具有结构化的控制语句(如if...else语句、while语句、do...while语句、switch语句、for语句)
(5)语法限制不太严格,程序设计自由度大。
(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。
(7)生成目标代码质量高,程序执行效率高。
(8)用C语言编写的程序可移植性好(与汇编语言比)。


简单程序举例:已知函数f(x,y)=x+y,现已知z=f(x,y),求x=10,y=20时z的值?(之前举的例子)
#include <stdio.h>
void main()
{
    int x , y , z;
    x = 10; y = 20;
    z = x + y;
    printf("%d\n" , z);
}


简单C语言程序的组成:
-调用的库:#include <库名> , 如:
#include <stdio.h>
stdio : standard input and output
.h是函数库的后缀名,就跟c文件的后缀名为".c",windows下可运行文件的后缀名为".jpg"一样
-函数(主函数):C语言是由函数构成的。一个C语言必须得有一个main函数(主函数),所有的语句只有放在main函数中才是运行的。


变量类型(本节课简略讲):int:integer
变量的定义:int x , y , z; 定义三个整形的变量(生了三个integer:x,y,z)
变量的赋值:x = 10; y = 20; 给两个小孩取名字
   z = x + y;
printf("%d\n" , z); 输出z,“\n”的意思是回车,因为不能直接用回车键代表回车。

0 0
原创粉丝点击