您的位置:

c语言总结300例,c语言实训总结3000

本文目录一览:

C语言知识总结

c语言概要

第一章、 概述

1、 c语言的基本知识

1.1、 c语言的执行步骤

编辑-程序代码的录入,生成源程序*.c

编译-语法分析查错,翻译生成目标程序*.obj

(语法或逻辑错误,从第一个开始改,变量定义,语句格式,表达式格式等)

链接-与其他目标程序或库链接装配,生成可执行程序*.exe

执行

1.2、 main函数的基本知识

main()函数的位置

c程序总是从main( )函数开始执行

一个c程序可以包含一个主函数,即main()函数;也可以包含一个main()函数和若干其它函数

1.3、 c程序的结构

函数与主函数

程序由一个或多个函数组成

必须有一个且只能有一个主函数main()

程序执行从main开始,在main中结束,其他函数通过嵌套调用得以执行

程序语句

C程序由语句组成

用“;”作为语句终止符

注释

//

/* */ 为注释,不能嵌套

不产生编译代码

1.4、c 程序书写的规则

习惯用小写字母,大小写敏感

不使用行号,无程序行概念:通常一个语句占一行

可使用空行和空格

常用锯齿形的书写格式;同一层次结构的语句上下对齐。

第二章、基本数据类型与运算

2.1、c程序的数据类型

注意类型和变量含义的不同(类型是固定好的名字,变量是自己起的名字)

变量占用的存储空间

数据类型

基本类型:整型、字符型、浮点型(单精度型,双精度型)

构造类型:数组类型、结构体类型

指针类型

空类型

注意基本类型赋初值的方式

基本数据类型的表示形式

整形数据

十进制:以非0数字开头,如:123,-9,0

八进制;以0数字开头,如:0123,067

十六进制:以0x开头,如:0x123,0xff

实型数据

十进制:必须带小数点,如:123.0,-9.0

指数形式;如:1.23E3,0.9e-2,5e2

字符型数据

普通字符:如:’a’,’2’,’H’,’#’

转义字符:如:’\n’,’\167’,’\xlf,’\\’

(实现几列的对齐:指定宽度。如%100\ ‘\t’制表位)

(字符串长度。“abc\n\t\\” strlen 6; sizeof 7)

基本数据类型的存储长度

整型

Int 字节数 2 位数 16 数的表示范围 -32768—32767

Short 2 16 -32768—32767

Long 4 32 -2147483648—2147483647

实型

Float 4 32 3.4e-38---3.4e38

Double 8 64 1.7e-308---1.7e308

字符型

Char 1 8 -128----127

2.2、标识符命名规则

C语言标志符命名规则

标识符有数字,字母,下划线组成

标识符的首字符必须为字母和下划线

标识符不能为c语言的保留字(关键字)

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

算术运算符 + - * / %

关系运算符 == = = !=

逻辑运算符 ! ||

位运算符 ~ | ^

赋值运算符 = 及其扩展赋值运算符

条件运算符 ? :

逗号运算符 ,

指针运算符 *

求字节数运算符 sizeof

强制类型转换运算符 (类型)

分量运算符 . -

下标运算符 [ ]

其他 如函数调用运算符()

运算符的优先级

由高到低:单目运算符,算数运算符,关系运算符,赋值运算符

说明:单目运算符:自增运算符,自减运算符,类型装换运算符。结合方向:自右至左

如:++--I 先—i.。

算术运算 结合方向自左至右

2.3基本运算和表达式

关系表达式和逻辑表达式

(ab)(xy) (a==b)||(x==y) !=a||(ab)

Ab.a为0.不执行b

A||b a为1.不执行b

在 c 中逻辑运算结果:1代表“真”,0代表“假”;

判断一个表达式是否真:0代表“假”,非0代表“真”

条件表达式 逗号表达式

如:k=5,k++

逗号值为5;k为6.

表达式1?表达式2 :表达式3

K=56 ? 1 : 0

2.4、混合运算的数据类型转换

2/3+0.5 双精度浮点型

第三章、顺序结构程序设计

3.1、c语句的分类

简单语句

表达式语句 表达式+分号

空语句 只有分号的语句

复合语句 用花括号将若干语句括起来

