衡阳建设学校官方网站,咸阳网站制作公司,做网站营销公司,欧美一级a做爰片免费网站运算符优先级自右向左记忆口诀条件赋值自增减#xff08;?: //- -- #xff09;指针取址按位反 (* ~)内存非负强制转 (sizeof ! - (type))define 前面的#标志着define是一个【预处理命令】而不是C语句。高字节在【高地址】存储单元#xff0c;低字节在【低地址】存储…运算符优先级自右向左记忆口诀条件赋值自增减?: //- -- 指针取址按位反 (* ~)内存非负强制转 (sizeof ! - (type))define 前面的#标志着define是一个【预处理命令】而不是C语句。高字节在【高地址】存储单元低字节在【低地址】存储单元。16位的内存中-65537与-1在内存中的值是一样的。16位的内存中-65535与1在内存中的值是一样的。整型常量后可加字母L或l表示long int型常量如123L, 45l, 0XAFL.U或u表示无符号数float占4个字节 double占8个字节 long double 占10个(TC/BC)或8个(VC)字节【转义字符】r光标到当前行首、t制表符、b退格、v竖向跳格、a鸣铃和--不可用于常量和表达式和表示位移运算符左移值乘2右移值除2。C语言常量分为直接常量和符号常量定义符号常量需要使用预处理命令#include。不合法的浮点数[e3],[2e4.3],[.e5],[-e3]格式化输出两个scanf函数调用之间通常需要使用【fflush库函数】清除键盘缓冲区字符除了X,E,G 其他格式转换符均为小写字母整型有符号整型输出 --- %[-/][0][宽度][.至少输出位数][l/h][u/o/x/X]无符号整型输出 %[-/][#][0][宽度][.至少输出位数][l/h][u/o/x/X]- 表示左对齐 表示有正号显示正号0 表示空格补0# 表示16进制数要输出0x或0X八进制数要输出0%hd表示输出短整型%o输出八进制%x或%X输出十六进制int a 123;
print(a%06dn, a); // a000123;
print(a%06dn, a); // a00123;
print(a%-06dn, a); // a123;
print(a%6dn, a); // a□□□123;
print(a%6dn, a); // a□□123;
print(a%-6dn, a); // a123;
print(a%6.4dn, a); // a□□0123;
print(a%-6.5dn, a); // a00123;浮点型 实数输出 %[-/][#][0][宽度][.precision][l/L][f/e/E/g/G]%f 表示小数点后要输出六位不够补0%g 不输出无意义的0%e 指数形式输出#表示必须输出小数点[.precision]输出小数部分的位数要四舍五入字符的输入输出%.3s输出字符串前3个字符getchar读取键盘输入一个字符回车键结束回显getc读入流文件一个字符回车键结束回显getche读取键盘输入一个字符任意键结束回显getch读取键盘输入一个字符任意键结束不回显putchar输出一个字符putc输出一个字符到流文件puts输出字符串自动换行一些错误的用法scanf(%d5.2f,f); //输入浮点数不可规定精度
scanf(%d,(ab)); //表达式没有地址不能用取地址符选择结构switch-case语句注意事项switch(A); //A可以是int、char或者枚举不可为浮点数
case 1:{bb1; break;} // {}可加可不加
case x: //错误❌case后面不可为变量
case; // 错误❌case后面直接跟分号是错误的
switch a // 错误switch后面的括号不可省略
/*swith语句可以嵌套*/C语言语句可分为表达式语句、复合语句、函数调用语句、空语句、控制语句。逻辑运算符两侧的运算对象数据类型可以是任何类型的数据。数组一维数组数组名不可被赋值memset的使用---实现对某内存块各字节单元整体赋同样的值memcpy的使用---实现两个数组间的赋值// 每个数据单元的值为‘a’
char str[10];
memset(str,a,10);
// 每个数据单元的值清0
int a[10];
memset(a,0,10*sizeof(int));
//[思考题]下面程序执行后数组a的各元素值是多少
short a[10];
memset(a,2,10*sizeof(short));//值为514【00000010 00000010】// memcpy的用法
memcpy(b,a,5*sizeof(int));二维数组二维数组的赋值// 数组元素的整体赋值
int a[2][3] {{1,2,3},{1,2,3}}; //{1,2,3,1,2,3}
// 数组元素的整体赋值
int a[2][3] {1,2,3,1,2,3}; //{1,2,3,1,2,3}
// 数组元素的部分赋值
int a[2][3] {{1},{3}; //{1,0,0,1,0,0}
// 数组元素的部分赋值
int a[2][3] {1,2,3}; //{1,2,3,0,0,0}
// 数组元素的部分赋值,省略一维
int a[][3] {{1,2},{4}} //{1,2,0,4,0,0}
// 数组元素的部分赋值,省略一维
int a[][3] {{1,2,3,4} //{1,2,3,4,0,0}函数填空题当函数返回值缺省时函数的返回值类型为【int】静态局部变量若在定义是未赋初值则系统赋初值为【0】其生存周期是【整个源程序】其作用域是【在该变量的函数内或复合语句中】。形参只能是【变量】。C语言中函数的隐含存储类别是【extern】。四种变量的存储类型动态存储类型auto, register静态存储类型extern, staticauto 只能在函数内或符合语句中定义局部变量register 只有局部变量和形式参数可以定义extern是函数的隐含存储类别指针表示a[i][j]的几种形式a[i][j]
*(a[i]j)
*(*(ai)j)
(*(ai))[j]数组指针int (*p)[4];
// 表示指向含有4个int型元素的一维数组指针
// 可用来表示二维数组的行指针// 利用p访问数组元素的四种形式
p[i][j]
*(p[i]j)
*(*(pi)j)
(*(pi))[j]动态内存分配malloc() 分配若干个字节的内存空间calloc() 分配若干个连续的存储空间realloc() 改变原来分配的存储空间大小int *p int*) malloc( 4 *sizeof(int));
int *p int*) calloc( 4, sizeof(int))int *p int*) malloc( 4 *sizeof(int));
p int*) realloc(6 *sizeof(int));指针函数---- 函数类型 *函数名形参1形参2...【注意】如果函数返回一个指针不能返回auto型的局部变量地址但可以返回static型的局部变量地址函数指针---- 函数类型 *指针变量形参1形参2...结构体与共用体间接定义法struct 结构体类型名
{数据类型名 成员名
};
// 结构体的变量的定义
struct 结构类型名 变量列表名;
// 可定义多个结构类型变量
struct students_info stu1, stu2;
// 可定义指向结构体类型的指针变量
struct students_info *p;直接定义法struct 结构体类型名
{数据类型名 成员名
}变量名列表;结构体类型不分配内存结构体变量分配内存结构体类型不能被赋值、存取和运算结构体变量可以。结构体变量的引用// 非指针类型
结构体变量名.成员名
// 指针变量类型
结构体指针-成员名
(*结构体指针).成员名文件文件的打开与关闭fopen 发生错误时函数的返回值是【0NULL】打开成功返回【文件结构体指针】fcolse正常关闭文件是返回值是【0】否则是【非0】。feof() 遇到文件尾返回【真非零值】否则返回【假0】打开文件的方式r 只读w 创建新文件只写a 打开已有文件在末尾追加只写若文件不存在创建新文件只写r 打开已有文件可读写w 创建新文件可读写若已有则覆盖a 可读写其余同at 打开文本文件b 打开二进制文件文件的读写字符读写函数【fget】和【fputc】。字符串读写函数【fgets】和【fputs】。char str[] 123456789;
fputs(str, fp);
fgets(str, 8, fp);数据块读写函数【fread】和【fwrite】一般用于二进制文件的输入和输出fread(指针数据项的大小移动的n个数据项的字节文件指针)
fread(a, sizeof(short),10, fp); // 从文件中读10个整型数据到数组a格式化读写函数【fscanf】和【fprintf】一般用于文本文件的输入和输出int fscanf (文件指针, 格式字符串输入列表);
fscanf(fp, %d,%d,i,t);
int fprintf (文件指针, 格式字符串输入列表);
fprintf(fp, %d,%d,i, t);文件的定位读写 rewind将指针指向文件开头 fseek 将指针指向特定的位置SEEK_SET 0 文件开始处SEEK_CUR 1 文件当前处SEEK_END 2 文件末位处int fseek(文件指针位移量起始点);
fseek (fp, 2*sizeof(int),SEEK_SET);ftell 将指针指向当前处