C语言知识补充

字符串的输入与输出:(字符串与字符数组相互联系)

Char name[80];  char address[80];

Gets(name); gets(address);{输入字符串}

Puts(name);puts(address);{输出字符串}    注意红字之间的区别

指针的目的是存储主函数中数据的地址,然后传到次函数中进行运算

指针的偏移:int *p+=9;(偏移9个int类型的字节,即36个字节)

Int类型为4个字节,double类型为8个字节,char类型为1个字节

‘*’的作用:1.取地址。2.取内容(形参可以改变实参)

Stadic int a;  静态变量(申请变量失败)

{  i=10; stadic int i=9;  最终i=10; 因为i=10时到stadic i=9申请变量失败}

Int 整数

Double 小数

Printf 电脑中会显示的提示

Scanf 自己输入的答案形式

Fabs(x) 绝对值x

Sqrt(x) 根号下X

Pow(x,n指数) 幂函数 eg:pow(1+factory,day)

Exp(x) 指数函数

Log(x) 以e为底的对数函数

Log10(x) 以10为底的对数函数

& 取缔指符 eg:用3表示word (3,&word);

Const double PI=3.1415926 定量

If {}   如果

Else{} 否则          用于分段函数

&& 并且

|| 或者

向右对齐:%5d   向左对齐:%-5d

For循环:for(i=1;i<=n;i++)

          {公式}

While循环:while(公式2)

          {公式}

Do{

   公式

   }while(公式);

计算符号  char a;

          Scanf(“%c”);if(a==‘+’)

Scanf(“%c”,&a)

Switch(a)   (如果是数字就不需要’ ‘)

{

  Case ‘+’:result=b+c;    

       Break;

  Case ‘-‘:result=b-c;

       Break;

(否则)  Default:

} (当玩家输入3+2时,则会进入第一个case,并在第一个break中截至。但玩家输入3-2时,就会直接进入第二个csae,并在第二个break出截至。其中break相当于return 0.)

Continue 该段结束  break全部结束

随机数 rand()%100+1   (0到100的随机数)

      . rang()%4       (0到3的随机数)

嵌套循环

For(i=1;i<=4;i++)

{  

符号:换行 \n

      回车 \r

  for(i=0;i<c;i++){

        printf("%c ",'A'+i); {输出内容为ABCD……}

字符串的交换:#include<string.h>

             Char a[10]=”abed”,b[10]=”efg”,t[10];

             Strcpy(t,a);//a复制给t

             Strvpy(a,b);//b复制给a

             Strcpy(b,t);//t复制给b

输入字符的两种方式

Ch = getchar()

或者

Scanf(“%c”,&ch)

输出字符的两种方式

Putchar(ch)

或者

Printf(“%c”,ch)

求素数:

If(n<=1) printf

Else if(n==2) printf

Else

{n=sqrt(n)+1; 

For(i=2;i<=n;i++;

{if(n%i==0)

 Printf:0}

Printf:1}

                                                            

暂停功能:system(“pause”);

清屏功能:system(“cls”);

头文件:stdlib.h

求余:%     8%4=0   9%4=1

输入字符串 char a[90];

输出字符串 %s

数字数组:int a[10]

Int a[10][2]   表示10行2列

字符数组: char str[3];

输出   for(i=0;str[i]!=’\0’;i++) =’\0’;i++)=’\0’;i++)              printf(“%c”,str[i])

{putchar(“str[i]”);}

输入   getchar()                         scanf(“%c”,str[i])

八进制:  \021  (0~7)

十六进制: \x24

结构(位于主函数前面)

Struct point(结构名)

{

   Double x;

   Int y;

} s1,s2;

Scanf(“%s”)输入一连串英文字母

将数字从小到大排序:(外层循环表示排列多少次,i=1是因为最小的数最后不需要排列

J<n-i是因为每次排列完最后一个数就已经为最大值,则不需要排列(冒泡排序)

(选择排序)从小到大

For(i=0;i<n;i++)

{

 For(j=i+1;j<n;j++)

{

 If(a[i]>a[j])

{

   Temp=a[i];

   A[i]=a[j];

   A[j]=a[i];

}

  }

}

字符串转换为十进制的数字:eg:“12”==》12

                              (‘1’-‘0’)*10+(‘2’-‘0’)

     转换为十六进制的数字:eg:“12”==》

                               (‘1’-‘0’)*16+(‘2’-‘0’)

补充:getchar形式只能输入一个字符,而gets形式可以输入一个字符串。

      Char a; a=getchar;                char a[80]; gets(a);

             Putchar(a);                         puts(a);

函数:

函数的基本形式:

返回值类型 函数名( )

{

}

函数的两种书写形式:

1.                                          

#include<stdio.h>

#include<math.h>

void one();

int main(void)

{

       one();

       return 0;

}

void one()

{

       printf("请选择你所需要的功能\n");

       printf("1.信息录入。\n");

       printf("2.信息浏览。\n");

       printf("3.信息查询。\n");

}

2. #include<stdio.h>

#include<math.h>

(这里没有void one();)

void one() {这里要写在前面}

{

       printf("请选择你所需要的功能\n");

       printf("1.信息录入。\n");

       printf("2.信息浏览。\n");

       printf("3.信息查询。\n");

      

}

int main(void)

{

       one();

       return 0;

}

结构

计算机中的错误点:

基本形式:#include<stdio.h>

          #include<math.h>

          Main()

          {

              Scranf(“ “)

          }

Scanf语句中为double形式的用%lf表示

Scanf语句中为int形式的用%d表示

Scanf中没有%,2lf这种形式,因为不能控制用户的输入数据,而printf中则有这种形式

除结尾外,printf中都要输入\n

每一个句子都要有一个printf

Scanf中一定要有&,否则答案为0

Printf(“%d=%d*%d”,a,b,c) 其中a代表第一个%d,b代表第二个%d,c代表第三个%d

(48%10) 去掉十位上的数 4 得48%10=8

(48/10) 去掉个位上的数 8 得48/10=4

如果多个数相加,且加减号交替改变,用:flag=-flag

格式:12:02:00    “%02d: %02d:%02d”

字符串输入用%s,后面变量用数组名就行了,不需要&:

long long birthday;

scanf("%s%lld%s",s[i].name,&s[i].birthday,s[i].number);

%02d表示输出的数如果不满足2位数,就在左侧不0

%.2lf表示保留2位小数

for(fahr=lower;fahr<=upper;fahr=fahr+2)不能写出for(fahr=lower;fahr<=upper;fahr+2)

回车键也算一个字符

函数传入数组:

Int a[10];

Int fun(b[ ],10)

函数的递归:函数自身调用自身

Eg: void fun()

    {  printf(“111”);   fun( )};

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值