流程控制语句

选择语句 if ,switch

循环语句 while, do while , for

转移语句 break ,continue ,return goto

3.2、格式输入函数scanf

一般形式:scanf(“格式控制字符串“,地址列表);

使用scanf函数时,需要注意:

格式字符的个数必须与输入项的个数相同,数据类型必须一一对应,非格式字符串(说明性的)要原封不动的输入。

输入实行数据时,可以不带小数点,即按整型数据输入

数值型数据与字符或字符串混合输入时,需要注意输入方式。

3.3、格式输出函数printf

Printf(“格式控制字符串“,输出列表);

指定输出格式,由格式字符串和非格式字符串两种组成,非格式字符串照原样输出。

%[标志][输出最小宽度][.精度][长度]类型

标志:- 左对齐;+ 右对齐;

%f, %d, %c, %s

3.4、其他输入输出函数

Putchar getchar puts gets

第四章、选择结构程序设计

If选择结构

单分支

If(表达式)

语句

双分支

If(表达式)

语句1

Else

语句2

多分支

If (表达式1)

语句1

Else if(表达式2)

语句2

。。。

Else if(表达式m)

语句m

Else

语句n

Switch(表达式)

{

Case 常量表达式1:语句1;break;

Case 常量表达式2:语句2;break;

。。。

Case 常量表达式m:语句m;break;

Default:语句n;break;

}

注意break的使用

第五章、循环结构程序设计

循环三要素

初始条件 ;终止条件 ;在初始条件和终止条件间反复做某件事情(循环体)

While(表达式)

语句

Do

语句

While(表达式);

For(循环体变量赋初值;循环条件;循环变量增量)

( for( ) ; // ; 进行时间延迟。在信息交换等时用。如for(i=0,i100) ; 互相通讯的时间延迟。 Delay )

Break语句 :不能用于循环语句和switch语句之外的任何其他语句;跳出循环。

Continue语句 :跳过循环体中剩余的语句而强行执行下一次循环;跳出本次循环。

第六章、函数与编译预处理

6.1、函数的定义和调用

类型标识符 函数名 (形式参数列表)

{ 声明部分

语句

}

例:

Int max (int x,int y)

{int z;brZ=xy?x:y;brReturn(z);}

6.2、局部变量和全局变量

注意函数中静态变量的定义和使用

6.3、变量的存储类型

局部变量的存储类型

自动变量(auto) 动态存储

局部静态变量(static) 静态存储

寄存器变量(register) 静态存储

全局变量的存储类型

自动变量(auto) 动态存储

外部变量 (extern) 静态存储

全局静态变量(static )静态存储

Extern 外部引用

Static 不能用extern 引用。

第七章、数组

7.1、一维数组的定义和使用

特别需要注意循环体的初值,终止条件

例:

Main()

{

Int I,a[10];

For(i=0;i=9;i++)

A=I;

For(i=9;i=0;i--)

Printf(“%d”,a);

}

注意下标问题

7.2、二维数组的定义和使用

二维数组的初始化

例如:

Int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

Int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

Int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};

Int a[ ][4]={{1,2,3,4},{5},{9,10,11,12}};

例如:int a[3][3]={{1},{2},{3}};

是对每一行的第一列元素赋值,未赋值的元素取0

7.3、字符数组和 字符串

字符串用字符数组来处理,结束标志符 ‘\0’

如:char c[ ]={“I am happy”};

用字符串常量使字符数组初值化

Char c[ ]={‘I’,’ ‘,’a’,’m’,’ ‘,’h’,’a’,’p’,’p’,’y’,’\0’};

第八章、指针

8.1、地址和指针的概念

Int I;

Int *i_point;

8.2、指针变量和变量的地址

操作符:*

8.3、指针和一维数组

若有定义

Int a[10];

Int *p=a;

分析下面表达式的含义:

A, a,

*(a+i), a+I,

*(p+i), p+i

A=*(a+i)=*(P+i)

a=a+i=p+i

8.4、指针与字符串

Main()

{

Char string[ ]=”I love china!”;

Printf(“%s\n”,string);

}

Main()

{ char *string=”I love china!”;

Printf(“%s\n”,string);

}

8.5、指针变量作为函数参数

