初识c语言

本文介绍了C语言的基本概念,包括它的定义、简单的程序示例、数据类型如整型、浮点型等,以及变量的定义、命名、分类和使用。接着,文章讲解了字符串、循环语句、选择语句、函数的应用,还涉及到数组、操作符、关键字、指针和结构体等内容,是学习C语言的基础教程。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

         前言

         一、C语言是什么?

         二、第一个简单C语言程序。

三、数据类型

四、变量和常量

4.1 变量定义方法

4.2 变量命名

4.3 变量的分类

4.4 变量的使用

4.5 变量的作用域和生命周期

4.6 常量

五、字符串和转义字符

5.1  字符串

5.2  转义字符

六、 循环语句和选择语句

   6.1 选择语句

6.2 循环语句

七、函数

八、数组

8.1 数组的定义

8.2 数组的下标

8.3 数组的使用

九、 操作符

    9.1 算术运算符

    9.3 关系操作符

    9.4 逻辑操作符

    9.5 条件操作符

十、关键字

    10.1 常见关键字

     10.2关键字typedef

     10.3关键字static

十一、指针

  11.1 内存

  11.2 定义指针

十二、结构体

   12.1 结构体的定义

    12.2 结构体的操作



前言

         初步认识c语言中的程序框架、数据类型、变量、字符串、循环语句和条件语句、函数、数组、指针、结构体。


提示:以下是本篇文章正文内容,下面案例可供参考

一、C语言是什么?

       C语言是一门通用的、面向过程的计算机编程语言,能够与计算机进行交互,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式 编译 、处理低级 存储器 、仅产生少量的 机器码 以及不需要任何运行环境支持便能运行的编程语言。二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制 定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。

二、第一个简单C语言程序。

#include <stdio.h>
int main()//main为程序的入口 ,一个程序有且只能有一个 
{    
	printf("hello bit\n");//printf为一个库函数使用需包含头文件stdio.h 
	return 0;
}

三、数据类型

char                  字符类型 
shout                 短整型 
int                      整型
long                  长整型 
long long          更长的整型
float                  单精度浮点数 
double               双精度浮点数 

类型的使用

  char  ch1;  //类型 变量
  char  ch='a';//类型 变量=初始值 
  int  x=10; 

四、变量和常量

变量:可以变化的值,例如人的年龄、体重。

常量:不可以变化的值,例如人的性别、身份证号。

4.1 变量定义方法

  char  ch1;  //类型 变量
  char  ch='a';//类型 变量=初始值 
  int  x=10;

4.2 变量命名

只能由字母、数字、下划线(_)组成。

注意:不能以数字开头,变量区分大小写,变量名不能使用关键字。

4.3 变量的分类

  • 局部变量
  • 全局变量
#include<stdio.h>
int a=100;//全局变量 
int main
{
	int b=1;//局部变量 
    return 0;
}

注意:当局部变量和全局变量同名时先使用局部变量。

4.4 变量的使用

#include<stdio.h>
int a=100;//全局变量 
int main()
{
	int b;
	//输入2个整数的值 ,&取地址操作符 ,&num1 取出num1的地址
	scanf("%d", &b);
	//打印
	printf("%d\n", b);
	return 0;
}

4.5 变量的作用域和生命周期

作用域:通俗来说就是限制代码的作用范围或代码的可用范围。

  • 局部变量作用域:变量所在局部范围
  • 全局变量作用域:整个程序

生命周期:变量的创建到销毁之间的时间段。

  • 局部变量生命周期:进入作用域生命周期开始,出作用域生命周期结束。
  • 全局变量生命周期:整个程序的生命周期。

4.6 常量

  • 字面长量
  • const修饰的常变量
  • #define定义的标识符常量
  • 枚举常量
#include<stdio.h>
enum sex
{
   male
   female
}//枚举常量male、female,默认从0开始,向下依次增加1
int main()
{
   printf("%d",male);
   printf("%d",female);
     2//字面常量 
   const int a=1;//const修饰常变量 a,不能直接修改,本质还是变量
   #define  max 10//max标识符常量,给常数赋一个名字 
   printf("%d",max);
}

五、字符串和转义字符

5.1  字符串

        字符串:由双引号引起内容的值。

         注意:字符串以\0转义字符为结束标志,在计算字符串长度时不算字符串内容。

#include<stdio.h>
int main()
{
	char ch1[]={'a','b'};
	char ch2[]={'a','b','\0'};
	char ch3[]="ab";
	printf("%s\n",ch1);
	printf("%s\n",ch2);
	printf("%s\n",ch3);
	return 0;
}

