思考题(c语言)

合集下载

C语言课后习题答案(最终)

C语言课后习题答案(最终)

第0章习题1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数:(1)128 (2)511 (3)1024 (4)65535 (5)1048575答:(1)10000000、200、80(2)111111111、777、1FF(3)10000000000、2000、400(4)1111111111111111、177777、FFFF(5)11111111111111111111、3777777、FFFFF2. 将下列二进制数转化为十进制数和十六进制数:(1)1100110101B (2)101101.1011B答:(1)821、335(2)45.6875、2D.B3. 写出下列数的原码、反码、补码:15、-20、-27/32答:(1)00001111、00000000、00001111(2)10010100、11101011、11101100(3)1.1101100、1.0010011、1.00101004. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少?答:0~65535、-128~127、-32768~327675.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。

答:结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。

如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么?答:C语言程序属于应用程序,程序代码本身存放在应用程序区,程序运行时处理的数据存放在应用程序数据区。

计算机的内存空间主要分为3个区:系统程序区、应用程序区和数据区,其中数据区又分为系统程序数据区和应用程序数据区两类。

《Linux操作系统》第2版完整习题答案-电子工业出版社

《Linux操作系统》第2版完整习题答案-电子工业出版社

参考答案第1章1. 思考题(1)C语言。

(2)UNIX系统的特点有以下几点:(1)多任务;(2)多用户;(3)并行处理能力;(4)设备无关性;(5)工具;(6)错误处理;(7)强大的网络功能;(8)开放性。

(3)Linux是一个功能强大的操作系统,同时它是一个自由软件,是免费的、源代码开放的,可以自由使用的类UNIX产品。

其创始人是Linus。

(4)Linux操作系统的诞生、发展和成长过程始终依赖着的重要支柱有以下几点:(1)UNIX操作系统;(2)MINIX操作系统;(3)GNU计划;(4)POSIX标准;(5)Internet 网络。

(5)Linux系统的特点有以下几点:1)自由软件;2)良好的兼容性;3)良好的界面;4)丰富的网络功能;5)支持多种平台。

(6)常见的Linux的发行版本有以下几种:1)Red Hat Linux;2)Caldera OpenLinux;3)SuSE Linux;4)TurboLinux;5)红旗Linux;6)中软Linux。

(7)略。

2. 单项选择(1)-(5):BCCBA第2章1. 思考题(1)Linux系统有哪些运行级别?其含义为何?答:Linux/Unix有7个运行级或运行状态,定义如下(参见/etc/inittab),具体级别与含义如下:0:关闭系统;1:单用户模式;2:多用户使用模式,但没有NFS功能;3:完全多用户模式;4:没有使用,用户可自定义;5:完全多用户模式,且支持X-Windows(默认运行级);6:重新启动。

(2)Linux系统下经常使用的两种桌面环境是什么?答:GNOME他KDE(3)什么是X-Window系统?它有什么特点?答:图形界面(X-Window)就是在Linux操作系统中提供图形化用户界面(GUI),支持的视窗系统,也被称为X。

X-Window的工作方式跟Microsoft Windows有着本质的不同。

MS Windows的图形用户界面(GUI)与操作系统本身紧密结合,成为操作系统的一部分;而X-Window并不是操作系统的一部分,它实际上只是在Linux操作系统上面运行的一个应用程序,可以不启动。

C语言-函数思考题

C语言-函数思考题

函数思考题一、填空题【1】C程序的执行以函数开始,调用其他函数后,流程回到函数,在函数中结束整个程序的运行。

【2】C程序允许函数值类型的缺省定义,函数值系统默认的类型是型。

【3】从用户使用角度看,函数有两种:和。

从函数的形式看,函数分为和。

【4】调用有参函数时,主调函数和被调用函数之间是关系,若形参是数组名,则实参与形参之间传递的是数组的。

【5】在调用一个函数的过程又出现直接或间接地调用该函数本身,这称为函数的。

【6】C语言中,函数返回值的类型由所决定。

【7】只在本函数范围内有效的变量称为,而可以为本文件中其它函数所共用。

形式参数是。

【8】从变量值存在的时间(即生存期)角度来分,可以分为和。

