芋泥分享C语言笔记(一)

本文介绍了C语言编程的基础知识,包括编译器推荐(VisualStudio2022)、创建项目和源文件的步骤、第一个C语言程序示例、main函数的作用、printf库函数的使用以及字符和ASCII编码的概念。
摘要由CSDN通过智能技术生成

前言

点进来可就要好好学习咯,这是芋泥在比特鹏哥的课堂上做的笔记,这篇是对知识点进行概念的整理,如果你有所收获,我会很开心的,如果有什么逻辑不清晰的地方,也希望你能帮我指正指正。

目录

一.编译器的选择

创建新项目的流程

创建源文件的流程

二.第一个C语言程序

三.main函数

四.库函数 

1.printf函数

2.库函数

五.关键字介绍  

六.字符和ASCII编码

 1.字符

2.ASCII码表


一.编译器的选择

  • 推荐使用Vs2022,还不会下载和安装的宝子看过来

b站http://【vs2022(Visual Studio 2022)权威指南&&C语言&&软件工程开发的方向&&技巧要领】https://www.bilibili.com/video/BV1Xt411g7jT?vd_source=74ea424242b5ec910557ac52d3fbf319

Vs2022下载链接https://visualstudio.microsoft.com/zh-hans/downloads/

  • 创建新项目的流程

  • 创建源文件的流程

Tips

  1. xxx.c是源文件         xxx.h是头文件
  2. .c--C语言的源文件的后缀
  3. .cpp--C++源文件的后缀        

二.第一个C语言程序

#include<stdio.h>
int main()
{
     printf("hello C\n");
     return 0;
}

 程序运行的结果

三.main函数

1. 每个C语言程序不管有多少行代码,都是从main函数开始执行的,main函数是程序的入口,main函数也被叫做:主函数。main前面的int表示main函数执行结束的时候返回一个整型类型的值。所以在main函数的最后写return 0; 正好前后呼应。

  • main函数是程序的入口
  • main函数有且仅有⼀个
  • 即使⼀个项目中有多个.c文件,但是只能有⼀个main函数(因为程序的入口只能有⼀个)

2. 第一次写代码,一些常见的错误总结

  • main 被写成了mian
  • main后边的()漏掉了
  • 代码中不能使用中文符号,比如括号和分号
  • ⼀条语句结束后,有分号

四.库函数 

1.printf函数

  • printf("hello C\n");

代码中使用了printf函数,实现了在屏幕上的信息打印

这里简单介绍一下printf,printf是一个库函数它的功能是在标准输出设备(一般指屏幕)上进行信息的打印。上面的代码是使用printf函数打印的字符串,只要把想打印的一串字符放在双引号中并传递给printf函数就可以打印

 注意

  •  #include<stdio.h>

1. printf是库函数,库函数的使用得包括对应头文件,如果缺少这行代码,运行时会报错

2.printf函数的头文件是stdio.h--标准输入输出头文件

   std — standard     i — input    o — output

2.库函数

 为了不再重复实现常见的代码,让程序员提升开发效率,C语言标准规定了一组函数,这些函数再由不同的编译器厂商根据标准进行实现,提供给程序员使用。这些函数组成了一个函数库,被称为标准库,这些函数也被称为库函数。在这些基础上一些编译器厂商可能会额外扩展提供部分函数(这些函数其他编译器不一定支持)。

一个系列的库函数一般会声明在同一个头文件中,所以,库函数的使用要包含对应的头文件

库函数比较多,想了解更多可以参考链接:https://cplusplus.com/reference/clibrary/

五.关键字介绍  

1.C语言中有一批保留的名字的符号,比如: int ifreturn、这些符号被称为保留字或者关键字

  • 关键字都有特殊的意义,是保留给C语言使用的
  •  程序员自己在创建标识符的时候是不能和关键字重复的
  • 关键字也是不能自己创建的

C语言的32个关键字

  1. auto  break  case  char  const  continue  default  do  double  else  enum  extern
  2. float  for  goto  if  int  long  register  return  short  signed  sizeof   static
  3. struct  switch  typedef  union  unsigned  void  volatile  while

 几个常见的基本关键字

 C语言关键字的全部介绍:https://zh.cppreference.com/w/c/keyword

六.字符和ASCII编码

 1.字符

在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语言中字符是用
引号括起来的,如:'a''b''@'

2.ASCII码表

