- 一、strlen和sizeof的区别是什么?
- 二、为什么写代码的时候要加注释
- 三、选择语句( if else)
- 四、while循环语句
- 五、如何用函数实现两数相加
- 六、数组的使用及下标的概念
- 七、且&&与或||及逗号表达式
- 八、关键字typedef及static(附上unsigned int概念解释)
- 九、如何用函数实现除法及取余
一、strlen和sizeof的区别是什么?
一、strlen与sizeof的区别:
1、strlen只计算字符串的具体长度,不包括字符串结束符( )
2、sizeof计算声明后(extern)所占的字节大小,包含‘ ’。
3、sizeof是取字节运算符,strlen是函数。
#includeint 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三、选择语句(if else)//头文件 int main()//主函数 { printf("I lost my tellphone/n" );//打印字符及要打印的东西 return 0;//返回符 } //注释是为了更好的理解代码,提高阅读理解效率。
举个例子,小明想坐电梯回家,电梯满载12人,此时电梯前有很多人要做电梯,上一趟2分钟,下一趟2分钟。小明现在数人头,那么请你算算小明坐电梯回家需要多久。
#includeint 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是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体内全部语句后再跳出,而不是立即跳出循环。
话不多说,直接敲
#includeint 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.使得随机写入两个数相加得到结果。
再给出一个值装这两个值的和。也可以调用函数实现相加。
#includeint 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提供了很好的便携性。
#includetypedef 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。
#includeint 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; }
写的不好还请多多指教哦~



