linuxC语言学习
文章平均质量分 73
本专栏主要涵盖linux基本指令以及C语言基本语法等内容
十七阿哥的春天
部分内容仅对粉丝可见,请前往分类专栏进行查看。
展开
-
嵌入式基础面-UNIX高编阶段常见面试题整理
本章详情: 该文章是我在招阶段整理的关于“嵌入式面经”的一些道题目,“软件开发岗位”也可以参考下。涵盖了大多数嵌入式/软件开发岗位常见基础面试题,题目来源是牛客网各大大厂的面经,答案是我逐个查阅资料,理解整理出的答案争取让读者尽可能的容易阅读和理解,部分内容来源于牛客网用户:爱打球的程序员乔丹。资深嵌入式软件开发工程:任立超。UNIX高编阶段常见习题整理目录UNIX高编阶段常见习题整理一、文件系统与IO1、 Linux内核空间模型2、标准I/O和文件I/O有什么区别3、缓存区.原创 2021-10-04 15:41:39 · 493 阅读 · 0 评论 -
C语言与数据结构相关习题整理
C语言与数据结构相关习题整理选择题填空题编程题选择题1、一个栈的入栈序列是 a,b,c,d,e,则栈的不可能的输出序列是( ) [A] edcba [B] decba [C] dceab [D] abcde答案:C2、以下为 linux 下的 32 位 C 程序,请计算 sizeof 的值char str[10] = “Hello” ; char *p = str ;请计算:sizeof ( str ) = 10void Func ( char str[100]){……}原创 2021-08-18 22:21:02 · 984 阅读 · 0 评论 -
Part1-循环语句相关练习
@[循环语句]4、*写出Fibonacci数列的前40项(不用数组解决该问题)//求斐波那契数列的前40项//0 1 1 2 3 5 8 13 21 #include <stdio.h>#include <stdlib.h>int main(){ int a=0; int b=1; int c; printf("第1项:1\n"); for(int i=2;i<=40;i++) { c = a + b; a = b; b = c;原创 2021-07-20 09:37:35 · 201 阅读 · 0 评论 -
Part2-一维数组相关案例
文章目录一维数组案例(1).使用数组写出fibonacci数列的前10项,并将该数组实现逆序输出和逆序存放(2).数组解决进制转换问题:(3).冒泡排序法(4).选择排序法(5).删除法求1000以内的所有质数(6).自行构建一个一堆数组。求数组中最大的数以及所在下标.(7).构建一个可以存储10个整数的数组一维数组案例(1).使用数组写出fibonacci数列的前10项,并将该数组实现逆序输出和逆序存放 #include <stdio.h> #include <stdlib.h&原创 2021-07-25 17:08:50 · 228 阅读 · 0 评论 -
Part3-二维数组相关案例
文章目录二维数组案例(1).将二维数组行列进行互换,存放另一数组中(2).求二维数组中最大元素值及其行列号(3).求二维数组各行,各列及所有元素之和并输出(4).求矩阵乘积二维数组案例(1).将二维数组行列进行互换,存放另一数组中 #include <stdio.h> #include <stdlib.h> int main() { int arry1[2][3] = {1,2,3,4,5,6}; int arry2[3][2]; int原创 2021-07-29 19:57:26 · 86 阅读 · 0 评论 -
Part4-函数与指针相关案例
文章目录1、函数的嵌套调用:求三个数中最大数和最小数的差值2、想求第几项Fibonacci数列的值,就出来第几个值。3、求N的阶乘4、3个学生各学4门课,1)计算总平均分,2)只查看某学生的个各门功课成绩1、函数的嵌套调用:求三个数中最大数和最小数的差值#include <stdio.h>#include <stdlib.h>int max(int *arry){ int max=0; for(int i=0;i<3;i++) {原创 2021-07-29 20:04:34 · 348 阅读 · 0 评论 -
经典面试题+笔试题总结
数据类型答:在运算过程中,如果参与运算的数据类型不同时,数据将由低类型转化为高类型,存储长度较短的转换为存储长度较长的,且不丢失精度,所以是float类型······························································································答:代表强制类型转换 A选项会有损精度C选项表示x先由整型转换为float型 又转换成了int型······························原创 2021-07-15 19:54:15 · 98 阅读 · 0 评论 -
C标准库 <string.h>
#include <strings.h>1、strcasecmp/strncasecmpint strcasecmp(const char *s1, const char *s2);**功能:**比较两个字符串,且不区分大小写。**返回值:**0 相等 ; <0 string1< string2; >0 string1> string2.**strncasecmp:**可以指定每个字符串用于比较的字符数。//语法int strncasecmp(cons原创 2021-07-26 22:26:38 · 368 阅读 · 1 评论 -
W1-D2-linux-文件管理+User
文件基本管理器一、Linux目录结构原创 2021-07-07 13:47:26 · 452 阅读 · 1 评论 -
W1-D3-C语言预热(简介)
C语言预热/简介1、函数编译2、变量:3、符号常量4、实例:设计一个程序计算圆的面积vim快捷键实现自动对齐:先Esc退出 → v 上下箭头号 = vim配置脚本文件: vi ~/.vimrcctrl + p 自动匹配/补齐GUN Cprintf常见转义字符转义字符意义\b回退符\f换页符\n换行符\r回车符\反斜杠1、函数编译1、gcc 编译器用 int main( ) gcc环境下不要求int main(vo原创 2021-07-08 14:43:54 · 307 阅读 · 3 评论 -
W1-D4-循环and条件语句用法
这里写目录标题1、编译器介绍2、while循环3、示例1:投资问题4、实例2:计算奇偶数1、编译器介绍gcc 编译 预处理(#) 编译(查看语法错误) 汇编() 链接gcc sanjiao.c -o sanjiao -lm -Wall //-Wall 表示打印隐藏警告2、while循环最少执行0次while(条件){ 循环体语句}while(1) //表示死循环do{ }while( i<100); /原创 2021-07-09 15:12:19 · 301 阅读 · 1 评论 -
W2-D1-linux下文件目录基本操作
@[TOC](这里写目录标题)1、bash shell提示符:检查下系统的shellcat /etc/shells# /etc/shells: valid login shells/bin/sh/bin/bash/bin/rbash/bin/dash/bin/zsh/usr/bin/zshshell下默认模式bash[用户名@主机名 目录名]角色如果太长想要更改主机名 : ~/etc 自行百度 ubutun18.04 更改主机名步骤:# sudo vim /etc/hos原创 2021-07-12 17:02:30 · 211 阅读 · 0 评论 -
W2-D2 文件权限
文件权限用户管理与文件权限一、基本权限(r、w、x)查看权限设置权限更改权限:特殊权限:二、高级权限state pathll 目录/ -d用户管理与文件权限用户:Linux系统的使用者管理员(root)系统用户普通用户用户组:一对一、一对多、多对一、多对多。***思考:***为什么需要对用户管理?三个核心文件/etc/passwd:用户名:密码(x):UID:GID:用户信息说明栏:用户目录:ShellUID: - 管理员(root):具有系统所有权限(0) - 系原创 2021-07-13 15:01:49 · 210 阅读 · 1 评论 -
W2 D3-进程相关、管道、文件查找
这里写目录标题一、软件包管理软件包管理概述二、进程管理1、**进程的基本概念**2、查看进程静态查看:**ps**动态top:查看、管理进程一、软件包管理软件包管理概述安装/查询/卸载sudo apt-get[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3VbqxKaA-1626231207977)(C:\Users\10101\AppData\Roaming\Typora\typora-user-images\image-20210714094137439.png原创 2021-07-14 14:49:39 · 235 阅读 · 0 评论 -
W2 D4 数据类型、变量、运算符
数据类型、变量、运算符一、基本数据类型1、所占字节数2、不同类型数据之间的转换3、不同数据类型之间的存储4、正负数进制转换课堂练习:经典面试题二、常量1、整型常量2、实型常量3、字符常量4、字符串常量三、变量1、auto(默认)2、static(静态)3、register:建议型4、extern练习四、运算符和表达式1、算术运算符:2、关系运算符3、逻辑运算符4、赋值运算符5、三目运算符:一、基本数据类型需要掌握所占字节数不同类型之间的存储不同类型数据之间的转换-隐式转换和强制类型转换[外原创 2021-07-15 17:59:23 · 218 阅读 · 0 评论 -
W2 D5 输入输出、流程、循环语句
流程、循环语句一、输入输出部分1、scanf、printf2、getchar、putchar3、gets 、puts二、流程控制1、if 语句练习1:闰年(leap year)的计算练习2:实现级别判断(score)2、switch分支语句练习1:根据输入的字母进行以该字母为开头的动物信息的输出练习2:完成分数分等级查man手册DESCRIPTION(函数的功能)BUGSCONFORMING(遵循哪些标准)RET(返回值)一、输入输出部分[外链图片转存失败,源站可能有防盗链机制,建议将图片原创 2021-07-16 15:30:18 · 227 阅读 · 0 评论 -
W3 D1 一维数组及案例
一维数组一维数组:1、定义及初始化2、存储特点3、练习(1).使用数组写出fibonacci数列的前10项,并将该数组实现逆序输出和逆序存放(2).数组解决进制转换问题:(3).冒泡排序法(4).选择排序法(5).删除法求1000以内的所有质数(6).自行构建一个一堆数组。求数组中最大的数以及所在下标.(7).构建一个可以存储10个整数的数组,一维数组:1、定义及初始化定义:相同数据类型的若干变量,连续存放**(内存)**[存储类型] 数据类型 标识符[下标]初始化:使用定长数组int arr;原创 2021-07-20 08:32:51 · 324 阅读 · 1 评论 -
W3 D2 二维数组及案例
二维数组二维数组就是在一维数组上,多加一个维度。1、二维数组定义方式二维数组在内存当中的存放方式是以行为单位,顺次存放;数据类型 数组名[ 行数 ][ 列数 ];数据类型 数组名[ 行数 ][ 列数 ] = { {数据1,数据2 } ,{数据3,数据4 } };数据类型 数组名[ 行数 ][ 列数 ] = { 数据1,数据2,数据3,数据4};数据类型 数组名[ ][ 列数 ] = { 数据1,数据2,数据3,数据4};int arr4[][3] = { 1,2,3,4,5,6 };原创 2021-07-20 19:34:22 · 181 阅读 · 1 评论 -
W3 D3 字符数组、指针
字符数组、指针一、字符数组1、字符数组的定义初始化2、字符数组相关函数strlen:strcpy/strncpy:strcat/strncat:strcmp/strncmp:串比较3、习题二、指针1、指针的基本概念2、指针变量的定义和使用3、空指针和空类型4、野指针拓展:在VIM里快速进入man手册:先Esc退出 --> 光标到对应的函数 -->shift + q 进入unlimited:查询资源占用情况自查string手册里的所有相关函数一、字符数组1、字符数组的定义初始化字符数原创 2021-07-21 22:55:31 · 283 阅读 · 1 评论 -
W3 D4指针与数组、常量指针、指针常量
一、指针与数组**作用:**利用指针访问数组中元素1、指针与一维数组int arr[3];int *p = arrvalue: arr[i] *(arr+i) *(p+i) p[i]addr: &arr[i] arr+i p+i &p[i]int main(){ int arr[3] = {4,5,6}; int i; int* p = arr; //相当于int *p p=arr; printf("size原创 2021-07-22 19:32:57 · 242 阅读 · 3 评论 -
W3 D5函数、函数与数组、调用、函数指针
函数、函数与数组、调用函数1、作用:2、函数的定义:3、函数的传参3.1 一维数组的函数传参3.2 二维数组的函数传参4、函数调用4.1 嵌套调用4.2 递归调用以函数为方向完成之前的案例函数以main函数为入口1、作用:将一段经常使用的代码封装起来,减少重复代码一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。2、函数的定义:函数定义:<数据类型> <函数名称>( <形式参数说明> )返回值类型 函数名 (参数列表){ 函数原创 2021-07-23 17:13:34 · 236 阅读 · 0 评论 -
W4 D1 构造类型-结构体
构造类型一、结构体1.1 构体基本概念结构体属于用户自定义的数据类型,允许用户存储不同的数据类型描述:不同数据类型连续存放1.2 结构体定义和使用-初始化语法:struct 结构体名 { 结构体成员列表 };通过结构体创建变量的方式有三种:struct 结构体名 变量名struct 结构体名 变量名 = { 成员1值 , 成员2值…}定义结构体时顺便创建变量顺次分配空间定义一:(struct.c)/*struct node_st{ int i; float f; ch原创 2021-07-26 20:06:22 · 199 阅读 · 1 评论 -
W4 D2 Gcc相关
gcc预处理 -> 编译(检查语法错误) -> 汇编 -> 链接(动态库) -> 可执行文件gcc -E hello.c //只针对hello.c进行预处理gcc -E hello.c >> hello.i //把预处理信息转存到hello.i gcc -S hello.i //编译gcc -c hello.s //汇编gcc hello.o -o hello(可执行文件)gcc hello.c -原创 2021-07-27 17:17:24 · 122 阅读 · 0 评论 -
W4 D3 Makefile
一、管理工程指令:vim * -p //打开全部文件1、工程管理:在主函数里需要用 “” 包含;#include <stdio.h>#include <stdlib.h>#include "mod1.h"#include "mod2.h"int main(){ mod1_print(); mod2_print(); exit(0);}2、条件编译某一模块重复调用,防止它被重复声明或者定义(.h)//"mod1.h"#ifndef _M原创 2021-07-29 20:02:20 · 113 阅读 · 0 评论