C语言基础——基本变量和语法,运算符(20161212)

c语言之父 丹尼斯-里奇 贝尔实验室

C语言优点:运算符丰富;数据结构类型丰富;结构化的控制语句;语法限制相对自由;允许访问物理内存,可对硬件操作;执行效率高;移植性好。

缺点:代码数量多时,不可控性增加,难度较大。

一、c基本变量及语法

1、C引入

  编译:gcc hello.c -o hello //生成目标文件,必须加上hello

  程序:                           解析: 

#include<stdio.h>                       //#;预处理命令  
                                         // include :头文件包含
                                          // < >:把括号里的内容引入到源文件中
                                         // stdio.h:头文件,是计算机在带的库,可以直接使用
  int main (int argc,char *argcv[])   //main:函数名,main()是主函数,c程序源文件有且只能有一个main()函数,即主函数!!C程序的入口,即所有的C程序都是从main开始执行
                                          // int argc :参数个数

                                          //   char *argv[]:记录参数 
  
 { 

printf("hello,world!");          //printf():库函数,包含在<stdio.h>中,按一定的格式输出。

return 0;                                 //return 0;返回值,函数结束。

 }





ps:此程序基本决定了,C程序的框架!

2、C的数据类型

(1)基本数据类型:

整数型:

int, 基本整型

short int,短整型

long int,长整型

unsigned,无符号

singed,有符号

字符型:char

字符:由' '引起来的单个字母,数字,或者其他符号,e,1,!等

getchar():获取单个字符

putchar():输出的单个字符

实型,浮点型:

              float:单精度     有效位7位左右

              double :双精度  有效位15位左右

                numf e/E n   //n为整数,科学计数法

                  float  num=1.23E4;//num为1.23*10^4

枚举类型:enum

构造数据类型:

数组类型,结构体类型(struct),联合体类型(union)

指针类型:

空类型:void

#include<stdio.h>
//数据类型的实例
int main(int argc,char *argv[])
{
    //定义整型变量,并初始化
    int a=2;
    //定义整型变量
    int b,c,d;
    //给整型变量赋值
    b=12;
    c=13;
    d=15;
    //定义多个整型并初始化
    int e=11,f=10,g=9;
    //无符号数据类型
    unsigned h=-123;
    printf("%d\n",a);

    printf("%d\n",h);
    printf("%d\n",d);
return 0;
}

(2)变量的定义:

<1>DataType Name1,Name2,Name3,...,Namen

可以定义多个变量,中间用“,”隔开,结尾用“;”结束。

<2>

DataType Name1;

DataType Name2;

DataType Name3;

<3>建议一行定义一个变量,并初始化!!!

DataType Name1 = value;

3.标识符:

包括变量名,函数名,及其他标号等

<1>标识符的组成

字母(A~Z,a~z),下划线(_),数字,且规定第一个字符,不能为数字

<1>命名规则

可读性要高,做到“见名知意”

驼峰命名法:单词首字母大写

杜绝使用汉语拼音!!!

4.格式输入/输出:printf()/scanf()

<1>printf()----按一定的格式输出:printf(“占位符”,参数表);
一一对应

----printf(“打印输出的内容”)

----%m.nf:(右对齐)

m:总位数

n:小数部分的保留位数,若n+1大于m,则输出n代表原来数值。

----%-m.nf按照左对齐。

<2>scanf()

按一定格式输入:scanf(“占位符”,&参数表);

一一对应
#include<stdio.h>
int main ()
{
    //定义变量并初始化
    float numf=1.234;
    //按格式输出numf的值
    printf("numf =%f\n",numf);
    //输入numf的值,&numf为地址,将输入的数据保存到numf对应的空间中!
    scanf("%f",&numf);
    printf("numf =%5.3f\n",numf);
    return 0;
    
}

&:取地址符号


占位符:

                  print()              scanf()

int                 %d                      %d

char                   %c                       %c

long                  %ld                       %ld

float                %f                      %f

double              %lf                     %lf

字符串             %s

5.常量

数字常量:123 1 -323

字符常量:‘s’ ‘$’

实型常量:1.23 -1.234

字符串常量:有“ ”括起来的字符序列,由一个或者多个字符组成。

注意:字符串和字符的区别

‘a’:占用一个字节

“a”:占用两个字节

‘\0’:字符串的结束标志,一般不显示

6.变量和常量的区别

变量:

其值可以更改,先定义后使用。

常量:

其值不可以更改,随时可以使用,无需定义或声明。

变量的初始化:

变量名=常量;//注:类型一定要一致!!!

二、运算符

1、sizeof()

计算大小,得出对应变量或数据类型所占内存空间的大小

(1)单位:字节(byte)
1字节=8位(bit)

sizeof DataType:  //64位机下

sizeof(cahr)=1

sizeof(int)=4

sizeof(short)=2

sizeof(long)=8

sizeof(float)=4

