项目目标:a.基础认识C语言;b.在没有集成开发环境下写一个简单程序;
-// 单行注释
-/**/ 多行注释,不能嵌套。
include 导入头文件(引入声明)要在前加上#
<系统提供的类库> 如果系统已经提供某些功能,只需要使用include将这些功能所在的头文件导入进来就行
比如stdio.h stdlib.h math.h string.h
"自己定义的头文件“
<>系统 ""自己
一、main()函数
所有的程序的入口点都是main()函数 int 返回值类型为 整形
(记录当前程序的运行状态 0:正常结束 资源自由分配 非0:异常结束,没收)
int argc :参数个数 argument count
char *argv[]:每个参数组成的字符串组
#include
int main(int argc,char*argv[]){
printf("%d",argc);
printf("%s",argv[0]);
return 0;
}
二、在没有集成开发环境下写一个简单程序
程序从写出来->有结果的过程
开发工具一般有:Vsual stdiuo;DevC++等等而我们要在没有这些集成开发环境下写一简单程序。
1.写代码——文本编译器(注意:要先配置系统环境,一般是GCC编译器,配置到系统环境中)
2.预编译——编译器(制定规则)gcc-e test.c-o test.i
a.检查语法错误
b.展开
3.编译->高级语言转化为汇编代码gcc -s test.i -o test.s
a.检查语法错误
b.转化为汇编代码
4.汇编->把汇编代码转化为二进制代码
gcc -c test.s -o test.o
a.转化为目标文件(二进制数据)
5.链接->把所有的目标文件链接为可执行的程序 gcc -o test.o test
三、C语言基本语法
printf 输出语句 终端 consle口
scanf 输入语句
\n 换行
\t 一个缩进
变量->记录数据
基本数据类型->只能存一个值。
int 整形数据
float 单精度浮点数
double 双精度浮点数
long 长整形
char 字符
string 字符串
short 短整形
bool 是 成立 真 true 非false 不同的数据类型占据字节空间不同
如何看->
printf("%s\n",argv[0]);
printf("hellow world\n");
printf("%d\n",sizeof(short));
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(bool));
printf("%d\n",sizeof(long));
printf("%d\n",sizeof(float));
printf("%d\n",sizeof(double));
return 0;
}
/*int count=0;// 4byte*8=32wei;%02d 不是两位的用0补全
count=3;
printf("I have %d dog\n",count);
//long:更大
long size=230;
printf("%ld\n",size);
float score=95.9;//3.1415926-----变成3.141593
printf("%f\n",score);//%.2f 小数点后两位
char choose='c';
printf("%c\n",choose) ;//中文占两个字符---?
printf("%d\n",choose);//99,c对应的ASCII码的值
bool status=true;//false为0,非0即1真,0即假
printf("%d\n",status);
/scanf 格式化输入
缓冲区、终端:123456'\n'--->缓冲区 /
/不要再scanf里面随便加格式,写的时候如果加了格式必须按格式来输。建议不加任何格式。 /
/
int pwd=0;
scanf("jack%d",&pwd);
printf("pwd=%d\n",pwd);
// scanf("%d%d\n",&num1,&num2);
int num1,num2;
scanf("%d %d",&num1,&num2);
printf("%d %d\n",num1,num2);/
/当某种条件成立才做事情
if(条件){成立时要做的事情}/
/*运算符:= - *
/ 除完之后取整 3/2=(1)....1 2/3=(0).....2
% 取余 7%3=2....(1) x%16+1=1___16; x%51+50=50___100 ,
&& 且,两个都成立时才成立
|| 或,两个中有一个成立时成立
++ 自增+1 a++ ++a 的区别
+= a+=2_______a=a+2
-- 自减
== 等于 (判断)
!= 不等于
? */
// c=3>1?'y':'n'; 问号表达式
//result=表达式1,表达式2,表达式3 逗号表达式, 结果为表达式3
int t=20 ;
int t2=(t--,t--,t--);//if(t--,t--,t--) {printf("t=%d\n",t);} 结果为17.
if(t2){
printf("t2=%d\n",t2); //结果为18
}
四、第一个demo
#include
int main(){
char *name;
int age=0;
printf("请输入年龄:");
scanf("%d",&age);
char* gewei[]={"","one","two","tree","four","five","six","seven","eight","nine"};//保存个位数
char* temp[] = {"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};//保存10--19
char* shiwei[] = {"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};//保存十位
if(age<10){
name=gewei[age];
}
else if(age>=10&&age<=19){
int index=age%10;1
name=temp[index];
}
else{
int g=age%10;
int s=age/10;
char *sString=shiwei[s-2];
char *gString=gewei[g];
printf("You age %s-%s\n",sString,gString);
return 0;
}
printf("You age is %s\n",name);
return 0;
}
效果图
第一天笔记:密码:(73nvas)(http://链接:https://share.weiyun.com/5XBAP45)
自我感悟:通过C语言基础学习,掌握了如何写一个简单的程序。