去年学习linux时的部分笔记,浅显易懂,比较简单
*A是65
//dataTypeExample1.c
#include<stdio.h>
main()
{
int x;
x=10*9*8*7*6*5*4*3*2*1;
print("%d",x);
}
//dataTypeExample2.c
#include<stdio.h>
#define PI 3.14159
main()
{
float s,r;
scanf("%f",&r);
s=r*r*PI;
printf("%8.3f\n",s);
}
//dataType1.c
#include<stdio.h>
main()
{
int a=3,b=5,x;
x=3+5;
printf("%d\n",x);
x=a-b;
printf("%d\n",x);
x=a*b;
printf("%d\n",x);
x=a%b;
printf("%d\n",x);
x=a/b;
printf("%d,%d\n",x,x);
int k=5; float l=3.5;
float m;
m=!k&&!l;
printf("%f\n",m);
printf(sizeof(int));
printf(sizeof(float));
}
printf,scanf不是保留字;
getchar()函数,输入字符,程序被中断,等待用户输入;
putchar()函数,输出字符;
pow(x,y)表示X的y次方;
//顺序程序设计 example1.c
#include<stdio.h>
main()
{
int a=11,b=22,c=33;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
{
int b=23;float c=3.4;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
a=b;
}
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
}
//顺序程序设计 example2.c
#include<stdio.h>
main()
{
int a;
char b;
a=getchar();
b=getchar();
printf("a=%c\ta=%d\tb=%c\tb=%d\n",a,a,b,b);
}
//两个getchar要连续输入再敲回车;
//顺序程序设计 example3.c
#include<stdio.h>
main()
{
int a=65;
char b='B';
putchar(a);
putchar(65+1);
putchar(b);
putchar('B'+1);
putchar('\n');//回车
}
//顺序程序设计 example4.c
#include<stdio.h>
main()
{
int i=8;
printf("%d\t%d\t%d\n",++i,--i,i--);
//从右至左计算
}
//选择程序设计 Xexample1.c
#include<stdio.h>
main()
{
int x,y,max;
scanf("%d,%d",&x,&y);
if(x>=y)
{
max=x;
printf("%d\n",max);
}
else
{
max=y;
printf("%d\n",max);
}
}
//循环程序设计 xunhuan.c
#include<stdio.h>
main()
{
char ch;
int num=0;
ch=getchar();
while(ch!='\n')
{
num++;
ch=getchar();
}
printf("%d\n",num);
}
////////////////////////////////////
数组
字符串拷贝 strcpy()
字符串连接 strcat()
%u 无符号整形值
字符串以\0结束
字符串长度 strlen()
字符串比较 strcmp()
puts(str) 输出字符串
gets(str) 输入字符串
//例1 二维数组
#include<stdio.h>
main()
{
int i,j,a[3][4];
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
printf("%d",&a[i][j]);
}
printf("\n");
}
}
//例2 gets函数有警告 没关系 继续运行
#include<stdio.h>
main()
{
int i,j,m;
char s1[20],s2[20];
gets(s1);
scanf("%d",&m);
i=m-1;j=0;
while(s1[i]!='\0')
{
s2[j]=s1[i];
i++;j++;
}
s2[j]='\0';
puts(s2);
}
//////////////////////////////////////
变量的存储特性:
自动型 auto
静态型 static
寄存器型 register 最多两个
外部型 extern
#include<stdio.h>
long fac(unsigned n)
{
long f;
if(n==0)
{
f=1;
}
else
{
f=n*fac(n-1);
}
return f;
}
main()
{
long y;
int n;
scanf("%d",&n);
y=fac(n);
printf("%d!=%d\n",n,y);
}
//////////////////////////////////////
3个预处理命令:
宏定义
#define 宏名 串(宏体)
#define PI 3.14159
#undef 终止宏定义的作用域;
#undef PI
带参数的宏定义
#define S(a,b) a*b
引用宏只占编译时间,不占运行时间;
宏的引用时用表达式替代形参
引用 S(a+c,b+c)
展开 a+c*b+c
包含文件
#include<stdio.h>
条件编译
///////////////
#if 常量表达式
程序段
#endif
///////////////
#if 常量表达式
程序段 1
#else
程序段 2
#endif
////////////////
#if 常量表达式
程序段 1
#elif
常量表达式
程序段 2
#else
程序段 3
#endif
////////////////
#ifdef 标示符 //如果已经定义
程序段
#endif
////////////////
#ifndef 标示符 //如果没有定义
程序段
#endif
////////////////
//例1
#include<stdio.h>
#define PI 3,14
#define R 3.0
#define R2 3.0
#define L 2*PI*R
#define S PI*R*R
main()
{
printf("L=%f\nS=%f\n",L,S);
#define R2
}
//例2
#include<stdio.h>
#define DEBUG //调试语句 发布给客户的时候注释掉
main()
{
#if 5
printf("AAA\n");
#else
printf("BBB\n");
#endif
#ifdef DEBUG
printf("CCC\n");
#endif
}
///////////////////////////////////////////
指针:
指向函数的指针的定义方式:
类型 (*指针变量名) ();
例如: int (*p)();
main()
{
int max();
int (*p)();
int a,b,c;
p=max;
scanf("%d,%d",&a,&b);
c=(*p)(a,b);
printf("%d",c);
}
//指针函数
#include<stdio.h>
main()
{
int a,b,*p;
int *max();
scanf("%d,%d",&a,&b);
p=max(a,b);
printf("max=%d",*p);
}
int *max(int x,int y)
{
if(x<y)
{
return(&y);
}
else
{
return(&x);
}
}
//////////////////////////////////////////
结构体:
定义类型的时候定义变量
结构体成员又是一个结构体变量
struct date
{
int month;
int day;
int year;
};
struct student
{
char name[20];
char sex;
int age;
struct date birthday;
}stu1,stu2;
stu1={"hank",'N',22,4,24,1986};
///////////////////////////////////////////////
共同体:
union date
{
int month;
int day;
int year;
}d1,d2,d3;
///////////////////////////////////////////////
枚举型
enum 枚举类型名 {取值表}
例如,enum weekdays {Sun,Mon,Tue,Wed,Thu,Fri,Sat};
元素自动编号 0,1,2,3......
///////////////////////////////////////////////
将变量名换成别名 在定义体前面加上typedof:
typedof struct date {.....} DATE;
typeof int INT;
INT x=100; int的别名为INT;********
///////////////////////////////////////////////
位段结构:
特殊的结构类型,其所有成员均以二进制位为单位定义长度,
并称成员为位段;
加入无名字段,其后的字段从下一个字节开始存储;
例如,cpu的状态寄存器,按位段类型定义如下:
struct status
{
unsigned sign: 1; /*符号标志*/
unsigned zero: 1; /*零标志*/
unsigned carry: 1; /*进位标志*/
unsigned : 0; /*长度为0的无名位段*/
unsigned parity: 1; /*奇偶/溢出标志*/
unsigned half_carry: 1; /*半进位标志*/
unsigned negative: 1; /*减标志*/
}flags;
//////////////////////////////////////////////////
分享到:
相关推荐
这些内容构成了C语言和Linux基础的初步学习框架,包括了硬件管理、文件系统操作、命令行交互以及文本编辑器的使用,是进一步深入学习Linux系统和编程的基础。通过熟练掌握这些知识,你可以更好地理解和操作Linux系统...
### Linux课堂笔记知识点详解 #### 一、基本概念与用户标识 - **用户名称**:在Linux系统中,用户名称用于标识系统中的不同用户账户,例如“RR”或...这些基础知识对于深入学习Linux系统管理和编程都非常重要。
在深入探讨UNIX下C语言编程与项目实践的知识点之前,我们先来理解一下这个资源包的构成。...通过这些资源,开发者不仅可以提升C语言编程技能,还能积累Linux系统编程的实际经验,为未来的项目开发打下坚实基础。
Linux下C语言开发笔记整理涵盖了从基础知识到网络通信的多个方面,主要围绕在Unix/Linux系统环境下使用C语言进行软件开发的各项技术与理论。以下是从文件提供的信息中提炼的知识点。 ### Unix/Linux系统基本命令和...
C语言的语法简洁明了,因此成为许多程序员入门的首选语言,也是许多其他现代编程语言的基础。 **C语言的关键特性** 1. **结构化编程**:C语言支持结构化编程,它强调通过函数和控制结构(如if-else、switch、for、...
本文将详细介绍Linux下X-Window系统的程序设计,涵盖X-Window系统的结构、组成部分、编程接口、图形用户界面设计等方面。 一、X-Window系统结构 X-Window系统是Linux和其他UNIX系统中使用的图形窗口系统,它提供了...
编程人员基于Linux系统进行C语言编程时,应掌握gcc编译器技术,以此为基础进行源程序编写。具体来讲,gcc便一起种主要由三项内容较为重要,—g、—o、—c分别代表了编程、文件名、代码输出,掌握了这三点,便能掌握...
例如,strlen、strcpy和strcat是C语言中的字符串操作函数,它们在内核编程中也有应用,但需要注意的是,内核编程需要遵循严格的内存安全和同步规则,不能像用户空间那样随意使用这些函数。 最后,内核启动过程涉及...
计算机系统组成与硬件系统 计算机系统主要由硬件系统和软件系统组成。硬件系统又分为主机部分和外设部分。...在C语言编程实践中,需要特别注意标准的适用性、编译器的版本和特性,以及操作系统对C语言的支持情况。
JAVA新手入门笔记-编程基础知识 本资源摘要信息将对JAVA新手入门笔记-编程基础知识进行详细的解读和分析,涵盖JAVA语言的优缺点、跨平台方案、体系结构、语言分类、架构体系、高级语言的优势、中间层的威力、函数式...
### Linux C语言笔记知识点 #### 一、GCC介绍与GDB工具 - **GCC (GNU Compiler Collection)**: 是一个用于编译C/C++等语言的标准工具链。它提供了丰富的功能来帮助开发者进行高效的代码编译。 - **编译命令**: `...
以上是基于《GNU/Linux系统编程笔记》中的知识点总结,涵盖了错误处理、I/O操作、文件目录管理、进程控制、线程、内存管理、IPC以及守护进程设计等关键领域,对于深入理解Linux系统编程有重要价值。
### Linux下的C编程基础知识点概览 #### 一、C语言简介与特性 C语言,由贝尔实验室的Dennis Ritchie于20世纪70年代初为了UNIX系统的开发而创造,是在B语言基础上发展起来的一种高级编程语言。C语言的设计初衷在于...
需要尽快掌握基础知识:如开发板的基本使用,硬件基础知识,开发环境的搭建,Linux常用工具,内核的编译以及烧写,Linux shell命令,C语言基础,Linux内核的简单裁减和配置,Linux系统编程等等。没有上面的基础知识...
linux嵌入式C语言学习教程【李慧芹老师】的部分代码【看视频自己写的】linux嵌入式C语言学习教程【李慧芹老师】的部分代码【看视频自己写的】linux嵌入式C语言学习教程【李慧芹老师】的部分代码【看视频自己写的】...
### Linux编程精髓部分知识点 #### 用户级内存管理 在Linux编程中,用户级内存管理是极为重要的一个方面,它涉及...以上是对“Linux编程精髓部分笔记”所涉及知识点的详细解释和总结,希望对学习Linux编程有所帮助。
本笔记将围绕Linux命令和C语言的入门知识展开。 首先,让我们深入了解一下Linux命令。命令是与Linux操作系统交互的基本方式,它由三部分组成:命令、选项和参数。例如,`ls`命令用于列出目录中的文件。`-a`选项表示...
【尚观培训Linux许巍老师关于C语言的课程笔记与讲义】是针对想学习或深化C语言理解的IT从业者及爱好者的一份宝贵资源。尚观是一家知名的IT培训机构,其提供的课程涵盖了广泛的IT领域,包括嵌入式Linux驱动开发。这份...
5. **C语言编程**:Linux编程往往基于C语言,熟悉C语言的内存管理、文件操作、多线程编程等。 6. **Makefile和编译构建**:理解如何编写Makefile来自动化编译链接过程,以及GCC/G++编译器的使用。 《Windows底层...