语法 Basic Grammar"/>
C语言学习笔记(一) -基本语法 Basic Grammar
变量与常量
/*
* 常量:符号常量和字面常量
* 变量:变量名,值,类型
* 关键字
*/
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和整数0printf("\"%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/5printf("%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=5j = ++i;printf("前加:i=%d,j=%d\n",i,j);//i=6 j=6printf(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;//0x8976printf("%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;
}
更多推荐
C语言学习笔记(一) -基本语法 Basic Grammar
发布评论