c语言不能调用strcat连接两个字符串_机械学霸 | C语言重磅来袭

68d0b9a49c517bccb24f71f92416e711.png

C语言重磅来袭

机械学霸

转眼之间,期末即将到来了555

这一天,人们终于想起被C语言支配的恐惧…f09c95c53615d1c12973af2537e2ce7d.pngf09c95c53615d1c12973af2537e2ce7d.png

ae973009921dfd05c6c859e440e5552c.png

你是否总是觉得脑海中一片混乱

是否总是觉得C文字如同乱码

是否总是觉得似乎会编程但又编写不出来

好难受呀??

52f1081731bd476b2d1f1c90381cbf27.png

但是不要慌,问题不大

机械1710班刘述清给大家带来了福利

特意给大家总结了自己手打的笔记!16f1a49df8bdf0066e4091b370cfb9c8.png

基本知识/细节

1 ASCII码表对应字符: ASCII 48:0  65:A  97:a

2. system(“pause”)对应于stdlib.h头文件

3. 注释://一行内容            /*任意行内容*/

4. 基本数据类型:

  字符型:char,%c     

   scanf(“%c”,&x)从键盘上获取x并导入一个字符。

   printf(“%d %c”, ’x’  ‘x’)分别输出x的整数型和字符型

   整数型:int    k=(int)12.34将k强制转换为12.34的整 数部分12

    单精度实数型:float

    双精度实数型:double

    空类型:void

5. 标识符:字母、数字、下划线    

6. 常量:整型(10、8、16进制)、实型、字符型(字符、数字字符、转义字符\)、字符串、符号常量

7. 运算符:

 ++自增1(变量的值加1 )         

 --自减1(变量的值减1 )

 i++先使用i的值,i再自增      

 ++i i先自增,再使用i的值

 逻辑运算符:

 !逻辑非       &&逻辑与       ||逻辑或     0表示逻辑假 1表示逻辑真

8. %f输出float型,%lf输出double型。

9. 运算优先级:算术>关系>逻辑

    例:a+b>c&&b+c>a&&a+c>b说明三角形三边关系

10. 一些特殊简写语句:

    (i>j)?(a=0):(a=1) 表示若i>j则a=0,否则a=1

   k=(i=7,j=8,i+j)这个表达式将i+j的值赋予给k,即k=15.

     s+=a表示s=s+a

11. %4d表示整型最小输出位数为4,不够将左补空格,%04d会补0

      %-4d也表示整型最小输出位数为4,不够将右补空格。

68d0b9a49c517bccb24f71f92416e711.png

常用语句格式及说明

1. If -else 语句中系统判断时从上往下依次判断,一旦条件满足,跳出判断,后面的都不判  断

2. exit(0)强制退出

3. switch格式:

    switch(选择值----有限整数)

    {

    case 选择值:

    执行语句1;break;

    case 选择值:

    执行语句2;break;

    default:

    执行语句3;

    }

4. while与do—while循环格式:

    while(条件)

    {

        循环体语句;

     }

     do{

    循环体语句;

    }while(条件);//与while相比至少执行一次循环

5. For循环格式:

    for(初值表达式;条件表达式;循环变量表达式)

    {

    循环体语句;

     }      

6. break与continue:

   break跳出最近的封闭循环体,而continue是结束本次循环,继续下一次循环。

    例如: 输出1~100之间的不能被7整除的数。
    for (int i=1; i<=100; i++)
    {
    if (i%7==0)
    continue;
    cout << i << endl;
    }

68d0b9a49c517bccb24f71f92416e711.png

函数

1. 函数的定义是平行的,fun函数放在main后面也能被main调用。
2. 如果在调用函数的语句上面找不到函数原型,要在函数之前声明调用函数的值的类型:
    int fun();
    int main(){ }

    Int fun(){

    }
3. 自己定义的头文件用include“xxx.h”    引用,
4. 递归: 以求n!为例
      int fac(int n)

    {
      if(n==0 |  | n==1) f=1;
      else f=n*fac(n-1);
      return f;
      } 
