ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2022-03-20 16:03:32  阅读:111  来源: 互联网

标签:int Linux 笔记 ++ 整型 printf 程序设计 hello 表达式



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


一、嵌入式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=7

②++:

(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

标签:int,Linux,笔记,++,整型,printf,程序设计,hello,表达式
来源: https://blog.csdn.net/Aure_xl/article/details/123167479

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有