学习目标:了解计算机语言的基本情况及发展,熟悉C程序的基本结构

学习重点:掌握C程序的基本结构

1.1程序设计

1. 计算机语言:人和计算机之间交互的方式、手段、工具;

语言:实体与实体之间进行信息交换的方式、手段;

语言的三大要素:语法 语义  定时

你吃早餐没有?是yes

你吃午饭没有?没有no?

 

2. 计算机语言的发展

(1)机器语言:0和1 二进制 ,可阅读性差,编程效率低,执行效率高

10011111

 

(2)低级语言:引入助记符 阅读性提高,执行效率降低【翻译】
2+3=5

0010  11001 0011 10001 0101 

0010 add 0011 equ 0101  低级语言

(3)高级语言:接近自然语言,阅读性高  编程效率高  执行效率低

【编译:源程序==>目标程序==>可执行程序

Cnt=0,lost=0;

If score>=60

Cnt++; 

Printf(“及格!”);

Else

 Lost=lost+1;

Printf(“不及格”);

 

C ,C++,JAVA,C#,PYTHON  C-like语言

 

 

3. 计算机程序设计

程序:计算机可以识别的代码的集合;

程序=数据结构+算法

 

软件=程序+相关文档的集合

程序=软件

软件工程

编程   思维

4. 如何书写程序

目的:为用户解决特定的问题。

(1)分析问题

(2)设计算法:从中找到普遍的规律或者通式;(穷举)

(3)编写程序:符合程序设计的语法规则;

(4)运行测试程序:验证修改程序;

(5)编写程序说明文档。

EX1: 1+2+3+4+...+100=5050

0+1

0+1+2

0+1+2+3

0+1+2+3+4

0+1+2+3+4+5

 N=0  ,sum=0;

Sum=sum+n

N=n+1

1.2C语言

1. C语言的7大特点

2. C语言的基本结构

语法  语义

(1)第一个C语言的例子

#include <stdio.h>//读入标准输入输出库函数

 

int main()//任何一个C程序有且只有一个main函数作为程序入口

{

    /* 我的第一个 C 程序 */

    printf("Hello, World! \n");

 

    return 0;

}

实例解析:

· 所有的 C 语言程序都需要包含 main() 函数。 代码从 main() 函数开始执行。

· //,行注释, 段注释/* ... */ 用于注释说明。

· printf() 用于格式化输出到屏幕。printf() 函数在 "stdio.h" 头文件中声明。

· stdio.h 是一个头文件 (标准输入输出头文件) , #include 是一个预处理命令,用来引入头文件。 当编译器遇到 printf() 函数时,如果没有找到 stdio.h 头文件,会发生编译错误。

· return 0; 语句用于表示退出程序。

练习:

从键盘任意输入2个数,求和并输出。

输入  输出  存储  计算?

1.3程序的设计流程

1.程序设计的框架思想

I S P O  分解逐个击破的思想(SIPO)

 

(1)输入I ——解决输入问题

Scanf输入函数

①功能:从键盘上读入数据到计算机中;

②用法:scanf(“格式控制符”,存入的变量名称);

③例子:scanf(“%d”,&a);//表示从键盘上按照十进制的格式读入数据,并存储到一个事先定义的内存空间a里面去。

 

④问题:格式控制符?P46 表3-1,变量的定义?

格式控制符——控制数据的输入输出的格式。

整型 %d   字符型%c  浮点型 %f....

 

(2)储存S——解决输出问题

任何数据想放到计算机里面,必须都需要内存空间。

如何在计算机中申请到自己需要的内存空间?

申请空间要考虑哪些因素?大小要合适,数据类型要匹配。

①方法:

数据类型  变量名称

②问题:  数据类型?P11 图2-1    变量?

数据类有哪些?

字符型 char

数值型  int

浮点型  float

...

量--表征数据大小的标识符

标识符—— 在计算机中来标识不同的量的名称。

标识符命名规则:只能使用字母,数字,下划线的组合,且不能使用数字开头,要避开关键字,要见名知意。

