C语言实战开发——C语言基础第一天

项目目标: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
}

QQ截图20191118133848.png

四、第一个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语言基础学习,掌握了如何写一个简单的程序。

你可能感兴趣的:(C语言实战开发——C语言基础第一天)