栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言-入门笔记2

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言-入门笔记2

入门4 函数 4.1 定义函数
返回类型 函数名(参数列表){
    函数体
   }
4.2 函数细节
  • 4.2.1 根据有无参数列表,分为:无参函数,有参函数
    根据有(int、float…) 无(void)返回值类型,分为:有返回值函数,无返回值类型

  • 4.2.2 返回值
    return; 表示没有返回值,退出
    return 表达式

  • 4.2.3 无返回值的函数

void 函数名(参数列表){}  

1、不能返回带值的的return
2、可以没有return
3、调用时没有返回值

入门5 指针 5.1指针是变量,用来存放地址

(指针变量只能使用同类型变量的地址赋值) , 变量必须赋值后才能使用,指针也是

类型* 指针变量
  • 每个储存单元(一个字节)都有一个编号----变量地址
  • 取地址:变量名前+&
  • 地址用16进制,用%p或%P打印
5.2 解引用

指针可以直接操作储存在地址里面的数据 在指针前面加上*

  int n=10;
    int* p = &n;
    *p =20;//相当于让n=20;这里就是指针通过地址去修改该地址存放变量的值
5.3 函数与指针

指针作为函数参数可以改变函数外变量的值

函数内部改变函数外的局部变量 条件:1、指针参数 2、解引用

 void func(int* p){ //参数须传地址
       *p = 200;  通过地址改变值
    }
    int main(){
    int n=10;
    func(&n);
    //n的值就变成了200
    }
5.4 指针连续定义

int* p * q;不可以写成int*p,q 因为这表示p是指针,但q不是
从终端输入地址:

int n;
int* p = &n;
scanf("%p",&p);//指针变量的地址
scanf("%p",p);//指针指向的地址,即n的地址
5.5 实践

实现函数divmod()输入参数a,b,同时得到a与b的商和余数

#include

int divmod(int a,int b,int* mod){
        *mod =a%b;
        return a/b;
}

int main(){
    int m,n;
    scanf("%d%d",&m,&n);
    int mod;
    int div = divmod(m,n,&mod);
    printf("%d/%d=%dn",m,n,div);
    printf("%d%%%d=%dn",m,n,mod);
}
入门6 数组 6.1 存储一个固定大小 相同类型 元素的顺序集合。 6.2 定义数组
 类型 数组名[元素个数]  
  • 6.2.1 C99可以 int arr[n] 用整型变量作元素个数
    C89只能用整型常量作个数
  • 6.2.2 初始化:
    类型 数组名[个数]={值1,值2, ...} 也可以不指定元素个数,会自动识别
  • 6.2.3 访问数组元素:
    数组名[索引] 注:索引从0开始到个数-1
  • 6.2.4 数组遍历
 for(int i=0;i 
  • 6.2.5 数组输入
  int n;
  scanf("%d",&n);
  int arr[n];
  for(int i=0;i 
  • 6.2.6 数组赋值
    不能=直接赋值,可以通过遍历方式赋值
 int days[]={31,28,31,.....};
        int temp[12];
        //temp = days;错!!!!
        for(int i=0;i<12;++i){
           temp[i] = days[i];
        }
入门7 字符串 存放字符的数组 7.1 字符串最后一个字符必须为

字符串变量名为该数组的首地址

7.2 char 字符串变量名[字符数量]
  • 7.2.1初始化
    char greeting[6]={'H','e','l','l','o',''};字符串最后一个字符必须为
    简单表示:char 字符串变量名[字符数量也可不写]=字符串字面量 char s1[]="Hello";
  • 7.2.2 输入
  char str[1024];
  scanf("%s",str);

输出

printf("%sn",str);
  • 7.2.3 访问
字符数组名[索引]
  • 7.2.4 遍历
for(int i=0;''!=s1[i];++i){
       printf("%cn",s1[i]);//字符串纵向输出
   }
  • 7.2.5 赋值
 for(int i=0;''!=s;++i){
              t[i]=s[i];
    }

或使用函数 strcpy(t,s);把s赋给t

示例:

#include

int main(){
     char year[5];
     char month[3];
     char day[3];
     char hour[3];
     char minute[3];
     char second[3];
     scanf("%4s%2s%2s%2s%2s%2s",&year,&month,&day,&hour,&minute,&second);
     printf("%s年%s月%s日%s时%s分%s秒n",year,month,day,hour,minute,second);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/429512.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号