5.2  转义字符

    转义字符                    含义

  •      \?                         在书写连续多个问号时使用,防止他们被解析成三字母词
  •      \'                          表示字符常量 ’
  •       \"                        表示一个字符串内部的双引号
  •       \\                        表示一个反斜杠,防止它被解释为一个转义序列符
  •       \a                        警告字符
  •       \b                        退格符
  •        \f                         进纸符
  •        \n                         换行
  •        \r                          回车
  •        \t                           水平制表符
  •        \v                           垂直制表符
  •        \ddd                       d d d表示1~3个八进制的数字
  •         \xdd                       d d表示2个十六进制的数字

六、 循环语句和选择语句

   6.1 选择语句

#include<stdio.h>
int main()
{
	int a;
	scanf("%d",&a);
	if(a==0)//选择
	{
		printf("0000\n");
	}
	esle if(a<0)//选择
	{
		printf("----\n");
	}
	else//选择
	{
		printf("++++\n");
	}
	return 0;
}

6.2 循环语句

  循环:反复做的事,例如:人们日复一日的学习。

  •   while语句
  •   for 语句
  •   do...while语句

   while语句的一般形式为:while(表达式1)循环体

//while循环
#include<stdio.h>
int main()
{
	int a;
	scanf("%d",&a);
    while(a>0)//判断条件
    {
    	printf("太大了");
		a--; 
	}//循环体
	return 0;
}

  for循环

for语句的一般形式为:for(表达式1;表达式2;表达式3)循环体

执行循序:表达式1——表达式2——循环体——表达式三——循环体

常用的for语句的形式:for(循环变量赋初值;循环条件;循环变量增值)循环体

//for循环
#include<stdio.h>
int main()
{
	int a,i;
	scanf("%d",&a);
    for(i=0;i<5;i++)
    {
    	printf("%d\n",a);
    	a--;
	}
	return 0;
}

do...while循环

do while语句的一般形式为:do 循环体 while(表达式)

//do...while循环
#include<stdio.h>
int main()
{
	int a,i;
	scanf("%d",&a);
    do
	{
		printf("%d",a);
		a--
	}
	while(a>0)
	return 0;
}

break; 结束循环,continue跳出本次循环

注意:for循环多用在循环次数已确定的情况,而while循环多用在循环次数不确定的情况。

七、函数

 定义函数 :返回值类型 函数名(变量类型 变量名,变量类型 变量名,....)

调用函数:函数名(变量名,变量名,....)

#include <stdio.h>
int Sum(int x, int y)
{

   return  x+y;
}
int main()
{
   int x;
   int y;
   int sum;
   scanf("%d %d", &x, &y);
   sum = Sum(num1, num2);
   printf("sum = %d\n", sum);
   return 0;
}

八、数组

数组:一组相同数据类型元素的集合

8.1 数组的定义

 int a[5]={1,2,3,4,5};//定义一个 整形数组,最多有5个元素

8.2 数组的下标

数组中每个元素都有下标,下标从零开始,若数组的长度为n,则下标从0到n-1。

8.3 数组的使用

#include <stdio.h>
int main()
{
 int i = 0;
 int arr[5] = {1,2,3,4,5};
 for(i=0; i<5; i++)
 {
    printf("%d ", arr[i]);
 }
 printf("\n");
 return 0; 
}

九、 操作符

    9.1 算术运算符

          +、-、*、/、%

     9.2 赋值操作符

          =  、 += 、 -= 、 *= 、 /= 、 &= 、 ^ =

    9.3 关系操作符

          > 、>=、<、<=、!=(用于条件判断,含义:不相等)、==(用于条件判断,含义:相等)

    9.4 逻辑操作符

          &&(逻辑与)、||(逻辑或)

    9.5 条件操作符

          expl ?exp2(expl为真):exp2(expl为假)
   
          例如:c=a>b ? a:b 意思是如果a>b,c=a,反之则c=b。

十、关键字

    10.1 常见关键字

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

     10.2关键字typedef

             typedef :类型重命名

//将struct pro 重命名为Pro, 所以Pro也是一个类型名
typedef struct pro Pro;

     10.3关键字static

          static是用来修饰变量和函数

  1. 修饰局部变量
  2. 修饰全局变量
  3. 修饰函数
void test()
{
   //static修饰局部变量
   static int i = 0;
   i++;
   printf("%d ", i);
}
  注意:  static修饰局部变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序 结束,生命周期才结束。 
static int a = 2018;//static修饰全局变量
int main()
{
    printf("%d\n", a);
    return 0;
}

注意:static修饰全局变量,使得这个全局变量只能在自身所在文件内使用。

     10.4
