C语言基础语法【1】
目录
1、在linux系统编写C语言,基本命令;变量、常量、标识符
2、数据类型、取值范围、字符串
3、短路原则、类型转换
4、switch语句、for、while循环、死循环
1、在linux系统编写C语言,基本命令;变量、常量、标识符
/*C语言
Linux系统中进行操作
创建目录后
切换进去vi 编译文件名
保存退出后
gcc 编译文件名 -o 运行文件名
就在目录创建好了
./运行文件名
运行完成*/
/*第一个程序*/
[wlp@192 桌面]$ mkdir C_xuexi
[wlp@192 桌面]$ cd C_xuexi
[wlp@192 C_xuexi]$ mkdir class_1
[wlp@192 C_xuexi]$ cd class_1
[wlp@192 class_1]$ vi test.c
#include <stdio.h>
int main(){printf("Hello Word!\n");return 0;
}
[wlp@192 class_1]$ gcc test.c -o test
[wlp@192 class_1]$ ls
test test.c
[wlp@192 class_1]$ ./test
Hello Word!
/*变量包含英文字母 数字 特殊符号 _不能以数字开头 不能使用关键字
数据类型int 整型char 字符型float 单精度浮点型double 双精度浮点型
占位符*/
[wlp@192 class_3]$ vi test.c
#include <stdio.h>
int main(){int a;char b; float c;double d; a=520;b='f'; c=3.14;d=3.141592653;printf("输出%d\n",a);printf("输出%c\n",b);printf("输出%.2f\n",c);//小数点后精确2位printf("输出%11.9f\n",d); //一共11个站位,小数点后精确9位return 0;
}
[wlp@192 class_3]$ gcc test.c -o test
[wlp@192 class_3]$ ./test
输出520
输出f
输出3.14
输出3.141592653
=========================================================
/*常量:
整型常量: 520
实型常量: 5.2
字符常量:普通字符:'L','o','v','e'转义字符:'\n'【换行】,'\t','\b'
字符串常量:“Fi sh”'F' 'i' ' ' 's' 'h' '\0'【内存存储情况 所以会追加一个转意字符代表字符串结束 需要6个站位 】符号常量:使用前必须定义格式:#define 标识符 常量习惯上符号常量标识符用大写字母,变量标识符用小写字母。将标识符换成后面的常量如:-#define URL "我"*/
[wlp@192 class_4]$ vi test.c
#include <stdio.h>#define URL "wo"
#define Name "miao"
#define Year 2010
#define Month 5
#define Day 5int main(){printf("%s成立于%d年%d月%d日\n",Name,Year,Month,Day);printf("%s是%s创立的。。。\n",Name,URL);printf("%s的域名是%s\n",Name,URL);return 0;
}
[wlp@192 class_4]$ gcc test.c -o test &&./test
miao成立于2010年5月5日
miao是wo创立的。。。
miao的域名是wo===========================================================
/*
标识符:包含英文字母 数字 特殊符号 _不能以数字开头 不能使用关键字*/
2、数据类型、取值范围、字符串
/*
数据类型:基本类型: 整数类型:short int,int,long int,long long int浮点数类型:float,double,long double字符类型:char布尔类型:_Bool枚举类型:enum指针类型:构造类型:空类型:sizeof运算符:用于获取数据类型或表达式的长度【站位】-sizeof(object); //sizeof(对象);-sizeof(type_name); //sizeof(类型);--sizeof object; //sizeof 对象;*/=====================================================================#include <stdio.h>int main(){int i;char j;float k;i=123;j='C';k=3.14;printf("size of int is %d\n",sizeof(int));printf("size of i is %d\n",sizeof(i));printf("size of char is %d\n",sizeof(char));printf("size of j is %d\n",sizeof j);printf("float的size是%d\n",sizeof(float));printf("k的站位是%d\n",sizeof(k));return 0;
}
[wlp@192 class_5]$ gcc test.c -o test && ./test
size of int is 4
size of i is 4
size of char is 1
size of j is 1
float的size是4
k的站位是4============================================================================
/*取值范围:
signed和unsigned:带符号位可以存有符号,如:负数;不带符号位不可以存符号
比特位:CPU能读懂的最小单位——比特位,bit,b ;1bit存放1位二进制数;
字节:1 Byte==8 bitsigned的数据存储8位比特,有符号时第一位为1,所以存储范围就比第一位为0的小许多
负数:一个32位的整型变量,除去左边第一位符号位,剩下的表示值只有31个比特位;2的31次方-1
因此,一般用正数的补码表示负数
一般整数类型,默认【不写】都是带符号的。所以写上unsigned可以极大提高取值范围。*/#include <stdio.h>int main(){short i;unsigned short j;i= -1;j= -1;printf("%d\n",i);printf("%u\n",j);return 0;}
[wlp@192 C_xuexi]$ gcc test1.c -o test && ./test
-1
65535 //出错
=============================================================================
/*字符串声明*///1、显示ASCII码
#include <stdio.h>int main(){char a='C';printf("%c=%d\n",a,a);return 0;
}[wlp@192 class_1]$ gcc test1.c && ./a.out
C=67
//2
#include <stdio.h>int main(){char a=70,b=105,c=115,d=104,e=67;printf("%c%c%c%c%c\n",a,b,c,d,e);return 0;
}
[wlp@192 class_1]$ gcc test1.c && ./a.out
FishC
//3、声明字符串
#include <stdio.h>int main(){char name[]={'F','i','s','h','C','\0'};//5个字符组成的字符串【[]里数字可以忽略】char name[]="FishC";//声明字符串【{}可以省略】printf("%s\n",name);return 0;
}[wlp@192 class_1]$ gcc test1.c && ./a.out
FishC
FishC
3、短路原则、类型转换
/*
算术运算符:
单目运算符
双目运算符
关系运算符:
短路原则:*///1
#include <stdio.h>
#include <math.h>int main(){int i,j,k;i=1+2;j=1+2*3;k=i+j+-1+pow(2,3);//3+7+(-1)+2的3次方printf("i=%d\n",i);printf("j=%d\n",j);printf("k=%d\n",k);return 0;
}[wlp@192 class_1]$ gcc test1.c && ./a.out
i=3
j=7
k=17//2
#include <stdio.h>int main(){int a=3,b=3;(a=0)&&(b=5);//左边是假了,&&短路,就不往右边运行了printf("a=%d,b=%d\n",a,b);(a=1)||(b=5);//左边是真了,||短路,就不往右边运行了printf("a=%d,b=%d\n",a,b);return 0;
}
~
[wlp@192 class_1]$ gcc test1.c && ./a.out
a=0,b=3
a=1,b=3===================================================================/*类型装换:自动装换;强制转换;1+2.0==1.0+2.0*///3#include <stdio.h>int main(){printf("整型输出:%d\n",1+(int)2.1);printf("浮点型输出:%f\n",1+2.0);return 0;
}[wlp@192 class_1]$ gcc test1.c && ./a.out
整型输出:3
浮点型输出:3.000000
===============================================================
4、switch语句、for、while循环、死循环
/*
switch语句
分支嵌套*/
//1#include <stdio.h>int main(){ int i;printf("你多大了:");scanf("%d",&i);if(i>=18){printf("成年了!\n");
} return 0;
}
[wlp@192 class_1]$ gcc test1.c && ./a.out
你多大了:
18
成年了!
==
//2
#include <stdio.h>int main(){ int i;printf("你多大了");scanf("%d",&i);if(i>=18){printf("成年了\n");
} else{printf("慢走");
} return 0;
}
==
//3
#include <stdio.h>int main(){int i;printf("输入分数:");scanf("%d",&i);if(i>=90){printf("A\n");
} else if(i>=80 && i<90){printf("B");
} else if(i>=70 && i<80){printf("C\n");
} else if(i>=60 && i<70){printf("D\n");
} else{printf("E\n");
}return 0;
}
//4
#include <stdio.h>
int main(){char ch;printf("请输入成绩等级:");scanf("%c",&ch);switch(ch){case'A':printf("成绩在90以上\n");break;case'B':printf("成绩在80~89\n");break;case'C':printf("成绩在70~79\n");break;case'D':printf("成绩在60~69\n");break;case'E':printf("成绩在59以下\n");break;default:printf("请输入有效成绩等级!");break;
}return 0;
}
//5
#include <stdio.h>
int main(){int a,b;printf("请输入两个数:");scanf("%d %d",&a,&b);【空格可有可无,空格接收回车或空格,就可以输入下一个参数了】if(a!=b){if(a>b){printf("%d>%d\n",a,b);}else{printf("%d<%d\n",a,b);}}else{printf("%d=%d\n",a,b);}return 0;
}
//6
#include <stdio.h>int main(){char isRain,isFree;printf("是否有空?Y/N");scanf("%c",&isFree);getchar(); //接收回车,就可以输入下一个参数了printf("是否下雨?Y/N");scanf("%c",&isRain);if(isFree=='Y'){if(isRain=='Y'){printf("记得带伞^_^\n");}else{printf("女神没空T_T\n");}}else{printf("呜呜");}return 0;
}
/*
循环结构
while语句
do while语句
for语句
C99才允许,初始化语句定义类型*/
//7
#include <stdio.h>int main(){int i=1,sum=0;while(i<=10){sum+=i;i++;}printf("结果是:%d\n",sum);return 0;}
//8
#include <stdio.h>int main(){//统计键盘输入的一行英文句子的字符个数。int count=0;printf("请输入字符");while(getchar()!='\n'){count++;}printf("总共输入的字符数:%d\n",count);return 0;
}
//9
#include <stdio.h>int main(){int count;for(count=0;count<10;count++){printf("爱\n");}return 0;
}#include <stdio.h>
int main(){int i,j;for(i=0,j=10;i<j;i++,j--){printf("%d\n",i);}return 0;
}
//九九乘法表
#include <stdio.h>int main(){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++){printf("%d*%d=%-2d ",i,j,i*j);//-2d保证至少两个在占位符;显得整齐些}putchar('\n');//输出换行}return 0;
}//死循环
while(1){}#include <stdio.h>
int main(){int count;for(;count<10;){printf("爱\n");count++;}return 0;
}
C语言基础语法【2】_z输关的博客-CSDN博客
C语言基础语法【3】_z输关的博客-CSDN博客
C语言基础语法【1】相关推荐
- Go语言基础语法--注释、基础结构2
章节 GO语言基础语法--注释.基础结构(重要) 1.GO语言基础语法---注释.基础结构 //程序所属的包,且必须在源文件代码第一行 package mainimport "fmt&quo ...
- 一篇文章带你玩转C语言基础语法5:条件判断 if else 语句与分支 。(千字总结)
我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位
- Go语言 基础语法学习 (未完待更......
文章目录 一 Go语言结构 1 Go Hello world实例 2 执行Go程序 二 Go语言基础语法 1 Go标记 2 行分隔符 3 注释 4 标识符 5 一些关键字 6 Go语言的空格 7 格式 ...
- 一篇文章带你玩转C语言基础语法。2:数据类型。千字总结
我的个人主页:☆光之梦☆的博客_CSDN博客-C语言基础语法(超详细)领域博主 欢迎各位
- GO 语言基础语法一 (快速入门 Go 语言)
Go语言基础语法 一. golang 标识符,关键字,命名规则 二. golang 变量 三. golang 常量 四. golang 数据类型 五. golang 布尔类型 六. golang 数字 ...
- 【Go编程语言】 Go语言基础语法
Go语言基础语法 文章目录 Go语言基础语法 一.注释 1.单行注释 2.多行注释 二.变量 1.变量的定义 2.变量的初始化 3.理解变量(内存地址) 4.变量交换 5.匿名变量 6.变量的作用域 ...
- 【Day4 C语言基础语法学习-3】
Day4 C语言基础语法学习-3 一 数组 1.1 数组的概念 1.2 一维数组 1.2.1 一维数组的定义 1.2.2 一维数组的性质 1.3 一维数组的初始化和遍历 1.4 冒泡排序法 二.二维数 ...
- 【Day3 C语言基础语法学习-2】
Day3 C语言基础语法学习-2 一.输入输出函数 1.1 getchar()/putcgar() 1.1.1getchar() 1.1.2 putchar 1.2 gets()/puts() 1.2 ...
- Go语言基础语法讲解与学习
Go语言基础语法讲解与学习 1 Go语言基础知识介绍 介绍Go语言之前,我们先了解一下有哪些开源项目是Go语言开发的,其中就包括 Docker.Go-Ethereum.Thrraform 和 Ku ...
最新文章
- C语言 递归实现辗转相除法 和 辗转相减法
- 003_推箱子-事件
- mysql+数据库连接标识_新人必看!连接到MySQL数据库的两种方法
- 互联网1分钟 |1205
- Hibernate三大组成部分
- 快速解读linq语法
- clickhouse原理解析与应用实践_编程好书推荐《Redis 深度历险:核心原理与应用实践》...
- ajax提交file空指针,excel导入上传文件报空指针错误
- debian下tomcat8环境搭建
- centos环境下安装redis
- CNN_原理以及pytorch多分类实践
- xp安全模式下如何修复计算机,xp安全模式下怎么解决蓝屏_xp开机进入安全模式修复蓝屏教程...
- STM32CubeMonitor使用教程
- 关于1stopt的补充说明
- ringbuffer java例子_Java RingBuffer.publish方法代碼示例
- oracle之Number类型小数转字符串丢精度
- 云朵怎么画好看?超简单的天空上色教程
- 微信二次分享解决方案
- 想玩IEO又怕跑得慢?LBank的“锁仓释放”了解下
- AWS 云从业者认证(AWS Certified Cloud Practitioner)
热门文章
- 查询你的手机或者邮箱注册过那些网站
- 2022-03-06:金币路径。 给定一个数组 A(下标从 1 开始)包含 N 个整数:A1,A2,……,AN 和一个整数 B。 你可以从数组 A 中的任何一个位置(下标为 i)跳到下标 i+1,i+
- c语言基础题(笔记二)
- Camera tuning岗位面试总结
- 像宋轶一样美的号主,666
- 铝板展开插件_钣金件快速绘图与展开程序CAD插件(钣金展开插件工具)Vr2.10 最新版...
- win8通过u盘装linux系统,如何通过U盘装机大师进行U盘安装win8.1系统
- 有三个数abc 要求按大小顺序把它们输出_认识数字、比大小、凑十法… 孩子们做做手工玩玩游戏就OK了...
- EasyPro_90B编程器烧录器使用操作方法
- 【AI 学习】2.机器学习和深度学习综述