初识C语言——3


一、注释

C语言中,有三种注释方式。
①//xxxxxx,单行注释
②/**/,多行注释。缺点:不支持嵌套
③#if 0
#endif,这也是注释,可以嵌套。
当然最常用的还是第一种,这里给大家介绍两个快捷键:
1.快速注释:选中代码,按住ctrl+k,再按ctrl+c。
2.快速反注释:选中代码,按住ctrl+k,再按ctrl+u。


二、选择语句

if语句结构为:
if(表达式){
表达式值非0,就执行这个代码块内容
}
else{
表达式为0,执行这个代码块内容
}
else可省略,省略时表达式为0,无事发生。
示例:(功能为取两个整数中的最大值)

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int x = 0;
	int y = 0;
	printf("请输入两个整数\n");
	scanf("%d\n", &x, &y);
	if (x > y)
	{
		printf("%d\n", x);
	}
	else
	{
		printf("%d\n", y);
	}
	return 0;
	system("pause");
}
但我们会发现结果时报错的 错误如下图

在这里插入图片描述

处理方法应为
粘贴代码中的 _CRT_SECURE_NO_WARNINGS到第一行(一定要在文件最上方,且一定要从输出窗口复制)粘贴时要在前面加上#define。
在这里插入图片描述
scanf的用法基本和printf是一样的,只不过用到了&,取地址。
另外,大家是否会发现,整数一般都是用int这个数据类型。
这里做出解释(敲黑板啦)
short2个字节,太短
-32768——32767
0——65535
char1个字节,更短
-128——127
0——255
int4个字节,比较适中
-21亿——21亿
0——42亿94万
所以整数一般考虑使用int。
如果表示一个小数,优先考虑使用double。

三、循环语句

while语句和if很像 while(表达式){ 循环体 } 循环语句的三个要素: 1.循环变量的初始值 2.循环条件 3.更新循环变量 代码如下(示例):(功能为输出1-10十个数字)
int i = 1;//循环变量的初始值i
	while (i <= 10)//括号里的是循环条件
	{
		printf("%d\n", i);
		i++;//更新循环变量
	}
更新循环变量可以有三种方式,最简单的是i=i+1 同时在C语言中,它也等价于i+=1 另外还有自增运算i++和++i,也可以起到效果。 学过C基础的应该都知道:i++和++i是有区别的,区别在于表达式的值不一样,如果不取值,是等价的,就如上示程序所示。 如果取值,++i返回值为自增之后的效果,i++返回值为自增之前的。 另外这里有一个小错误是经常犯的:(包括博主我哈哈哈哈) int a;这种形式是不对的,创建好变量,最好立刻指定初始值。

四、函数

函数就是可以被复用的代码片段
举个例子吧

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int Max(int x, int y)//int是返回值的类型,Max是函数名(要求见名知意)括号里的int是函数的形式参数,简称形参
{
	int z = 0;
	if (x > y)
	{
		z = x;//大括号里的是函数体,函数执行要走的逻辑
	}
	else
	{
		z = y;
	}
	return z;//函数的返回值:要求和返回值类型相匹配
}
int main()
{
	int x = 0;
	int y = 0;
	int a = 0;
	printf("请输入两个整数\n");
	scanf("%d %d", &x, &y);
	a = Max(x, y);//小括号里的是实际参数
	printf("%d\n", a);
	return 0;
	system("pause");
}
上半部分是函数的定义,光定义是没有用的,需要调用才能执行。在函数调用时,才会把实参赋给形参,接下来函数体里才会针对形参进行后续运算。

五、数组

数组就是批量创建一组相同类型的变量,C语言中,要求数组中变量相同类型,Java、C++和Go中也是。(这种属于静态类型)Python、PHP、Javascript不要求。(这种属于动态类型) 静态类型:运行过程类型固定。 动态类型:运行过程类型可以改变。 数组的定义:
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//定义一个整型数组,最多放10个元素
arr表示数组名字,【】里的代表数组长度,大括号里是数组初始化。 核心用法:通过下标,来获取到其中某个元素。 示例:
int i = 0;
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };//定义时[]表示长度
	for (i = 0;i < 10;i++)//数组下标从0开始数
	{
		printf("%d\t", arr[i]);//使用时[]表示取下标,取其中第几个元素
	}
	return 0;
其实不光是C语言,大部分编程语言,都是从0开始计算下标。 数组的有效范围是[0,length-1],如果数组下标越界,会产生“未定义行为”(undefined behavior),这种是不允许出现的,因为完全不可预期,可能看到0,可能看到内存残留值,也可能直接崩溃,具体哪种不可预期。而Java如果越界,只会抛出一个“异常”。
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dhdhdhdhg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值