c基础学习

2023-12-28 17:49:52
?我的学习网站:C语言的过去与未来 - C语言教程 - C语言网 (dotcpp.com)

? ? ? ? ? ? ? ? ? ? ? ? ? C 语言简介 - C 语言教程 - 网道 (wangdoc.com)

变量:

#include<stdio.h>     /*引入头文件-- 标准输入输出头文件(类似于html的标准头) #include C预处理器指令,简称预处理*/
int global=2;  /* 定义全局变量,全局变量:本文件内任何方法都可以使用*/
int main(void)     /* int main---入口函数(类似于页面加载函数,只有一个) void:空的,没有传递参数*/
{
   int num=2; /* 定义整数类型的局部变量,并赋值  局部变量:仅在此函数内部使用*/
    return 0;
}

运算符:

? ?算数运算符:

+:正值运算符(一元运算符)
-:负值运算符(一元运算符)
+:加法运算符(二元运算符)
-:减法运算符(二元运算符)
*:乘法运算符
/:除法运算符(整除,不会保留小数;如何想保留小数,除数/被除数需要其中一个是浮点数)
%:余值运算符 (只能用于整数,不能用于浮点数)

?递增递减运算符:

++:自增运算符
--:自减运算符


var ++  变量原始数据返回之后再自增
++ var  变量先自增再返回数据

?关系运算符:?

> 大于运算符
< 小于运算符
>= 大于等于运算符
<= 小于等于运算符
== 相等运算符
!= 不相等运算符


返回值:
   0  假
   1  真

逻辑运算符:?

!:否运算符(改变单个表达式的真伪)。
&&:与运算符(两侧的表达式都为真,则为真,否则为伪)。
||:或运算符(两侧至少有一个表达式为真,则为真,否则为伪)。

位运算符 :?

? ?作用:操作二进制位

~ 取反运算符(1改为0,0改为1)
&  与运算符  (比较二进制位数据,都为1返回1,反则0)
|  或运算符  (比较二进制位数据,一个为1返回1,反则0)
^  异或运算符(比较二进制位数据,仅有一个为1返回1,反则0)
<< 左移运算符(左侧运算数的每一位,向左移动指定的位数,尾部空出来的位置使用0填充)
>> 右移运算符 (左侧运算数的每一位,向右移动指定的位数,尾部无法容纳的值将丢弃,头部空出来的位置使用0填充)

逗号运算符:?

, 多个表达式写在一起,从左到右依次运行每个表达式

例如:
 int x,y;

