C语言学习_note1

一、初步认识C语言

  1. 什么是C语言
  2. 第一个C语言程序
  3. 数据类型
  4. 变量、常量
  5. 字符串+转义字符+注释
  6. 选择语句
  7. 循环语句
  8. 函数
  9. 数组
  10. 操作符
  11. 常见关键字
  12. define定义常量和宏
  13. 指针
  14. 结构体 

1.什么是C语言

  首先要提到计算机语言,C语言是一门计算机语言,计算机语言呢,就是人和计算机交流的语言。常用的计算机语言有C、C++、Python、JAVA等等,利用这些语言,可以让人和计算机很好的交流。

  最早开始,计算机能够识别的语言是二进制语言,因为电脑是一个硬件(硬件是需要通电的,电源有正电、负电之分,正电是1,负电是0),所以让计算机工作,使用二进制语言就可以,用一串二进制010101序列让计算机工作,所以早期写代码需要查手册非常困难。

  由于二进制太麻烦了,后来把这些特定的0101010序列起名字,例如101010101=ADD--这就是助记符,这种语言就叫汇编语言。

  随后,又发展出了B语言,再到后面就出现了C、C++等,到C这一步就变成了高级语言。

  语言一步步的发展,越发展越便于人们的使用,早期0101010由于编写十分苦难只有科学家才能够使用,到现在C语言已经十分普及了。

C语言----->早期不是很成熟------>成熟------->流行

随着C语言逐渐发展,,早期在它基础上的更改各种各样,到89年出现了一个国际标准

ANSIC -C89,随后也出现了C90标准;现在还有C99、C11,但是C99、C11并不流行,很多的编译器都不支持这两种

当前流行的C语言编译器——Clang、GCC、WIN-TC、SUBLINE、MSVC、Turbo C等

2.第一个C语言程序

写C语言代码

1.创建工程

2.创建文件

.c文件——源文件

.h文件——头文件(经常放在文件的最头部)

3.写代码

#include <stdio.h>

//int是整型的意思,main前面的int表示main函数调用返回一个整型值
int main()//主函数-程序的入口,并且有且仅有一个
{
	printf("hello\n");
	printf("hello\n");
	printf("hello\n");
	printf("hello\n");
	printf("hello\n");
	/*这里完成任务,例如在屏幕上输出helloworld*/
	//函数--print function--printf就是一个打印函数
	printf("hellohello\n");
    //printf--是库函数--库函数是C语言本身提供给我们的函数
	//相当于使用别人的东西,所以需要提前打招呼,用#include <stdio>.h
	//包含一个叫<stdio>.h的文件
	//std(standard)标准,io(input、output)即标准输入输出
	return 0;//返回 0

3.数据类型

char  字符数据类型------     

short 短整型         

int 整型        

long 长整型

long long 更长的整型

float 单精度浮点数

double 双精度浮点数           

%d 打印整型   

%c 打印字符

%f 打印浮点数、打印小数 

%p 打印地址

创建变量——就是向内存申请空间

计算机中的单位

bit 比特位               byte 字节

kb  Gb   tb      pb

4.常量、变量

用来描述变的量——变量

不变的量——常量

变量的作用域和生命周期——变量哪里可以用,哪里就是它的作用域

全局变量的作用域是整个工程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: __attribute__是C语言中的一个特殊关键字,用于指定变量、函数、类型等的特殊属性。它可以用于优化代码、控制内存对齐、指定函数调用约定等方面。常见的__attribute__属性包括:aligned、packed、noreturn、deprecated等。使用__attribute__可以提高代码的可读性、可维护性和可移植性。 ### 回答2: C语言中的__attribute__是一种非常有用的特殊组合,它提供了许多编译器相关的功能,例如:控制数据的对齐方式,指定函数的参数和返回值,显式地将变量放入指定的内存区域等等。 __attribute__的使用方式非常简单,只需要在需要使用的变量、函数、类型或其他实体的定义前添加__attribute__并指定要使用的属性即可。例如,在声明变量的时候使用__attribute__((align(16)))就可以将该变量的字节对齐方式设置为16个字节。 除此之外,__attribute__还提供了许多其他有用的选项。例如,可以使用__attribute__((noinline))防止编译器将函数内联以优化代码,或者使用__attribute__((warn_unused_result))强制函数返回值被检查。 值得注意的是,__attribute__是一种非标准化的C语言扩展,因此在使用时需要谨慎。不同的编译器厂商可能会实现不同的__attribute__属性,而且一些老旧的编译器可能完全不支持这种特性。因此,为了确保代码的可移植性,最好只在确信目标平台支持__attribute__的情况下才使用它。 总而言之,__attribute__是一个非常强大和有用的特性,它可以帮助开发人员优化代码,提高性能,并提供许多有用的编译时功能。如果正确使用,__attribute__可以极大地简化一些编程任务,并帮助开发人员创建更好的代码。 ### 回答3: C语言中的__attribute__是一个GCC扩展,可以用于给变量、函数、结构体等添加属性,以达到一些特定的目的。__attribute__主要包括以下几种属性: 1. __attribute__((packed)):将变量或结构体成员的对齐方式设置为紧凑型(即不留空隙),以节省空间。 2. __attribute__((aligned(n))):将变量或结构体成员的对齐方式设置为n字节对齐,通常用于优化访问速度。 3. __attribute__((noreturn)):标记一个函数不返回值,可以用于避免编译器产生不必要的警告。 4. __attribute__((section("section_name"))):将函数或变量放置在指定名称的代码节或数据节中,这对于实现动态链接库、操作系统内核等有重要作用。 5. __attribute__((unused)):标记一个变量或函数未使用,可以避免编译器产生警告。 6. __attribute__((weak)):将函数或变量设置为弱定义符号。如果在程序中存在多个符号名称相同但定义内容不同的情况,链接器会选择其中具有强符号定义的符号,若都为弱符号定义,则会选择其中一个。 除此以外,__attribute__还有许多其它用法,不同的GNU扩展编译器也会提供一些特有的__attribute__用于辅助编写高效的代码。 需要注意的是,__attribute__是GCC的扩展特性,在C语言标准中并未定义,因此在使用时需要考虑兼容性问题。在使用时应该根据不同的编译器和平台,选择合适的__attribute__以避免产生错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值