初识C语言

一周以来的学习让我重新对C语言有了一个系统的了解。现在做一个大体的总结与记录。
1.从最基础的学习开始,总结出常用的几个格式字符:
%d:输入或输出为十进制有符号数;
%f:输入或输出为浮点数;(float,double)
%c:后边参数默认当字符处理;(char)
%s:后边参数默认当字符串处理;
%p:打印地址;
2.再认识几种常见的数据类型:
char:字符数据类型 short:短整型
int:整形 long:长整形
long long:更长的整形
float:单精度浮点数 double:双精度浮点数
3.认识变量:
局部变量的作用域是变量所在的局部范围;
全局变量的作用域是整个工程;
4.认识常量:
a.字面常量:1 2 3 a b c ······
b.const修饰的常变量:本质上是变量,但const修饰后不可改;
c.#define定义的标识符常量:可将任意字符定义为常量;
d.枚举常量:其关键字为enum;
5.字符串:由双引号引起的一串字符(由单引号引起的为字符)
字符串结束标志为’\0’的转义字符;
'\0’不算字符串内容,但占内存。
6.转义字符为一个字符。
7.注释的方法:
C语言风格:/xxxxx/ ps:不能嵌套注释
C++风格://xxxxxxxx ps:较推荐
认识了这些基本内容后,我就开始学习语句了。从选择语句入手。
8.选择语句一般用if语句
ps:如果需要用到scanf语句,在新版本中会出现c4996错误,此时需在#include <stdio.h>上面加入#define _CRT_SECURE_NO_WARNINGS
把错误转化为警告。
9.循环语句有三种:while语句,for语句,do…while语句。具体格式后期再总结。
10.函数:函数的特点就是简化代码,代码复用。
ex:普通的两个数相加的程序是这样写的:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf(“输入两个数字”);
scanf("%d %d", &num1, num2);
sum = num1 + num2;
printf(“sum=%d\n”, sum);
return 0;
}
写成函数如下:
#include <stdio.h>
int Add(int x,int y)
{
int z = x + y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf(“输入两个数字”);
scanf("%d %d", &num1, num2);
sum = Add(num1, num2);
printf(“sum=%d\n”, sum);
return 0;
}
ps:Add也是一个函数,所以需要在main函数外介绍。
11.数组:
int arr[10]={1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放十个元素
int arr[10]={1};//第一组元素初始化为1,其余九组默认为0.
即输出为arr[10]={1,0,0,0,0,0,0,0,0,0}
12.操作符:
a.算术操作符:+ - * / %
b.移位操作符:>> (右移) <<(左移) ps:移二进制位
ex: int a=8; //a=8,二进制为 1000
int b=a>>1;//b=a右移1,则为0100,b=4
输出为:a=8 b=4 //内存为补码,输出为原码
c.位操作符:& 按位与 ^按位异与 | 按位或
d.赋值操作符: = += -= *= ^= |= >>= <<=
ps:==为判断
num=num+2;等同于num+=2;
e.单目操作符:
! 逻辑反操作(非) - 负值

  • 正值 & 取地址
    sizeof 操作数的类型长度(只与字节有关,与内容无关)
    ~ 对一个数的二进制按位取反
    – 前置,后置-- ++ 前置,后置++
  • 间接访问操作符(解引用操作符)
    (类型) 强制类型转换 ps:(int)3.14; //输出为3
    f.关系操作符:> >= < <= != (用于测试不相等) ==(测试相等)
    g.逻辑操作符:&& 逻辑与 || 逻辑或
    ps:区分按位与和逻辑与:
    int a=1;
    int b=2;
    int c=a&&b;//c=1(a.b为非零数,都为真)
    int d=a&b;//d=0(a为0001
    b为0010
    d为0000)
    h.条件操作符:exp1?exp2:exp3
    ex:mac=(a>b)?a:b;//a>b是否成立,是则输出a,否则输出b
    i.逗号表达式:exp1,exp2,…,expn ps:从左到右依次计算
    j.下标引用、函数调用和结构成员:[ ] ( ) . ->
    13.常见关键字:
    a.typedef:类型定义,可将类型重命名
    b.static:修饰变量和函数
    (a).修饰局部变量-静态局部变量(改变了变量生命周期)
    (b).修饰全局变量-静态全局变量(改变了变量的链接属性,只在本源文件内有效)
    ©.修饰函数-静态函数
    未完待续……
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值