形参的定义方式;实参的形式;参数的传递方式。

第九章、结构体

9.1、结构体类型和变量的定义

Struct 结构体名

{成员列表};

Struct student

{char stuNO[8];brChar name[20];brChar sex;brInt age;brFloat score;brChar addr[30];br};

Stuct student

{char stuNO[8];brChar name[20];brChar sex;brInt age;brFloat score;brChar addr[30];br};

Struct student stu1, stu2;

9.2、结构体变量的引用

一般形式为:

结构体变量名.成员名

9.3、结构体数组

结构体数组 结构体数组元素.成员名

指向结构体的指针变量

(*p).成员名

p-成员名

其他

Strcpy(字符数组1,字符串2)

Strcat(字符数组1,字符数组2)

Strcmp(字符串1,字符串2)

Strlen(字符数组)

C语言实训总结

在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统。在为期两周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。在这里,我作为其中的参与者,自然感触良多。

刚开始接触到C的时候,我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助。回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及字符常量在C中的运用。然后,在学会了数据转化,以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念。可是,仅仅学会这些是远远不够的,C语言中,还有很多更加经典、重要、实用的知识。

说说函数。虽说很多程序语言都有函数这一内容,但我觉得C语言的函数是最有魅力的了。学习函数的方法是比较简单的,只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出。函数从本质上讲是一段通用程序,用它可以帮助我们节约很多编程的时间,学习C语言的“高人”都说,一个聪明的编程者在编写程序前往往总是先找自己所编写的程序中有多少是可以用函数来代替的。比如,大家可以作一个比较字符串的实验,用C语言中的strcmp()函数只要一句话,而自己编写的话,30句都很难实现,可想而知函数的实用和快捷。在我们C语言实训的代码中,函数更是得到了充分的应用,可以说,实训题目的复杂代码,就是用无数个函数的调用和嵌套积累出来的。

要注意的是,有的同学刚刚开始的时候,都是被一些大的程序激励的,所以当开始的时候看到繁琐的数据转化和简单的算法,都觉得很无聊,都想自己做几个自己满意的程序来看看,虽然这种想法很好,但是,我们说,没有基础,纯粹是搬照一些现成设计方法,是不足取的。要知道,程序设计讲究的是个人的思维的,假如刚开始就被一些现成的思想束缚住,以后就会觉得很无趣。

我们知道,指针其实是C语言的灵魂,许多的数据结构在我们学到这里之前都可以说是精通了。所以我们的任务就是,让数据结构在指针中运行。当然,刚刚开始接触到这些新的东西,是一件非常痛苦的事情,所以我们一定要用非常形象的思维去看待指针,不能太固化。所以,新的东西,比如结构体在指针中的表现方法,数组及多维数组在结构体中的运用,都一点一点的加了进来,同时丰满了我们对原来C的数据机构,数据表示的理解。当我们完成了这三步的学习,我们已经可以自豪的说,我们的基础都扎实了,可以进一步的学习有关算法,设计概念等等深层次的东西了。

但是,指针,结构体,这些太抽象的东西,在学习C语言的时候我们就有点“似懂非懂”,可是在眼下的C语言实训中,像这么重要的C语言知识,一定要达到能熟练掌握,实际运用的程度。在实训的大程序中,结构体在指针中的表现方法,数组及在结构体中的运用等具体的技术环节,都得到了体现,不会指针,我们的工作是没法展开的。所以,在实训期间,大家在巩固基本知识的基础上,逐块攻克实训课题,克服了困难,自信心得到了提高。

最后,谈谈我们组的程序软件。商店商品管理系统,是一个比较利于应用,解决实际问题,方便实际管理的程序。设计代码比较复杂,结构比较严谨。在程序编写的1周左右的时间里,组员们遇到了上述的困难,包括程序设计构思,甚至是指针等某些知识点的欠缺,导致的工作中出现的困难。但是,当大家一起团结协作,解决了这些困难之后,发现自己也可以编写复杂的、应用性的程序了,更发现自己对C语言这门学科的兴趣也提高了。