二、判断题【9】C语言函数既可以嵌套定义又可以递归调用。

【10】在C语言中调用函数时,只能将实参的值传递给形参,形参的值不能传给实参。

【7.11】C语言函数可以嵌套调用。

【12】只有在发生函数调用时,形参才被分配内存单元。

【13】实参与形参的类型应相同或赋值兼容。

【14】一个函数中只可以有一个return语句。

【15】C语言规定,凡不加类型说明的函数,一律自动按整型处理。

【16】函数值的类型与return语句中的表达的值不一致时,则以函数类型为准。

【17】若被调用函数中无return语句,则函数不带回任何值。

【18】void表示禁止在调用函数中使用调用函数的返回值。

【19】C语言中,外部变量的隐含类别是自动存储类别。

【20】函数中的局部变量,如不专门声明存储类别,系统自动地动态分配存储空间。

三、读程序选结果【21】# include<stdio.h>main( ){ int x=10;{int x=20;printf(“%d,”,x);}printf(“%d\n”,x);}结果为:。

【22】#include <stdio.h>try( ){ static int x=3;x++;return(x);}main( ){ int i,x;for(i=0;i<=2;i++)x=try( );printf(“%d\n”,x);}结果为:。

C语言基础知识作业(含解答)

C语言基础知识作业(含解答)

基础知识作业解答(1)一、选择题:1.下面叙述错误的是:a)C程序中,各种括号应成对出现。

b)C程序中,赋值号的左边不可以是表达式。

c)C程序中,变量名的大小是有区别的。

d)C程序中,若未给变量赋初值,则变量的初值自动为0。

答案:d)解答:C程序中,若未给变量赋初值,则变量的初值不一定为0。

按变量被定义的位置来区分,变量可分为局部变量和全局变量;在{ … } 之间定义的变量称为局部变量,编译系统对局部变量是不进行初始化的,即,不赋初值。

未赋初值的局部变量的值为机内随机值。

在{ … } 之外定义的变量称为全局变量,编译系统自动对全局变量进行初始化。

未赋初值的全局部变量的值为0。

2.下面叙述正确的是:a)C程序中的变量定义语句可以写在函数体中任何位置。

b)C程序中不能有空语句。

c)C程序中的变量必须先定义后使用。

d)C程序中所有简单数据类型都可以准确无误的表示。

答案:c)解答:C程序中,变量定义语句的作用是通知编译系统为变量分配存储空间,所以必须先定义后使用。

3.以下合法的用户标识符的是:a)long b)\t c)5a d)user答案:d)解答:C程序中,合法的用户标识符的定义是:以字母或下划线开头的由字母、数字和下划线组成的字符串,不可以使用系统的关键字作为用户的标识符。

常见的关键字有:int, float ,char ,double ,long, short,unsigned,if,switch,case,break, continue ,do ,for ,while ,struct ,union, auto, static, extern, register;标准函数名可以用作用户标识符,但不提倡。

4.C程序中,合法的关键字的是:a)Float b)while c)Int d)Integer答案:b)5.下面选项中,优先级最高的运算符是:a)&& b)/= c) ! d)<=答案:c)6.下面选项中,优先级最低的运算符是:a)!= b) || c)++ d),答案:d)7.C程序中,运算对象必须为整型数据的运算符是a)++ b) % c) / d) *答案:b)8.假设x,y,z为整型变量,且x=2,y=3,z=10,则下列表达式中值为1的是:a)x && y||z b)x>z c) (!x && y)||(y>z) d)x && !z ||!(y && z)答案:a)解答:C程序中,进行逻辑运算时,所有的非0数都处理成逻辑真;0处理成逻辑假。

C 语言 习题及思考题

C 语言 习题及思考题

习题及思考题1.思考题(1)请描述头结点、头指针、首元结点之间的区别?(2)顺序存储与链式存储有何异同?各适用于什么场合?(3)在多项式加法运算中,如果要求在创建时自动创建一个有序链表,应如何修改程序?2.选择题(1)以下关于链式存储结构的描述中,()是不正确的。

