初识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);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值