初识C语言(1)

初识C语言

  • 1. 第一个C语言程序
  • 2.数据类型
  • 3.变量,常量
  • 4.字符串+转义字符+注释
  • 5.选择语句
  • 6.循环语句
  • 7.函数
  • 8.数组

1. 第一个C语言程序

#include
int main()
{
     
    printf("hello world");
    //printf是打印函数,属于C语言库函数需要引用头文件#include
    return 0;
}

初识C语言(1)_第1张图片

main()是主函数,一个程序文件中有且仅有一个主函数。

2.数据类型

基本类型

代码 类型
char 字符数据类型
short 短整型
int 整型
long 长整型
long long 更长的整型
float 单精度浮点型
double 双精度浮点型

输出格式

%… 打印类型
%d 打印整型
%c 打印字符型
%s 打印字符串
%f 打印浮点型
%lf 打印双精度浮点型
%p 打印地址
%x 打印16进制
%o 打印8进制

示例

#include
int main()
{
     
	int a = 10;
	printf("%d\n", a);
	char b = 'c';
	printf("%c\n", b);
	char arr[] = "hello";
	printf("%s", arr);
	float c = 1.0;
	printf("%f\n", a);
	double pi = 3.14;
	printf("%lf\n", pi);
	int d = 20;
	printf("%p\n", &d);
	return 0;
}

结果演示
初识C语言(1)_第2张图片
计算数据类型的大小

初识C语言(1)_第3张图片
sizeof() 计算类型或所占空间的大小

int main()
{
     
    char a=10;
    printf("%d\n",sizeof(a));
    printf("%d\n",sizeof a);   //求变量时可以省略括号
    
    printf("%d\n",sizeof(char));
    printf("%d\n",sizeof char); //error!求字符类型时括号不能省略
}

计算机中的单位:bit - 比特位
1byte-- 字节 = 8bit
1kb-- 千字节 = 1024byte
1mb-- 兆字节 = 1024kb
1gb-- 吉字节 = 1024mb
1tb-- 太字节 = 1024gb
1pb-- 拍字节 =1024tb

3.变量,常量

生活中的有些值是不变的(比如:圆周率,身份证号码,血型等等)有些值是可变的(比如:年龄,体重,薪资)。不变的值, C语言中用常量的概念来表示,变得值C语言中用变量来表示。

  • 定义变量的方法:类型 变量名=初值;
int main()
{
     
	int age = 150;
	float weight = 55.5;
	char ch = 'c';
}
  • 变量的分类:局部变量,全局变量
int global_variable;			'全局变量' {
      }外部
int main()
{
     
       int global_variable;	        '局部变量' {
      }内部
       return 0}

int var = 100;
int main()
{
     
    int var = 10;
    printf("%d\n",var);
    return 0;
}

>>>10

由此可见 局部变量与全局变量命名相同时,局部变量优先。

  • 变量的使用

写一个代码求2个整数的和

int main()
{
     
	int a = 0;
	int b = 0;
	int sum = 0;
	scanf("%d %d", &a, &b);
	sum = a + b;
	printf("sum = %d\n", sum);
	return 0;
}
  • 变量的作用域和生命周期
    作用域:
    程序设计概念,通常来说,一段程序代码中所用到的名字并不是总有效的,限定这个名字的可用性的代码范围就是这个名字的作用域。
    1.全局变量的作用域是整个工程
    2.局部变量的作用域是变量所在的局部范围
    生命周期:
    变量的生命周期是变量的创建和销毁之间的时间段。
    1.局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束
    2.全局变量的生命周期:整个程序的生命周期
  • 常量
    C语言中的常量分为以下种
    1.字面常量
    2.const修饰的常变量
    3.定义的标识符常量
    4.枚举常量
#define MAX 10000
int main()
{
     
	1. 字面常量
	3.14;
	10;
	'a';
	"abcdef";

	2. const修饰的常变量
	const int num = 10;//num就是常变量 - 具有常属性(不能被改变的属性)
	num = 20;//err
	printf("num = %d\n", num);//10
	int arr[10] = {
     0};//10个元素
	const int n = 10;
	int arr2[n] = {
     0};//err n是变量的,这里是不行

	3. #define 定义的标识符常量
	MAX = 20000;//err
	int n = MAX;
	printf("n = %d\n", n);//10000
 }
   4.枚举常量
  //性别
  enum Sex
  {
     
	//这种枚举类型的变量的未来可能取值
	//枚举常量
	MALE = 3,//赋初值
	FEMALE,
	SECRET
  };
  int main()
  {
     
	// 枚举常量
	//可以一一列举的常量
	enum Sex s = MALE;
	//MALE = 3;//err
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n", SECRET);
	return 0;
  }