运算符执行顺序:

  • 圆括号(()
  • 自增运算符(++),自减运算符(--
  • 一元运算符(+-
  • 乘法(*),除法(/
  • 加法(+),减法(-
  • 关系运算符(<>等)
  • 赋值运算符(=

基础数据类型:

? ? 数字:

? ? ? ? ? ?整数:

int a=1;
printf("num==%d \n",num);

? ? ? ? ? 浮点数:

double c=3.5;
printf("c=%f \n",c);

? ?字符:

? ?数组 :

? ? 对象:

占位符:

  • %a:十六进制浮点数,字母输出为小写。
  • %A:十六进制浮点数,字母输出为大写。
  • %c:字符。
  • %d:十进制整数。
  • %e:使用科学计数法的浮点数,指数部分的e为小写。
  • %E:使用科学计数法的浮点数,指数部分的E为大写。
  • %i:整数,基本等同于%d。
  • %f:小数(包含float类型和double类型)。
  • %g:6个有效数字的浮点数。整数部分一旦超过6位,就会自动转为科学计数法,指数部分的e为小写。
  • %G:等同于%g,唯一的区别是指数部分的E为大写。
  • %hd:十进制 short int 类型。
  • %ho:八进制 short int 类型。
  • %hx:十六进制 short int 类型。
  • %hu:unsigned short int 类型。
  • %ld:十进制 long int 类型。
  • %lo:八进制 long int 类型。
  • %lx:十六进制 long int 类型。
  • %lu:unsigned long int 类型。
  • %lld:十进制 long long int 类型。
  • %llo:八进制 long long int 类型。
  • %llx:十六进制 long long int 类型。
  • %llu:unsigned long long int 类型。
  • %Le:科学计数法表示的 long double 类型浮点数。
  • %Lf:long double 类型浮点数。
  • %n:已输出的字符串数量。该占位符本身不输出,只将值存储在指定变量之中。
  • %o:八进制整数。
  • %p:指针。
  • %s:字符串。
  • %u:无符号整数(unsigned int)。
  • %x:十六进制整数。
  • %zd:size_t类型。
  • %%:输出一个百分号。

printf输出格式:

? ?1? 规定输出长度

#include<stdio.h>     /*引入头文件-- 标准输入输出头文件(类似于html的标准头) #include C预处理器指令,简称预处理*/
int main(void)     /* int main---入口函数(类似于页面加载函数,只有一个) void:空的,没有传递参数*/
{
    printf("%5d\n", 123);  /* 输出为五位的数据,不足五位使用空格补充空位,默认右对齐,从左开始补充空格*/
    printf("%-5d\n", 123); /* 输出为五位的数据,修改成左对齐,从右开始不从空格*/
    printf("%12f\n", 123.45);/*输出为十二位的数据,小数的默认显示精度是小数点后6位,小数点后不足六位的使用0补充,多余六位的从左补充空格 */
    printf("Number is %.2f\n", 0.5); /*输出为两位小数*/
    printf("%6.2f\n", 0.5);   /* 输出长度为六,小数为两位的数据*/
    printf("%*.*f\n", 6, 2, 0.5);  /*输出长度为六,小数为两位的数据 ---*号代替数值,可以自行配置修改输出长度和小数位数*/
    
    return 0;
}

?2 输出数据携带正负号

#include<stdio.h>     /*引入头文件-- 标准输入输出头文件(类似于html的标准头) #include C预处理器指令,简称预处理*/
int main(void)     /* int main---入口函数(类似于页面加载函数,只有一个) void:空的,没有传递参数*/
{
    printf("%+d\n", 12); // 输出 +12
    printf("%+d\n", -12); // 输出 -12
    return 0;
}

3 是否输出全部字符串

#include<stdio.h>     /*引入头文件-- 标准输入输出头文件(类似于html的标准头) #include C预处理器指令,简称预处理*/
int main(void)     /* int main---入口函数(类似于页面加载函数,只有一个) void:空的,没有传递参数*/
{
    printf("%s\n", "hello world");  //输出全部字符
    printf("%.5s\n", "hello world");  //输出五位字符
    return 0;
}

流程控制:

? ?if条件语句

#include<stdio.h>     /*引入头文件-- 标准输入输出头文件(类似于html的标准头) #include C预处理器指令,简称预处理*/
int x=10;  /* 定义全局变量*/
int y=5;
int main(void)     /* int main---入口函数(类似于页面加载函数,只有一个) void:空的,没有传递参数*/
{
   // 只有一个判断条件而且仅有一个执行语句时,可以不带{}
    if (x == 10)
      printf("x is 10\n");
    // 只有一个判断条件,有多个执行语句时
    if (x == 10){
      x++;
      printf("x is 10\n");
    }

    //多个判断条件时
    if (x == 10){
      x++;
      printf("x is 10\n");
    }else if(x == 10&&y==5){
      y++
      printf("y is 5\n");
    }else{
     printf("x y is 10\n");
    }
      
    return 0;
}

? 三元运算符:

#include<stdio.h>     /*引入头文件-- 标准输入输出头文件(类似于html的标准头) #include C预处理器指令,简称预处理*/
int num=10;
int newNum;
int main(void)     /* int main---入口函数(类似于页面加载函数,只有一个) void:空的,没有传递参数*/
{
  ( num >= 10 )?  newNum=5 : 6;  /*()括号内表达式成立时,执行问号后面的语句,不成立时,执行冒号后面的语句*/
  printf("newNum is %d" , newNum);
    return 0;
}

switch 条件语句 :

#include<stdio.h>     /*引入头文件-- 标准输入输出头文件(类似于html的标准头) #include C预处理器指令,简称预处理*/
int num=10;
int main(void)     /* int main---入口函数(类似于页面加载函数,只有一个) void:空的,没有传递参数*/
{
  switch (num) {
  case 0:
    printf("num=0");
    break;
  case 5:
    printf("num=5");
    break;
  default:
    printf("num=10");
}
    return 0;
}

while 循环语句

#include<stdio.h>     /*引入头文件-- 标准输入输出头文件(类似于html的标准头) #include C预处理器指令,简称预处理*/
int num=0;
int main(void)     /* int main---入口函数(类似于页面加载函数,只有一个) void:空的,没有传递参数*/
{
 while (num >= 10) {
  printf("num is now %d!\n", num);
  num++;
}
    return 0;
}

do...while 循环语句

#include<stdio.h>     /*引入头文件-- 标准输入输出头文件(类似于html的标准头) #include C预处理器指令,简称预处理*/
int num=0;
int main(void)     /* int main---入口函数(类似于页面加载函数,只有一个) void:空的,没有传递参数*/
{
do {
  printf("num is %d\n",num);
  num++;
} while (num < 10);
    return 0;
}

for 循环语句

#include<stdio.h>     /*引入头文件-- 标准输入输出头文件(类似于html的标准头) #include C预处理器指令,简称预处理*/
int main(void)     /* int main---入口函数(类似于页面加载函数,只有一个) void:空的,没有传递参数*/
{
for (int i = 0; i < 10; i++){
  printf("num=====%d \n",i);
}
}

break 语句

1 switch语句配套使用,用来中断某个分支的执行
2 循环语句体内部跳出循环,不再进行后面的循环

continue 语句

循环语句体内部终止本轮循环,进入下一轮循环

goto 语句

跳到指定的标签名

文章来源:https://blog.csdn.net/weixin_53105591/article/details/134400020
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。