初识C语言之等等等.......

学习目标:

1.分支语句

2.循环语句

3.函数

4.数组

5.操作符

6.常见 关键字 简介

7.今日牛客题分享


学习内容:

学习目标就是你的学习内容呀!?呜呜呜(doge)


学习时间:

那么好了好了,今日的学习时间呢,是2023年的4月7日。

今天是个意义非凡的日子和当初3月的最后一天也是(嘻嘻嘻)


学习产出:

  • CSDN 技术博客 1大 篇
  • 还有今日小彩蛋哟!

 

---------------------------------------------------------------------------------------------------------------------------------

1.分支语句

分支语句
if
switch
 

初始c语言嘛.....就先了解一下if语句吧,典中典

#define _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
int main()
{
	int input = 0;
	int line = 0;
	//printf("写代码\n");
	printf("加入bite,是否要好好学习?(0/1)\n");
	scanf("%d", &input);
	if (input == 1)
	{
		printf("好offer!\n");
	}
	else
	{
		printf("回家卖红薯吧!废物蛋!\n");
	}
	return 0;
}

那么来个小试牛刀吧,牛客网上的一道简单题目。

(已知一个函数y=f(x),当x < 0时,y = 1;当x = 0时,y = 0;当x > 0时,y = -1。)

#include <stdio.h>

int main() 
{
    int x = 0;

    scanf("%d", &x);
    if (x < 0) 
    {
        int y = 1;
        printf("%d\n", y);
    } 
    else {
        if (x == 0)
        {
            int y = 0;
            printf("%d\n", y);
        } 
        else
        {
            int y = -1;
            printf("%d\n", y);
        }
        }
    return 0;
}

2.循环语句

循环语句
while
for
do while
#define _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
int main()
{
	
	int line = 0;
	while (line<=20000)
	{
		printf("写代码:%d\n", line);
		line++;
	}
	if (line >= 20000)
	{
		printf("迎娶白富美!拿到好offer,走上人生巅峰!\n");
	}
	else
	{
		printf("继续加油吧!\n");
	}
	return 0;
}

3.接下来就是我们从小到大都比较熟悉的函数啦!(但此函数可不是数学上那样的函数哦)

C 语言中函数的分类:
1. 库函数
2. 自定义函数
#define _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
int Add(int x, int y)
{
	return (x + y);
}


int main()
{
	int t1 = 0;
	int t2 = 0;
	printf("请输入想要相加的两个数:\n");
	scanf("%d %d", &t1, &t2);
	int sum = Add(t1, t2);
	printf("和为=%d", sum);
	return 0;
}

(其实函数的东西还很多,因为初始c语言,点到为止。)

4.数组
数组的定义:一组相同元素类型的集合。
数组内的元素是以下标访问的方式来进行访问,数组的下标从0开始。
#define _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
int main()
{
	int arr[] = { 1,2,3,4,5,6,7,8,9,0 };
	int i = 0;
	while (i<10)
	{
		printf("%d ", arr[i]);
		i++;//这样就可以实现,一个循环,把数组里的所有元素全部打印出来。
	}
	return 0;
}

5.操作符

操作符
分类:
算术操作符
移位操作符
位操作符
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式
下标引用、函数调用和结构成员
算术操作符
        +        -        *        /        %
 
(1) 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。
(2)对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除
法。
(3)% 操作符的两个操作数必须为整数。返回的是整除之后的余数。
1fef42d7ead84355b5dbaf4ceb1ff1b4.png

 

40b0bf2638e34dfa89a6760953c3133d.png 

 

移位操作符
 
<< 左移操作符
>> 右移操作符
左移操作符 移位规则:
左边抛弃、右边补0
(这个是二进制内容以后再讲)
 
    位操作符有:
 
          & //按位与
          | //按位或
          ^ //按位异或
注:他们的操作数必须是整数。
 
复合赋值符
+=
-=
*=
/=
%=
>>=
<<=
&=
|=
^=
这些运算符都可以写成复合的效果
 
单目操作符
单目操作符有哪些呢?
 
!           逻辑反操作
-           负值
+           正值
&           取地址
sizeof      操作数的类型长度(以字节为单位)
~           对一个数的二进制按位取反
--          前置、后置--
++          前置、后置++
*           间接访问操作符(解引用操作符)
(类型)       强制类型转换
 
关于sizeof其实我们之前已经见过了,可以求变量(类型)所占空间的大小。
sizeof 和数组
 
#include <stdio.h>
void test1(int arr[])
{
printf("%d\n", sizeof(arr));//(2)
}
void test2(char ch[])
{
printf("%d\n", sizeof(ch));//(4)
}
int main()
{
int arr[10] = {0};
char ch[10] = {0};
printf("%d\n", sizeof(arr));//(1)
printf("%d\n", sizeof(ch));//(3)
test1(arr);
test2(ch);
return 0;
}
++和--运算符
前置++和--(先做 加,减,再对 对象 使用)
后置++和--(先对 对象 使用,再做加,减)
 
#include <stdio.h>
int main()
{
int a = 10;
int x = ++a;
//先对a进行自增,然后对使用a,也就是表达式的值是a自增之后的值。x为11。
int y = --a;
//先对a进行自减,然后对使用a,也就是表达式的值是a自减之后的值。y为10;
return 0;
}

//后置++和--
#include <stdio.h>
int main()
{
int a = 10;
int x = a++;
//先对a先使用,再增加,这样x的值是10;之后a变成11;
int y = a--;
//先对a先使用,再自减,这样y的值是11;之后a变成10;
return 0;
}
关系操作符
关系操作符
>
>=
<
<=
!=   用于测试“不相等”
==      用于测试“相等”
 
