[2021-08-08]C语言入门简明教程第2章-基本用法和输入输出

C语言入门简明教程

0x02 了解基本用法

写在开头

一些概念请自行百度或查阅《C Primer Plus》或其他专业书籍

从Hello world 开始

[2021-08-08]C语言入门简明教程第2章-基本用法和输入输出_第1张图片
几个注意点:

  • 所有符号都是英文状态下打的
  • 不要忘记分号!
  • main不要拼错

头文件

如果只有一个单独的c语言文件,可能所有东西都要自己造一遍轮子,因此,比如输入输出等基本的函数,可以使用在c语言的一大堆头文件中已经封装好的函数。
常用的头文件:apx79619的博客
当然,头文件也可以引用自己定义的,格式为

#include "myhead"

特别说明:
尖括号的头文件引用 :<>,直接从系统目录下寻找头文件,适合环境自带的一些头文件比如stdio
双引号的头文件引用:"",先从目录下寻找,找不到再从系统目录寻找头文件

函数

函数就像数学中的函数。数学中的函数会对给定的输入进行计算和输出结果,C语言中的函数同样如此,但输出的样式多了很多:控制台的输出、显示图形、发出声音…
函数可以传入参数,也可以独立进行某些操作。传入参数被称为“形式参数”,简称形参,是打在函数的圆括号中的。

int func(int a,int b){return a+b;} //一个简单的加法的函数

函数可以返回一些参数,这被称为返回值。返回值由函数名前面的关键词决定,在函数的代码块中通过return返回。

int funcA(){return 0;}
float funcB(){return 0.0;}

注意:
在return后函数将结束,如果return之后还有内容将不会被执行

主函数

主函数的函数名为main,就像房子必须有大门,c语言程序必须包含主函数。主函数的返回值一般定为int类型下的0,也可以不返回返回值。

函数体

在函数中,用最外层大括号括起来的内容成为这个函数的函数体。

输入输出

printf向控制台打印文字,scanf从控制台读取文字。

注释

//为一行的注释
/*
 则可以注释多行,也可以在一行里
*/

简单的程序和一些简单使用方法

阅读以下代码:

#include
int main(){
	int a=0;
	int b;
	a++;
	b=a;
	a=3*b;
	printf("%d,%d",a,b);
	return 0;
}

声明和赋值

如 int a; 这种为声明。顾名思义,我在这里和你讲:“我有一个苹果”,int a; 向编译器声明程序创建了一个叫a 的32位整型变量。
声明也可以是带初始值的,如int a=0;
这边的参数声明了,所以是实际存在的,因而被称为“实参”。
对实参进行指定值的过程就叫赋值。赋值可以是一个值赋给变量,也可以是一个变量赋值给另一个变量。
注意:变量命名可以是大写字母、小写字母、数字和下划线(_),但是数字不能作为开头,且变量名称不能是c语言中的关键字如
int long short byte char unsigned等等,详情请了解C语言中的关键字。

printf 格式化输出&scanf格式化输入

printf("格式化字符串",输出的参数列表);

我们可以简单地输出:

printf("Thanks for reading~");

也可以带参数输出,具体见下表:

格式化控制符 含义
%d 输出一个int整数
%ld 输出一个long整数
%lld 输出一个long long整数
%u 输出ulong
%i 与%d相同
%c 输出单个字符
%f 输出实数(一般为float)
%lf 输出实数(一般为double)
%s 输出字符串
%% 输出百分号

另外,有特殊的比如%02d等带占位的格式化控制符和保留小数位的%.2f等等。

printf("我今年%d岁",12);//当然不止uwu

除了控制符,还有转义符来使输出丑陋(不是),如下:

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) ,将当前位置移到前一列 008
\f 换页(FF),将当前位置移到下页开头 012
\n 换行(LF) ,将当前位置移到下一行开头 010
\r 回车(CR) ,将当前位置移到本行开头 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\’ 单引号 039
\" 双引号 034
\\ 反斜杠 092
printf("a\ne\ni\no\nu\n");

scanf是按格式读取,用法类似,赋值的时候记得传入变量的地址。

scanf("%d",&i);//&是取地址
scanf("%d,%d",&a,&b);//读入两个输入时用逗号隔开的数值
scanf("%s",str);//读入一个字符串,由于字符数组本身就是地址,所以不需要加&取地址,数组同理
...

puts,gets,putchar,getchar

就像printf和scanf一样,puts输出字符串,gets从输入获取字符串,putchar输出字符,getchar获取字符

puts("hello");
gets(str);//将获取到的内容传入str
putchar('a');
char c=getchar();//获取一个字符

调用其他函数

调用方法非常简单,例子一看就会:

int add(int a,int b){
	return a+b;
}
int main(){
	int b=add(1,2);
	printf("%d\n",b);
	printf("%d\n",add(1,2));
	return 0;
}

#define

在入门阶段常用作对常量的定义,其实并不是只有这么简单的用法

#define PI 3.14

总结

更多内容请阅读相关书籍uwu
EOF

你可能感兴趣的:([??]各种语言入门,c语言,编程语言)