隐式转换:(自动类型转换)在一个类型赋值给另一个类型时会自动进行变换。例如:将int转换为long或者short
显式转换(强制类型转换)
从浮点型到整型会丢失精度。
int a = 10;
double b = a; // 隐式转换
double c = (double)a; // 显式转换
顺序结构:
书写顺序逐行执行。
print("Hello")
print("World")
选择结构:
根据条件的真假选择执行不同的代码块。
if(a==b){
return0;
}else{
return-1;
}
循环结构:
重复执行某段代码,直到满足特定条件。
while(1){
}
for(int i=0;i<9;i++){
return 0;
}
do{
return 0;
}while(1);
while循环 for循环 do---while--循环
while(1){
return 0;
}
for(int i=0;i<9;i++){
return 0;
}
do{
return 0;
}while(1);
break
用于退出循环,执行循环后面的代码。而 continue
用于跳过本次循环,并继续执行下一次循环。
数组通过变量名后加方括号,方括号里给出数组长度
int arr[5] ;
#define NUM 5
int a[NUM];
数组在声明时给出大括号赋值
int arr[ ] = {1, 2, 3, 4, 5};
int arr[5] = {1, 2, 3, 4, 5};
指针:是一种特殊的变量类型,用于存储内存地址
指针变量:一个变量用来存放指针。只能存放同类型的地址
* 用来解指针,取值的。int*a定义变量时,*是指针的意思。
int num = 10;
:声明整型变量num
,初始化为 10。
int *ptr;
:声明指向整型的指针ptr
。
& 用来取指针,取地址的。
ptr = #
:使用&
运算符获取num
的地址,并将其赋值给指针ptr
。
指针步长:是通过递增或递减进行操作,指针所指向的内存地址相对于当前内存地址的偏移量。
//BMI身高质量指数
#include<stdio.h>
int main() {
float kg, m, bmi;
printf("请输入体重和身高:\n");
scanf_s("%f %f", &kg, &m);
bmi = kg / (m * m);
printf("%.2f\n", bmi);
if (bmi < 18.5) {
printf("过轻");
}
else if (bmi >= 18.5 && bmi <= 24.9999) {
printf("正常");
}
else if (bmi >= 25 && bmi <= 27.9999) {
printf("过重");
}
else if (bmi >= 28 && bmi <= 32) {
printf("肥胖");
}
else if (bmi > 32) {
printf("非常肥胖");
}
else {
printf("输入有误请重新输入");
}
return 0;
}
#include<stdio.h>
#include<string.h>
int main() {
char s1[] = "html";
char s2[] = "css";
char s3[] = "JavaScript";
printf("请问你会html技术吗?(yes/no): ");
scanf_s("%s", s1);
printf("请问你会css技术吗?(yes/no): ");
scanf_s("%s", s2);
printf("请问你会JavaScript技术吗?(yes/no): ");
scanf_s("%s", s3);
if (strcmp(s1, "yes") == 0 && strcmp(s2, "yes") == 0 && strcmp(s3, "yes") == 0) {
printf("面试成功,欢迎加入公司。\n");
}
else {
printf("面试不成功,不能加入公司。\n");
}
return 0;
}
#include<stdio.h>
int main() {
for (int i = 2;i < 100;i++) {
for (int j = 2;j <= i;j++) {
if (j == i)printf("%d是质数\n", i);
if (i % j == 0)break;
}
}
return 0;
}
//求阶乘
#include<stdio.h>
int main() {
int jiec;
jiec = 1;
for (int i = 1;i <= 10;i++) {
jiec *= i;
}
printf("%d", jiec);
return jiec;
}
//求阶乘的和
#include<stdio.h>
int jc(i) {
int jiec;
jiec = 1;
int sum = 0;
for (int i = 1;i <= 10;i++) {
jiec *= i;
}
return jiec;
}
int main() {
int sum = 0;
for (int i = 1;i <= 10;i++) {
sum += jc(i);
}
printf("%d", sum);
return 0;
}
#include <stdio.h>
void checkUser() {
char username[20];
char password[20];
int count = 0;
while (count < 5) {
printf("请输入用户名:");
scanf_s("%s", username, 20);
printf("请输入密码:");
scanf_s("%s", password, 20);
int isname = 1;
int isPassword = 1;
//判断账户
for (int i = 0; username[i] != '\0' && i < 5; i++) {
if (username[i] != "admin"[i]) {
isname = 0;
break;
}
}
//判断密码
for (int i = 0; password[i] != '\0' && i < 6; i++) {
if (password[i] != "123456"[i]) {
isPassword = 0;
break;
}
}
if (isname && isPassword) {
printf("开门成功!\n");
break;
}
count++;
if (count == 5) {
printf("锁住了,6秒后再试\n");
int time = 6;
while (time)
{
printf("\r倒计时%d秒", time);
fflush(stdout);
Sleep(1000);
time--;
}
printf("\n时间到了\n");
count = 0;
}
}
}
int main() {
checkUser();
return 0;
}