static int Sum(int x, int y)

注意:static修饰一个函数,使此函数只能在自身所在文件内使用。

十一、指针

   11.1 内存

          在电脑中,内存是一种重要的存储器,为有效利用内存,便将内存划为一个个内存单元,每个内存单元的大小是一个字节,而为了能够有效访问每个单元,于是给内存单元进行编号,这些编号就是内存单元的地址,

在这里我们所说的内存单元的地址和编号指的就是指针。

取地址

#include <stdio.h>
int main()
{
  int a = 10;
  &a;//取a的地址,a有4个字节,每个字节都有地址,取的是第一个字节的地址
  printf("%p\n", &a);//%p是以地址的形式打印
  return 0;
}

11.2 定义指针

int a = 10;
int *p;//p为一个整形指针变量
p = &a;//存储地址

十二、结构体

   12.1 结构体的定义

        描述一个包含学号、名字、性别、年龄、班级等信息的学生

struct Stu
{
	char id[15]; //学号
    char name[20];//名字
    char sex[5];  //性别 
    int age;      //年龄
    char class[10];//班级 

};

    12.2 结构体的操作

//结构体初始化 
struct Stu student = {"20180101","张三","男",20,"软工四班"};
//.结构成员访问操作符
printf("id = %s name = %s  sex = %s age = %d  class=%s\n", student.id,student.name,student.sex,student.age,student.class);
//->操作符
struct Stu *ps = &student;
printf("id = %s name = %s sex = %s age = %d class=%s \n",ps->id, ps->name, ps->sex, ps->age, ps->class);

【基于Python的大麦网自动抢票工具的设计与实现】 随着互联网技术的发展,网络购票已经成为人们生活中不可或缺的一部分。尤其是在文化娱乐领域,如音乐会、演唱会、戏剧等活动中,热门演出的门票往往在开售后瞬间就被抢购一空。为了解决这个问题,本论文探讨了一种基于Python的自动抢票工具的设计与实现,旨在提高购票的成功率,减轻用户手动抢票的压力。 Python作为一种高级编程语言,因其简洁明了的语法和丰富的第三方库,成为了开发自动化工具的理想选择。Python的特性使得开发过程高效且易于维护。本论文深入介绍了Python语言的基础知识,包括数据类型、控制结构、函数以及模块化编程思想,这些都是构建抢票工具的基础。 自动化工具在现代社会中广泛应用,尤其在网络爬虫、自动化测试等领域。在抢票工具的设计中,主要利用了自动化工具的模拟用户行为、数据解析和定时任务等功能。本论文详细阐述了如何使用Python中的Selenium库来模拟浏览器操作,通过识别网页元素、触发事件,实现对大麦网购票流程的自动化控制。同时,还讨论了BeautifulSoup和requests库在抓取和解析网页数据中的应用。 大麦网作为国内知名的票务平台,其网站结构和购票流程对于抢票工具的实现至关重要。论文中介绍了大麦网的基本情况,包括其业务模式、用户界面特点以及购票流程,为工具的设计提供了实际背景。 在系统需求分析部分,功能需求主要集中在自动登录、监控余票、自动下单和异常处理等方面。抢票工具需要能够自动填充用户信息,实时监控目标演出的票务状态,并在有票时立即下单。此外,为了应对可能出现的网络延迟或服务器错误,工具还需要具备一定的错误恢复能力。性能需求则关注工具的响应速度和稳定性,要求在大量用户同时使用时仍能保持高效运行。 在系统设计阶段,论文详细描述了整体架构,包括前端用户界面、后端逻辑处理以及与大麦网交互的部分。在实现过程中,采用了多线程技术以提高并发性,确保在抢票关键环节的快速响应。此外,还引入了异常处理机制,以应对网络故障或程序错误。 测试与优化是确保抢票工具质量的关键步骤。论文中提到了不同场景下的测试策略,如压力测试、功能测试和性能测试,以验证工具的有效性和稳定性。同时,通过对抢票算法的不断优化,提高工具的成功率。 论文讨论了该工具可能带来的社会影响,包括对消费者体验的改善、对黄牛现象的抑制以及可能引发的公平性问题。此外,还提出了未来的研究方向,如增加多平台支持、优化抢票策略以及考虑云服务的集成,以进一步提升抢票工具的实用性。 本论文全面介绍了基于Python的大麦网自动抢票工具的设计与实现,从理论到实践,从需求分析到系统优化,为读者提供了一个完整的开发案例,对于学习Python编程、自动化工具设计以及理解网络购票市场的运作具有重要的参考价值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值