首页 > 技术文章 > C语言基础二

javatask 2017-03-18 11:12 原文

常量:在程序中保持不变的量。  

变量:编写程序时,常常需要将数据存储在内存中,方便后面使用这个数据或者修改这个数据的值,通常使用变量存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或者存储数据。 

声明和使用变量:

声明变量:Datatype variablename;

使用变量:Datatype variablename=value;

定义初始化变量: vaeiablename =value;

例如:计算长方形面积

  //声明变量:数据类型 变量名;

  int width;//声明变量 定义一个长方形的宽

  width=10;//为变量宽赋值

  //声明并赋值

  int length=50;

  int s =width*length;//定义变量S存储长乘宽

  printf("长方形的长是%d,宽是%d,面积是:%d\n",length,width,s);//输出 长方形的长宽面积,int类型(整型)占位符%d ,\n换行符

 

变量命名(标识符)

1.什么是表示符?

标识符就是在程序中自定义一些符号和名称,要跟关键字区分开,关键字是C语言默认提供的符号,标识符是程序自定义的

2.标识符的作用

a.标识符,从字面理解就是用来标识某些东西的符号,标识的目的就是为了将这些东西区分开来

b.其实,标识符等同于人名,为了区分每个人而取的名字

c.C语言是由函数组成的,一个C程序可能会有多个函数,为了区分这些函数。就给每个函数起个名称。函数的名称就是标识符的一种。除了函数,变量名也是标识符。

 

命名:

1.命名规则(一定要遵守)

a)只能由阿拉伯数字,26个英文字母大小写,下划线_组成。

b)严格区分大小写, 比热test和Test是两个不同的标识符

c)不能以数字开头

d)不可以使用关键字作为标识符

2.命名规范(最好遵守)

a)见名知意,比如一个完整的英文单词,别人一看这个名称就能才能这个标识符的作用。如果不懂英文,你也可以用拼音,尽量不要起像abcde、等这类看起来没有意义的名称。

b)如果标识符中含有多个单词,可以使用驼峰标识(除第一个单词,后面每个单词的首写字母大写),moveName,myMusic,或者使用下划线_来链接,move_Name等

 

常见的错误标识符

合法标识符

非法标识符

注释

fromNo12

from#12

标识符中不能使用#符号

my_Boolean

my-Boolean

标识符中不能使用“-”符号,应使用下划线“_”代替

Obj2

2ndObj

标识符不能使用数字开头

myInt

int

“int”是内建关键字

jack_rose

jack&rose

符号“&”不能出现在标识符中

GUI

G.U.I

标识符内部需要出现“.”分隔符

基本数据类型:

数值类型;整型:(short,int long),非整型(float double)

非数值类型:char

 

//计算圆的面积

float pi =3.14;//声明一个float单精度浮点类型变量并赋值 圆周率

int r=3;//半径

float s =pi*r*r;

printf("圆的半径%d,圆周率%f,面积是:%f\n");//float单精度浮点类型 %f 占位符

 

printf()函数和scanf()函数

int bottem,height;//声明两个变量 int类型

printf("请输入三角形的底边长:");//printf输出

scanf("%d,&bottem");//将用户输入的值赋值给bottem  scanf输入

printf("请输入三角形的高:");

scanf("%d",&height)

double s =bottem*height/2;//面积的算法

printf("三角形的面积为:%7.2if",s);//%if double双精度浮点类型占位符 7.2:7位有效数字,精确倒小数点后两位

 

转换字符串 

说 明 

%d

将参数按整数形式转换输出,对应参数应是int 类型

%ld

将参数按长整数形式转换输出,对应参数应是long 类型

%c

输出一个字符,对应参数应该是一个字符

%s

输出一个字符串,对应参数应该是一个字符串

%f

将参数按带小数点数形式输出,对应参数应是double 类型,默认情况下精确到 6 位小数 

 

算术运算符:

二元运算:+-*/  %(取模或求余)

一元运算:++,--,

表达式

如何计算

结果 (num1=5)

num2 = ++num1;

num1 = num1 + 1;

num2 = num1;

num2 = 6;

num1 = 6;

num2 = num1++;

num2 = num1;

num1 = num1 + 1;

num2 = 5;

num1 = 6;

num2 = --num1;

num1 = num1 - 1;

num2 = num1;

num2 = 4;

num1 = 4;

num2 = num1--;

num2 = num1;

num1 = num1 - 1;

num2 = 5;

num1 = 4

 

 

通过中间变量实现变量交换:

int num1,num2;//声明两个int类型变量

int temp;//用于交换的 中间变量

printf("请输入num1的值:");//printf 输出

scanf("%d",&num1);//scanf 输入  &抓取用户输入值

printf("请输入num2的值:");

scanf("%d",&num2);

 printf("交换前num1=%d,num2=%d\n",num1,num2);

temp=num1;//把num1的值赋给temp

num1=num2;//num1为空 把num2的值赋给num1

num2=temp;//此时temp的值是原num1的值 num2的值赋给num1时为空 把temp的值再给num2实现交换

 

 printf("交换后num1=%d,num2=%d\n",num1,num2);

 

 

类型转换:

自动转换类型

原则:把表示范围小的类型的值转换到大的范围类型的值

short---->int--->long--->float--->double

强制类型转换

语法:(类型名)变量或数值

例如:

int a =5;b =3;

float qu =float(a)/b;

 

getchar()和putchar()

char a,b;

   printf("请输入第一个字符:");

   a=getchar();//获取输入字符

   fflush(stdin);

   printf("请输入第二个字符:");

   b=getchar();//获取输入字符

   fflush(stdin);

   putchar(a);//输出字符

   putchar(b);  

   putchar("\n");

 

推荐阅读