5. 局部变量:在函数内部或某个控制块的内部定义,有效范围只限于本函数内部,退出函数变量失效。
全局变量:在函数外面定义,作用域从定义位置开始直到源文件结束。
6. 若要使用定义在本函数下面的全局函数(如int x),要加一个extern(extern int x;)
7. static变量---静态变量
8. 函数的默认储存类型为extern型(外部函数),能被其他源文件调用。
    若函数声明形式为
    static int main();
    说明是内部函数
9. 宏定义:
   #define  宏名  字符串
   #define  PI   3.1415926
   可以用#undef终止宏的有效范围。
   宏只做替换不做计算。

68d0b9a49c517bccb24f71f92416e711.png f8ad00ba62a7e37ee86b7c3ddf7e76a2.png

数组

1.数组:存储类型+数据类型+数组名+数组大小,如 static int a[6];

2.二维数组:
  double s[2][3]定义一个二行三列矩阵:从s[0][0]、s[0][1]...到s[1][2]。
   s是行的指针,s+1直接跳过当前行
3.二维数组定义方式:
   double s[2][3]={1,2,3,4,5,6};将每个元素按顺序分配
   double s[2][3]={{1,2,3},{4,5}};将大括号内的数组按序分配进第1、2行,可以分不满。
4.字符数组:
   char s[5]={'h','e','l','l','o'};
   char s[6]={"hello"};//系统自动加一个'\0'作为结束      标志,故不是s[5]
    s[i]=getchar(x)定义s[i]为x。
    getch()比起getchar没有屏显,自动输出。
    gets()输入括号内的字符串,可包含空格,遇到回车 就结束且接收回车。
    puts()输出括号内的字符串,自动换行
    putchar()
    scanf(“  %c”,m)scanf输入字符串时遇到空字符就结 束,且不会接收该空字符结尾。加入空格会使m遇到空字符如空格、回车时不会结束
    scanf(“  %s”,m)中的空格会使m遇到空格就结束
    输入语句不能以空字符开始
5.二维字符数组输入字符串:
    char word[3][5]={"Jack","Lisa,"King"};
    string.h头文件
6.字符串大小比较:strcmp()函数
    如果str1>str2,strcmp(str1,str2)=1
    如果=,结果=0;如果<,结果为-1
7.复制(覆盖):strcpy()
    strcpy(str1,str2)用str2覆盖str1,长度不够的部分不覆盖。
8.连接:strcat()
    strcat(str1,str2)将str2接到str1后,从'/0'开始接且覆盖'/0'。
9.strlen()求字符串长度
10.strlwr()将字符串大写字母转小写
     strupr()将小写转大写

68d0b9a49c517bccb24f71f92416e711.png

除此之外呢,小编总结了几条比较好的心得哟~

1)保持好奇心

咱们都是非计算机专业的大学生,大部分人对C语言是恐惧的,因为你懂得……保持好奇是我们学习不断前进的永恒动力。

2)掌握有效的学习方法

C语言是一门公认的不易入门的语言(否则也不会那么多大学生“惨叫”了^_^),因为涉及的内容比较多( 特别是语法繁多 )。概括起来几个阶段:

(a) 理解和体验阶段

阅读和理解现有的程序,一般是教材的程序,每个程序都必须亲手打一遍。在输入代码的同时,一定要弄清楚每一个语句的意义和运算符号的意义。

(b) 修改阶段:

完成了第一阶段的学习后,开始根据给定的代码进行简单的修改,这个阶段可以实现一点点自己的想法,同时也能将相关的语法掌握的更加熟练。

(c) 模仿阶段:

当我们可以进行简单修改代码后,可以尝试模仿现有程序的代码,编写自己的代码,比如,我们学会了加法器后,可以适当编写减法器等

 (d) 独立阶段

在编写程序之前,阅读现有的程序,可以提高程序的理解能力,学会其他人编写程序的思想,通过问题分解、模块划分、算法设计和代码编写,最后调试程序。

0ddbc3eb837155a0bf1c99a4e820ef90.png 8f4c8eab68e666580b1bccc7490ab55e.png 72593a676108ec8d594cb602ec019c47.png

文字:王迅

图片:王迅

排版:林帅儒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值