C语言学习笔记(一) -基本语法 Basic Grammar

来源:互联网 发布:jq 数组中是否包含 编辑:程序博客网 时间:2024/05/22 23:43

变量与常量

/** 常量:符号常量和字面常量* 变量:变量名,值,类型* 关键字*/int main(void ){    printf("%f\n",3.14159);    //变量的定义;    int a = 23;    printf("a:%d\n",a);    return 0;}
/** 整型* 整型常量: 123 0123 0x123* 整型变量:short int long  long long*           int   unsigned int*           123   123u/U*           123l/L*/int main(void){    //检测int占据几个内存单元(几个字节)    printf("%lu\n",sizeof(int));    return 0;}

浮点类型

/* * 浮点类型 * 常量   3.4  3.4e1   3.4E2  3.4E-2  3.4f/F * 变量   float high = 2.3  double * 范围 */int main(void){    printf("%.7lf\n",2.0-1.9);    float f = 2.3;    return 0;}

字符类型

/*   字符类型: char   常量 ascII  ‘0’-‘9’ ‘a’-'z' 'A'-'Z'        转义字符 ‘\n’,'\t''\','\'','\"','\r','\\'        表示进制的转义:‘\xhh’,'\ddd'   变量   */#include<stdio.h>int main(void){    char c1 = 'a';//区分字符0和整数0    printf("\"%c\"\n",c1);//"a"    return 0;}
//10+'a'-3.1f+5/0.5 double//'a'+'b'   int//1+3    int#include<stdio.h>int main(void){    int i = (int)3.4;    printf("%d\n",i);    return 0;}

运算符

//算术运算符+ - * / %//关系运算符> >= < <= == !=  关系运算符的结果用0代替假,用非0代替真/*   逻辑运算符 && || !   位运算符 >> << ~ | & ^   赋值运算符 = += *= >>=....   条件运算符 ?:   逗号运算符 ,,,   指针运算符 * &   求字节运算符sizeof   强制类型转换运算符(类型)   其他:[] () . -> */#include<stdio.h>int main(void){    //"/"左右两边若都是整型或整型相关类型,除的结果是整型    float f = 33*1.0f/5;//(float)33/5    printf("%f\n",f);    //%取余,整型取余,浮点型不取余//  int i = 3.3%5;//  printf("%d\n",i);    int a = 20,b=30;    printf("%d\n",a>b);    int zhangsan = 88;    printf("%d\n",zhangsan>=80 && zhangsan < 90);    return 0;}

自加++,自减–

/** 自加++,自减--运算符* int i = 5;* ++i   i++*/int main(){    int i=5;    int j;    j = i++;    printf("后加:i=%d,j=%d\n",i,j);//i=6 j=5    j = ++i;    printf("前加:i=%d,j=%d\n",i,j);//i=6 j=6    printf(78>=60?"及格\n":"不及格\n");    //逗号表达式,顺序求值运算符    printf("%d\n",((20>30),(30<20),('a'>0)));    return 0;}

字节序

#include<stdio.h>/* * 字节序  * 大端模式、小端模式 * 大端模式:数据的高字节放在内存的低地址端,数据的低字节放在内存的高地址端 * 小端模式:数据的高字节放在内存的高地址端,数据的低字节放在内存的低地址端 *           常用的模式 * 网络字节序:TCP/IP协议规定网络字节序是大端模式. * * 长的数据类型给短的数据类型赋值,截取长数据类型的低字节,不考虑符号 * 短数据类型给长数据类型赋值,需要考虑有符号还是无符号 *     若赋值对象是有符号数,则符号扩展 *     若赋值对象是无符号数,则补0 * * 扩展赋值运算符 +=  */int main(void){    int i = 97;    char c = i;    printf("%c\n",c);    printf("%lu\n",sizeof(c));    i = 0x12348976;    short s = i;//0x8976    printf("%d\n",s);/*  unsigned char c = -1;    int i = c;    printf("%x\n",i);*/    int i = 5;//  i += 3;//i = i+(3);    i *= 1+2;//i = i*1+2   i = i*(1+2)    printf("%d\n",i);    return 0;}

检测数据类型占据字节数

//检测数据类型占据字节数#include<stdio.h>int main(void){    printf("short int字节数为:%lu\n",sizeof(short int));    printf("int字节数为:%lu\n",sizeof(int));    printf("long int字节数为:%lu\n",sizeof(long int));    printf("char字节数为:%lu\n",sizeof(char));    printf("float字节数为:%lu\n",sizeof(float));    printf("double字节数为:%lu\n",sizeof(double));    printf("long double字节数为:%lu\n",sizeof(long double));    return 0;}

输入输出语句

// 输入输出语句int main(void){    int a,b;    printf("请输入两个数");    scanf("%d,%d",&a,&b);//scanf中不能出现\n换行符    printf("输出内容:%d,%d\n",a,b);    return 0;}

printf输出函数

#include<stdio.h>//输入输出的函数如何使用。/* * printf("format"[,输出表列]); * format: %格式说明  普通字符 * 格式字符:d 整型,  f 单精度 ,lf 双精度 , c 字符,ld长整型  ,s 字符串 *           h 短整型,x/X 16进制, o 8进制,u/U 无符号 e/E 科学计数 *           %.2f限制输出小数位数 */int main(void){//  int i = 123456;//  printf("hello world%5daaa\n123456789012345\n",i);    float f = 123.456f;    printf("%-8.2f\n1234567890123456\n",f);    return 0;}

scanf输入函数

/* * scanf("format",地址表列) * 输入结束后,按回车键结束。 * format : 格式字符  普通字符 * scanf("%d %d",&i,&j);//12 32 * scanf("%d%d",&i,&j);//12 32 * 格式字符连续没有其他字符,按空格键,回车键,tab键 * scanf("%d%c",&i,&j);//12a */#include<stdio.h>int main(){    int i;    //scanf("%d",&i);    scanf("请输入i值:%d",&i);    printf("%d\n",i);    return 0;}
0 0
原创粉丝点击