这些关系运算符比较简单,没什么可讲的,但是我们要注意一些运算符使用时候的陷阱。
警告:
在编程的过程中== 和=不小心写错,导致的错误
 
逻辑操作符
逻辑操作符有哪些:
区分 逻辑与按位与 区分 逻辑或按位或
逻辑与和或的特点:
360 笔试题
条件操作符
>
>=
<
<=
!=   用于测试“不相等”
==      用于测试“相等”
&&     逻辑与
||          逻辑或
 
例子:
1&2----->0
1&&2---->1
1|2----->3
1||2---->1
 
条件操作符
exp1 ? exp2 : exp3
(如果表达式1为真,执行表达式2。如果表达式1为假,执行表达式3。)
#define _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
int main()
{
	int a = 10;
	int b = 20;
	int c = (a > b ? a : b);
	printf("%d\n", c);
	return 0;
}

1dc12ee7690c4329bda0dad9edeaf89f.png

 

 
逗号表达式
exp1, exp2, exp3, …expN
 
逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最
后一个表达式的结果。
 
#define _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
int main()
{
	int a = 10;
	int b = 20;
	int c = 0;
	int d = (c + a - 2, b + a + 2, c - 3);
	printf("%d\n", d);
	return 0;
}

77fd661f6f7b485d9a4c44e4016cddc5.png

 

 
 
下标引用、函数调用和结构成员
1.[ ] 下标引用操作符
操作数:一个数组名 + 一个索引值
2.( ) 函数调用操作符 接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
 
 

C语言是非常灵活, C语言提供了非常丰富的操作符,使得使用起来就比较灵活。

6.常见 关键词 简介

auto break case char const continue default  do double else enum 
extern float for goto if int long register return short signed 
sizeof static struct switch typedef union unsianed void volatile while

(1)for while do while (名言警句: break带闪现,continue鬼打墙)

(2) If else switch case default goto.

(3)char short int long float double 

(4)const(常属性,可以修饰一个具有常量性质的变量,但它本身还是一个变量)

(5)extern(声明外部符号)

(6)register (寄存器)

(7)static(静态的)

(8)return (函数返回值)

(9)sign(有符号的)

(10)unsigned(无符号的)

(11)enum------枚举

(12)struct----结构体

(13)union------联合体

(14)void-------无(函数返回类型,函数参数)

(15)sizeof-----计算大小

(16)typedef-------类型重命名

变量的命名:

1.有意义

2.名字必须是字母、数字、下划线组成
不能有特殊字符,同时不能以数字开头。

3.变量名不能是关键字

---------------------------------------------------------------------------------------------------------------------------------

7.牛客题分享

(1)

#define _CRT_SECURE_NO_WARNINGS 1 
//已知一个函数y=f(x),当x < 0时,y = 1;当x = 0时,y = 0;当x > 0时,y = -1。
#include <stdio.h>

int main()
{
	int x = 0;

	scanf("%d", &x);
	if (x < 0)
	{
		int y = 1;
		printf("%d\n", y);
	}
	else {
		if (x == 0)
		{
			int y = 0;
			printf("%d\n", y);
		}
		else
		{
			int y = -1;
			printf("%d\n", y);
		}
	}
	return 0;
}
 
(2)
#define _CRT_SECURE_NO_WARNINGS 1 
//给定两个整数a和b (0 < a,b < 10,000),计算a除以b的整数商和余数。
//输入描述:
//一行,包括两个整数a和b,依次为被除数和除数(不为零),中间用空格隔开。
//输出描述:
//一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。
#include <stdio.h>

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int c = a / b;
	int d = a % b;
	printf("%d %d", c, d);
	return 0;
}

(3)

#define _CRT_SECURE_NO_WARNINGS 1 
//描述请计算表达式“(-8 + 22)×a - 10 + c÷2”,其中,a = 40,c = 212。
#include <stdio.h>

int main()
{
	int a = 40;
	int c = 212;
	int x = (-8 + 22) * a - 10 + c / 2;
	printf("%d\n", x);
	return 0;
}

(4)经典:时间转换

#define _CRT_SECURE_NO_WARNINGS 1 
//描述
//给定秒数 seconds ,把秒转化成小时、分钟和秒。
//
//数据范围: 0 < seconds < 100000000
//
//	输入描述:
//	一行,包括一个整数,即给定的秒数。
//	输出描述:
//	一行,包含三个整数,依次为输入整数对应的小时数、分钟数和秒数(可能为零),中间用一个空格隔开。
//	示例1
//	输入:3661复制
//	输出:1 1 1
#include <stdio.h>

int main()
{
	int sec = 0;
	scanf("%d", &sec);
	int a = sec / 3600;//这是几小时的代码
	int b = sec / 60 % 60;//这是几分钟的代码
	int c = sec % 60;//这是几秒钟的代码
	printf("%d %d %d\n", a, b, c);
	return 0;
}

(5)

#define _CRT_SECURE_NO_WARNINGS 1 
//这个是牛客题,判断能否被5整除的一个数
#include <stdio.h>

int main()
{
	int m = 0;
	scanf("%d", &m);
	if (m % 5 == 0)
	{
		printf("YES\n");
	}
	else
	{
		printf("NO\n");
	}
	return 0;
}

 

2ef751ae9ed341b4968ad3f3573a6ddb.jpeg

 

 求求关注,嘻嘻嘻

 

--------------------------------------------------

“因为生命在于运动,加油奥利给!干就完了!”
 

 

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小能软糖_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值