4.字符串+转义字符+注释

  • 字符串
“hello world”

这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。

注意:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。

#include
#include 
int main()
{
     
	//字符数组 - 数组是一组形同类型的元素
	//字符串在结尾的位置隐藏了一个\0的字符
	//\0是字符串的结束标志
	char arr1[] = "abc";
	char arr2[] = {
     'a', 'b', 'c'};
 
	//求一下字符串的长度
   printf("Length of arr1=%d\n", strlen(arr1));
   //strlen计算字符串的长度,需要引头文件#include 
	printf("Length of arr1=%d\n", strlen(arr2));//随机检测到\0,结果为随机值
	
	//打印字符串
	printf("arr1=%s\n", arr1);//abc
	printf("arr2=%s\n", arr2);//abc乱码
	return 0;
}

初识C语言(1)_第4张图片

  • 转义字符
    当我们想在屏幕上打印一个目录:C:\code\test.c
    实际运行结果却是
    初识C语言(1)_第5张图片
    这里就要提一下转义字符,转义字符就是转变原来的意思
    下面看一些转义字符
转义字符 释义
\ ? 在书写连续多个问号时使用,防止他们被解析成三字母词
\‘ 用于表示字符常量’
" 用于表示一个字符串内部的双引号
\ 用于表示一个反斜杠,防止它被解释为一个转义序列符
\a 警告字符,蜂鸣
\b 退格符
\f 进纸符
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd ddd表示1 - 3个八进制的数字。如:\130
\xdd dd表示2个十六进制数字。如:\x30

小练笔:

// 求输出结果
#include
#include
int main()
{
     
	printf("%d\n", strlen("c:\test\328\test.c"));
	return 0;
}

结果为14
解析:\t,\32被解析成一个转义字符算作一个字符。八进制中不包含8所以只有\32被转义成一个字符。

  • 注释
    1.代码中有不需要的代码可以直接删除,也可以注释掉。
    2.代码中有些代码比较难懂,可以加一下注释文字。
int main()
{
     
	//int a = 10; //C++注释风格(推荐)
	/*
	int b = 0;
	*/   
	//   /* */C语言的注释风格 - 不支持嵌套注释
	return 0;
}

5.选择语句

#include
int main()
{
     
	int a = 0;
	printf("你会好好学习吗(1/0)?>:");
	scanf("%d", &a);
	if (a == 1)
	{
     
		printf("好offer\n");
	}
	else
	{
     
		printf("卖红薯\n");
	}
	return 0;
}

6.循环语句

#include
int main()
{
     
	int line = 0;
	while (line < 30000)
	{
     
		printf("写代码:%d", line);
		line++;
	}
	if (line == 30000)
	{
     
		printf("好offer\n");
	}
	return 0;
}

7.函数

#include
int main()
{
     
	int a = 0;
	int b = 0;
	int sum = 0;
	printf("请输入两个数:");
	scanf("%d %d", &a, &b);
	sum = a + b;
	printf("%d\n", sum);
	return 0;
}
上述代码,写为函数如下
int add(int a, int b)
{
     
	return a + b;
}
int main()
{
     
	int a = 0;
	int b = 0;
	printf("请输入两个数:");
	scanf("%d %d", &a, &b);
	int c = add(a, b);
	printf("%d\n", c);
	return 0;
}

函数的特点:简化代码,代码复用。

8.数组

定义:一组相同类型的元素的集合
数组是用下标来访问的,arr[0]表示第一个元素,arr[1]表示第二个元素…
若有n个元素,其最大下标为n-1.
数组的使用

#include
int main()
{
     
	int arr[10] = {
      1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
	int i = 0;
	for (i = 0; i < 10; i++)
	{
     
		printf("%d ", arr[i]);
	}
	printf("\n");
	char ch[5] = {
      'a', 'b', 'c' };//不完全初始化,剩余的默认为0
	for (i = 0; i < 5; i++)
	{
     
		printf("%c ", ch[i]);
	}
	return 0;
}

初识C语言(1)_第6张图片

你可能感兴趣的:(笔记,c语言)