C语言基础

1、c语言有无符号数
http://c.biancheng.net/cpp/html/3240.html

2、scanf 函数
在这里插入图片描述sanf函数(https://img-blog.csdnimg.cn/20190508151543146.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE5MjI5NDA=,size_16,color_FFFFFF,t_70)

3、运算符

单目运算符:只需要一个操作数

自增:++ 自减: –
双目运算符:需要两个操作数

加法:+ 减法:- 乘法: * 除法: / 求模:%
增量和减量运算符: ++和–
“增量运算符”(increment operator)完成简单的任务,即将其操作数的值增加1。这个运算符以两种方式出现。在第一种方式中,++出现在它作用的变量的前面,这是前缀(prefix)模式.在第二种方式中,++出现在它作用的变量的后面,这是后缀(postfix)模式。这两种模式的区别在于值的增加这一动作发生的准确时间不同。对于前缀运算符,先执行自增或自减运算,再计算表达式的值,而后缀运算符,则先计算表达式的值,再执行自增或自减运算。
在这里插入图片描述
在这里插入图片描述

4、size of 运算符
izeof是C语言的32个关键字之一,并非“函数”,也叫长度(求字节)运算符,sizeof是一种单目运算符,以字节为单位返回某操作数的大小,用来求某一类型变量的长度。其运算对象可以是任何数据类型或变量。

#include<stdio.h>
int main()
{
int n=0;
int intsize = sizeof(int);
printf(“int sizeof is %d bytes\n”,intsize);
return 0;
}

5、C语言的循环结构
5.1 while 结构
while(i++<10)
{
printf(“count %d ”,i);
}

while语句
总体注解:
while语句创建一个循环,该循环在判断表达式为假(或0)之前重复执行。while语句是一个入口条件(entry-condition)循环,在进行一次循环之前决定是否要执行循环。因此有可能一次也不执行。循环的语句部分可以是一个简单语句或一个复合的语句。
while(表达式)
{
循环体语句
}

5.2 do while结构
do
{
printf(“count %d”,i);
} while(i<20);

do while 语句
总体注解:
do while语句创建一个循环,它在判断表达式为假(或0)之前重复执行。do while语句是一个退出条件循环,在执行一次循环之后才决定是否要再次执行循环,因此循环至少要被执行一次。循环的语句部分可以是一个简单的语句或一个复合语句。
形式
do
{
循环体语句
}while(表达式);
在表达式为假(或0)之前重复执行循环体语句

5.3for 语句
for(i=0;i<100;i++)
{
printf(“i count is %d\n”,i);
}

for语句
总体注释:
for语句使用由分号隔开的三个控制表达式来控制循环过程。初始化表达式只在开始执行循环语句之前执行一次。如果判断表达式为真(或非0)就执行一次循环。然后计算更新表达式并再次检查判断表达式的值。for语句是一个入口条件循环,在进行一次循环之前决定是否要执行循环,因此有可能循环一次也不执行。循环的语句部分可以是一个简单的语句或一个复合语句。
形式
for(初始化表达式;判断表达式;更新表达式)
{
循环体语句
}
循环在判断表达式为假(或0)之前重复执行。

6 C语言选择结构
6.1 if else
if(flag>=90)
{
printf(“Good\n”);
}
else if(flag>=60)
{
printf(“passed”);
}
else
{
printf(“failed\n”);
}
6.2 switch 语句
switch(表达式) /首先计算表达式的值/
{
case 常量表达式1:语句1;
case 常量表达式2:语句2;
case 常量表达式3:语句3;
… …
case 常量表达式n:语句n;
default:语句n+1;
}
switch(value)
{
case 1:printf(“one”);break;
case 2:printf(“two”);break;
case 3:printf(“three”);break;
default:printf(“other”);break;
}

7、C语言函数格式

C源程序是由函数组成的。最简单的程序有一个主函数 main(),但实用程序往往由多个函数组成,由 主函数调用其他函数,其他函数也可以互相调用。函数是C源程序的基本模块,程序的许多功能是通过对 函数模块的调用来实现的,学会编写和调用函数可以提高编程效率。

函数的定义通常包含以下内容:
类型 函数名(形参表说明) /函数首部/
{
说明语句 /函数体/
执行语句
}

对上面的定义形式进行以下说明:
(1)“类型”是指函数返回值的类型。函数返回值不能是数组,也不能是函数,除此之外任何合法的数据类型都可以是函数的类型,如:int,long,float,char 等。函数类型可以省略,当不指明函数类型时,系统默认的是整型。
(2)函数名是用户自定义的标识符,在 C 语言函数定义中不可省略,须符合 C 语言对标识符的规范, 用于标识函数,并用该标识符调用函数。另外函数名本身也有值,它代表了该函数的入口地址,使用指针 调用函数时,将用到此功能。
(3)形参又称为“形式参数”。形参表是用逗号分隔的一组变量说明,包括形参的类型和形参的标识 符,其作用是指出每一个形参的类型和形参的名称,当调用函数时,接收来自主调函数的数据,确定各参 数的值。
(4)用{ }括起来的部分是函数的主体,称为函数体。函数体是一段程序,确定该函数应完成的规定的 运算,应执行的规定的动作,集中体现了函数的功能。函数内部应有自己的说明语句和执行语句,但函数 内定义的变量不可以与形参同名。花括号{ }是不可以省略的。

根据函数定义的一般形式,可以定义一个最简单的函数:
add()
{

;} 这是 C 语言中一个合法的函数,函数名为 add。它没有函数类型说明,也没有形参表,同时函数体内 也没有语句。实际上函数 add 不执行任何操作和运算,它是一个空函数,在一般情况下是没有用途的,但 在程序开发的过程中有时是需要的,常用来代替尚未开发完毕的函数。

**7.1 C语言函数的变量 **
在 C 语言中,变量是对程序中数据所占内存空间的一种抽象定义,定义变量时,用户定义变量的名、 变量的类型,这些都是变量的操作属性。不仅可以通过变量名访问该变量,系统还通过该标识符确定变量 在内存中的位置。在计算机中,

保存变量当前值的存储单元有两类,一类是内存,另一类是 CPU 的寄存 器

。变量的存储类型关系到变量的存储位置,C 语言中定义了 4 种存储属性,即自动变量、外部变量、静 态变量和寄存器变量,它关系到变量在内存中的存放位置, 由此决定了变量的保留时间和变量的作用范围。

变量的保留时间又称为生存期,从时间的角度,可将变量分为静态存储和动态存储两种情况。静态存 储是指变量存储在内存的静态存储区,在编译时就分配了存储空间,在整个程序的运行期间,该变量占有 固定的存储单元,程序结束后,这部分空间才释放,变量的值在整个程序中始终存在;动态存储是指变量 存储在内存的动态存储区,在程序的运行过程中,只有当变量所在的函数被调用时,编译系统才临时为该 变量分配一段内存单元,函数调用结束,该变量空间释放,变量的值只在函数调用期存在。

变量的作用范围又称为作用域,从空间角度,可以将变量分为全局变量和局部变量。局部变量是在一 个函数或复合语句内定义的变量,它仅在函数或复合语句内有效,编译时,编译系统不为局部变量分配内 存单元,而是在程序运行过程中,当局部变量所在的函数被调用时,编译系统根据需要,临时分配内存, 调用结束,空间释放;全局变量是在函数之外定义的变量,其作用范围为从定义处开始到本文件结束,编 译时,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定单元。

7.1.1. 自动变量
函数中的局部变量,如不专门声明为 static 存储类别,都是动态地分配存储空间的,数据存储在动态 存储区中。函数中的形参和在函数中定义的变量(包括在复合语句中定义的变量)都属此类,在调用该函 数时系统会给它们分配存储空间,在函数调用结束时就自动释放这些存储空间。这类局部变量称为自动变 量。自动变量用关键字 auto 进行存储类别的声明,
例如声明一个自动变量:
int fun(int a)
{
auto int b,c=3; /定义 b,c 为自动变量/
}
a 是函数 fun()的形参,b、c 是自动变量,并对 c 赋初值 3。执行完 fun()函数后,自动释放 a、b、c 所占的存储单元。

7.1.2 外部变量
外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件末尾。如果在定义点之前的函数想引用该外部变量,则应该在引用之前用关键字 extern 对该变量进行“外部变量声明”。表示该 变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部变量.
用 extern 声明外部变量,扩展程序文件中的作用域

7.1.3. 静态变量
有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,这时就应该指定局部变量为静 态局部变量,用关键字 static 进行声明。

7.1.4. 寄存器变量
为提高效率,C 语言允许将局部变量的值存放在 CPU 的寄存器中,这种变量叫做寄存器变量,用关键字 register 声明。使用寄存器变量需要注意以下几点:
(1)只有局部自动变量和形式参数可以作为寄存器变量。
(2)一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量。
(3)不能使用取地址运算符“&”求寄存器变量的地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值