C语言学习——初识C语言(2)

常见问题解决
C4996 ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Project2_27 e:\vs\test\project2_27\project2_27\2_27.c 8
在这里插入图片描述在这里插入图片描述解决办法:
1、scanf是C语言提供的,scanf_s不是标准C语言提供的,是VS编译器提供的。使用scanf_s代替
2、源文件代码第一行加入
#define _CRT_SECURE_NO_WARNINGS 1
使警告失效

常量

C语言中的常量的类型
1、字面常量
2、const修饰的常变量
3、#define定义的标识符常量
4、枚举常量

//例子
int main()
{
  int num=4;//变量
  3//字面常量
   return 0;
}
int mian()
{
  //const-常变量
  const int num=4;
  printf("%d\n",num);
  num=8;
  printf("%d\n",num);
  return 0;
  //运行的话会报错,num不能再变了
}
//#define 定义的标识符常量
#define MAX 10
int main()
{
  int arr[MAX]={0};
  printf("%d\n",MAX);
  return 0;
}
//枚举常量
//枚举——一一列举
//例如:性别:男、女、保密;三原色:红、黄、蓝
//枚举关键字——enum
#include<stdio.h>
enum Sex{
     MALE,
     FEMALE,
     SECRET,
};
//MALE、FEMALE、SECRET——枚举常量
int main()
{
  printf("%d\n",MALE);  //0
  printf("%d\n",FEMALE);//1
  printf("%d\n",SECRET);//2
  return 0;
}

字符串、转义字符、注释

字符串

双引号引起来的一串字符,简称为字符串。例如“hello world.\n”
注意:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。

int main()
{
	char arr1[] = "abc";  //数组 
	//"abc"---'a' 'b' 'c' '\0'  '\0'字符串的结束标志                                                                                                                                                                                                                                                                                                                                                       
	char arr2[] = { 'a','b','c'0};
	printf("%s\n", arr1);
	printf("%s\n", arr2);
	return 0;
}
//输出结果
abc
abc烫烫烫烫蘟bc    //因为第二种写法,没有结束
//求字符串长度
int main()
{
	char arr1[] = "abc";  //数组
	char arr2[] = { 'a','b','c'};
	printf("%d\n", strlen(arr1));
	printf("%d\n", strlen(arr2));
	return 0;
}
输出结果:3 15
//为什么是15 因为第二种写法是经过15次之后才找到了/0,因此是随机的,不可知的。
转义字符
转义字符释义
?连续书写多个问号时,防止他们被解析成三字母词
\’表示字符常量’
\表示一个反斜杠,防止被解释为转义序列符
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1-3个八进制的数字。如:\130X
\xdddd表示2个十六进制数字。如:\x30 0
int main()
{
	printf("D:\test\182\test.c"); \\ \t——水平制表符
	\\printf("D:\\test\\182\\test.c");
	return 0;
}
//输出结果
D:      est82  est.c
D:\test\182\test.c	
注释

C语言注释风格/xxxxxxxxx/
缺点:不能嵌套注释
C++注释风格//xxxxxxx
可以注释一行也可以注释多行

选择语句

int main()
{
	int input = 0;
	printf("你好呀\n");
	printf("你要好好学习吗?(1/0)>: "); //>:转义字符
	scanf("%d",&input);//1/0
	if(input==1)
		printf("好工作\n");
	else
		printf("回家种地\n");
	return 0;
}

循环语句

int main()
{
	int line=0;
	printf("练习写代码\n");
	while(line<2000){                   //while循环语句
		printf("敲一行代码\n",line);
		line++;
	}
	if(line>=2000)
			printf("学好C语言了\n");
	return 0;
}

函数

函数有自定义函数和库函数
函数的特点:简化代码,代码重复使用

int main()
int Add(int x,int y)   //Add函数名,x,y函数参数
{                      //函数体
		int z=x+y;
		return z;
}
{
	int num1=10;
	int num2=20;
	int sum=0;
	int a=100;
	int b=200;
	//原始  sum=num1+num2;
	sum=Add(num1,num2);
	//sum=a+b;
	sum=Add(a,b);
	printf("sum=%d\n",sum);
	return 0;
}

数组

C语言数组定义:一组相同类型元素的集合
int arr[10]={1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素

int main()
{
	//int arr[10];//定义一个存放1-个整数数字的数组
	//char ch[20];
	int arr[10]={1,2,3,4,5,6,7,8,9,10};//定义一个存放10个整数数字的数组
	printf("%d\n",arr[4])  //下标的方式访问元素
	return 0;
}
输出结果:5
//打印所有数组元素
int main()
{
	int arr[10]={1,2,3,4,5,6,7,8,9,10};
	int i=0;
	while(i<10)
	{
			printf("%d",arr[i]);
			i++;
	}
}

操作符

算数操作符 + - * / %
移位操作符 << >>
位操作 & | ^
赋值操作 =、+=、-=、*=、&=、^=、|=、>>=、<<=
单目操作符

//移位操作
int main()
{
	//移2进制位操作符  <<左移 >>右移
	int a=1;
	//整型1占4个字节=32bit
	//00000000000000000000000000000001
	int b=a<<1
	//00000000000000000000000000000010
	printf("%d\n",b);
	return 0;
}
//位(二进制位)操作
int main()
{
	//&按位与
	//|按位或
	//^按位异或 对应的二进制位相同,则为0;对应二进制位相异,则为1
	int a=3; //011
	int b=5; //101
	int c=a&b; //001
	int d=a|b; //111
	int e=a^b;//110
	printf("%d\n",c);
	printf("%d\n",d);
	printf("%d\n",e);
	return 0;
}
输出结果:1 7 6
int main()
{
	int a=10;
	a=20;  //=赋值  ==判断相等
	a=a+10; //等价代换:a+=10
	
}
int main()
{
	int a=10;
	printf("%d\n",sizeof(a));//sizeof计算的是变量或者类型所占空间的大小
	int b=20;
	a+b; //双目操作符
	int a=-2;
	int c=+3;//正好一般省略
	//计算数组的元素个数
	//个数=数组总大小/每个元素的大小
	int arr[10]={0};//10个整型元素的数组
	int sz=0;
	sz=sizeof(arr)/sizeof(arr[0]);

}
int main()
{
	int a=10;
	int b=a++;//后置++,先使用,再++   --与之类似
	int b=++a;//前置++。先++,再使用
	printf("a=%d b=%d\n",a,b); //a=11 b=10
	printf("a=%d b=%d\n",a,b);// a=11 b=11
	return 0;
}
int main()
{
	int a=(int)3.14; //()里面放类型,强制转换
	
	return 0;
}

一些想说的话:
种一棵树的最好时间是十年前,其次是当下。已经错过了最好的时间,希望现在为时不晚。大学四年生活即将步入尾声,四年时间可以做好多事,但我并没有完完整整的做完一件事,想学的东西没有学完,专业技能一沓糊涂,考研考的也不怎么样……罢了再不提前程往事,今年希望做成自己想做的事情!
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值