C语言基础

这篇博客详细介绍了C语言的基础知识,包括变量定义、赋值、输入、常量与变量、浮点数、表达式、运算符优先级、分支结构(如if-else)、循环结构(如while、for)以及循环控制等。同时,提供了多个示例代码,如时间差计算、找零计算器、猜数游戏、算平均数、整数逆序、分解整数和求最大公约数等,适合C语言初学者学习。
摘要由CSDN通过智能技术生成

程序的执行

解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行

编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言——机器语言——写的程序,然后,这个机器语言写的程序就能直接执行了

C程序框架:

#include <stdio.h>

int main(int argc, char **argv) {

	return 0;
}

 辗转相除法:

#include<stdio.h>
int main() {
	/*int u = 32;
	int v = 26;*/

	int u, v;
	scanf("%d%d", &u, &v);

	while (v != 0) {
		int temp = u % v;
		u = v;
		v = temp;
	}
	printf("%d", u);

	return 0;
}

 

2.1.2变量定义

#include <stdio.h>

int main() {
	int price = 0;	//定义了一个变量。变量名是price,类型是int,初值是0.
	                //变量是一个保存数据的地方.
	                //需要在程序中保存数据时,比如上面的例子要记录用户输入的价格,就需要一个变量来保存它. 
	                //用一个变量保存了数据,它才能参加后面的找零计算. 
	                
	                //变量定义的一般形式:
					// <类型名称><变量名称>; 
					// int price; 
					// int amount;
					// int price,amount;
					
					//变量的名字: 
					// 变量需要一个名字,变量的名字是一种“标识符”,意思是它是用来标识这个与那个的不同名字. 
					/* 标识符有标识符的构造规则.基本原则是:标识符只能由字母、数字、下划线组
                       成,数字不能出现在第一个位置.C语言的关键字(也叫保留字)不能做标识符.
                     */ 

	printf("请输入金额(元):");
	scanf("%d", &price);
	
	int change = 100 - price;
	
	printf("找您%d元。\n", change); 
	
	return 0;
 } 

2.1.3变量赋值与初始化 

#include <stdio.h> 

int main()
{
	
	int price = 0;  //price = 0是一个式子,“= ”是一个赋值运算,表示将=右边的值赋给左边的变量. 
	                
					//赋值:在程序设计中,a=b表示要求计算机做一个动作:将b的值赋给a.关系是静态的, 
	                //      而动作是动态的.在数学中a=b等价于b=a,在程序设计中二者意思完全相反. 
	                //初始化:当赋值发生在定义变量时,就像 price = 0,就是变量的初始化.所有的变量 
	                //      在第一次使用(出现在赋值运算符的右边)之前应该赋值一次.	 
	
	printf("请输入金额(元):");
	scanf("%d", &price); //读整数
	
	int change = 100 - price;
	
	printf("找您%d元。\n", change);
	
	return 0; 
} 

2.1.4变量输入 

#include <studio.h>

int main()
{
	int price = 0;
	
	printf("请输入金额(元):");
	scanf("%d", &price);  //读整数:要求scanf这个函数读入下一个整数,读到的结果是赋值给变量price 
	                      //小心price前面的& 
	
	int change = 100 - price;
	
	printf("找您%d元. \n", change);
	
	return 0;
 } 

 2.1.5常量与变量

#include <stdio.h>

int main() 
{
	//const int Amount = 100;   
    //const是一个修饰符,加在int前面,用来给这个变量加上一个const(不变的)的属性。
    //这个const的属性表示这个变量的值一旦初始化,就不能再修改了。
    //用const了,Amount应该大写
	
    int amount = 100;
    int price = 0;

	printf("请输入金额(元):");
	scanf("%d", &price);

	
	//int change = 100 - price;     //固定不变的数,是常数。直接写在程序里,称为直接量(literal)
    int change = amount - price; 	//更好的方式是,定义一个常量:const int AMOUNT = 100;

	printf("找您%d元。\n", change);

	return 0;
}
#include <stdio.h>

int main() {
	int a;
	int b;

	printf("请输入两个整数:");
	scanf("%d %d", &a, &b);
	printf("%d + %d = %d\n", a, b, a + b);

	return 0;
}

2.1.6浮点数

单位换算:

#include<stdio.h>

//两个整数运算结果只能是整数。10和10.0在C中是完全不同的数。10.0是浮点数。 
//浮点数:带小数点的数值 
//double:双精度浮点数 

/*数据类型
整型:
     int
     printf("%d", ...);
     scanf("%d", ...);

小数:
     double
     printf("%f", ...);
     scanf("%lf", ...);
*/

int main()
{
printf("请分别输入身高的英尺和英寸,"
    "如输入\"5 7\"表示5英尺7英寸:"); 

double foot;
double inch;

scanf("%lf %lf", &foot, &inch);

printf("身高是%f米. \n",
      ((foot + inch / 12) * 0.3048));

return 0;
}

2.2.1表达式

#include <stdio.h>

//一个表达式是一系列运算符(operator)和算子(operand)的组合,用来计算一个值

/*计算时间差
  hourl * 60 + minuterl : 转换为分钟为单位
  t / 60 : 小时部分
  t % 60 :分钟
*/

int main() {
    int hour1, minuter1;
    int hour2, minuter2;

    scanf("%d %d", &hour1, &minuter1);
    scanf("%d %d", &hour2, &minuter2);

    int t1 = hour1 * 60 + minuter1;
    int t2 = hour2 * 60 + minuter2;
    int t = t2 - t1;

    printf("时间差为 % d小时 % d分", t / 60, t % 60);
}

2.2.2运算符优先级

 #include <stdio.h>

//求两数平均值

int main() {

    int a, b;
    scanf("%d %d", &a, &b);
    double c = (a + b) / 2.0;
    ptintf("%d和%d的平均值 = %f\n", a, b, c);

    return 0;
}

2.2.3交换变量

法一:临时变量

法二:不用临时变量 

2.2.4复合赋值与递增递减

1.复合赋值

5个算术运算符, + -*/ % ,可以和赋值运算符“ = ”结合起来,形成复合赋值运算符:“ += ”、“ -= ”、“ *= ”、“ /= ”和“ %= ” 
total += 5;
total = total + 5;
注意两个运算符中间不要有空格

代码:

#include <stdio.h>

int main() {
    int a = 10;

    printf("++a = %d\n", ++a);
    printf("a = %d\n", a);

    printf("a++ = %d\n", a++);
    printf("a = %d\n", a);

    return 0;
}

输出:

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值