格式
#include <stdio.h>
int main()
{
return 0;
}
必须用英文输入法输入。
基本知识
数据类型 输入 输出
整数型 int %d %d
字符型 char %c %c
单精度浮点数(6位小数)float %f %f
双精度浮点数(12位小数)double %lf %f
若要n个字符输出,用%nd (以int类型举例)
若要输出n位小数,用%.nf
定义变量时先明确数据类型,再表示变量名称。保留字不可做变量
输入用scanf,用&表示被赋值的量。一定要加&!(输入以行为单位)
输出用printf。
int a;
scanf("%d",&a);
printf("%d",a);
在程序中需要用到常量是也先定义,变量名称通常用大写。(以整数型变量AMOUNT举例)
const int AMOUNT=100;
用rand()产生随机数
#include <stdio.h>
#include<stdlib.h>
#include <time.h>
int main()
{
srand(time(0));
int a=rand();
returen 0;
}
运算符
运算符有优先级,有单目双目之分。单目表示只有一个算子,双目则有两个算子。
if语句
if(填入条件){
}
else{
}
满足条件时执行if里的语句。else意为否则的话,即条件不满足时执行else中的语句。
else和最近的if匹配
switch-case
switch-case多在多选择性时使用
switch(type){
case1:
printf("12345\n");
case2:
printf("abc");
break;
default:
break;
}
没碰到break时程序顺序进行。
default为范围外的量服务,超出范围时运行default。
循环
while循环
while(x>0){
x/=10;
n++;
}
当x>0时,进入while循环。在执行完括号中语句后重新判断条件是否满足,若满足则继续循环至不满足。
do-while循环
do
{
x/=10;
n++;
}while(x>0);
进入时不检查条件,第一轮循环结束后才检查。即一定会进入循环至少一次。若条件满足,重新进入循环,否则顺序执行程序。
for循环
for(i=1;i<=n;i++){
fact*=i;
}
括号内分号不能省,因为每个位置的意义不同。第一个代表初始条件,第二个时循环条件,第三个表示每轮循环的动作。
小总结
1.如果有固定次数,用for
2.必须执行一次的时候用do-while
3.其他用while
break 跳出整个循环
continue 跳过这一轮循环
(都指所在的那一层)
goto可直接跳转到指定地方
goto out;
out:......
直接跳转到out后面。
函数
函数是一块代码,接受零个或多个参数,做一件事情,并返回零个或一个值。
函数返回值是指函数被调用后执行函数体中的代码所得到的结果,这个结果通过return语句返回,返回给调用函数的地方,可以用来进行运算(例如赋值)、再传递给函数,甚至丢弃。
一
1.没有返回值的函数为空类型,用void
表示。
一旦函数的返回值类型被定义为 void,就不能再接收它的值了。凡不要求返回值的函数都应定义为 void 类型。
void sum(int begin,int end)
{
}
void为返回类型(void表示无返回值),sum是函数名,int begin,int end为参数表(一对一),整个第一行为函数头,大括号内的为函数体。
如果有参数,需要给出正确的数量和顺序,这些值会按照顺序用来初始化函数的参数。
2.每次调用函数只能有一个 return 语句被执行,所以只有一个返回值。
如果函数有返回值,必须使用带值的return
3.函数一旦遇到 return 语句就立即返回,后面的所有语句都不会被执行
二
可把函数原型加分号放在前面,在后面再解释。
c语言调用函数的时候只能传值给函数。每个函数有自己的变量空间,参数也独属于这个空间,与其他函数无关。参数也是本地变量。
生存期和作用域(在什么范围内可以访问这个变量)都在块(大括号)内,离开即消失。块外的变量可用于内部的块。
1.本地变量
函数每次运行会产生一个独立的变量空间,里面的变量叫本地变量
数组
int number[100];
number[cnt]=x;
在number数组里可以放100个int。cnt表示在number数组中的位置。第二行表示为对number中的cnt单元赋值。
1.定义数组
<类型(实际上是每个元素的类型)>变量名称 【元素数量(整数,可为变量)】
数组用来放数据,所有元素同一类型。大小固定。一个单元就是一个变量。使用数组时下标从0开始计数一直到数组个数-1。