C语言简答题.doc
《C语言简答题.doc》由会员分享,可在线阅读,更多相关《C语言简答题.doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言简答题1、 C语言中,变量为何要先定义后使用?凡是未被事先定义的不作为变量名,这就能保证程序中变量名使用得正确,便于编译时发现错误,避免变量名使用时出错。每个变量被指定一确定类型,在编译时就能为其分配相应的存储单元。指定每一个变量属于一个类型,便于在编译时据此检查该变量所进行的运算是否合法。2、 举例说明在C语言中如何定义符号常量,使用符号常量的优点?#define 例如:#define AGE 35 #define M 1.9734067e9优点:1)简化书写格式、减少出错率。2)定义符号常量可以提高程序的可读性,便于程序的调试和修改。3)符号常量不同于变量,在其作用域内不能被改变和重
2、新赋值。4)习惯上人们把符号常量名用大写字母表示,变量用小写,以示区别。3、 字符串是以0结束的,存储一个字符串需要多少个字节?如“ABC”实际需要3+1个字节来存储这个字符串常量。4、 while和do while两种循环结构的相同点和不同点是什么?do-while语句和while语句的区别在于 do-while 是先执行后判断,因此do-while至少要执行一次循环体。而while是先判断后执行,如果条件不满足,则一次循环体语句也不执行。while语句和do-while语句一般都可以相互转换。5、 C语言中,什么基本数据类型不能做switch()的参数?只能针对基本数据类型使用switch
3、,这些类型包括int、char等。对于其他类型如long /float /double,则必须使用if语句。6、 二维数组的定义和初始化的正确形式有哪些?1) 分行,如:int a34=1,2,3,4,5,6,7,8,9,10,11,12; 2) 按数组排列的顺序将所有数据写在一个花括号内,如:int a34=1,2,3,4,5,6,7,8,9,10,11,12;3) 部分元素初始化。如:int a34= ,1,0,6,0,0,11;4)如果对全部元素都赋初值,则定义数组时可以不指定第一维的长度,如:int a4=1,2,3,4,5,6,7,8,9,10,11,12;7、 C语言中进行函数声明
4、的作用是什么?函数声明的作用是:把函数的名字、函数类型及形参类型、个数和顺序通知编译系统,以便在调用该函数时系统按此进行对照和检查(例如,函数名是否正确,实参的类型和个数是否一致)。8、 带参的宏与函数有什么区别?1.函数调用,求出实参表达式的值,再带入形参。而宏只进行简单的字符替换。2.函数调用是在程序运行时处理的,分配临时的内存单元;而宏展开则是在编译时进行的,在展开时并不分配内存单元,不进行值的传递处理,也没有“返回值”的概念。3.对函数中的实参和形参都要定义类型,二者的类型要求一致,如不一致,应进行类型转换;而宏不存在类型问题,无类型,只是一个符号代表,展开时带入指定的字符即可。宏定义
5、时,字符串可以是任何类型的数据。4.调用函数只可得到一个返回值,而用宏可以设法得到几个结果。#include #define PI 3.1415926#define CIRCLE(R,L,S,V) L=2*PI*R;S=PI*R*R;V=4.0/3.0*PI*R*R*R void main() float r,l,s,v; scanf(%f,&r); CIRCLE(r,l,s,v); printf(r=%6.2f,l=%6.2f,s=%6.2f,v=%6.2fn,r,l,s,v);5.使用宏次数多时,每展开一次都使程序增长,而函数调用不使源程序变长。6.宏不占运行时间,只占编译时间;函数占运行
6、时间(分配、保留、值传递、返回)。9、 C语言变量的存储特性可分几类?以及各类的特点?四种:自动变量(auto)、静态变量(static)、外部变量(extern)以及寄存器变量(register)。1.自动变量:函数中所有的非静态局部变量。其作用域仅仅局限于其定义的函数中,存储在动态存储区,在没有显式初始化的时候,其变量的值是随机无用的。随着函数的进栈和出栈而创建和销毁。2.静态变量:在变量前加上static关键字的变量。存储在静态存储区,在没有显式初始化的时候会被初始化为0或者null,并且只初始化一次(初始化不等同于赋值)。长期存在静态存储区,直到程序结束 静态全局变量:作用域只是在其定
7、义的源文件中有效,对外部变量起到了“屏蔽”的作用。静态局部变量:其作用域是其定义的函数中。 3、外部变量:一般用作全局变量作用域的扩展。把全局变量在其他源文件中声明成extern变量,可以扩展该全局变量的作用域至声明的那个文件,其本质作用就是对全局变量作用域的扩展。长期存在静态存储区,直到程序结束。 4、寄存器变量:一般经常被使用的的变量(如某一变量需要计算几千次)可以设置成寄存器变量,register变量会被存储在寄存器中,计算速度远快于存在内存中的非register变量。存储在cpu的寄存器中,速度快,一般不需要程序员定义寄存器变量,这是由于一些编译器会把需要参加很多次计算的变量转化成寄存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 答题
限制150内