C程序设计与应用实验指导与习题1,2章答案
- 格式:doc
- 大小:171.00 KB
- 文档页数:14
一、单选题1、链表不具有的特点是()。
A.不必事先估计存储空间B.插入、删除不需要移动元素C.可随机访问任一元素D.所需空间与线性表长度成正比正确答案:C2、链接存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点值,另一部分存放结点所占单元数B.只有一部分,存放结点值C.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针D.只有一部分,存储表示结点间关系的指针正确答案:C3、链表是一种采用()存储结构存储的线性表。
A.网状B.星式C.链式D.顺序正确答案:C4、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是()。
struct node {char data;struct node *next;} a,b,*p=&a,*q=&b;A.(*p).next=q;B.p.next=&b;C.a.next=q;D.p->next=&b;正确答案:B5、下面程序执行后的输出结果是()。
#include <stdio.h>#include <stdlib.h>struct NODE {int num; struct NODE *next;};int main(){ struct NODE *p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE));q=(struct NODE*)malloc(sizeof(struct NODE));r=(struct NODE*)malloc(sizeof(struct NODE));p->num=10; q->num=20; r->num=30;p->next=q;q->next=r;printf("%d",p->num+q->next->num);return 0;}A.30B.40C.10D.20正确答案:B6、下面程序执行后的输出结果是()。
1、简单变量做实参时,它和对应形参之间的数据传递方式是()。
A.地址传递B.单向值传递C.由实参传给形参,再由形参传回给实参D.由用户指定的传递方式正确答案:B2、若函数的调用形式如下:f((x1,x2,x3),(y1,y2))则函数形参个数是()。
A.5B.2C.3D.4正确答案:B3、下列程序段中,有错误的是()。
A. void change(int x, int y){int t;t=x; x=y; y=t;}B. int f2(int x){return (x>1?printf("Y"): putchar('N'));}C. int f(){int x;scanf("%d", &x);return x++, x+5;}D.int main(){float a=2.6 , b;b=max(2.1, 3.6)=a++;printf("%f", a+b);}正确答案:D4、以下说法正确的是()。
A.C程序中,被调用的函数必须在main()函数中定义B.C程序中的main()函数必须放在程序的开始处C.C程序总是从第一个定义的函数开始执行D.C程序总是从主函数main()开始执行正确答案:D5、关于函数原型,叙述错误的是()。
A.当自定义函数被放在了主调函数的后面,就需要在函数调用之前,加上函数的原型声明B.所有函数定义放在main函数之前,可以省略原型声明C.函数可以不必进行声明,可以放在程序的任意位置D.被调用函数在主调函数之前定义,可以省略函数原型声明正确答案:C6、下列函数定义中,正确的是()。
A.int max1(int a,b){return a>b?a:b;}B.int max1(a,b){int a,b;return a>b?a:b;}C.int max1(int a,int b){return a>b?a:b;}D.int max1(int a,int b);{return a>b?a:b;}正确答案:C7、以下函数返回值的类型是( )。
C语⾔程序设计现代⽅法第2版课后习题答案C语⾔程序设计:现代⽅法[美]K. N. King 著课后习题答案C语⾔的经典之作“近10年来*好的⼀部C语⾔著作”讨论了标准C和C标准库的全部特性强调扫⼀扫⽂末在⾥⾯回复答案+C语⾔程序设计:现代⽅法⽴即得到答案软件⼯程和现代编程理念突出⼯业界的**实践、实际经验和编程风格已被包括哈佛⼤学、⿇省理⼯学院、斯坦福⼤学等全球200多所学校采⽤为教材时⾄今⽇,C语⾔仍然是计算机领域的通⽤语⾔之⼀,但今天的C语⾔已经和初的时候⼤不相同了。
本书主要的⼀个⽬的就是通过⼀种“现代⽅法”来介绍C语⾔,书中强调标准C,强调软件⼯程,不再强调“⼿⼯优化”。
这⼀版中紧密结合了C99标准,并与C89标准进⾏对照,补充了C99中的*特性。
本书分为C语⾔的基础特性、C语⾔的⾼级特性、C语⾔标准库和参考资料4个部分。
每章末尾都有⼀个“问与答”⼩节给出⼀系列与该章内容相关的问题及答案,此外还包含适量的习题。
本书是为⼤学本科阶段的C语⾔课程编写的教材,同时也⾮常适合作为其他课程的辅助⽤书。
K. N. King 世界知名的计算机程序设计教育家,现为佐治亚州⽴⼤学数学与计算机科学系副教授。
他拥有耶鲁⼤学计算机科学硕⼠学位,加州⼤学伯克利分校计算机科学博⼠学位,曾任教于佐治亚理⼯学院。
除本书外,他还撰写了⼴受欢迎的著作Modula-2: A Complete Guide 和Java Programming: From the Beginning,并在Dr.Dobb's Journal等权威杂志上发表了许多⽂章。
业余时间,King教授还在多部电影中扮演过⾓⾊。
⽬ 录第1章 C语⾔概述 11.1 C语⾔的历史 11.1.1 起源 11.1.2 标准化 11.1.3 基于C的语⾔ 21.2 C语⾔的优缺点 31.2.1 C语⾔的优点 31.2.2 C语⾔的缺点 31.2.3 ⾼效地使⽤C语⾔ 4问与答 5第2章 C语⾔基本概念 7显⽰全部信息“我完全沉浸在阅读的过程中,我迫切地想⽤这本书作为授课教材。
Java程序设计实用教程(第4版)习题解答与实验指导叶核亚编著2013年11月目录“Java程序设计”课程教学要求 (1)第1章Java概述 (3)第2章Java语言基础 (5)第3章类的封装、继承和多态 (22)第4章接口、内部类和Java API基础 (37)第5章异常处理 (42)第6章图形用户界面 (44)第7章多线程 (49)第8章输入/输出流和文件操作 (51)“Java程序设计”课程教学要求1. 课程性质、目的和任务程序设计是高等学校计算机学科及电子信息学科各专业本科的核心专业基础课程,是培养学生软件设计能力的重要课程。
在计算机学科的本科教学中,起着非常重要的作用。
“Java程序设计”是计算机科学与技术专业本科的专业基础限选课,开设本课程的目的是:进行程序设计和面向对象方法的基础训练;使用Java编程技术,设计解决操作系统、网络通信、数据库等多种实际问题的应用程序。
本课程通过全面、系统地介绍Java语言的基础知识、运行机制、多种编程方法和技术,使学生理解和掌握面向对象的程序设计方法,理解和掌握网络程序的特点和设计方法,建立起牢固扎实的理论基础,培养综合应用程序的设计能力。
本课程的先修课程包括:C/C++程序设计I、C/C++程序设计II、数据结构、操作系统、计算机网络、数据库原理等。
2. 教学基本要求本课程的基本要求如下。
①了解Java语言特点,理解Java Application应用程序的运行原理和方法。
掌握在JDK 环境中编译和运行程序的操作,熟悉在MyEclipse集成开发环境中,编辑、编译、运行和调试程序的操作。
②掌握Java语言中语句、数组、引用类型等基本语法成分的使用方法,通过类、接口、内嵌类型、包、异常处理等机制表达和实现面向对象程序设计思想。
③掌握Java的多种实用技术,包括图形用户界面、多线程、文件操作和流、使用URL 和Socket进行网络通信等。
④熟悉Java JDBC数据库应用的设计方法。
c语言程序设计教程第二版课后习题答案1. 基本概念和语法1.1 变量和数据类型题目:请将下列C语言的变量定义语句补充完整,并给出每个变量的数据类型和初始化值。
代码:```c#include <stdio.h>int main() {int a;float b;char c;double d;int x = 5;float y = 3.14;char z = 'A';printf("a的数据类型:%s,a的初始值:%d\n", typeof(a), a);printf("b的数据类型:%s,b的初始值:%f\n", typeof(b), b); printf("c的数据类型:%s,c的初始值:%c\n", typeof(c), c); printf("d的数据类型:%s,d的初始值:%lf\n", typeof(d), d); printf("x的数据类型:%s,x的初始值:%d\n", typeof(x), x); printf("y的数据类型:%s,y的初始值:%f\n", typeof(y), y); printf("z的数据类型:%s,z的初始值:%c\n", typeof(z), z); return 0;}```答案:a的数据类型:int,a的初始值:随机值b的数据类型:float,b的初始值:随机值c的数据类型:char,c的初始值:'\0'd的数据类型:double,d的初始值:随机值x的数据类型:int,x的初始值:5y的数据类型:float,y的初始值:3.140000z的数据类型:char,z的初始值:A1.2 运算符和表达式题目:请在下列C语言程序中补充运算符,使程序达到题目要求。
```c#include <stdio.h>int main() {int a = 5;int b = 3;int c;// 1. 将a和b的和赋值给c,并将c的值输出// 补充代码// 2. 将a和b的差赋值给c,并将c的值输出// 补充代码// 3. 将a和b的积赋值给c,并将c的值输出// 补充代码// 4. 将a除以b的商赋值给c,并将c的值输出// 补充代码// 5. 将a除以b的余数赋值给c,并将c的值输出// 补充代码return 0;}```要求:1. 补充代码,使程序能够正确输出运算结果;2. 使用合适的运算符。
一、习题要求习题题型:判断题、选择题、填空题、编程题。
习题要求:通过独立的分析、小组合作、教师指导,要求所有学生掌握本次习题,期末考试占70机二、习题讲解(1)判断题8、流程图中用菱形符号表示条件判断。
( )9、SCanf函数功能是通过输入设备为变量输入数据。
( )10、函数PUtChar()的作用是:输入一个字符。
( )(2)选择题14、以下不属于算法基本特征的是( )。
A、有穷性B、有效性C、可靠性D、有一个或多个输出15、设有定义“inti=1;",以下选项的四个表达式中与其他三个表达式的值不相同的是OA、i++B、i+=1C、i+1D、++i16^定义一整型变量intm,给m输入数值,正确的语句为( )。
Asscanf(,z%d zz,m);B、SCanf("%d",&m);C、printf(,z%d zz,m);D、putchar(m);17、以下程序的输出结果为( )。
main(){inta=2,b=5;printf(,,a=%d,b=%d∖n,z,a,b);)A、a=%2,b=%5B、a=2,b=5C^a=d,b=dD^2,518、以下叙述正确的是()。
A、getchar()函数用于输入一个字符串B、getchar()函数用于输入一个字符C、PUtChar()函数用于输入一个字符D、PUtChar()函数用于输出一个字符串(3)填空题9、在程序设计中,把解决问题确定的方法和有限的步骤称为o10、在流程图符号中,判断框中应该填写的是o11、C语言的字符输出函数是C(4)程序填空题1、从键盘上任意输入圆的半径,显示出圆的面积。
请将程样填写完整。
main()(f1oatr,s;Printf("请输入圆的半径scanf("%f",<fer);Printf(”圆的面积为s);)(5)编程题2、编程实现,输入长方形的长和宽,求长方形的周长。
第2章习题解答一、选择题1.下列定义变量的语句中错误的是。
A)int _int; B)double int_; C)char For D)float US$;解析:合法的标识符由字母、数字和下划线组成,因此$不能用作变量名,。
答案:D2.以下不合法的用户标识符是。
A)j2_ KEY B)Double C)4d D)_8_解析:用户标识符由字母(大小写)或者下划线开头,随后跟字母、数字或下划线的任意组合,因此C不正确。
答案:C3.以下不合法的数值常量是。
A)011 B)le1 C)8.0E0.5 D)0xabcd解析:A中011是一个八进制整数常量;B中le1是实数常量的科学记数表示法,而C 中8.0E0.5则是错误的记法,因为E(e)后面必须是整数。
答案:C4.以下不合法的字符常量是。
A)'\018' B)'\"' C)'\\' D)'\xcc'解析:C语言中允许一种特殊形式的字符常量,也就是一个“\”开头的字符序列,'\ddd'表示8进制所代表的字符,'\xhh'表示16进制所代表的字符,转移字符,'\"','\\'分别表示字符"和\。
选项A中数值超过八进数值字的范围(0~8)。
答案:A5.以下程序的功能是:计算半径为r的圆面积S。
程序在编译时出错。
/* 文件路径名:ex2_1_5\main.c */#include <stdio.h> /* 标准输入/出头文件*/#include <stdlib.h> /* 包含库函数system()所需要的信息*/int main(void) /* 主函数main() */{float r = 6, s; /* 半径r与面积s */s = π* r * r; /* 计算面积*/printf("s=%f\n", s); /* 输出面积*/return 0; /* 返回值0, 返回操作系统*/}出错的原因是。
第二部分 习题篇 第一章 C语言概述 一.单项选择题 1.A) 2.A) 3.A) 4.B)5.C)6.D) 7.C) 8.A) 9.D)10.C) 11.C) 12.D)13.B) 14.D)15.A) 二.填空题 1.高级语言 2.main( ) 3.main( ) 4.{ } 5.分号 6.换行 7.*/ 8.函数 9.编译 10..exe 三.判断题 1.(对)2.(对)3.(错)4.(对) 5.(对)6.错) 7.(对) 8.(错) 9.(对)10.对)
第二章 数据类型与表达式 一.单项选择题 1.A) 2.C 3.D)4.A) 5.C) 6.D) 7.C) 8.C) 9.A) 10.A) 11.B) 12.C) 13.C) 14.D) 15.B)16.B)17.C) 二.填空题 1.Double 2.不同 3.27 4.35 5.5 6.double 7.43 8.53 9.12,10,18 10.12.20 11.1,3,3,1 12.4,8 三.判断题 1.(对 )2.(对 )3.(错 ) 4.(对 ) 5.(对 ) 6.(错 ) 7.(对 ) 8.(错 ) 9.(对 )10.(对 )
第三章 顺序结构程序设计 一.单项选择题 1.D)15.0,25.0,35.0 2.C)x=1.23,y=1.26 3.B)scanf(“%d%d%d”,&a,&b,&c); 4.A)scanf("%f",&a); 5.D)程序输出小写字母d 6.B)3 二.填空题 1.5.5 2.c+25 3.1,2,A,a 4.2D
三.判断题
1.顺序结构、选择结构和循环结构可以组成所有的各种复杂程序。 (对 ) 2.复合语句就是多条语句,不必须用花括号括起来。 (错 ) 3.在变量说明中,允许连续给多个变量赋初值。 (错 ) 4.scanf函数和printf函数的原型在头文件“stdio.h”中。 (对 ) 5.printf函数格式字符串中%4d表示输出一定是四位十进制整数。 (错 ) 6.putchar 函数的功能是在显示器上输出一个字符。 (对 ) 7.在scanf函数的格式串中,如果是“%d%d%d”, 在输入三个十进制整数时要用一个以上的空格键、回车键和Tab键作为每两个输入数之间的间隔。 (对 ) 8.在scanf函数的格式串中,如果是“%c%c%c”, 在输入三个字符时要用一个以上的空格键、回车键、Tab键和逗号作为每两个输入字符之间的间隔。 (错 ) 9.scanf("%5.2f",&a);是合法的,目的是输入小数为2位的实数。 (错) 10.getchar函数的功能是从终端输入一个字符。 (对 )
第四章 选择结构程序设计 一.单项选择题 1.C)算术运算、关系运算、逻辑运算 2.A)% 3.B)x= =0 4.B)!、&&、|| 5.D)(x<=y)&&(y<=z) 6.D)(x<=-10)||(x>=7) 7.A)68.D)(x>='A')&&(x<='Z') 9.A)0,0 10.C)1,0 11.C)2 12.B)1,0,0,1 13.C)1 14.A)0,0 15.B)2323 16.B)10,20,# 17.B)x=3,y=5 二.填空题 1.x=-x 2.7 3.$$$ 4.default 5.2,3,3 三.判断题 1.关系运算符的优先级低于算术运算符,高于赋值运算符。 (对 ) 2.关系表达式的值是“真”和“假”,用“T”和“F”表示。 (错 ) 3.关系表达式3>2>1的值为真。 (错 ) 4.逻辑非运算符!为单目运算符,具有右结合性。 (对 ) 5.逻辑运算符和其它运算符优先级的关系从高到低为: !(非)→算术运算符→关系运算符→&&和||→赋值运算符 (对 ) 6.if(表达式) 语句1; else 语句2; 其语义是:如果表达式的值为真,则执行语句1,否则执行语句2。 (对 ) 7.在if关键字之后均为表达式。该表达式可以是任意表达式,但不能是变量。(错 ) 8.当程序中有多对if和else时,它们是按照顺序配对的。如第一个if与第一个else配对,第二个if与第二个else配对,以此类推。 (错 ) 9.条件运算符的结合方向是自左至右。 (错) 10.在switch多分支语句中,break语句用于跳出switch语句。 (对 )
四.改错题 1、下面程序的功能是判断输入的一个整数是否能被5和7同时整除,若能整除,输出“YES”,否则,输出“NO”。 错误语句:if(x%5==0||x%7==0) 正确语句:if(x%5==0&&x%7==0) 2.下面程序的功能是输出一个4位整数的后两位数值,例如输入5678,输出78。 错误语句:scanf("%d",x); 正确语句:scanf("%d",&x);
3.下面程序的功能是从键盘输入三个整数,输出其中最小的数。 错误语句:min=(temp>c)?temp:c ; 正确语句:min=(temp
4.下面程序的功能是判断某一年是否为闰年。 错误语句:if (year%400!=0) 正确语句:if (year%400==0) 第五章 循环结构程序设计 一.单项选择题 1.C)21 2.D)for(表达式1;1;表达式3) 3.D)在do-while循环中,当while后的表达式为0时结束循环 4.C)do-while的循环体至少无条件执行一次 5.A)60 6.C)1 7.B)1 8.A)-1 9.C)5050 二.填空题
1.i++ 2.0 3.1.0/i 4.num++ 5.|| 6.e 7.A 8. 23 9.month 10.sum=0 三.判断题 1、“当型”循环是先判断表达式后执行循环体,“直到型”循环是先执行循环体后判断表达式。 (对 ) 2、如果循环体内包含一个以上的语句,应该用花括弧括起来,组成复合语句。(对 ) 3、do-while语句和while语句可以互相转换,运行结果相同。 (错 ) 4、for(循环变量赋初值;循环条件;循环变量增值)中的循环条件不允许省略。(错 ) 5、for (f=1,i=1;i<=10; f=f*i,i++) ;是非法语句。 (错 ) 6、三种循环while循环、do-while循环和for循环可以互相嵌套。 (对 ) 7、在循环结构中,break语句可以使流程跳出循环体,即提前结束循环。 (对) 8、在循环结构中,continue语句是结束本次循环,即跳过循环体中下面未执行的语句,接着进行循环条件的判定。 (对) 9、continue语句和break语句的区别是break语句只结束本次循环,继续进行下一次循环,而continue语句则是结束整个循环,不再判断循环条件是否成立。 (错 ) 10、goto语句能构成循环,可以随意使用。 (错 ) 四.改错题 1.下面程序的功能是求10!。 错误语句:for (i=10; i>=0; i++) 正确语句:for (i=10; i>0; i--)
2.下面程序的功能是输出1~100之间所有能被3整除的数。 错误语句:if(i%3) beeak; 正确语句:if(i%3) continue;
3.下面程序的功能是求1!+2!+…+n!。 错误语句:while(i>=n); 正确语句:while(i<=n);
4.下面程序的功能是利用公式π/4≈1-1/3+1/5-1/7+„求π的近似值,直到某一项的绝对值小于10-7为止。 错误语句:while(fabs(temp)>10-7) 正确语句:while(fabs(temp)>1e-7)
第六章 数 组 一.单项选择题 1.D)数组的首地址 2.D)在程序运行时,如果数组元素的下标超出了所定义的下标范围时,系统将给出“下标越界”的出错信息 3.C)x[2][1] 4.B)scanf("%d%s",&x,y); 5.D)#define N 50; 6.A)int a[2][ ]={{1,2},{3,4}}; 7.A)a[0][0]=0,a[0][1]=1,a[1][0]=2,a[1][1]=3 8.D)char a[ ]={1,2,3,4,5,6}; 9.C)数组a的长度大于数组b的长度 10.D)把字符串str2复制到字符串str1中再把字符串str3连接到字符串str1之后 11.D)对于字符型数组,可以在赋值语句中通过运算符“=”进行整体赋值
二.填空题 1. 同一个 2.方括号 3.连续 4.0 19 5.行 6.一 7.\0 8. 字符数组名 9.10,6 10.2 11.fibonacci[i-1]+fibonacci[i-2];
12.y[j][i]=x[i][j]
13.98 14.-21 15.i
16.i—
17.str[i]=str[i+1]
18.string2[i]=string1[i];
19. j++;
三.判断题 1.在C语言中,数组属于构造类型的数据。 (对) 2.一个数组的各个元素的数据类型可以不完全相同。 (错) 3.数组在内存中占有连续的存储单元,数组名表示数组在内存中的首地址。 (对 ) 4.使用语句int a[5];定义了一个一维数组a,其中有5个元素,为a[1],a[2],a[3],a[4],a[5]。 (错 ) 5.数组名后是用方括号或圆括号括起来的常量表达式。 (错 ) 6.C语言编译程序不对数组作边界检查,如果程序中出现了下标越界,可能会造成程序运行结果的错误。因此要注意下标不能过界。 (对 ) 7.C语言允许对数组的长度作动态定义,即数组长度可以是变量。 (错 ) 8.在C语言中,使用数值型数组时,只能逐个引用数组元素而不能一次引用整个数组。 (对 ) 9.为数组元素赋值时,若所有元素值全部相同,则可以给数组整体赋初值。(错 ) 10.对数组的全部元素赋初值时,也可以不指定数组长度。 (对 ) 11.C语言中二维数组的元素在内存中排列的顺序是按行存放。 (对 ) 12.如果对二维数组中全部元素赋初值,则数组的第一维和第二维长度均可以省略。(错 ) 13.在C语言中,字符串是借助于字符数组来存放的。 (对 ) 14.在字符串常量的末尾,系统会自动加一个‘\0’作为结束符。 (对 ) 15.用字符串常量对字符数组初始化时,数组的长度至要与字符串长度相同。(错)