当然,我们编写的商店商品管理系统,还存在很多疏漏和不合理之处。比如,程序复杂冗长,如果时间充裕,我们将在不改变程序运行结果的基础上,简化程序,使每一句更加精辟,总体上更加简化。另外,在程序的外观上,我们由于时间问题,没有做更多的修饰,运行起来显得比较死板、枯燥乏味。如果增添一些色彩和其他效果,我们的程序也许会更加完美。

以上就是我的C语言实训个人总结

c语言学习总结300字

1.最初接触C语言时要弄清楚各种变量的定义方法,特别是常用的类型,int、float、char等等,还要掌握各种类型的输入、输出格式。这一步做到后,上机就没有多大的问题了。

2.在对函数的学习过程中,一定要弄明白函数的作用和具体格式。值得强调的是在写循环程序时,一定要弄清楚循环的条件。

3.对每一个知识点,都应该立即编出对应的程序,有时可能还会有语法错误,碰到更好的方法也可以试一下,很多时候你想想代码怎么写和你真的写出来了是有很大的差距的。

4.学习时一定有很多疑惑的,要及时弄清楚。

5.找一本好的课本,我并不推荐谭浩强的《C语言程序设计》,因为这本书把知识点讲的太细碎太理论。我推荐《c语言程序设计:现代方法》这本书,书中奥妙非凡,值得深读体验。

6.不要认为上课认真听课有用,写程序不可能从课堂上学会太多的,伟大的程序员或者是很多的黑客,不是老师教出来的,你的有自己的想法自己的思路自己的,学习一门语言才有用,也才会得到别人传教不了的东西。

c语言实验报告总结怎么写

实验报告总结示例如下:

1、此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,俗话说的好,读书破万卷下笔如有神,没有学不会只有不肯学!我坚信,只要下一番功夫就能有理想的收获!

2、通过这次实验,让我更加了解到地理信息系统原理与方法的重要性,以及它对我们资源勘查专业发展发挥的重要作用。学习,我觉得结果并不是最重要的,很多结果并不美好。

但是学习这个过程是不可少的。当自己把本课程所有的实验做完后,才领悟到老师所说话的含义,要掌握一种新的软件,得随着实践的演练,通过循序渐进的学习,才能更好的掌握它。这次实验,学到的东西很多。

3、我认为,在这学期的gis实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这也是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。

4、综上所述,经过这次实习,我了解了很多日后工作所需的基本技能,检验了平时所学习的基础知识,对植物营养这门学科有了更深刻的理解,这于我来说无疑是受益匪浅的。我相信,这次实习让我获得的经验、心得会促进我在以后的学习、工作中寻找到合理的方法和正确的方向。最终感激学校为我们供给这样的实习机会。

5、这次实验虽然仅有短短的xx天,可是实习资料异常丰富,并且经过这个实习我们都得到了知识上的复习和本事上的提高。正是因为这个实习,加深了我对植物营养学这门学科的了解,同时对我们专业的发展方向有了初步认识。这次实习不但巩固了我们平时所学,也为我们日后的专业工作供给了十分实际的便利。

经典C语言程序例子

题目01:在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同的单词。

直接编译,程序执行结果如下图所示:

题目02:编写一个int string_len(char *s),返回字符串s的字符长度(不包括\0)。

直接编译,程序执行结果如下图所示:

扩展资料:

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

C语言必须知道的300个问题的目录

第1章 初识C语言 1

问题1 C语言是如何发展起来的? 2

问题2 什么是ANSI标准? 2

问题3 C语言编写程序的优点有哪些? 3

问题4 如何规避C语言的不足之处? 4

问题5 C语言的应用领域有哪些? 5

问题6 什么是C99标准?与C89标准

相比,C99标准有哪些

新特性? 6

问题7 C语言是C++的子集吗? 10

问题8 C语言程序的开发过程是

怎样的? 11

问题9 什么是编译程序和解释程序? 12

问题10 ANSI C的编译限制有哪些? 13

第2章 一个简单的C程序 14

问题11 C语言的入口函数是什么? 15

问题12 C语言程序由哪些部分组成? 16

问题13 如何在Turbo C 2.0中输入一个

程序? 16

问题14 如何在Visual C++ 6.0中运行

一个C程序? 18

问题15 如何在Visual C++ 2008中运行

一个C程序? 22

问题16 如何提高程序的可读性? 26

