从零开始的C语言(上)

目录

1.第一个C语言程序

2.数据类型

3.变量,常量

3.1

3.2

3.3变量的使用

3.4变量的作用域和生命周期

3.4.1作用域

3.4.2生命周期

3.5常量

3.5.1字面常量

3.5.2const修饰的常变量

3.5.3 #define定义的标识符常量

3.5.4 枚举常量

4.字符串,转义字符,注释

4.1字符串

4.2 转义字符

4.3 注释

5.选择语句

6.循环语句

7.函数

8.数组

10.操作符


1.第一个C语言程序

#include<stdio.h>
int main()
{
	printf("hello world\n");
	return 0;
}

写C语言代码,首先要写主函数main

printf是C语言提供的一个库函数

库函数的使用要包含对应的头文件"#include"

主函数是程序的入口,有且仅有一个(一个工程中main函数有且仅有一个)

2.数据类型

char                 //字符数据类型--->字符        1字节

short                //短整型                                2字节

int                    //整型              --->整数         4字节

long                 //长整型                                4字节

long long         //更长的整型                         8字节

float                //单精度浮点数                      4字节

double            //双精度浮点数 --->小数        8字节

这些数据类型是C语言提供的类型,也叫内置类型

sizeof是用来计算一个类型大小的---size_t --- "%u"

C语言标准规定 sizeof(long)>=sizeof(int) 

计算机是能够识别二进制的 二进制:1/0;十进制0~9

3.变量,常量

3.1

//全局变量b ---定义在大括号外部

//局部变量a ---定义在大括号内部

3.2

局部变量的名字和全局变量的名字相同时,局部优先使用 

3.3变量的使用

变量名要取得有意义

scanf //输入

printf //输出       

3.4变量的作用域和生命周期

一个变量哪里可以使用,哪里就是它的作用域 {}内部 

3.4.1作用域

1)局部变量的作用域是局部变量所在的局部范围

2)全局变量的作用域是整个工程

3.4.2生命周期

1)局部变量:进入作用域生命周期开始,出作用域生命周期结束

2)全局变量:整个程序的生命周期

3.5常量

3.5.1字面常量

20; //整型常量

3.14; //浮点型常量

'a'; //字符型常量

"abc"; //字符串常量

int a=10;

char ch='w';

3.5.2const修饰的常变量

const是一个C语言的关键字,const---常属性的意思

注意:const修饰的常变量是不能直接修改的

 //下述程序的n本质上是一个变量,所以不能使用在数组定义时指定大小,所以n是常变量

 

3.5.3 #define定义的标识符常量

 3.5.4 枚举常量

C语言提供了一个枚举类型

enum 标识符

{

//枚举常量

};

 枚举常量的默认值是从0开始的,依次向下递增1.

4.字符串,转义字符,注释

4.1字符串

"hello world\n"

  字符串的结束标志是一个'\0'的转义字符.在计算字符串长度时'\0'是结束标志,不算做字符串内容

strlen---库函数,用来求字符串的长度,计算的是'\0'之前出现的字符串个数

 //数组arr2没有'\0',所以计算的值是一个随机值

4.2 转义字符

转变原来的意思

转义字符释义
\'用于表示字符常量 '
\''用于表示字符串内部的双引号
\\表示一个反斜杠,防止它被解释为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行符
\?

在书写连续多个?时使用,

防止他们被解析成三字母词

\r回车
\t水平制表符  TAB
\v

垂直

\dddddd表示1~3个八进制的数字,eg:\130 X
\xdddd表示2个十六进制数字,eg:\x30 x

'\130'代表的就是把130这个8进制数数字转换成10进制后,得到88,作为ASCII码值代表的字符'X';

'\x31'将31这个16进制数字转换成10进制得到49,作为ASCII码值代表的字符'1';

4.3 注释

1)注释是用来解释代码的

2)可以用来注释一些不需要的代码 

/*

        C语言的注释风格,不支持嵌套

*/

// C++的注释风格

5.选择语句

if...else...   switch

6.循环语句

while   for   do...while...

7.函数

#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;
} 

scanf函数在调用失败,读取失败的时候,会返回EOF(end of file)--->本质(-1)

多组输入时,while ( scanf(...) !=EOF) {}

函数的特点就是简化代码,代码复用。

8.数组

能够存放一组相同类型的元素

int arr1[10]={1,2,3,4,5,6,7,8,9,10};//arr1是它的数组名

int arr2[10]={0};//首元素为0,剩下的元素初始化为0,不完全初始化

数组是有下标的,下标是从0开始的

 

10.操作符

算术操作符+ - * / %(取模)
移位操作符>>  <<  移动的是二进制位
位操作符按位与&  按位异或^  按位或| 
赋值操作符=  +=  -=  *=  /=  &=  ^=  |=  >>=  <<=
关系操作符>   >=  <  <=  !=  ==
逻辑操作符&& 逻辑与    ||逻辑或
                                单目操作符---只有一个操作数
!逻辑反操作
-负值
+正值
&取地址
sizeof操作数的类型长度(以字节为单位)
++前置,后置++
--

前置,后置--

(类型)强制类型转换

int a=0;

sizeof(a);//4

sizeof(int);//4

int b=10;

int b=++a;//前置++,先++,后使用,a=a+1,b=a

int b=a++; //后置++,先使用,后++,int b=a;,a=a+1

条件操作符

exp1?exp2:exp3    三目操作符

//若exp1的表达式为真,则输出exp2,否则输出exp3

逗号表达式

exp1,exp2,exp3,exp4 

//表达式会从左到右依次计算,整个表达式的结果是最后一个表达式的结果 

下表引用,函数调用和结构成员

[]  ()  .  ->

int arr[10]={0};

arr[5]=9;//[]--下标引用操作符,它的操作数:数组名,下标

m=a(3,5);//()--函数调用操作符,它的操作数:函数名,3,5

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值