C语言(2)

1. C语言第一个程序
#include  // #include 相当于Java的import; stdio:standard input$output 标准的输入输出; .h头文件的后缀,包含一些函数。 
#include  // stdlib.h 标准的C语言函数库 
main() // 相当于Java的 public static void main(String args[]){} 
{ // 函数的开始 
    printf("Hello World! \n"); // printf(内容)输出函数,相当于Java的System.out.print("Hello World! \n"); \n是回车换行
    system("calc"); // 调起计算器 
    system("mspaint"); // 调起画板
    system("services.msc"); // 调起服务 
    system("pause"); // 让docs命令行执行pause命令,作用是控制台停留。 
} // 函数的结束 
2. C语言基本类型
#include 
#include 
main()
{
    printf("int类型的长度为: %d\n",sizeof(int));
    printf("char类型的长度为: %d\n",sizeof(char));
    printf("float类型的长度为: %d\n",sizeof(float));
    printf("long类型的长度为: %d\n",sizeof(long));
    printf("short类型的长度为: %d\n",sizeof(short));
    
    if(1) {
        printf("true\n");
    } else{
        printf("false\n");
    }
    
    system("pause");
} 

output:

int类型的长度为: 4
char类型的长度为: 1
float类型的长度为: 4
long类型的长度为: 4
short类型的长度为: 2
true
请按任意键继续. . .

C语言基本类型

char,int,float,double,long,short,signed,unsigned,void

计算类型的长度:sizeof("类型") 返回int类型的长度
占位符:%d
printf("内容");

Java基本数据类型和C语言的一些区别

  1. Java中char类型的长度为2个字节,C语言中的长度为1个字节
  2. Java中long类型的长度为8个字节,C语言中的长度为4个字节
  3. C99标准规定:long类型的长度,不小于整型
  4. C语言中没有byte类型
  5. C语言中boolean类型,0表示flase,非0表示true
  6. signed:有符号数 -128~127 = -27~27-1
  7. unsigned:无符号数 0~255 = 0~2^8 - 1
  8. void:无类型,代表任意类型。
5. 输出函数
%d  --- int
%ld --- long int
%c  --- char
%f  --- float
%u  --- 无符号数
%hd --- 短整型
%lf --- double
%x  --- 16进制输出int或者long int 或者 short int
%o  --- 八进制输出
%s  --- 字符串
#include 
#include 

main() 
{
    char c = 'A';
    int i = 12345678;
    long l = 123456789;
    float f = 3.1415;
    double d = 3.1415926535;
    
    printf("c==%c\n",c);
    printf("i==%d\n",i);
    printf("l==%ld\n",l);
    printf("f==%f\n",f);
    printf("d==%lf\n",f);
    output:
    c==A
    i==12345678
    l==123456789
    f==3.141500
    d==3.141500
    
    printf("d==%.10lf\n",f);
    output:
    d==3.1414999962

    printf("i==%hd\n",i); // 短整型输出整型
    output:
    i==24910
    
    printf("cArray内存地址==%#x\n",&cArray);
    output:
    cArray内存地址==0x62fe30
    
    char* text = "I Love YOU !";
    printf("text内容==%s\n",text);
    text内容==I Love YOU !
    
    system("pause"); 
}
  1. 在C语言中,默认保留小数点后6位,要想保留对应的位数,就需要在%号后面加上.数字
  2. int:12345678 转为二进制为:101111000110000101001110。24910转为二进制为110000101001110。可以发现是发生了截取,精度发生了丢失。
  3. C语言的数组的括号不能写在左边 char[] cArray = {'A','B'};是错误的。
6. 输入函数
#include 
#include 

main()
{
    // 1.
    int i;
    printf("亲,请输入你认为最帅的数字: \n");
    scanf("%d",&i);
    printf("你输入的数字是: %d\n",i);
    
    char cArray[] = {'H','E','L','L','O'};
    
    int j;
    for(j = 0; j < 5; j++)
    {
        printf("cArray[%d]==%c\n",j,cArray[j]);
    }
    
    printf("cArray==%s\n",cArray);
    
    // 2.
    char cArray2[5];
    printf("请输入hello\n");
    scanf("%s",&cArray2);
    int k;
    for(k = 0; k < 5; k++)
    {
        printf("cArray2[%d] == %c\n",k,cArray[k]);
    }
    printf("cArray2 == %s\n",cArray2);
    
    // 3.
    char cArray3[] = {'a','b','c','d','e','\0'}; // \0代表结束 数组是一块连续的内存空间 
    printf("cArray3 == %s\n",cArray3);
    
    // 4. 
    char* text = "I LOVE YOU!";
    printf("%s\n",text); 
    
    system("pause");    
} 