Math_sc_1  en_sc_1   1_math _sc

Age  name  sex  major   max  min sum  avg sort

 If break  else

常量——在计算机程序运行中始终不发生变化的存储空间的标识空间(name)

变量——在计算机程序运行中发生变化的存储空间的标识空间(name)

③  例子

定义一个最大值,最小值的数据结构

Int  max=99,min=1;

Char  sex;

 

④计算机中怎么分配空间

变量都有三要素: 自己的名称name  它存储个值value  以及它在内存中都自己的物理地址 address

 

 

(3)加个 P——解决数据处理问题

解决问题的是算法,通常采用枚举的方式去找到共性,再转为数学表达式。

1+2+3+4+...+100=?

Int sum=0,n=0;

 

Sum=sum+n;

N=n+1

 

0-100

 

(4)输出O——解决输出问题

Printf输入函数

①功能:从计算机中将结果输出到输出设备;

②用法:

需要输出变量值:printf(“格式控制符”,变量名称);

需要输出带有提示性的信息:printf(“提示信息”);

③例子:

Ex4:任意从键盘输入3个数字,输出平均值和总和?

I:  3个数字==>

S:怎么存储? num1,num2,num3,avg,sum?存储就考虑类型?

Num1 num2 num3  sum 可以是整型

而avg可能有小数点  得用 float

P: sum= num1+num2+num3  avg=sum/3.0

O:输出 sum和avg即可。

 

【数组和循环时候程序升级进化实例】

 

 第一周 第二讲Ch 2 数据描述  【存储问题】

2.1数据

1.数据的基本概念:对客观事物符号化抽象化的描述。

数据  !=数值

类型:数字、字符、声音、视频、图像,文本等;

 

信息:数据+处理  有用的数据!

 

IT

 

2.C语言的数据类型

 P11 图2-1

 

注意:字符char 也被归在整型数据中。

Int  char  float ...

数据类型不同,在计算机内存中所分配到的空间不同!

3.如何去查看不同类型的空间大小?

Sizeof函数

Ex5:求出整型,浮点型,字符型在内存中的大小,并输出。

解题步骤:

I: 可以直接在变量赋值;

②S:有3种数据类型,那么就需要有int  char  float的变量,

Int num;

Char sex;

Float pi;

考虑==>上述数据在内存中的尺寸?  3个空间存储三个不同尺寸?

Len_int——存储num的空间大小

Len_char——存储char的空间大小

Len_float——存储float的空间大小?

③P:怎么计算内存空间?

昨天  分别输出内存地址  手动计算?

Sizeof函数(类型)

Sizeof(变量)==zizeof(变量的类型)

 

④:输出

把Len_int、Len_char、Len_float输出

4变量的申请和访问

 

#include<stdio.h>

int main()

{

 int num=99;

 float pi=3.1415926;

 char sex='f';

 int len_int=0,len_char=0,len_float=0;

 //变量的申请

 printf("测试不同数据类型的内存空间:\n");

 len_int=sizeof(int);

 len_char=sizeof(sex);

 len_float=sizeof(float);

 printf("int分配的空间=%d\nchar分配的空间:%d\nfloat分配的空间:%d",len_int,len_char,len_float);

 //变量的访问和输出

 return 0;

}

 

1. 常见的数据类型

(1)整型数据  Int  4字节

数据表示的范围:2-31——231-1  

其他的整型数据方法类似,计算出在内存中的自己数*8即可

 

比如:求出long long 的取值范围?

Sizeof(long long)=8

数据表示的范围:2-63——263-1

比如表示一个数:2 62

 

(2) 字符类型  char  1个字节

ASCII码

字符和数值之间关系?

5.练习:

从键盘上输入任意一个字母的ASCII码值,输出该字母?

样例:

输入:97

输出:a

 

键盘上任意输入一个小写字母或者大写字母,求出大写字母或者小写字母?

 

样例:

输入:a

输出:A

 

分解:

存储问题: a是字符型  char ch;

输入:scanf  %c

加工: ch=ch-32?

输出:ch