GNU编译器
- MinGW https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/
- CYGWin
- GCC Linux默认有GCC,GCC现在是一个编译器套件,是所有编译器的总称。
Clion编译环境配置
File–>settings
输入与输出
输入
- scanf() scanf("%s",&str);
- getchar() c=getchar();
- gets() char a[10];/ gets[a];/ puts[a];
输出
- printf(“value = %f”,f);
- putchar©;
- puts()
常量、变量
常量
- 整数常量
- 浮点常量
- 布尔常量
- 字符常量
注:常量不允许重新赋值
/*
* 定义常量
* 1.define
* 2.const
* 常量字母全部大写,多个单词中间用下划线隔开
* */
#define HOST"192.168.8.250"
//const定义的常量需要添加分号;
const int AGE=50;
int main() {
printf("%s\n",HOST);
printf("%d\n",AGE);
return 0;
}
变量
/*
* 变量的定义
* 数据类型 变量名=值
*
*/
//声明变量
int score;
score=99;
printf("%d\n",score);
// scanf("%d",&score);
printf("%d\n",score);
注:变量可以重新赋值。
数据类型
- 整数类型
- 实数类型
- 自定义类型
int a1 = 300;
short a2 = 300;
long a3 = 300;
unsigned int a4 = 200;
signed int a5 = -50;
float f1 = 3.3;
double f2 = 3.5;
long double f3 = 5.5;
/*
* 数据类型
*/
char a=30;
printf("%d\n",a);
char b=256;
printf("%d\n",b);
/*
* 占位符
* %d 整数
* %f 实数
* %.f
* %0.2f 小数点后
* %.4f
* %c 字符
* %s 字符串
* %ld 长整型
* %lf double long double
* %ul 无符号的长整型
*/
char c1= 'a';
printf("%c\n",c1);
printf("%d\n",c1);
char c2= 'A';
printf("%c\n",c2);
printf("%d\n",c2);
char d1 ='t';
d1 -= 32;
printf("%c\n",d1);
/*
* 自定义类型
*/
char AGE=50;
typedef __int8 MY_CHAR;
MY_CHAR cc='a';
printf("%c\n",cc);
自增自减
/*
* 运算符
* ++自增
* --自减
*
*/
int aa= 10;
int e = 0;
printf("%d\n",aa++ + e);//10
printf("%d\n",++aa);//12
int t1 = 10;
int t2 = 20;
++t1;
//int r = t1++ +t2;
//int r1 = t1++ + t2++;
int r2= ++t1 + ++t2;
//printf("%d\n",r);
//printf("%d\n",r1);
printf("%d\n",r2);
运算符
分支结构
if…else
int a3=1;
a3++;
if(a3%2==0){
printf("偶数");
}else{
printf("奇数");
}
嵌套if
可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。
if (){
}
else if (isFinish){}
else{}
switch
int type;
scanf("%d",&type);
switch(type){
case 0:
printf("0000000");
break;
case 1:
printf("1111111");
break;
default:
printf("没有内容");
}
//引入头文件<defines.h>
char status;
//模拟状态码
scanf("%c",&status);
switch (status){
case TOP:
printf("向前走\n");
break;
case BOTTOM:
printf("向后走\n");
break;
case LEFT:
printf("向左走\n");
break;
case RIGHT:
printf("向右走\n");
break;
default:
printf("stop");
}
//引入头文件<defines.h>
/*
* 配合枚举一起使用
*
*/
enum Login LoginType;
scanf("%d",&LoginType);
switch (LoginType){
case wb:
printf("微博登录");
break;
case qq:
printf("QQ登录");
break;
case wx:
printf("微信登录");
break;
default:
printf("游客登录");
}
//<defines.h>
typedef enum LOGIN {
wb=0,
qq=1,
wx=8,
mm=66,
tt=13,
}LOGIN;
/*
*自定义类型,枚举,效率高
*
*/
LOGIN login;
scanf("%d",&login);
switch (login){
case wb:
printf("微博登录");
break;
case qq:
printf("QQ登录");
break;
case wx:
printf("微信登录");
break;
case mm:
printf("sadadwa");
break;
case tt:
printf("aohdowawdowha");
break;
default:
printf("未登录");
}
三元运算符
int cj;
scanf("%d\n",&cj);
printf("%s\n",cj<60?"bjg":cj>=80?"yx":"jg");
注:输出结果正确,但是需要输入两次,两次输入的值不同,输出结果是第一次输入的值的结果