output:
亲,请输入你认为最帅的数字:
12
你输入的数字是: 12
cArray[0]==H
cArray[1]==E
cArray[2]==L
cArray[3]==L
cArray[4]==O
cArray==HELLO
请输入hello
hello
cArray2[0] == H
cArray2[1] == E
cArray2[2] == L
cArray2[3] == L
cArray2[4] == O
cArray2 == hello
cArray3 == abcde
I LOVE YOU!
请按任意键继续. . .
7. 指针
#include 
#include 

/*
 * 指针就是内存地址
 * 内存地址就是指针 
 */ 
main()
{
    // 定义一个int类型的变量i,并且赋值为10    
    int i = 10;
    //  定义一个int类型的一级指针变量p 
    int* p;
    // 把i对应的内存地址赋值给p 
    p = &i;
    // 指针取值*p,把p变量 对应的地址的值取出来 
    printf("*p == %d\n",*p);    
} 

output:
*p == 10
13. 数组
/*
数组的介绍:
1.数组的取值
2.数组的取地址
3.数组是一块连续的内存空间
4.数组的首元素地址和数组的地址相同
 
*/
main()
{
    char cArray[] = {'H','E','L','L','O'};
    int iArray[] = {1,2,3,4,5};
    
    // 取数组的值
    printf("cArray[0]==%c\n",cArray[0]); 
    printf("cArray[1]==%c\n",cArray[1]); 
    
    printf("iArray[0]==%d\n",iArray[0]); 
    printf("iArray[1]==%d\n",iArray[1]); 
    
    // 取内存地址值
    printf("cArray地址==%#x\n",&cArray); 
    printf("cArray[0]地址==%#x\n",&cArray[0]); 
    printf("cArray[1]地址==%#x\n",&cArray[1]); 
    printf("cArray[2]地址==%#x\n",&cArray[2]);  
    
    // 内存是一块连续的内存空间
    printf("iArray地址==%#x\n",&iArray); 
    printf("iArray[0]地址==%#x\n",&iArray[0]);
    printf("iArray[1]地址==%#x\n",&iArray[1]);
    printf("iArray[2]地址==%#x\n",&iArray[2]);
    printf("iArray[3]地址==%#x\n",&iArray[3]);
    
    // 用指针取值
    printf("iArray==%d\n",*iArray); 
    printf("iArray[0]==%d\n",*iArray+0); 
    printf("iArray[1]==%d\n",*iArray+1); 
    printf("iArray[2]==%d\n",*iArray+2); 
    
    printf("iArray[0]==%d\n",*(iArray+0));
    printf("iArray[1]==%d\n",*(iArray+1));
    printf("iArray[2]==%d\n",*(iArray+2));
} 

output:
cArray[0]==H
cArray[1]==E
iArray[0]==1
iArray[1]==2
cArray地址==0x62fe40
cArray[0]地址==0x62fe40
cArray[1]地址==0x62fe41
cArray[2]地址==0x62fe42
iArray地址==0x62fe20
iArray[0]地址==0x62fe20
iArray[1]地址==0x62fe24
iArray[2]地址==0x62fe28
iArray[3]地址==0x62fe2c
iArray==1
iArray[0]==1
iArray[1]==2
iArray[2]==3
iArray[0]==1
iArray[1]==2
iArray[2]==3
15. 输入数组
#include 
#include 

main()
{
    // 1. 用户输入数组的长度 
    printf("请输入数组的长度: \n");
    int length;
    scanf("%d",&length);
    printf("你输入的数组长度为:%d\n",length);
    
    // 2. 根据用户输入的长度创建数组 
    int iArray[length];
    int i = 0;
    
    // 3. 让用户输入数组的值 
    for(i = 0;i < length;i++)
    {
        printf("请输入iArray[%d]的值\n",i);
        scanf("%d",&iArray[i]);
    }
    
    // 4. 把数组内容打印出来 
    for(i = 0; i < length; i++)
    {
        printf("iArray[%d]的值为%d\n",i,iArray[i]);
    }
}
output:
请输入数组的长度:
3
你输入的数组长度为:3
请输入iArray[0]的值
111
请输入iArray[1]的值
222
请输入iArray[2]的值
333
iArray[0]的值为111
iArray[1]的值为222
##### iArray[2]的值为333

你可能感兴趣的:(C语言(2))