我们不需要记住每个ASCII码表的数字,使用时查看就可以
不过我们最好能掌握几组特殊的数据
  • 字符A~Z的ASCII码值从65~90
  •  字符a~z的ASCII码值从97~122
  • 对应的大小写字符(a和A)的ASCII码值的差值是32
  •  数字字符0~9的ASCII码值从48~57
  •  换行 \n 的ASCII值是:10
  • 在这些字符中ASCII码值从0~31 这32个字符是不可打印字符,无法打印在屏幕上观察

好的,我可以提供一个简单的 C 语言问卷统计程序。 假设我们要进行一个简单的问卷调查,包含以下几个问题: 1. 你的年龄是多少? 2. 你的性别是? 3. 你最喜欢的颜色是什么? 4. 你最喜欢的运动是什么? 我们可以定义一个结构体,用于存储每个人的问卷答案: ```c typedef struct { int age; // 年龄 char gender; // 性别,'M' 表示男性,'F' 表示女性 char color[10]; // 最喜欢的颜色 char sport[10]; // 最喜欢的运动 } Answer; ``` 接下来,我们可以定义一个函数,用于输入每个人的问卷答案: ```c void input(Answer *ans, int n) { int i; for (i = 0; i < n; i++) { printf("请输入第 %d 个人的问卷答案:\n", i + 1); printf("年龄:"); scanf("%d", &ans[i].age); printf("性别(M/F):"); scanf(" %c", &ans[i].gender); printf("最喜欢的颜色:"); scanf("%s", ans[i].color); printf("最喜欢的运动:"); scanf("%s", ans[i].sport); } } ``` 接着,我们可以定义一个函数,用于统计问卷答案: ```c void count(Answer *ans, int n, int *age_count, int *gender_count, int *color_count, int *sport_count) { int i; for (i = 0; i < n; i++) { // 统计年龄 if (ans[i].age < 18) { age_count[0]++; } else if (ans[i].age < 30) { age_count[1]++; } else if (ans[i].age < 50) { age_count[2]++; } else { age_count[3]++; } // 统计性别 if (ans[i].gender == 'M') { gender_count[0]++; } else { gender_count[1]++; } // 统计颜色 if (strcmp(ans[i].color, "red") == 0) { color_count[0]++; } else if (strcmp(ans[i].color, "green") == 0) { color_count[1]++; } else if (strcmp(ans[i].color, "blue") == 0) { color_count[2]++; } else { color_count[3]++; } // 统计运动 if (strcmp(ans[i].sport, "basketball") == 0) { sport_count[0]++; } else if (strcmp(ans[i].sport, "football") == 0) { sport_count[1]++; } else if (strcmp(ans[i].sport, "swimming") == 0) { sport_count[2]++; } else { sport_count[3]++; } } } ``` 其中,`age_count`、`gender_count`、`color_count` 和 `sport_count` 分别表示不同问题的答案统计结果。 最后,我们可以在 `main` 函数中调用上述函数,实现问卷答案的统计: ```c int main() { int n; // 问卷调查的人数 printf("请输入问卷调查的人数:"); scanf("%d", &n); Answer *ans = (Answer *) malloc(n * sizeof(Answer)); // 分配问卷答案结构体数组的内存空间 input(ans, n); // 输入问卷答案 int age_count[4] = {0}; // 初始化年龄统计结果 int gender_count[2] = {0}; // 初始化性别统计结果 int color_count[4] = {0}; // 初始化颜色统计结果 int sport_count[4] = {0}; // 初始化运动统计结果 count(ans, n, age_count, gender_count, color_count, sport_count); // 统计问卷答案 // 输出各问题的答案统计结果 printf("年龄统计:\n"); printf("<18:%d\n", age_count[0]); printf("18~30:%d\n", age_count[1]); printf("30~50:%d\n", age_count[2]); printf(">50:%d\n", age_count[3]); printf("性别统计:\n"); printf("男性:%d\n", gender_count[0]); printf("女性:%d\n", gender_count[1]); printf("颜色统计:\n"); printf("红色:%d\n", color_count[0]); printf("绿色:%d\n", color_count[1]); printf("蓝色:%d\n", color_count[2]); printf("其他:%d\n", color_count[3]); printf("运动统计:\n"); printf("篮球:%d\n", sport_count[0]); printf("足球:%d\n", sport_count[1]); printf("游泳:%d\n", sport_count[2]); printf("其他:%d\n", sport_count[3]); free(ans); // 释放问卷答案结构体数组的内存空间 return 0; } ``` 以上代码仅供参考,实际应用中还需要根据具体需求进行修改和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值