栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C生萬物】零基础选手初窺c語言(2)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C生萬物】零基础选手初窺c語言(2)

大家好,这里是永恒,怎么可能。 最近总结了一些c的知识,欢迎大家一起探讨一起学习! 目录
  • 一、strlen和sizeof的区别是什么?
  • 二、为什么写代码的时候要加注释
  • 三、选择语句( if else)
  • 四、while循环语句
  • 五、如何用函数实现两数相加
  • 六、数组的使用及下标的概念
  • 七、且&&与或||及逗号表达式
  • 八、关键字typedef及static(附上unsigned int概念解释)
  • 九、如何用函数实现除法及取余


一、strlen和sizeof的区别是什么?

一、strlen与sizeof的区别:

    1、strlen只计算字符串的具体长度,不包括字符串结束符()

    2、sizeof计算声明后(extern)所占的字节大小,包含‘’。

    3、sizeof是取字节运算符,strlen是函数。

#include
int main()
{
	//strlen是函数
	//strlen计算的是数组中字符串的具体长度,遇到空字符为止,
	//如果数组中没有写入,则一直到遇到为止(这种时候输出为不固定随机值)
	// stelen只计算字符串长度
	// sizeof是运算符
	//sizeof计算的是声明后数组的字节大小,包含‘’。
	//sizeof不局限于计算数组

	
	char arr[] = { 1,2,3,4,5,6,7,8,9 ,};
	char brr[] = { 1,2,3,4,5,6,7,8,9 ,10,''};
	int a = { 1 };
	printf("%dn", strlen (arr));//58,随机值
	printf("%dn", sizeof(arr));//9
	printf("%dn", strlen(brr));//10
	printf("%dn", sizeof(brr));//11
	printf("%dn", a);//1
	return 0;
}

二、为什么写代码的时候要加注释

注释为对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释为编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。注释只是为了提高可读性,不会被计算机编译。

#define _CRT_SECURE_NO_WARNINGS 

#include //头文件

int main()//主函数
{
	printf("I lost my tellphone/n" );//打印字符及要打印的东西
	return 0;//返回符
}

//注释是为了更好的理解代码,提高阅读理解效率。
三、选择语句(if else)

举个例子,小明想坐电梯回家,电梯满载12人,此时电梯前有很多人要做电梯,上一趟2分钟,下一趟2分钟。小明现在数人头,那么请你算算小明坐电梯回家需要多久。

#include
int main()
{
    int a = 0 ;//小明数人头后输入数量
    int b = 2;
    int c = 2;
    scanf("%d", &a);
    if (a < 12)//如果满足a<12
    {
        printf("%dn", b);//打印b
    }
    else if (a >12)//如果满足a>12
        printf("%dn", 4 * (a / 12) + c);//打印4 * (a / 12) + c的结果
        return 0;
}//if else常跟循环语句一起使用。

 选择语句一般在暂未确定要计算的数量时使用,或者说需要计算多种情况下使用。


四、while循环语句

while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出,而不是立即跳出循环。

话不多说,直接敲

#include
int main()
{
	int a = 1;
	int r = 6;//确定值
	while (a <= 8)//给定条件范围

		if (a <= 5)
		{
			printf("%dn", a);
			a++;//小于等于5就往回加1,直到大于5跳出,转到下一个条件
		}
		else
		{
			printf("%dn", r);//满足则依次打印
			a++;//大于5往回加1,直到超出条件范围(a<=8)退出
		}

		return 0;
}
当执行完条件内的指令后跳出循环
打印结果为1,2,3,4,5,6,6,6
#include
int main()
{
	int a = 1;
	int r = 6;//确定值
	while (a <= 8)//给定条件范围

		if (a <= 5)
		{
			//break;//当遇到break时循环终止,这里往下的命令都不执行
			printf("%dn", a);
			a++;//小于等于5就往回加1,直到大于5跳出,转到下一个条件
		}
		else
		{

			continue;//while中出现continue时,a>5后不再自加,陷入死循环
			//此时运行代码只输出1,2,3,4,5后一直返回表达式部分,不再输出。
			printf("%dn", r);//满足a>5,则依次打印
			a++;//大于5往回加1,直到超出条件范围(a<=8)退出
		}

	return 0;
}
五、如何用函数实现两数相加

