C语言学习1——C语言概述

一、C语言概述

1. C语言历史

1.1 1960年 ALGOL 60 面向问题,离硬件较远,不适合系统程序

1.2 1963年 CPL语言 接近硬件,但太过复杂,难以实现 英国剑桥大学

1.3 1967年 BCPL语言 对CPL语言简化而来 英国剑桥大学 Matin Richards

1.4 1970年 B语言 以BCPL为基础设计出,更简单,更接近硬件 美国贝尔实验室 Ken.Thompson

1.5 1972-1973年 C语言 由B语言发展为C语言 D.M.Ritchie

1.6 1973年 Unix操作系统 用C语言重写Unix操作系统 Ken.Thompson和D.M.Ritchie

                1969年汇编写Unix 贝尔实验室 Ken.Thompson和D.M.Ritchie

1.7 1977年 可移植到C语言

1.8 1978年 K&R C The C Programming Language第一版 Brian.W.Kerninghan和Dennis.M.Ritchie

1.9 1983年 ANSI标准 美国国家标准化协会(ANSI)

1.10 1987年 87 ANSI 现行的C语言标准

1.11 1988年 K&R书改写 以ANSI C重写了The C Programming Language

1.12 1990年 ISO C 国际标准化组织接受87 ANSI C作为ISO C

2. C语言特点

1.语言简洁,紧凑,使用方便灵活。共32个关键字,9种控制语句。

2.运算符丰富。语言表达能力强,34种运算符,应用范围广。

3.数据类型丰富,具有现代化语言的各种数据结构。

4.具有结构化的控制语句。3种基本结构的流程控制语句;也有实现模块化的函数结构、函数调用。

5.语法限制不太严格,程序设计自由度大。

6.允许直接访问物理地址,可以进行位操作,能实现汇编语言的大部分功能,用于写系统软件。

7.生成目标代码质量高,程序执行效率高。

8.程序可移植性比较好。本身不依赖于计算机硬件系统和操作系统。提供预处理命令,提高软件开发效率,为程序的组织和编译提供便利,亦提高了程序的可移植性。

9.兼有高级语言和低级语言的特点。具有高级语言面向用户,容易理解,便于阅读和书写的有点。具有与内存地址对应的指针处理方式,可以直接处理内存中的各种类型数据,直接操作硬件。

3. C语言组成结构
  1. C程序组成

语句是C语言的最小构成单位,以分号结束。

函数为C程序的基本单位,是C语言容易实现程序的模块化。main函数为程序的起点,C程序由一个main函数和若干个其它函数构成。

  1. 函数组成

函数首部:函数名,函数类型,函数属性,函数参数名,参数类型。

函数体:大括号内的,由声明部分(定义函数中用到的变量)和执行部分组成。

4. 上机运行C程序步骤

1. 编辑源程序(Edit)

2. 编译(Complie) 可查出程序中的语法错误,生成目标程序

3. 连接(Link) 生成可执行文件

4. 执行(Run)

5. 调试(Debug)

  • a) 编译错误——编译时出错
  •          i. 语法错误
  •          ii. 警告错误
  • b) 逻辑错误——编译和执行不出错,但得不到想得到的结果
  • c) 运行错误——特殊情况下发生,如变量越界,除零错误等
  • d) 连接错误——目标文件到可执行文件,如库函数不存在或找不到
5. 举例及习题
1.简答

From C语言程序设计教程 严尚维主审 华南理工大学出版社

1.1 C程序的基本结构包括内容?

 

From C语言程序设计教程 严尚维主审 华南理工大学出版社

1.2 如何定义标识符?

 

From C语言程序设计教程 严尚维主审 华南理工大学出版社

1.3 输入格式、输出格式的组成包括内容?

 

From C语言程序设计教程 严尚维主审 华南理工大学出版社

1.4 C语言函数分为哪两类?

 

From C语言程序设计教程 严尚维主审 华南理工大学出版社

1.5 计算机表达式的值应该考虑哪些方面?

 

From C语言程序设计教程 严尚维主审 华南理工大学出版社

From C语言程序设计习题解答与上机指导

1.6 上机调试程序的步骤?

 

From C语言程序设计全析精解(第3版) 秦友萍编 西北工业大学出版社

From C程序设计-第三版-谭浩强

From 计算机程序设计基础-C语言程序设计

1.7 写出一个C程序的构成。

 

From C程序设计-第三版-谭浩强

From C语言程序设计习题解答与上机指导

1.8 C语言以函数为程序的基本单位,有什么好处?

 

From C语言程序设计习题解答与上机指导