A. 不必事先估计存储空间的大小B. 逻辑上相邻的结点物理上不必相邻C. 可以通过计算直接确定第i个结点的地址D. 插入删除方便,不必移动结点(2)某线性表中最常用的操作是存取序号为i的元素和在最后进行插入删除运算,则采用()存储方式时间性能最好。

A.双向链表B.双向循环链表C. 单向循环链表D.顺序表(3)假设带头结点的单向循环链表的头指针为head,则该链表为空的判定条件是()A.head= =NULLB.head–>next= =NULLC.head!=NULLD.head–>next= =head(4)已知一个单链表中,指针q指向指针p的前驱结点,若在指针q所指结点和指针p所指结点之间插入指针s所指结点,则需执行()A. q→next=s;p→next=s;B.q→next=s;s→next=p;C. q→next=s;q→next=p;D.q→next=s;s→next=q;(5)设顺序表有19个元素,第一个元素的地址为200,且每个元素占3个字节,则第14个元素的存储地址为()A.236B.239C.242D.245(6)在线性表的下列运算中,不改变数据元素之间结构关系的运算是()A.插入B.删除C.排序D.定位(7)在双向链表指针p的结点前插入一个指针q的结点操作是()。

A. p->prior=q;q->next=p;p->next->prior=q;q->prier=q;B. p->prior=q;p->prior->next=q;q->next=p;q->prior=p->prior;C. q->next =p;q->prior=p->prior;p->prior->next=q;p->prior=q;D. q->prior=p->prior;q->next=q;p->prior=q;p->prior->nex=q;(8)线性表采用链式存储结构时,要求内存中可用存储单元的地址( )A. 必须是连续的B. 必须是部分连续的C. 一定是不连续的D. 连续和不连续都可以(9)带头结点的单链表head为空的判定条件是()A.head == NULL B.head->next == NULLC.head->next == head D.head != NULL(10)在长度为n的顺序表的第i(1≤i≤n+1)个位置上插入一个元素,元素的移动次数为( )A.n-i+1B.n-iC.iD.i-1(11)对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )A.顺序表B.用头指针表示的单循环链表C.用尾指针表示的单循环链表D.单链表(12)在双向链表存储结构中,删除p所指结点时须修改指针()A. p->next->prior=p->prior;p->prior->next=p->next;B. p->next=p->next->next;p->next->prior=p;C. p->prior->next=p;p->prior=p->prior->prior;D. p->prior=p->next->next;p->next=p-->prior->prior;(13)在双向循环链表中,在p指针所指的结点后插入一个指针所指向的新结点,其修改指针的操作是()A. p->next=q;q->prior=p;p->next->prior=q;q->next=q;B. p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;C. q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;D. q->next=p->next;q->prior=p;p->next=q;p->next=q;3.判断题(1)通常单链表的存取必须从头指针开始。

c语言 有趣的讨论题

c语言 有趣的讨论题

c语言有趣的讨论题
以下是一些有趣的C语言讨论题,可以用来引发深入的讨论和思考:
1. C语言中的指针是什么?如何正确地使用它们?
2. C语言中的内存管理是如何工作的?如何避免内存泄漏和段错误?
3. C语言中的递归函数是如何工作的?它们有哪些优点和缺点?
4. C语言中的位操作符有哪些?它们有哪些用途?
5. C语言中的文件操作是如何实现的?如何正确地打开、读取和写入文件?
6. C语言中的多线程编程有哪些挑战和注意事项?如何正确地使用线程?
7. C语言中的类型转换有哪些规则和注意事项?如何避免类型转换带来的问题?
8. C语言中的宏定义有哪些用途和注意事项?如何正确地使用宏定义?
9. C语言中的函数指针是什么?如何使用它们?
10. C语言中的内存模型是什么?它对并发编程有哪些影响?。

c语言面试题目100及最佳答案

c语言面试题目100及最佳答案

c语言面试题目100及最佳答案作为IT行业人士需要掌握的最基本的计算机语言—c语言,如今的地位只高不低,c语言掌握程度的高低往往在面试的时候可以完全表现出来,而有些问题是大家平时似乎是知道的,但却不能完整准确地回答上来的,今天大家带来精心整理的C语言经典面试题,希望对大家有所帮助。

1、请填写bool , float, 指针变量与“零值”比较的if语句。

