目录
接初始C语言(一)
六、选择语句
选择大家都不陌生,考试的选择题、人生面临的选择等等。那么在C语言中选择是怎么样的呢?
在C语言中,用if......else......语句来表达选择。比如你如果好好学习,毕业的时候找个好工作,走向人生巅峰;如果不好好学习,毕业就失业。
代码举例:
#include <stdio.h>
int main()
{
int coding = 0;
printf("你会去敲代码吗?(选择1 or 0):>");
scanf("%d", &coding);
if (coding == 1)
{
printf("人生巅峰!\n");
}
else
{
printf("毕业就失业!\n");
}
return 0;
}
如果你会去敲代码,人生巅峰!不去敲代码,毕业就失业!
七、循环语句
有些事情是每天重复做的,比如每天吃饭,学习。还比如:
通过不断的好好学习,走向大牛,然后到达人生巅峰。
C语言中的循环是通过while语句、for语句、do...while语句实现的,这里先了解while语句
#include<stdio.h>
int main()
{
int sum = 0;
while (sum <= 25000)
{
sum++;
if (sum == 20000)
{
printf("人生巅峰!");
break;
}
}
return 0;
}
当sum等于20000时,输出人生巅峰并退出循环。
好的,这就是对选择和循环语句的简单介绍。后面的文章会详细介绍选择和循环语句的使用方法。
八、函数
在书写代码时,我们常常会遇到代码冗余的问题,比如在main函数的不同地方进行加法运算,必须书写多次相同的代码,这就造成了代码的冗余。为解决这个问题,在这里我们引入函数的概念。代码格式:
返回类型 函数名(形参列表){代码块}
函数的应用对比
int main()
{
//不调用函数,进行多次加法运算
int a = 0;
int b = 0;
int c = 0;
printf("请输入:");
scanf("%d %d", &a, &b);
printf("c的值为:", a + b);
while ((a + b) < 10)
{
printf("%d", a + b);
}
return 0;
}//函数的定义
int Add(int a, int b)
{
return a + b;
}
int main()
{
//使用函数进行加法运算
int a = 0;
int b = 0;
int c = 0;
printf("请输入:");
scanf("%d %d", &a, &b);
printf("c的值为:", Add(a,b));
while ((Add(a,b) < 10))
{
printf("%d", Add(a,b));
}
return 0;
}
注意:return语句在函数中可以有多个,但只能返回一个数值。
函数在调用时会给形参开辟空间,用把实参传给形参,调用结束后空间销毁。
函数的特点就是简化代码,代码复用。
九、数组
在应用计算机语言处理问题的时候,经常需要很多个相同类型的数据。这就需要定义很多的相同类型的变量。在前面的初始C语言(一)中介绍了整型,实型,字符型等数据类型,均是C语言的基本数据类型,相应的变量都是简单变量。仅用基本数据类型以及简单变量在求解一些数据量大,而且个数据间存在一定关系的问题时时不够的(见代码)。这就需要一种新的数据类型——数组。在C语言中,数组是由基本数据类型按一定规则组成的,称其为构造数据类型。构造数据类型包括数组,结构体,共用体等,使用构造数据类型可以求解更为复杂的问题。
数组是最基本的构造类型,是相同类型数据的有序集合。数组中的元素在内存中连续存放,用数组名和下标可以唯一确定数组元素。
下面来看一个例子。
问题描述:
输入某班50个学生某门课程的成绩,计算并输出全班学生的平均成绩,同时统计并输出成绩低于平均分的人数。
代码如下:
#define N 50 //符号常量,N为学生人数
#include<stdio.h>
int main()
{
float score[N]; //定义score为一维数组
float aver = 0.0; //aver存放平均成绩
int i, n = 0; //定义i为循环变量,n为平均成绩的人数
for (i = 0; i < N; i++)
{
scanf("%f", &score[i]); //输入学生成绩
aver += score[i]; //学生成绩求和
}
aver = aver / N; //计算平均成绩
for (i = 0; i < N; i++)
{
if (score[i] < aver)
{
n++; //统计成绩低于平均值的学生数
}
}
printf("平均值为:%4.1f,低于平均分的有:%2d", aver, n);//输出统计结果
return 0;
}
说明:(1)程序中的语句float score[N];定义了一个score数组,这样系统在内存中开辟了N个连续的单元,用于存放数组score的N个元素float score[0]~float score[N-1]的值。每个数组元素存放一名学生的成绩,输入成绩后学生成绩可以反复使用。
(2)在程序中使用数组,可以让一批相同类型的变量使用同一个数组变量名,用下标来相互区分。这样表示的优点是程序简洁,可读性好,便于使用循环结构。
(3)该例子使用的是一维数组,在C语言中还有二维数组,两者都是在内存中开辟连续的空间。
数组的定义方式:
数据类型名 数组名[常量表达式] = {初始化};
int arr[6];
注意:C语言中方括号里面只能是常量或者常量表达式,不能是变量。
数组内存的空间分配:
十、操作符
这里只是让读者认识操作符,后面的文章会逐个介绍。
操作符可以分为:算数操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符,逗号表达式,下标引用、函数调用和结构成员。
算术操作符
移位操作符
位操作符
& ^ |
赋值操作符
单目操作符
关系操作符
逻辑操作符
条件操作符
逗号表达式
下标引用、函数调用和结构成员
int main()
{
int a = 10;
int b = 0;
printf("a = %d\n", a--); //10
printf("a = %d\n", a); //9
b = ++a; //前置++
b = a--; //后置--
b = --a; //前置--
printf("a = %d\n", a); //9
printf("b = %d\n", b); //9
printf("a = %d\n", a); //9
printf("b = %d\n", b); //10
printf("a = %d\n", a); //11
printf("b = %d\n", b); //11
b = a++; //后置++
printf("a = %d\n", a); //11
printf("b = %d\n", b); //10
return 0;
}
十一、习题
1、编程题。
2、编程题。
3、阅读程序题。
4、阅读程序题。
5、选择题。
本篇文章结束,习题答案可以私信我。请大家多多支持,谢谢。