C语言,gcc,makefile基础知识
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算术表达式和赋值表达式
核心:表达式一定有数值! 1、算术表达式:+,-,*,/,% 注意:“/” 两边都是整型的话,结果就是一个整型。 3/2的结果就是1。 “/” 如果有一边是小数,那么结果就是小数。 3/2.0的结果就是 1.5。 2、赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5。 注:常量不可以赋值。 等号和赋值的区别!一定记住“=”就是赋值,“= =”才是等号。 3、复合的赋值表达式: int a=2; a*=2+3;运行完成后,a的值是10。 一定要注意,首先要在2+3的上面打上括号。变成(2+3)再运算。 4、自加、自减表达式: 自加、自减表达式:假设a=5,++a(a为6), a++(a为5); b=5 , - - b(b为4), b - -(b为5);
定义无参函数
定义有参函数
类型名 函数名() { 函数体 } 或 类型名 函数名(void) { 函数体 } 函数名后面括号内的void表示空,即函数没有参数。 类型名 函数名(形式参数表列) { 函数体 } 函数体包括声明部分和语句部分。
函数的调用
一般形式: 函数名(实参表列); 按函数调用在程序中出现的形式和位置来分,可以有以下3种 函数调用方式: 1、函数调用语句 把函数调用单独作为一个语句。如printf_star();这时不要求函 数带回值,只要求函数完成一定的操作。 2、函数表达式 函数调用出现在另一个表达式中,如c=max(a,b);max(a,b) 是一次函数调用,它是赋值表达式中的一部分。 3、函数参数 函数调用作为另一个函数调用时的实参,m=max(a,max(b,c)); 其中max(b,c)是一次函数调用,它的值作为max另一次调用 的实参。经过赋值后,m的值是a,b,c三者中的最大者。
函数的定义
定义函数应包括以下内容: 1、指定函数的名字,以便以后按名调用。 2、指定函数的类型,即函数返回值的类型。 3、指定函数的参数的名字和类型,以便在调用函数时向它们 传递数据。对无参函数不需要这一项。 4、指定函数应当完成什么操作,也就是函数是做什么的,即 函数的功能。这是最重要的。
二维数组
二维数组定义的一般形式:类型说明符 数组名[常量表达式] [常量表达式]; 二维数组的初始化: int a[2][3]={{1,2,3},{4,5,6}}; 合法,很标准的二维数组的赋 值。 或 int a[2][3]={1,2,3,4,5,6}; int a[2][3]={1,2,3,4,5, }; 合法,后面一个默认为0。 int a[2][3]={{1,2,}{3,4,5}}; 合法,第一行最后一个默认为0。 int a[2][3]={1,2,3,4,5,6,7}; 不合法,赋值的个数多余数组 的个数了。 int a[][3]={1,2,3,4,5,6}; 合法,可以缺省行的个数。 int a[2][]={1,2,3,4,5,6}; 不合法,不可以缺省列的个数。 引用二维数组元素的表示形式为: 数组名[下标] [下标] 例:a[0][0] a[0][1] a[1][0] a[1][1]
函数的返回值
定义:通过函数调用使主调函数能得到一个确定的值,这就是 函数值(即函数的返回值)。 说明: 1、函数返回值是通过函数中的return语句获得的。 2、定义函数时要指定函数值的类型。 3、在定义函数时指定函数类型一般应该和return语句中的表达 式类型一致。如果函数值的类型和return语句中表达式的值不 一致,则以函数类型为准。对数值类型数据,可以自动进行类 型转换。即函数类型决定返回值。
数据输入、输出
① 使用scanf 和printf函数时,要在最前面加上 #include<stdio.h>或#include“stdio.h” ② scanf(“ 格式控制 ”,输出列表” ); 如:scanf(“a=%d,b=%d”,&a,&b); ③ printf可以只有一个参数,也可以有两个参数。 ④ printf(“ 格式控制 ”,输出列表 ” ); 如:printf(“%d,%c\n”,I,c); ⑤ 用getchar函数输入一个字符。如:getchar(); ⑥ 用putchar函数输出一个字符。如:putchar(c);
局部变量和全局变量
定义变量有3种情况: (1)在函数的开头定义; (2)在函数内的复合语句内定义; (3)在函数的外部定义; 在函数内定义的变量是局部变量,在函数外部定义的变量是全 局变量。
总结
1. 2. 3. 4. 程序结构是三种: 顺序结构 、选择结构(分支结构)、循环结构。 计算机的数据在电脑中保存是以 二进制的形式. 数据存放的位置就是 它 的地址. bit是位 是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 读程序都要从main()入口, 然后从最上面按顺序往下读(碰到循环做循环, 碰到选择做选择)。 每个C语言程序中main函数有且只有一个。 在函数中不可以再定义函数。 算法:可以没有输入,但是一定要有输出。 break可用于循环结构和switch语句。
例:比较两个数的大小,输出最大的数。 include<stdio.h> int main() { int max(float x,float y); float a,b; int c; scanf(“%f,%f”,&a,&b); c=max(a,b); printf(“max is %d\n”,c); return 0; } 运行结果: int max(float x,float y) 1.5,2.6 { max is 2 float z; z=x>y?x:y; return (z); }
格式说明
表示内容
格式说明
表示内容
%d
整型 int 长整型 long int 浮点型 float
%c
字符 char 字符串
%ld
%s
%f
%o
八进制
%lf %%
double Baidu Nhomakorabea出一个百分号
If语句
(1)if 语句的一般形式为: if(表达式){ 语句1 } else 语句2 (2)其他形式: if(表达式){ if(表达式1) 语句1 语句块 else if (表达式2) 语句2 } : : else if (表达式m) 语句m else 语句m+1
Switch语句
Switch 语句是多分支选择语句: 它的基本语法格式如下: switch(表达式){ case 常量表达式1: 语句 1; break; case 常量表达式2: 语句 2; break; ...... case 常量表达式n: 语句 n; break; default: 语句 n+1; } 说明: (1)switch后面括号内的“表达式”,其值的类型应为整数类型(包括字符型)。 (2)switch下面的花括号内是一个复合语句。这个复合语句包括若干语句, 它是switch语句的语句体。 (3)可以没有default标号,此时如果没有与switch表达式相匹配的case常 量,则不执行任何语句,流程转到switch语句的下一个语句。
循环语句
*while语句的一般形式: while(表达式) 语句 理解:只要当循环条件表达式为真,就执行循环体语句。 *do…while语句的一般形式:do 语句 while(表达式); 理解:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为 非零时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止, 此时循环结束。 *for语句的一般形式: for(循环变量赋初值;循环条件;循环变量增值) 语句 总结:while和for 循环都可以用来处理同一个问题,一般可以互相代替。 对于while和do-while循环,循环体中应包括使循环趋于结束的语句。 用while和do-while循环时,循环变量初始化的操作应在while和do-while语句 之前完成,而for语句可以在内部实现循环变量的初始化。 *for循环是最常用的循环!
C语言知识总结
第六组
1、初始C语言 2、算数表达式和赋值表达式 3、数据输入、输出 4、if语句 5、Switch语句 6、循环语句 7、数组 8、函数 9、总结
初识C语言
C语言的基础 C语言编写的程序称为源程序 C语言书写格式是自由的,每行可以写多个语句, 可以写多行。 一个C语言程序有且只有一个main函数,是程序运 行的起点
5. 6. 7. 8.
谢 谢!
一维数组
定义一维数组的一般形式: 类型符 数组名[常量表达式]; int a[5];注意这个地方有一个重要考点,定义时数组的个数不是 变量,一定是常量。 int a[5] ; 合法,最正常的数组 int a[1+1] ; 合法,个数是常量2,是个算术表达式 int a[1/2+4] ; 合法,同样是算术表达式 int x=5,int a[x]; 不合法,因为个数是x,是个变量,非法的。 一维数组的初始化: int a[5]={1,2,3,4,5}; 合法 int a[5]={1,2,3}; 合法 int a[]={1,2,3,4,5}; 合法 int a[5]={1,2,3,4,5,6}; 不合法,赋值的个数多余数组的个数了 引用数组元素的表示形式为: 数组名[下标] 例:a[0], a[1], a[3], …