提示:这里“零值”可以是0, 0.0 , FALSE 或者“空指针”。

例如int 变量n 与“零值”比较的if 语句为:if ( n == 0 )if ( n != 0 )以此类推。

(1)请写出bool flag 与“零值”比较的if 语句:【标准答案】if ( flag ) if ( !flag )100 条经典 C语言笔试题目(2)请写出float x 与“零值”比较的if 语句:【标准答案】 const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x <= EPSINON)不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。

100 条经典 C语言笔试题目(3)请写出char *p 与“零值”比较的if 语句【标准答案】 if (p == NULL) if (p != NULL)2、以下为Linux下的32 位C 程序,请计算sizeof 的值。

char str[] = “Hello” ;char *p = str ;i nt n = 10;请计算(1)sizeof (str ) = (2)s i zeof ( p ) =(3)sizeof ( n ) =【标准答案】(1)6、(2)4 、(3 )4(4)void Func ( char str[100]){…… ;}请计算sizeof( str ) =(5)void * p = mall oc( 100 );请计算sizeof ( p ) =【标准答案】(4)4、(5)44、用变量a 给出下面的定义e) 一个有10个指针的数组,该指针是指向一个整型数的;f) 一个指向有10个整型数数组的指针;g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数;h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;【标准答案】e)int * a[10]; f)int (*a)[10]g)int (*a)(int); h) int (*a[10])(int)5、设有以下说明和定义:typedef u nion {long i; int k[5]; char c;} DATE; struct data { int cat; DATE cow; double dog;} too; DATE max;则语句printf("%d",sizeof(struct date)+sizeof(max)); 的执行结果是:_____【标准答案】DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20data 是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是20 + 32 = 52.当然…在某些16位编辑器下, int 可能是2字节,那么结果是int2 + DATE10 + double8 = 206、请问以下代码有什么问题:int main(){char a;char *str=&a;strcpy(str,“hello”);printf(str);return 0;}【标准答案】没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。

C_程序设计复习思考题

C_程序设计复习思考题

A
C. ShowShortcutKeys
D. ToolTipText
以下用来设置窗体标题属性的是哪一个?( )
B
A. Name
B. Text
C. Caption
D. List
窗体可以创建为( )。
C
A. 主控和非主控窗体
B. 单和双窗体
C. 模式和非模式窗体 D. 多模式和单模式
用户自定义异常类需要从以下哪个类继承?( )
B
C. Totlal
D. Sum 多文档界面(MDI)应用程序的基础是(
)。
A. MDI子窗口的窗体
B. MDI父窗体
B
C. MDI子窗体
D. MDI父窗口的子窗体
具有n 个元素的数组的索引是0~( )。
A
A. n-1
B. n
C. n+1
D. ∞
请指出下列哪个选项属于引用类型?( )
B
A. int
B. string
B. & 可以用于布尔型数值运算,而 && 不能
C. & 和 && 都不能用于布尔型数值的运算
D. & 可以用于整型数值运算,而 && 不能
已知字母A 的ASCII 码为十进制数65,且i 为整型,则执行语句i=„A‟+„6‟-„3‟ B 后,i 中的值为 ( )。
A. D
B. 68 C. 不确定的值
C/C++语言的复杂性比 C#语言高。( )
T
C#语言是从 C 和 C++语言演化而来的。( )
T
非模式窗体使用 ShowDialog 方法创建。( )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、实验思考问题
1.编写程序,输入字符串s1和s2以及插入位置f,在字符串s1•中的指定位置f处插入字符串s2。

如:输入"BEIJING"、"123"和位置3,则输出:"BEI123JING123"。

2.编写程序,将输入的两个字符串进行合并,合并后的字符串中的字符按照其ASCII码从小到大的顺序排序,在合并后的字符串中相同的字符只出现一次。

3.输入4×4的数组,编写程序实现:
⑴求出对角线上各元素的和;
⑵求出对角线上行、列下标均为偶数的各元素的积;
⑶找出对角线上其值最大的元素和它在数组中的位置。

5.今有一楼梯(少于300阶),每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;每步跨7阶,最后正好到达楼顶。

编程计算楼梯的总阶数。

相关文档
最新文档