问题17 什么是关键字?C语言的关键

字有哪些? 27

问题18 什么是标识符?使用标识符的

注意事项是什么? 29

问题19 void关键字都有哪些用途? 30

问题20 什么是匈牙利命名约定?它是否

是好的约定? 31

第3章 算法入门 33

问题21 为什么说算法是程序设计的

灵魂? 34

问题22 算法的特性有哪些? 34

问题23 如何评价一个算法的好坏? 35

问题24 算法的表示方法都有哪些? 36

问题25 算法的基本结构是什么? 40

问题26 算法有哪几类? 42

问题27 算法的效率度量方法有哪些? 42

问题28 什么是算法的时间复杂度? 43

问题29 什么是算法的空间复杂度? 44

问题30 什么是分治法算法思想? 45

第4章 常用数据类型 46

问题31 声明变量和定义变量的区别

是什么? 47

问题32 在开发时如何决定使用哪种

数据类型? 48

问题33 什么是常量?如何区分常量

和变量? 48

问题34 各种数据类型所占的内存是

多少? 49

问题35 字符与字符串的差别有

哪些? 50

问题36 变量是否必须初始化? 51

问题37 为什么会发生数据溢出?如何

避免数据溢出? 52

问题38 局部变量和全局变量能否

重名? 53

问题39 全局变量可不可以定义在可被

多个.C文件包含的头文件中?

为什么? 53

问题40 如何引用一个已经定义过的

外部变量? 54

问题41 全局变量和局部变量的存储

方式有什么区别? 55

问题42 整型常量的存储形式是

怎样的? 55

问题43 整型常量的表示形式有

哪几种? 56

问题44 使用了没定义的变量会有什么

现象? 56

问题45 static关键字有什么作用? 57

问题46 const关键字有什么作用? 59

问题47 const与#define相比有何

优点? 60

问题48 sizeof不是函数吗? 61

问题49 float类型数如何与0值

比较? 63

问题50 静态变量与自动变量的区别

有哪些? 64

第5章 运算符与表达式 66

问题51 运算符的优先级和结合性是

怎样的? 67

问题52 如何区分“,”是运算符还是

分隔符? 68

问题53 C语言如何解释x=a+=b+c? 69

问题54 x=x+1,x+=1,x++,哪个效率

最高? 70

问题55 什么是运算符的目?怎样进行

区分? 70

问题56 使用“++”和“--”运算符需要

注意些什么? 71

问题57 如何理解i+++j? 71

问题58 赋值表达式中什么是左值和右值?数组名作为左右值时又具有怎样的意义? 72

问题59 如何确定条件表达式的结果的

数据类型? 73

问题60 “%”运算符是否可以对小数

进行运算? 74

问题61 “/”运算符得到的结果一定为

整数吗? 75

问题62 在进行多种数据类型混合运算

的时候,数据类型自动转换有

哪些规则? 76

问题63 C语言中有哪些简化的运算

表达式? 77

问题64 使用逻辑表达式需要注意哪

几点问题? 77

问题65 i++*i++这样的表达式为什么

不能得到预期的结果? 78

问题66 a[i]=i++;这样的代码正确吗? 79

问题67 编写表达式时需要注意

什么? 79

问题68 如何理解c=a,b;? 80

问题69 为无符号类型变量赋值时,数据

类型应怎样转换? 81

问题70 C语言表达式的求值顺序总是

按照运算符的结合性保证

“自左至右”或者“自右

至左”吗? 81

第6章 输入/输出函数 83

问题71 函数printf()的基本格式

是什么? 84

问题72 如何认识printf()函数的格式

字符? 85

问题73 函数printf()的标志有几种?

如何使用? 91

问题74 如何控制输出最小宽度? 91

问题75 如何控制输出精度? 92

问题76 如何控制输出长度? 93

问题77 如何动态设置输出宽度和

精度? 94

问题78 printf()函数的返回值是

什么? 95

问题79 如何理解输出列表? 96

问题80 函数scanf()的基本格式是

什么? 96

问题81 scanf()函数的格式字符是

什么? 97

问题82 使用scanf()函数应注意的问题

是什么? 100

问题83 scanf()函数的返回值是

什么? 101