1.9 简述C语言的发展过程。

 

From C语言程序设计习题解答与上机指导

1.10 C语言程序的主要结构特点和书写格式是什么?

 

From C语言程序设计

1.11 C程序中,main函数其什么作用?

 

From C程序设计-第三版-谭浩强

From C语言程序设计

From 计算机程序设计基础-C语言程序设计

1.12 C语言的主要特点。

 

From C程序设计-第三版-谭浩强

1.13 C语言的主要用途是什么?它和其他高级语言有什么异同?

 

2.程序

From C程序设计-第三版-谭浩强

From C语言程序设计辅导讲案-主讲教材-C语言程序设计

From C语言程序设计习题解答与上机指导

2.1 在屏幕上输出字符串。

例:

输出字符串“This is a C program.”
#include<stdio.h>
void main()
{
   printf("This is a C program.\n");
}

 

例:

输出字符串
#include<stdio.h>
void main()
{
  printf("********************\n");
  printf(" Very good!\n");
  printf("********************\n");
}

 

From C语言程序设计教程 严尚维主审 华南理工大学出版社

2.2 输入圆点半径,求圆面积、圆周长,将结果显示。

例:

求圆周长,面积#include<stdio.h>
#define PI 3.14
void main()
{
  float r,area,girth;
  printf("\nr = ");
  scanf("%f",&r);
  area = PI*r*r;
  girth = 2*PI*r;
  printf("Circle area = %.2f, girth = %.2f\n",area,girth);
}

 

 

From C程序设计-第三版-谭浩强

From C语言程序设计辅导讲案-主讲教材-C语言程序设计

From C语言程序设计全析精解(第3版)

From C语言程序设计

2.3 求两个数的最大数。——求最小值,求三个数最大数,四个数最大数。

例:

求两个数的最大值
#include<stdio.h>
void main()
{
  int max(int x,int y);
  int a,b,themax;
  printf("Input two number:[format:number1,number2]\n");
  scanf("%d,%d",&a, &b);
  themax = max(a,b);
  printf("max = %d\n",themax);
}

int max(int x,int y)
{
  int z;
  if(x>y)
  {
    z=x;
  }
  else
  {
    z=y;
  }
  return z;
}

 

 

例:

求四个数的最大值
#include<stdio.h>
void main()
{
  int max(int x,int y);
  int a,b,c,d,themax;
  printf("Input four number:[Format:a,b,c,d]\n");
  scanf("%d,%d,%d,%d",&a, &b, &c, &d);
  themax = max(a,b);
  themax = max(themax,c);
  themax = max(themax,d);
  printf("max = %d\n",themax);
}

int max(int x,int y)
{
  int z;
  if(x>y)
  {
    z=x;
  }
  else
  {
    z=y;
  }
  return z;
}

 

From 程序设计技术

2.4 输入一个字符串,将其中的小写字母转化为大写字母。

例:

求四个数的最大值
#include<stdio.h>
#define SIZE 80
void main()
{
  void myputc(char ch);
  char str[SIZE];
  int j;
  gets(str);
  for(j=0;str[j]!='\0';j++)
  {
    myputc(str[j]);
  }
}

void myputc(char ch)
{
  char cc;
  cc=(ch>='a'&&ch<='z')?ch+'A'-'a':ch;
  putchar(cc);
}

 

From C程序设计-第三版-谭浩强

2.5 求数之和

例:

两数之和
#include<stdio.h>
void main()
{
  int a,b,sum;
  a = 123; b = 456;
  sum = a + b;
  printf("sum is %d\n",sum);
}

 

 

例:1到n累加和

1到n累加和
#include<stdio.h>
void main()
{
  int i,n,sum = 0;
  printf("please input n:");
  scanf("%d",&n);
  for(i = 1;i <= n;i++)
  {
    sum = sum + i;
  }
  printf("1+2+...+%d = %d\n",n, sum);
}

 

 

From C语言程序设计习题解答与上机指导

2.6 求三个数的平均值

例:

三个数的平均值
#include<stdio.h>
void main()
{
  int a,b,c;
  float avrg;
  printf("Input three numbers:[format:a,b,c]\n");
  scanf("%d,%d,%d",&a,&b,&c);
  avrg = (a+b+c) / 3.0;
  printf("average is %.2f\n",avrg);
}

 

 

3.其他

From C语言程序设计教程 严尚维主审 华南理工大学出版社

3.1 【判断】C程序执行的入口时main函数,所以main函数必须放在程序的开头。

3.2 【判断】定义一个函数包括说明部分和执行语句部分,两者可以交叉出现。