给定两个值a,b.使得随机写入两个数相加得到结果。

再给出一个值装这两个值的和。也可以调用函数实现相加。

#include
int main()
{
	int a = 20;
	int b = 18;
	int sum = 0;
	sum = a + b;//a+b的值汇总到一起
	printf("%dn",sum);//输出38
	return 0;
}
#include
int ADD(int x, int y)
{
	int z = 0;
	z = x + y;
}
int main()
{
	int a = 10;
	int b = 20;
	int sum = 0;
	sum = ADD(a,b);//借用ADD的值,x=a,y=b
	printf("%dn",sum);//此时输出结果为30
	return 0;
}
六、数组的使用及下标的概念

数组我们可以理解为一个存放相同元素的集合,例如我们的整数1,2,3。字母a,b,c,d,e。将这些相同的元素存放在一个集合,这个集合就是数组。

下标可以理解为是数组内元素的位置,打印这个下标输出的就是具体的单个元素。

下标是从0开始计算的。

#include
int main()
{
	char arr[6] = { '1','2','3' };
	char gft[10] = { 'a','b','c','d','e'};
    //下标是从0开始算的,也就是说a的下标是0,b的下标是1
	printf("%sn", arr);//1 2 3
	printf("%sn", gft);//a b c d e
	printf("%cn", arr[2]);//3
	printf("%cn", gft[1]);//b
	return 0;
}
//打印数组用%s,%s是打印字符串类型
//打印下标用%c,%c是打印字符类型
七、且&&与或||及逗号表达式

&&是并且的意思,即同时满足两个条件

或是或者的意思,即满足a条件或满足b条件

比如,你可以同时买雪糕和饮料,

           你可以买雪糕或者饮料。

逗号表达式,当一条件成立?成立,输出二的文本,不成立,输出三的文本。

                     a>=1&&a<=5  ?  yes   :     no

                     a>=1 || a>=5  ?  yes   :     no

int main()
{
	int a = 3;
	a >= 1 && a <= 5 ? printf("yesn") : printf("non");
	
	a >= 1 || a >= 5 ? printf("yesn") : printf("non");
	return 0;
}

输出结果为两个yes

n是换行符的意思。

八、关键字typedef及static(附上unsigned int概念解释)

typedef,是类型重定义的意思。即把一个类型的名字定义成一个新名字,当需要多次输入一个相同的类型时,typedef提供了很好的便携性。

#include
typedef unsigned int sf;
int main()
{
	unsigned int a = 1;
	sf b = 1;//此时sf等于unsigned int
	printf("%dn", a);//1
	printf("%dn", b);//1
	return 0;
}

unsigned int,是无符号整型的意思。

unsigned的取值范围在0-2^32。不能表示负数。

每一种整型(int short long longlong)都有无符号(unsigned)和有符号(signed)两种类型,在一般情况下的整型变量都是有符号的,如果需声明无符号的话就会在类型前加上unsigned。

static,可以修饰局部变量,全局变量以及函数。

修饰局部变量时,改变生命周期,不改变作用域。

修饰全局变量时,使变量不可跨文件(源文件)使用,只能在本文件内使用

(一般情况下不加static全局变量加上声明是支持跨文件使用的)

修饰函数时,使函数不可跨文件(源文件)调用和访问,只能在本文件内使用

(一般情况下不加static函数加上声明是支持跨文件使用的)

 

 

 

 

 九、如何用函数实现除法及取余

这两天刷到一道题很有意思,是说随机输入一个数,将它转化成时间(小时,分钟,秒)

比如3661转化成时间就是一小时一分钟一秒。

除号/,取余数用%

%可以理解为余数,比如说1%60即1。

#include
int main() {
    int h, m, s;
    scanf("%d", &s);
    h = s / 3600;//计算小时,一小时3600秒
    m = s / 60 %60 ;//计算分(取余就是去掉转换成小时的分钟数)
    s = s % 60;//计算秒数
    printf("%d %d %d", h, m, s);
    return 0;
}

 写的不好还请多多指教哦~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017805.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号