
第一周 第一讲Ch1认识C语言
学习目标:了解计算机语言的基本情况及发展,熟悉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