问题84 如何使用getchar()函数? 102

问题85 getch()函数如何使用? 104

问题86 如何应用gets()函数? 104

问题87 如何应用putch()函数? 105

问题88 puts()函数该如何应用? 106

问题89 如何控制多数值的输入? 107

问题90 如何输入字符数组? 108

第7章 选择、分支结构程序设计 110

问题91 543为什么不成立——谈谈

关系表达式的值 111

问题92 =和==如何区分? 112

问题93 什么叫逻辑短路? 113

问题94 if语句的基本形式有哪些?

如何应用? 114

问题95 浮点数的相等比较是否可以

用==? 116

问题96 关系运算符和数学不等号有

什么区别? 117

问题97 if语句后面一定不能写

分号吗? 118

问题98 这个程序为什么多执行了好多

语句? 119

问题99 不用关系表达式和逻辑表达式

做条件 120

问题100 怎样理解复合语句中的

变量? 122

问题101 如何进行if语句的嵌套? 123

问题102 条件运算符“? :”怎样

应用? 124

问题103 switch语句的基本格式是

什么? 125

问题104 if语句与switch语句的优缺

点是什么? 127

问题105 switch语句中的default关键字

是否必须? 128

问题106 break关键字在switch语句中

应注意什么? 128

问题107 如何正确判断if和else的

匹配? 130

问题108 switch和case后的表达式值的

类型是否可以是浮点型? 132

问题109 区段划分型条件有什么

技巧? 133

问题110 default必须写在所有case

之后吗? 134

第8章 循环结构 136

问题111 循环结构的基本概念是

什么? 137

问题112 while语句的基本格式是

什么? 138

问题113 while循环应注意什么

问题? 139

问题114 for循环语句的基本格式

是什么? 140

问题115 for语句的三个表达式都是

必须的吗? 142

问题116 do…while语句的基本格式

是什么? 144

问题117 分号在循环体中的作用? 146

问题118 while与do…while的

区别? 148

问题119 什么是循环嵌套? 149

问题120 循环嵌套的结构是

怎样的? 151

问题121 如何正确使用循环嵌套? 153

问题122 死循环是怎样产生的? 154

问题123 怎样提高循环语句的

效率? 156

问题124 continue语句的基本作用

是什么? 158

问题125 break语句的基本作用是

什么? 159

问题126 goto语句的基本格式是什么?

如何使用? 161

问题127 goto语句的缺陷是什么? 163

问题128 如何选择循环语句? 165

问题129 如何判定循环结束和提前

结束? 165

问题130 如何避免循环中的初值错误

问题? 167

第9章 数组 170

问题131 什么是数组?其存储有何

特点? 171

问题132 数组的维数该如何理解? 171

问题133 一维数组是怎样定义的? 172

问题134 如何引用一维数组元素? 173

问题135 如何初始化一维数组? 174

问题136 如何设计数组的排序

算法? 175

问题137 如何定义二维数组? 176

问题138 如何引用二维数组元素? 178

问题139 如何初始化二维数组? 179

问题140 如何定义字符数组? 180

问题141 如何初始化字符数组? 180

问题142 如何引用字符数组? 181

问题143 如何进行字符数组的

复制? 182

问题144 如何进行字符数组的

连接? 183

问题145 如何进行字符串的比较? 185

问题146 如何测定字符串的长度? 187

问题147 如何进行字符串大小写的

相互转换? 188

问题148 如何计算字符串中有多少个

单词? 190

问题149 gets()函数和scanf()函数在输入

字符串时有何区别? 191

问题150 puts()函数和printf()函数在输出

字符串时有何区别? 192

问题151 数组与指针的区别是什么? 193

问题152 为什么作为函数形参的数组和

指针可以互换? 195

问题153 为什么数组名作参数传递给子

函数时,子函数可以改变主

函数中数组的值? 196

问题154 C语言中有动态数组吗? 197

问题155 如何实现动态二维数组? 199

问题156 strcpy()函数可以复制字符串的

一部分吗? 201

问题157 字符串和字符数组有什么

区别? 202

问题158 ‘\0’和“\0”有什么区别? 203

问题159 字符数组占用内存

怎样算? 204

问题160 用字符数组和指针两种方式

定义的字符串有什么

