程序设计入门——C语言学习笔记Lecture 1


  本系列文章是C语言的学习笔记,所看课程为浙大翁凯老师的MOOC: 程序设计入门——C语言以及 C语言程序设计进阶

Lecture 1 引言&计算

1. 解释语言VS编程语言

语言本无编程/解释之分,常见执行方式而已
C语言:编译 确定的运算性能
Python:解释 特殊的计算能力
目前已无本质区别
指针是C语言的灵魂

2. 一般程序框架

include <stdio.h>
int main()
{
	//在此输入你的程序
	return 0;
}

3. 做计算/输出

printf("%d\n", 23+43);
//%d说明后面有一个整数要输出在这个位置上
printf("23+43=%d\n", 23+43);

4. 变量

变量是一个保存数据的地方
变量定义:<类型名称><变量名称>;(注意英文分号)
int price;
int amount;
int price, amount;
变量初始化:<类型名称><变量名称> = <初始值>;
int price = 0;
int amount = 100;
int price = 0, amount = 100;

5. 读整数

scanf("%d", &price);
//读入下一个整数,读到的结果赋值给变量price,注意price前面的&

实例:单位换算,将输入的身高单位由英尺英寸换成米
换算公式:(foot + inch / 12)*0.3048)
5英尺7英寸= 1.701800米

//height.c
#include <stdio.h>
int main()
{
	printf("请分别输入身高的英尺和英寸,如输入\"5 7\"表示5英尺7英寸:");
	
	int foot = 0, inch = 0;  
	scanf("%d %d", &foot, &inch);
	//改正方式1如下 
	//double foot = 0, inch = 0;
	//scanf("%lf %lf", &foot, &inch);
	
	printf("身高是%f米。\n", ((foot + inch / 12)*0.3048));
	//改正方式2如下 
	//printf("身高是%f米。\n", ((foot + inch / 12.0)*0.3048));
	
	
	return 0;	 
}

scanf()读入数据时:
%f告诉编译器scanf()在该地址存储一个float类型数据
%lf告诉编译器scanf()在该地址存储一个double类型数据

printf()输出数据时
编译器将float参数自动转换为double类型,%f与%lf效果相同,printf()无法区分floatdouble%f仅仅表示要输出的数据是浮点型,而编译器按照规定默认输出浮点型中的double类型。

运行结果与实际不符,经调试发现inch对身高不起作用
原因:两个整数的运算结果只能是整数(小数部分被舍弃)
改正方式:程序注释中给出了两种方法

double型变量读写格式如下:
double a=0;
scanf ("%lf", &a);
printf("%f", a);

6. 结合关系

一般加、减、乘、除、取余 自左向右
单目±(对单个数取正负)和赋值= 自右向左
单目运算优先级要高于算数运算

7. 复合赋值

  • + = += = -=
    t o t a l + = 5 ; total += 5; (注意+=中间不要有空格) t o t a l = t o t a l + 5 ; \Leftrightarrow total = total + 5;
  • 递增递减运算符
    c o u n t + + ; c o u n t + = 1 ; c o u n t = c o u n t + 1 ; count++; \Leftrightarrow count += 1; \Leftrightarrow count = count + 1;
    在这里插入图片描述
实例演示
#include <stdio.h>

int main()
{
	int a = 10, b = 10;
	
	printf("a++ = %d\n", a++);
	printf("a = %d\n", a);
	
	printf("\n");
	
	printf("++b = %d\n", ++b);
	printf("b = %d\n", b);
	
	return 0;
}
运行结果:
a++ = 10
a = 11

++b = 11
b = 11
发布了54 篇原创文章 · 获赞 100 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43871127/article/details/104244729