C语言【基础编程练习】—从入门到“入土”

目录的符号及表征
🐟:涉及到新语句,语法
👀:学方法
⭐:重点
🕸:新知识
👣:有待改进

以下内容,都是近期通过视频、书籍、和小伙伴讨论总结所得,希望能够帮助到大家。如果有错误之处,或者其他更简便的方法,欢迎在评论区留言。

1.入门

1.1:打印"Hello world!"

//#include <stdio.h> 预处理指令,包含另一个文件(提供键盘输入输出)
#include <stdio.h>
//main:总是被第一个调用的函数,int main 组成函数语句
int main(void)  
{
   
	printf("Hello world!");
	return 0;
}

1.2:英尺的转换

#include <stdio.h>

int main(void)
{
   
    int yingchi,yingcun;
    
    printf("请输入:");
    scanf("%d %d", &yingchi, &yingcun);
    
//转换公式:(英尺+英寸/12)*0.3048
    printf("最终身高:%f",(yingchi+yingcun/12.0)*0.3048);

    return 0;
}

注意1:变量的名称更易理解
注意2:浮点数的使用,做除法时要尤为注意。yingcun/12 是取整运算,小数部分会舍去;yingcun/12.0,double类型8个字节,默认输出6位小数,(控制输出n位数,%.nlf即可)

1.3 :switch-case语句🐟

#include <stdio.h>
int main(void)
{
   
	int type;
	scanf("%d",&type);
	
//switch语句
	switch(type)
	{
   
		case 1:
			printf("Hello!");
			break;
		case 2:
			printf("Good!");
			break;
		default:
			printf("What?");
			break;
	}
	return 0;
}

注意:每个case语句后须有break,否则程序会继续向下进行,直到遇到break为止
更详细内容可浏览:wretchedme

适用于:当要选择的分支过多时,if-else结构太长。同时switch(variable)的变量类型只能是char/int,若为其他类型,进行转换后使用
参考自:suxiang198

1.4:分段函数

题目:

f(x)= -1 x<0
f(x) =0 x=0
f(x)=2*x x>0

#include <stdio.h>
int main(void)
{
   
    int x;
    int f;
    scanf("%d",&x);
    
//if-else分支
    if(x<0){
   
        f=-1;
    }
    else if(x==0){
   
        f=0;
    }
    else{
   
        f=2*x;
    }
    printf("%d",f);

    return 0;
}

1.5:数字比较大小

#include <stdio.h>
int main(void)
{
   
    int a,b,c;
    int max;
    scanf("%d %d %d",&a,&b,&c);

//第一大类:a>b---a>c,a<=c
    if(a>b){
   
        if(a>c){
   
            max=a;
        }
        else{
   
            max=c;
        }
    }
    
//第二大类:a<=b--b>c,b<=c    
    else{
   
        if(b>c){
   
           max=b;
        }
        else{
   
            max=c;
        }
    }

    printf("%d",max);
    return 0;
}


注意:在书写代码前,合理使用结构图,理清三者大小关系

1.6:do-while循环—计算数字位数🐟

int main(void)
{
   
    int x;
    int n=0;
    scanf("%d",&x);
    
//do-while循环体
    do{
   
        x/=10;
        n++;
    }while(x>0);

    printf("%d",n);
    return 0;
}

注意:do-while:无论第一次执行时,条件是否符合,都会执行一次;while循环,第一次符合条件时,才会执行

适用范围:
do-while:必须执行1次
for:有固定的次数
while:其他

1.7:随机数函数—猜数游戏🐟

#include <stdio.h>

//下面两个是产生随机数的头文件
#include <stdlib.h>
#include <time.h>

int main(void)
{
   
    srand(time(0));
    
//产生随机数
    int number=rand()%100+1;
    int count=0;
    int a=0;

    printf("我已经想好了一个1到100之间的数");

//do-while循环进入猜数环节
    do{
   
        printf("请猜这个1到100之间的数:");
        scanf("%d",&a);
        count++;
        if(a>number){
   
            printf("你猜的数大了");
        }
        else if(a<number){
   
            printf("你猜的数小了");
        }
    }while(a!=number);

    printf("太好了,你用了%d次就猜到了答案。\n",count);

    return 0;
}

随机数:rand()、srand()函数在include <stdlib.h>头文件中

rand:为生成[m,n]区间的整数,用公式:rand()%(n-m+1)+m,它自己使用是伪随机数,结合srand()才可实现随机功能

srand:要产生随机种子,可以用" srand(time(0));"这个语句.

time()函数:是包含在头文件 time.h 中其功能是返回一个从1970.1.1 00.00.00 到现在的秒数。因为每次运行的时间不同,因此产生的随机种子也不同,这样就保证运行时可以得到不同的随机序列。
参考自:辉小歌polyhedronx

1.8:求平均数

#include <stdio.h>
int main(void)
{
   
    int average;
    int n=0;
    int x;
    int s=0;

   scanf("%d",&x);
   while(x!=-1){
   
        s+=x;
        n++;
        scanf("%d",&x);
    }
    average=s/n;

	printf("%d",average);
	return 0;
}

注意:
连续加时:初始变量为0.例如本例中 s=0
连续乘时:初始变量为1
进而保证运算的准确性

1.9:log对数的运算👣

暂时只适用于计算log以2为底x的对数=2,4,8,16…这种

#include <stdio.h>

int 
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值