不同? 204

第10章 函数编程基础 206

问题161 什么是函数?如何分类? 207

问题162 如何定义无参函数? 209

问题163 如何定义有参函数? 210

问题164 什么是空函数?作用是

什么? 210

问题165 什么是形参和实参?如何

使用? 211

问题166 如何从函数返回? 213

问题167 函数返回值你了解多少? 214

问题168 如何进行函数的一般

调用? 215

问题169 函数调用的基本方式有几种?

各是什么? 216

问题170 函数调用应具备哪些

条件? 216

问题171 如何进行函数的嵌套

调用? 218

问题172 什么是递归调用?如何

实现? 219

问题173 函数如何将数组元素作为

实参? 222

问题174 如何将数组名作为函数

参数? 224

问题175 如何将多维数组名作为函数

参数? 227

问题176 什么是局部变量? 228

问题177 什么是全局变量?如何

应用? 229

问题178 存储方式有哪几种?分别

是什么? 232

问题179 如何使用auto关键字? 233

问题180 什么是静态变量?如何

实现? 236

问题181 什么是寄存器变量?如何

实现? 238

问题182 如何声明外部变量? 239

问题183 如何调用编译后的函数? 240

问题184 如何限定外部变量的使用

范围? 241

问题185 如何使用函数调用实现对字

符串的统计? 242

问题186 main()函数有什么作用? 243

问题187 什么是内部函数? 243

问题188 什么是外部函数?

怎么用? 244

问题189 static()函数与普通函数有什么

区别? 245

问题190 形参和实参有什么区别? 246

第11章 指针解析 248

问题191 什么是指针?什么是指针

变量? 249

问题192 如何创建指针? 250

问题193 如何初始化指针? 251

问题194 如何使用指针? 252

问题195 函数中如何传递指针? 254

问题196 指针、数组和地址之间的关系

是什么? 255

问题197 如何进行指针运算? 256

问题198 如何使用指针操作数组? 258

问题199 如何用指针表示多维

数组? 260

问题200 如何使用指针操作多维

数组? 261

问题201 如何用指针为函数传递

数组? 263

问题202 如何用指针表示字符串? 264

问题203 如何使用字符串指针作为函数

参数? 265

问题204 字符数组和字符指针的区别

是什么? 266

问题205 什么是指针数组? 267

问题206 如何使用指针数组处理

字符串? 268

问题207 如何将指针数组作为函数的

参数? 269

问题208 什么是指向指针的指针? 270

问题209 二级指针如何应用于一维

数组? 271

问题210 如何实现二级指针对二维数组

的操作? 272

问题211 二级指针如何操作字符串数组

(指针数组)? 273

问题212 如何理解返回指针的

函数? 275

问题213 什么是指向函数的指针? 277

问题214 如何用const控制指针? 278

问题215 什么是“野指针”? 279

问题216 main()函数的指针数组形参

是怎么回事? 279

问题217 void指针就是空指针吗?它

有什么作用? 281

问题218 指针是一种特殊的变量,只能

用来保存地址。这句话

对吗? 282

问题219 字符指针、浮点数指针以及

函数指针这三种类型的变量

哪个占用的内存最大?

为什么? 282

问题220 一个32位的机器,该机器的

指针是多少位? 283

第12章 常用数据结构 284

问题221 空结构体所占的内存是

多少? 285

问题222 在C语言中,一个结构体可以

包含指向自己的指针吗? 286

问题223 struct person{...};person a;

为什么编译出错? 287

问题224 怎样从/向数据文件读/写

结构? 289

问题225 枚举与#define宏的区别有

哪些? 290

问题226 如何看待枚举类型,枚举类型

的优点是什么? 291

问题227 关键字typedef的功能是

什么? 292

问题228 类型定义是否允许嵌套? 294

问题229 typedef与#define宏的相似之处

与不同之处是什么? 295

问题230 什么是散列法? 296

问题231 大小端模式对union类型数据

有什么影响? 297

问题232 如何为联合体变量赋

初值? 298

问题233 如何证明联合体变量的所有成员是共享一个内存单元的? 300

问题234 堆和栈的区别是什么? 301

问题235 举例说明,什么是静态链表?

什么是动态链表? 302

