学习笔记整理:Linux环境C程序设计课程(1)


以下内容为个人的学习笔记整理,如有错误,请指出,谢谢~


一、嵌入式Linux编译器GCC的使用

1.gcc是GUN项目中符合ANSIC标准的编译系统,能够编译用C、C++、objectC等语言编译的程序。

2.gcc编译有四个阶段(hello为文件名):

①预处理:gcc-E hello.c-o hello.i

②编译:gcc-S hello.i-o hello.s

③汇编:gcc-c hello.s-o hello.o

④连接:gcc hello.o-o hello

最后输入./hello即可编译

也可以将上面四个阶段合成一步完成:

gcc -o hello hello.c

最后输入./hello即可编译

二、基本数据类型

1.常量:其值不能改变

①整型常量:1、5、88......

②实型常量:

(1)小数:2.33、0.123

(2)指数:1.23e5、2.3e-1

e/E前面必须有数字,并且e前面必须为整数,像e3表示10的三次方

③字符常量:用一对单引号

④字符串常量:用一对双引号

⑤符号常量:用define指令,指用一个符号名称来代表

例如:#define PI 3.14 用PI来代表3.14,人们习惯用大写来表示符号名

2.变量:其值能改变(先定义,后使用)

①整型变量:

(1)短整型 short int

(2)整型 int

(3)长整型 long int

②实型变量

(1)单精度 float

(2)双精度 double

(3)长双精度 long double

③字符变量

char为标识符

使用方法:数据类型 变量名

人们习惯用小写来表示变量名

标识符由数字、下划线、字母组成,并且第一个必须为下划线/字母

三、C程序的简单架构

#include <stdio.h>
int main()
{
printf("Aure_xl");//后面要加分号
return 0;//结束语
}

①printf输出 scanf输入

②getchar字符输入 putchar字符输出

③scanf函数支持的常见格式说明符

d整数 c单一字符 s字符串 e指数形式浮点小数 f小数形式浮点小数

④sacnf常见使用方法:scanf("%d",&a);

代表的意思:输入一个整数存入a变量中

另外使用方法还有:

(1)%4d 为四位整型,不够前面为空格

(2)%04d 为四位整型,不够前面为0

(3)%4.2f为六位整型,小数后面有2位,小数点前面有3位,小数点也算一位

⑤printf常见使用方法:printf("输入的整型数=%d",a);

代表的意思:将a变量的值输出

另外使用方法与scanf相同

四、运算符和表达式

①取模符号%:相除取余数(操作数必须是整数)

例如:7%3=1、3%7=3

②++:

(1)a=2,b=++a;那么,a=3,b=3

(2)a=2,b=a++;那么,a=3,b=2

总结:

++a时,++在前面,那么a=a+1,b也=a+1;

a++时,++在后面,那么a=a+1,b=a原来的数;

③--:跟++以此类推

④x-=y的意思是x=x-y;x+=y的意思是x=x+y

⑤0为假,非0为真

(1)||或运算,一个真就为真

(2)&&与运算,一个假就为假

(3)!非运算,真的为假,假的为真

⑥==等于(用于判断真假的等于) !=不等于

例如:a=9,那么a==9输出表示“真”

五、C语言控制语句

①条件判断语句

(1)if语句

#include <stdio.h>
int main()
{
int x,y;
printf("请输入x的值:");
scanf("%d",&x);
printf("请输入y的值:");
scanf("%d",&y);
if(x>y)//后面不加分号
{printf("x比y大");}
if(x<y)//后面不加分号
{printf("x比y小");}
if(x==y)//后面不加分号,这里不能用=,必须用==
//上面一行也可以变为:else,其表示上面的条件皆不符合
{printf("x跟y一样大");}
return 0;
}

(2)switch语句

#include <stdio.h>
int main()
{
char grade;//因为存进grade的是字母,这边定义自变量名时要用char而不是int
printf("请输入ABCDE等级:");
scanf("%c",&grade);
switch(grade)//不加分号
case‘A’://字符用单引号,字符串用双引号,最后要加冒号
printf("90~100");
case‘B’:
printf("80~89");
case‘C’:
printf("70~79");
case‘D’:
printf("60~69");
default://如果default不在最后,要加break中断
printf("不及格");
return 0;
}

②循环语句(初始条件、循环条件、状态改变、循环体)

(1)while语句:先判断表达式的值,再执行循环体

#include <stdio.h>
int main()
{
int a=0;
int i=1;
while(i<=100)//不加分号
{
a+=i;
i++;
}
printf("0+1+2+3...+100=%d",a);
return 0;
}

(2)do-while语句:先执行循环体,在判断

#include <stdio.h>
int main()
{
int a=0;
int i=1;
do//不加分号
{
a+=i;
i++;
}
while(i<=100);//要加分号!!!
printf("0+1+2+3...+100=%d",a);
return 0;
}

(3)for循环语句(常用)

使用方式:for(表达式1;表达式2;表达式3)

表达式1:给循环变量赋初值,可省略,但要在for之前赋初值

表达式2:循环条件,如果省略会陷入死循环

表达式3:修改循环变量的值,可省略,但应该在循环体添加修改循环变量的值

表达式分别用分号隔开

#include <stdio.h>
int main()
{
int a,i;
for(a=0,i=1;i<=100;i++)//不加分号
{
a+=i;
}
printf("0+1+2+3...+100=%d",a);
return 0;
}

六、数组

数组是具有一定顺序关系的若干变量的集合,其中的每个变量,都被称之为数组的元素。

①一维数组:

表达方式为: 数组类型 数组名[常量表达式]

常量表达式表示的是数据元素的个数

数组名与变量名一样由数字、下划线、字母组成,并且第一个必须为下划线/字母

#include <stdio.h>
int main()
{
int a[10];//定义一个数组有10个元素
int i,j;
printf("输入十个数:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);//数组是从a[0]开始的
}
for(j=0;j<10;j++)
{printf("a[%d]=%d",j,a[j]);}//输出刚刚输入的十个数
return 0;
}

②二维数组:

表达方式为: 数组类型 数组名[常量表达式1][常量表达式2]

先行再列,如果定义了行列的位置是没有数值的,自动为0

例如:a[2][3]表示为两行三列

a[2][3]={1,2,3,4,5,6}相当于⬇

123

456

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aure_xl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值