Camille

你得先看重自己,否则别人就会当你一钱不值

Char转换

可以使用tolower(char c)转换为小写,toupper(char c)转换为大写

例子如下

1
2
3
4
5
6
7
8
9
#include <iostream>
#include <cctype>
using namespace std;
int main() {
char a = 'a', b = 'A';
printf("%c\n",tolower(b));//把字符转换为小写
printf("%c", toupper(a)); //把字符转换为大写
return 0;
}

String转换

tolower 就是转换为小写

toupper就是转换为大写

例子如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
string s = "ABCDEFGabcdefg";
string result;
transform(s.begin(), s.end(), s.begin(),::tolower);
cout << s << endl;
transform(s.begin(), s.end(), s.begin(),::toupper);
cout << s << endl;
return 0;
}

程序设计入门——C语言

第一周 程序设计与C语言

程序的执行

解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行

编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言———机器语言——写的程序,然后,这个机器语言写的程序就能执行了

一:语言本无编译/解释之分

二:常用的执行方式而已

三:解释语言有特殊的计算能力

四:编译型语言有确定的运算性能

现代的编程语言在语法上差异很小,几乎都是C-Like语言

语言的能力/适用领域主要是由

传统所决定的

C语言的发展

1989年ANSI发布了一个标准-ANSI-C

1990年ISO接受了ANSI的标准-C89

C的标桩在1995年和1999年两次更新-C95和C99

表达式

一个表达式是一系列运算符和算子的组合,用来计算一个值

运算符

运算符

(operator)是指进行运算的动作,比如加法运算符”+”,减肥运算符“-”

算子

算子,是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值

举例:

1
a=b+c

这里面的a,b,c,就是算子,=号和+号就是运算符

这个运算符也是有一个优先级的

下面有一张,运算符的优先级

我也会写一下相对应的代码公式

C语言常见运算符优先级

这里a都等于2,b都等于3

测试代码如下:

优先级 运算符 运算 结合关系 举例 结果
1 + 单目不变 自右向左 a*+b 6
-9 - 单目取负 自右向左 a*-b -6
2 * 自左向右 a*b 6
2 / 自左向右 a/b 0
2 % 取余 自左向右 a%b 2
3 + 自左向右 a+b 5
3 - 自左向右 a-b -1
4 = 赋值 自右向左 a=b 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
int main(void) {
int a = 2, b = 3;
int c = 0;
printf("a * +b =%d\n", a * +b);//a*+b=a*(+b)=a*b
printf("a * -b =%d\n", a * -b);//a*-b=a*(-b)
printf("a * b =%d\n", a * b);
printf("a / b =%d\n", a / b);
printf("a % b =%d\n", a % b);
printf(" a + b =%d\n", a + b);
printf("a - b =%d\n", a - b);
printf("a=b =%d\n", a=b); //a=b,a=3
return 0;
}

赋值也是一个运算符,这个和其他的语言不同

赋值运算符

赋值也是运算,也有结果

a=6的结果是a被赋予的值,也就是6

a=b=6->a=(b=6)

Switch

Switch里面的Case

有一个很重要的点,Case只是在一开始的时候,起到一个判断的作用,然后就会一直默认的执行下去,所以break是Switch的一个非常好用的小伙伴

举一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>

int main() {
int i=0;
scanf("%d", &i);
switch (i) {
case 1:
printf("我是case1\n");
case 2:
printf("我是case2\n");
case 3:
printf("我是case3\n");
}
return 0;
}

如果你输入1的画

就是输出

1
2
3
我是case1
我是case2
我是case3

所以就要加一个Break,然后代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<string.h>

int main() {
int i=0;
scanf("%d", &i);
switch (i) {
case 1:
printf("我是case1\n");
break;
case 2:
printf("我是case2\n");
case 3:
printf("我是case3\n");
}
return 0;
}

结果如下:

1
2
1
我是case1

一句话总结就是,Switch是没有自己跳出的,Switch,只能进行第一次的跳转,然后就是默认语句执行。如果没有加Break的话,就会这样

还有Goto语句,就是跳出代码的,这个一般不适用,所以不继续说

Goto

数组

是一种容器,特点是:

1 其中所有的元素都具有相同的数据类型

2 一旦创建,不能改变大小

3 数组中的元素在内存中是连续一次排列的

数组的下标是从0开始编写

不要复用代码,代码复用是质量不好的表现

C语言的函数最好不要有太多可以返回值的地方

0%