问题236 单向链表、双向链表和循环链

表有什么区别? 304

问题237 如何在链表中的指定位置插入

结点? 305

问题238 如何删除链表中指定位置的

结点? 306

问题239 如何创建一个动态链表? 308

问题240 指向结构体数组的指针如何

应用? 310

第13章 位运算操作符 312

问题241 什么是位运算?位运算符包括

哪些? 313

问题242 移位运算中如何补位? 314

问题243 移位运算符与加减运算符的

优先级哪个较高? 315

问题244 什么是循环移位? 316

问题245 什么是位段?其优点是

什么? 317

问题246 如何正确使用位段? 318

问题247 数据在计算机中的存储单位有

哪些?有几种存储形式? 320

第14章 存储管理 322

问题248 与内存息息相关的重要概念

有哪些? 323

问题249 指针指向不合法引起了哪些

内存问题? 324

问题250 内存分配与释放引起的常见

问题有哪些? 325

问题251 什么是内存越界?什么是内存

泄露?二者是如何产生的? 326

问题252 C语言提供了哪些动态内存

分配函数? 327

问题253 malloc()函数与calloc()函数有

什么区别? 328

问题254 内存耗尽怎么办? 328

问题255 动态内存会被自动释

放吗? 330

问题256 高位优先与低位优先的不同

之处是什么? 330

问题257 free()和delete()怎样处理

指针? 331

问题258 怎样利用好敏感的内存

资源? 333

第15章 预处理和函数类型 335

问题259 在头文件中#if、_STDC_等字符

起什么作用? 336

问题260 如何书写多条语句宏? 337

问题261 预处理中#和##运算符是什么

意思? 338

问题262 一个头文件可以包含另一个头

文件吗? 339

问题263 #include和#include“”有什么

区别? 340

问题264 什么是无参宏定义? 341

问题265 什么是带参宏定义? 342

问题266 怎样写参数个数可变

的宏? 343

问题267 #pragma预处理的作用

是什么? 345

问题268 条件编译的表达形式有

哪些? 346

问题269 如何应用内部函数? 347

问题270 如何应用外部函数? 348

第16章 文件的读写操作 351

问题271 各个读写操作的区别是

什么? 352

问题272 C语言文件有哪几类? 354

问题273 怎样写数据文件,使之可以在

不同字大小、字节顺序或浮点

格式的机器上读入? 355

问题274 能否使用fflush()函数清除多余

的输入? 356

问题275 fopen()函数打开文件失败的

原因是什么? 357

问题276 为什么打开文件后要及时

关闭? 358

问题277 文件的打开方式有哪些? 358

问题278 如何正确使用putchar()函数和getchar()函数? 360

问题279 getchar()函数、getch()函数和getche()函数的区别是

什么? 361

问题280 使用printf()函数和scanf()函数

需要注意什么? 362

问题281 printf()函数有哪些参数? 363

问题282 scanf()函数的格式控制包括

哪些? 364

问题283 printf()函数和scanf()函数格式

符的修饰符“*”有什么

作用? 366

问题284 fscanf()函数、fprintf()函数与scanf()函数和printf()函数有什么

不同? 367

问题285 如何判断文件的结束? 368

第17章 图形图像处理 371

问题286 为什么在使用图形函数时要

首先初始化图形模式? 372

问题287 怎样初始化图形模式? 372

问题288 初始化时提示“BGI Error: Graphics not initialized

(use 'initgraph')”怎么办? 374

问题289 怎样利用C语言建立独立的

图形运行程序? 375

问题290 TC中有几个画线函数?怎么

使用? 376

问题291 TC中有几个画矩形函数?怎么

使用? 377

问题292 TC中有几个画圆函数?怎么

使用? 379

问题293 如何使用C语言填充封闭

图形? 380

问题294 TC中有几个和光标有关的

函数?怎样使用? 382

问题295 如何在图形模式下输出

文本? 383

问题296 背景色、线条颜色和填充颜色

有什么区别?何时使用? 386

问题297 怎样记住那么多的颜色? 387

问题298 线条样式和填充样式都有

哪些?怎样设置? 388

问题299 怎样复制图形? 392

问题300 怎样在C语言中制作

动画? 394