一、初识C语言(1-2)【scholary】
针对视频初识C语言的知识点内容做个总结
一、库函数
- main / return
int main() { return 0; } main函数为文件运行的开始。不使用 void main() 是因为C语言规定程序返回值为int,为保证移植性不建议使用void。 C语言中函数表示为: int function_name (int a, int b) { …… return x; } 
- 头文件 stdio.h
暂时已学:printf / scanf
scanf("%d",&a); //字符+地址 printf("%d",a); //双引号内为内容,字符变量一一对应
scanf函数在字符为char类型时可能会造成缓存区溢出,产生问题
使用scanf_s函数会降低移植性
二、常量定义
- 方法一:const
- 方法二:#define 常量名 数值
- 方法三:enum函数声明常量
- enum 枚举类型 {成员1,成员2……} 枚举变量 未声明的常量数值为上个数值+1,首个默认为0。声明成员和变量可以分为两步。
- 
enum case{case1,case2,case3,count} //声明case枚举类型(集合) enum case issue; //声明变量issue属于case类型(集合) 
 
三、字符串与数组
字符和字符串的表示
- ‘ ’ 表示字符
- “ ” 表示字符串
数组的表示:
int arr[n] = {1,2,3,4,5,6,7……};
在数组中,字符串以‘\0’结尾,且‘\0’不算作字符串内容,不计入字符串长度。第一个元素下标为0。
四、操作符
引用:https://blog.csdn.net/ty6693/article/details/86660342
注:
- 条件操作符
exp1 ? exp2 : exp3 释义:判断exp1是否为真,为真执行exp2,不为真执行exp3 
- sizeof操作符
用于计算变量或类型的大小。
附带常见类型大小:
| 类型 | 大小 | 
|---|---|
| char | 1 | 
| short int | 2 | 
| int | 2 | 
| float | 4 | 
| double | 8 | 
| long | 4 | 
| long long | 8 | 
| 指针 | 32位-4 64位-8 | 
五、码制
计算机存储数据使用的是补码
正数:原码、反码、补码都相等
负数:原码 符号位不变,其余取反得到反码,反码+1得到补码
六、关键字
https://www.html.cn/qa/other/22314.html
注:static的用法
- 修饰局部变量时,延长了局部变量的生存周期。
void count () { static int a = 1 ; a++; printf("a = %d\n",a); // 反复调用出现 1,2,3,4…… } 
- 修饰全局变量时,全局变量不能跨文件调用 extern符号不能用
- 修饰函数时,改变了函数的外部链接属性,函数不能跨文件调用,同修饰全局变量
七、指令 define的用法
#define exp1 exp2
可以定义宏:
#define MAX(X,Y) (X>Y?X:Y)
定义宏是在编译过程中由编译器完成的替换。在此过程中不进行计算。
所以要注意定义带参数的宏时,要在表达式外加括号体现优先级。如果必要,则要在每个参数外加括号确保不会出现错误计算。
八、结构体
结构体用于整合不同类型数据。
结构体指针:struct <类型名>* <指针变量名>
指针使用方法: (*p).类型 / p->类型(不加*)
代码中name[20]是数组。不可以直接用b1.name = xxx进行更改,需要使用strcpy更改。
struct book { char name[20]; short price; }; int main() { struct book b1 = { "c语言",50 }; printf("书名:%s\n", b1.name); printf("价格:%d\n", b1.price); return 0; }
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号