在Linux环境下显示helloworld
先建立一个源文件,取名为 helloworld.c
helloworld.c 为源文件
编辑内容:
接下来对源文件进行编译
gcc helloworld.c 为编译过程
默认生成编译文件名为a.out(可执行文件)
执行用 ./a.out 直接运行文件即可
gcc helloworld.c -o hello 编译helloworld生成名为hello的文件
编译后会生成两个文件
源程序中:
#include <stdio.h> 是一个文件,在C语言中称为头文件,里面有些函数提供给我们直接使用。
main() 称为主函数,是C语言中默认的入口函数,在默认情况下运行程序时系统会先调用程序中的main函数。
注释:
// 单行注释
/*
多行注释
*/
1. 基本数据类型
%d 整数
%f 小数
打印个人信息:
#include <stdio.h>
int main(){
printf("姓名:张三\n");
8 printf("年龄:%d岁\n",25);
printf("身高:%dcm\n",175);
printf("体重:%dkg\n",60);
printf("体温:%f度\n",37.5);
return 0;
}
结果为:
姓名:张三
年龄:25岁
身高:175cm
体重:60kg
体温:37.500000度
2. 运算符
算数运算符
算数运算符 | 表示为 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 取余 |
求10000秒是几小时几分钟几秒:
#include <stdio.h>
int main(){
printf("%d小时\n",10000/3600);
printf("%d分钟\n",10000%3600/60);
printf("%d秒\n",10000%60);
return 0;
}
结果为:
2小时
46分钟
40秒
关系运算符
关系运算符 | 表示为 |
---|---|
> | 大于 |
< | 小于 |
== | 等于 |
!= | 不等于 |
>= | 大于等于 |
<= | 小于等于 |
判断奇偶,判断是否能整除:
#include <stdio.h>
int main(){
printf("%d\n",93%2 == 0);
printf("%d\n",93%7 == 0);
return 0;
}
结果为:
0
0
注意:
C语言中不能连等,1<100<10 会判断为1
因为 1<100 的结果是真为1,进而 1<10 的结果真为1
逻辑运算符
与 &&
或 ||
非 !
所以:
要想判断1<100<10是否成立应书写为:
1<100 && 100<10
比较运算和逻辑运算结果:成立(真)为1,不成立(假)为0
闰年判断,2021年是否为闰年:
#include <stdio.h>
int main(){
printf("%d\n",2021%4 == 0 && 2021%100 != 0 || 2021%400 == 0);
return 0;
}
结果为:
0
三角构成,给三个边,是否能构成三角形:
#include <stdio.h>
int main(){
printf("%d\n",10+20>23 && 10+23>20 && 20+23>10);
return 0;
}
结果为:
1
优先级
! > 算术运算符 > 关系运算符 > && > ||
括号能改变优先级
优先级学习,看看结果是多少:
#include <stdio.h>
int main(){
printf("%d\n",!100+10);
printf("%d\n",!0+10);
return 0;
}
结果为:
10
11
3. 变量
变量名、赋值、初始化
类型 变量名;
int a;
float b;
赋值:=
a = 10;
b = 1.2;
10000秒是 多少小时 多少分钟 多少秒:
#include <stdio.h>
int main(){
int s;
s = 10000;
printf("%d小时\n",s/3600);
printf("%d分钟\n",s%3600/60);
printf("%d秒\n",s%60);
return 0;
}
其中s为变量
初始化: 生成变量时就赋了值
10000秒是 多少小时 多少分钟 多少秒:
#include <stdio.h>
int main(){
int s = 10000;
printf("%d小时\n",s/3600);
printf("%d分钟\n",s%3600/60);
printf("%d秒\n",s%60);
return 0;
}
变量既要要定义也要赋值
华氏温度转摄氏度:
F=C*1.8+32
C=(F-32)/1.8
#include <stdio.h>
int main(){
int C = 36;
float F;
F = C*1.8+32;
printf("%f\n",F);
return 0;
}
结果为:
96.800003
变量交换
x和y的值交换:
#include <stdio.h>
int main(){
int x=1;
int y=2;
int z;
z = x;
x = y;
y = z;
printf("x=%d y=%d\n",x,y);
return 0;
}
结果为:
x=2 y=1
变量命名:
- 字母、数字、下划线
- 开头必须是字母和下划线
- 区分大小写
- 不能使用C语言关键字
4. 输入
输入n,输出n:
#include <stdio.h>
int main(){
int n;
scanf("%d",&n);
printf("n=%d\n",n);
return 0;
}
结果为:
234
n=234
判断年份是否是闰年:
#include <stdio.h>
int main(){
int year;
printf("本程序用于判断年份是否是闰年\n");
printf("请输入年份");
scanf("%d",&year);
printf("%d年是否是闰年(1闰年,0平年)%d\n",year,year%4 == 0 && year%100 != 0 || year%400 == 0);
return 0;
}
结果为:
本程序用于判断年份是否是闰年
请输入年份2021
2021年是否是闰年(1闰年,0平年):0
计算两个数的和差积商余:
#include <stdio.h>
int main(){
int a;
int b;
printf("请输入两个整数\n");
scanf("%d",&a);
scanf("%d",&b);
printf("和为:%d\n",a+b);
printf("差为:%d\n",a-b);
printf("积为:%d\n",a*b);
printf("商为:%d\n",a/b);
printf("余为:%d\n",a%b);
return 0;
}
结果为:
请输入两个整数
10
3
和为:13
差为:7
积为:30
商为:3
余为:1
输入一个年月日组成的数字,按照XXXX年XX月XX日打印出来:
#include <stdio.h>
int main(){
int date;
scanf("%d",&date);
int year = date/10000;
int mouth = date%10000/100;
int day = date%100;
printf("%d年%d月%d日\n",year,mouth,day);
return 0;
}
结果为:
20210305
2021年3月5日
5. 灵活用语法
-
多变量动作
多个变量同时定义 int a,b;
多个变量同时赋相同的值 a=b=10;
多个变量同时初始化 int a=10,b=2; -
自加 / 自减
C+=A相当于C=C+A -
自加1 / 自减1
前缀自增/自减 ++A相当于A=A+1
后缀自增/自减 A++ 进行两步:
1.A的值+1
2.A++的值不变
优先级高于算术运算符
无奖知识问答:
请听题:
i=1,j=2
k = i++ + ++j + i++
问k=?
提示:1+3+2