sizeof(double=8

sizeof DataType:  
//
32位机下

sizeof(cahr)=1

sizeof(int)=4

sizeof(short)=2

sizeof(long)=4 //只有long 不同

sizeof(float)=4

sizeof(double=8

(2)对应变量内存打大小

sizeof(ch)=1

sizeof(short_size)=2

sizeof(int_size)=4

sizeof(long_size)=8

sizeof(float_size)=4

sizeof(double_size)=8

注意:(1)(2)的结果,对比数据类型所占大小,和其定义变量所占的内存大小

#include<stdio.h>   //sizeof实例
int main()
{
    printf("sizeof DataType:\n");
    printf("sizeof(cahr)=%ld\n",sizeof(char));
    printf("sizeof(int)=%ld\n",sizeof(int));
    printf("sizeof(short)=%ld\n",sizeof(short));
    printf("sizeof(long)=%ld\n",sizeof(long));
    printf("sizeof(float)=%ld\n",sizeof(float));
    printf("sizeof(double=%ld\n",sizeof(double));
    char ch;
    short short_size;
    int int_size;
    long long_size;
    float float_size;
    double double_size;
    printf("sizeof(ch)=%ld\n",sizeof(ch));
    printf("sizeof(short_size)=%ld\n",sizeof(short_size));
    printf("sizeof(int_size)=%ld\n",sizeof(int_size));
    printf("sizeof(long_size)=%ld\n",sizeof(long_size));
    printf("sizeof(float_size)=%ld\n",sizeof(float_size));
    printf("sizeof(double_size)=%ld\n",sizeof(double_size));

    return 0;
}

2、算数运算符(七个)

加+、减-、乘×、除/、取余%

自增:++

++i  //先自增后取值,

num=++i;

即:i=i+1;

     num=i+1

i++ //先取值后自增

num=i++

即num=i;

i=i+1;
#include<stdio.h>
//自加运算实例
int main()
{
    int num=5;
    int sum=++num + num++;
    printf("sum=%d\n",sum);
    int i=5;
    int j=i++ + i++;
    printf("j=%d,i=%d\n",j,i);
    return 0;
}
#include<stdio.h>//基本算数运算
int main()
{

int a=12;
    int b=3;
    int sum=a+b;
    printf("%d,%d,%d\n",a,b,sum);
    int min=a-b;
    printf("%d,%d,%d\n",a,b,sum);
    int mul=a*b;
    printf("%d,%d,%d\n",a,b,mul);
    int del=a/b;
    printf("%d,%d,%d\n",a,b,del);
    int rem=a%b;
    printf("%d,%d,%d\n",a,b,rem);

    return 0;
}

自减:--

--i:先自减,后运算

i--:先取值,后自减

3、关系运算符

大于:>

a>b:成立,返回1;不成立返回0;

小于:<

a<b:成立,返回1;不成立返回0;

等于:==

a==b:成立,返回1;不成立返回0;

大于等于:>= //a大于b,或者a=b;

a>=b:

成立,返回1;不成立返回0;

小于等于:<=

a<=b:     //a小于b,或者a=b;成立,返回1;不成立返回0;

不等于:!=

a!=b:成立,返回1;不成立返回0;

4.逗号运算符(,)

表达式1,表达式2,表达式3,...

//其中每一个表达式又可以是一个逗号表达式!

//依次计算表达式1,表达式2,表达式3,.....

//表达式的值取决于最后一个表达式的值
#include<stdio.h>  //关系运算符实例
int main()
{
    int a=3;
    int b=4;
    printf("input a,b:");
    scanf("%d,%d",&a,&b);
    int res = a>b;
    printf("%d>%d的结果为:%d\n",a,b,res);
    res = a <= b;
    printf("%d<=%d的结果为:%d\n",a,b,res);
/*  printf("a>b :%d\n",a>b);
    printf("a<b :%d\n",a<b);
    printf("a==b:%d\n",a==b);
    printf("a<=b:%d\n",a<=b);
    printf("a>=b:%d\n",a>=b);
    printf("a!=b:%d\n",a!=b);
*/
    return 0;
}

5、使用scanf

注意事项

(1)一定要严格按照scanf()中的格式输入变量的值!!!

(2)使用scanf()时,参数列表中的参数地址,scanf()是将输入的值保存到变量对应的地址中!

(3)缓存区问题-----重点

scanf()函数中不能使用换行符:’\n’

总结:C语言基本的语法和变量以及运算符,以前有过接触,没有理解难度,难点在于编程熟练程度不够,需要强化练习。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 版权声明:本文为 gfson 原创文章,转载请注明出处。注:作者水平有限,文中如有不恰当之处,请予以指正,万分感谢...
    gfson阅读 3,225评论 0 6
  • •1 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语...
    CONLYOUC阅读 8,739评论 9 66
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,480评论 3 44
  • 昨日ivvi新品背面照的曝光,黑色主打,低调奢华有内涵,让不少人期待了一把! 今日实时追踪,ivvi新品谍照再次曝...
    椰子姐姐阅读 273评论 0 0
  • 如沐的秋风吹过校园,一株株小草探出了脑袋,他们向看怪物一样看着大树,骄傲的举起脑袋,对大树说,我们的梦想比你还高呢...
    贾馨婷阅读 854评论 2 6