3.3 【判断】编辑与编译不是同一回事。

3.4 【判断】scanf(“%d,%d”,&x,&y);的正确输入格式是:3,4

3.5 【判断】注释内容太多会影响程序的执行效率。

3.6 【判断】所有的数学公式可以直接出现在源程序中。

析:3.1 C程序中main函数可以出现在任何位置。

3.2 

3.3 正确。编辑为对源程序内容编写,编译为将源程序转换为目标文件。

3.4 正确

3.5 错误。注释作用是增加程序的可读性,在编译连接后,注释被忽略,并不影响执行效率。

3.6 错误。有些数学公式需要调用函数,有的需要自定义函数。

 

From C语言程序设计习题解答与上机指导

3.7 【程序分析】分析下列程序运行结果。

main()
{
  printf(“Test…”);
  printf(“…1”);
  printf(“…2”);
  printf(“\n”);
}
析:输出结果:Test......1...2

 

From C语言程序设计习题解答与上机指导

3.8 【程序分析】找出下列程序错误,修改后验证正确性。

main()
{
  int sum;
  /*Compute result
  sum=25+45+50
  /*Display result*/
  printf("The answer is %d\\n",sum);
}
析:注释正确格式/*……*/,即上述程序第4~6行均被注释,需在第4行加入*/。
加入*/后,第5行语句不完整,缺少“;”。
最后的输出函数中\\为转义符表示输出\,故原本需要的换行\n失效,删除一个\即可。
正确程序: 
  main()
  {
    int sum;
    /*Compute result*/
    sum=25+45+50;
    /*Display result*/
    printf("The answer is %d\n",sum);
  }

 

:注释正确格式/*……*/,即上述程序第4~6行均被注释,需在第4行加入*/。

加入*/后,第5行语句不完整,缺少“;”。

最后的输出函数中\\为转义符表示输出\,故原本需要的换行\n失效,删除一个\即可。

正确程序: main()

{

int sum;

/*Compute result*/

sum=25+45+50;

/*Display result*/

printf("The answer is %d\n",sum);

}

From C语言程序设计

3.9 【选择】用C语言编写的代码程序()

A. 可立即执行

B. 是一个源程序

C. 经过编译即可执行

D. 经过编译解释才能执行

析:C语言为编译型语言,需要通过编译,而执行又须通过连接。故B正确。

 

From C语言程序设计

3.10【选择】以下叙述正确的是()

A. C语言比其他语言高级

B. C语言可以不用编译就能被计算机识别执行

C. C语言可以接近英语国家的自然语言和数学语言作为语言的表达式

D. C语言出现的最晚,具有其他语言的一切优点

析:C语言相对于汇编语言高级,人们习惯于将C语言划分为高级语言,但C语言是介于低级语言与高级语言之间的,同时具有两者的优点。C语言也有其局限性,与C++相比,C++更适合开发大型项目。C语言为编译型语言,而非解释性语言,必须通过编译连接,才能被计算机识别执行。

 

From C语言程序设计

3.11【选择】在一个C程序中()

A. main函数必须出现在所有函数之前

B. main函数可以在任何地方出现

C. main函数必须出现在所有函数之后

D. main函数必须出现在固定位置

析:main函数可以出现在程序中的任何位置。不过在使用其他函数时需预先声明其他函数,以确保在main函数调用时,能够找到。

 

From 计算机程序设计强化复习-最新大纲版-C语言篇

3.12 【选择】以下叙述正确的是()。

A. 一个用C语言编写的程序在运行时总是从main函数开始执行的

B. main函数是系统库函数

C. main函数中每行只能出现一条语句

D. main函数必须出现在所有其他函数之前

析:任何一个C程序都从main函数开始执行,A正确。
库函数是C编译系统中已经预先定义的函数,使用它必须先包含该库函数所在地头文件。
C程序中每行并不限定写几条语句,书写格式自由,只是为了程序的美观以及可读性,习惯性每行只写一条程序语句。
main函数可以出现在源程序的任何位置。

 

From 计算机程序设计强化复习-最新大纲版-C语言篇

3.13 【选择】一个C语言编写的源程序中,()是必不可少的。

A. 取名为main的函数定义

B. #include<stdio.h>

C. 变量声明

D. 注释

析:main函数必不可少,程序入口,任何一个C程序都从main函数开始执行。
#include<stdio.h>引入标准输入输出函数,C程序中输入输出由函数实现。
当函数中未使用到变量时,则不需变量,如简单的输出一个字符串。
注释作用是为了提高程序的可读性。

转载于:https://www.cnblogs.com/huaxia283611/articles/2830497.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值