标C编程笔记day01~day03 变量、运算符、指针、函数、输入输出

简介: c/c++语法,运算符:     sizeof()  --参数为变量或类型,计算变量或类型的字节大小     a==b?c:d  --三目运算符,a==b时,返回c,否则返回d     算术运算符:+,-,*,/,%     自加、自减运...
c/c++语法,运算符:
    sizeof()  --参数为变量或类型,计算变量或类型的字节大小
    a==b?c:d  --三目运算符,a==b时,返回c,否则返回d
    算术运算符:+,-,*,/,%
    自加、自减运算:++,--
    位运算:
        ~ --取反,正数取反为 -(n+1) ,负数取反为 n-1
        & --与,两个同为1才为1,否则为0
        | --或,两个同为0才为0,否则为1
        ^ --异或,两个相同为0,两个不同为1
        <<n --左移n位,等于原数乘以2的n次方
        >>n --右移n位,等于原数除以2的n次方
&[变量]  --取变量的开始地址
*[地址]  --取地址对应的变量值
%p       --printf中用来输出地址格式的变量
如果输入缓冲区有垃圾数据,可用下面方式取走:
if(scanf("%d",&data)==0)//读取失败返回0
{
    scanf("%*[^\n]");//读取掉\n之前的所有字符
    scanf("%*c");//读取掉\n
}
控制台程序屏幕输出字符的条件:
    1、遇到\n
    2、程序结束
    3、输出缓冲区满(4K)
    4、人工刷新fflush(stdout)
数组元素初始化:
    int a[5]={1,2}  --第1,2个值为1,2,其他值为0
    int a[5]{[3]=10,[4]=20}; --下标为3,4的值设置为10,20,其他为0
    int a[10][10]={{0}}; --定义并将二维数据里值全部设置为0

屏幕显示颜色设置:\033[显示方式;前景色;背景色m
    默认设置为:\033[0m

数学函数头文件(编译时,可能要加 -lm 选项):
math.h
    sqrt()--平方根
    pow() --n次方

生成随机数:
#include<time.h>
#include<stdlib.h>
srand(time(0));
int data=rand()%100;--生成100以内的随机数

指针基本操作:
int a=10;
int *pa=&a;//pa取a的地址
int b=*pa;//b取pa地址上的值,b的值变为10
int arr[10]={1,2,3};//不可使用*arr++来取值,因为arr是地址常量,不可变
int *p=&arr[0];//或int *p=arr; //取数组首地址也就是数组第一个元素的地址,可用*p++循环数组,也可用*(p+i)来取第i个元素的值。

控制台基本输入输出:
char name[20]={0};
fgets(name,20,stdin);//获取输入的最多20个字符
//scanf("%s",name);//获取输入字符,但不能读取空格
char *s="abcdef";
printf("%s",s);//这里要传入的不是值(*s),而是字符数组首地址(s)
字符串(字符数组)操作函数:#include<string.h>
    复制:char * strcpy(char* dest,char* src);//返回desc的地址
    追加:char * strcat(char* dest,char* src);
    长度:strlen(char * str);//返回字符串长度,不包括'\0'
    比较:strcmp(cahr * s1,char * s2);//相等返回0,s1>s2返回正数,否则返回负数

入口函数参数及数据:

    int main(int argc,char* argv[]);//argc为参数个数,agrv为各参数值,类型为数组。



相关文章
|
29天前
|
存储 C语言 C++
如何通过指针作为函数参数来实现函数的返回多个值
在C语言中,可以通过将指针作为函数参数来实现函数返回多个值。调用函数时,传递变量的地址,函数内部通过修改指针所指向的内存来改变原变量的值,从而实现多值返回。
|
29天前
|
存储 搜索推荐 C语言
如何理解指针作为函数参数的输入和输出特性
指针作为函数参数时,可以实现输入和输出的双重功能。通过指针传递变量的地址,函数可以修改外部变量的值,实现输出;同时,指针本身也可以作为输入,传递初始值或状态。这种方式提高了函数的灵活性和效率。
|
1月前
|
存储 C语言
C语言指针与指针变量的区别指针
指针是C语言中的重要概念,用于存储内存地址。指针变量是一种特殊的变量,用于存放其他变量的内存地址,通过指针可以间接访问和修改该变量的值。指针与指针变量的主要区别在于:指针是一个泛指的概念,而指针变量是具体的实现形式。
|
1月前
魔法指针 之 指针变量
魔法指针 之 指针变量
15 1
|
1月前
利用指针函数
【10月更文挑战第2天】利用指针函数。
18 1
|
1月前
|
C++
析构造函数就是为了释放内存,就是在局部指针消失前释放内存,拷贝构造函数就是以构造函数为模块,在堆里面新开一块,同一个变量在堆里面的地址
本文讨论了C++中构造函数和析构函数的作用,特别是它们在管理动态内存分配和释放中的重要性,以及如何正确地实现拷贝构造函数以避免内存泄漏。
38 2
|
1月前
|
算法 搜索推荐 C语言
【C语言篇】深入理解指针4(模拟实现qsort函数)
【C语言篇】深入理解指针4(模拟实现qsort函数)
24 2
|
1月前
|
人工智能
魔法指针 之 指针变量的意义 指针运算
魔法指针 之 指针变量的意义 指针运算
22 0
|
1月前
|
C语言
无头链表二级指针方式实现(C语言描述)
本文介绍了如何在C语言中使用二级指针实现无头链表,并提供了创建节点、插入、删除、查找、销毁链表等操作的函数实现,以及一个示例程序来演示这些操作。
25 0
|
2月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
下一篇
无影云桌面