当前位置:文档之家› C程序设计语言 (第二版) 课后答案第一章

C程序设计语言 (第二版) 课后答案第一章

C程序设计语言 (第二版) 课后答案第一章
C程序设计语言 (第二版) 课后答案第一章

Chapter 1

Exercise 1-1

Run the “hello world” program on your system. Experiment with leaving out parts of the program, to see what error message you get.

#include

int main()

{

printf("hello, ");

printf("world");

printf("\n");

return 0;

}

Exercise 1-2

Experiment to find out what happens when printf’s argument string contains \c, where c is some character not list above.

Exercise 1-3

Modify the temperature conversion program to print a heading above the table.

#include

int main()

{

float fahr, celsius;

float lower, upper, step;

lower = 0;

upper = 300;

step = 20;

fahr = lower;

printf("Fahrenheit temperatures and their centigrade or Celsius equivalents\n");

while (fahr <= upper)

{

celsius = (5.0/9.0) * (fahr-32.0);

printf("%3.0f %6.1f\n", fahr, celsius);

fahr = fahr + step;

}

return 0;

}

Exercise 1-4

Write a program to print the corresponding Celsius to Fahrenheit table.

#include

int main()

{

float fahr, celsius;

float lower, upper, step;

lower = 0;

upper = 300;

step = 20;

celsius = lower;

while (celsius<= upper)

{

fahr = 9.0*celsius/5.0+32;

printf("%3.0f %6.1f\n", celsius,fahr);

celsius = celsius + step;

}

return 0;

}

Exercise 1-5

Modify the temperature conversion program to print the table in reverse order, that is, from 300 degrees to 0.

#include

int main()

{

float fahr, celsius;

float lower, upper, step;

lower = 0;

upper = 300;

step = 20;

fahr = upper;

printf("Fahrenheit temperatures and their centigrade or Celsius equivalents\n");

while (fahr >= lower)

{

celsius = (5.0/9.0) * (fahr-32.0);

printf("%3.0f %6.1f\n", fahr, celsius);

fahr = fahr - step;

}

return 0;

}

Exercise 1-6

Verify that the expression getchar()!=EOF is 0 or 1.

#include

main()

{

int c;

c =(getchar() != EOF);

printf("%d",c);

return 0;

}

Exercise 1-7

Write a program to print the value of EOF .

#include

int main()

{

printf("%d",EOF);

return 0;

}

Exercise 1-8

Write a program to count blanks, tabs, and newlines. #include

int main(void)

{

int blanks, tabs, newlines;

int c;

int done = 0;

int lastchar = 0;

blanks = 0;

tabs = 0;

newlines = 0;

printf("输入0查看结果\n");

while(done == 0)

{

c = getchar();

if(c == ' ')

++blanks;

if(c == '\t')

++tabs;

if(c == '\n')

++newlines;

if(c == '0')

{

if(lastchar != '\n')

{

++newlines;

}

done = 1;

}

lastchar = c;

}

printf("空格的个数为: %d\n制表符的个数为: %d\n换行符的个数为: %d\n", blanks, tabs, newlines);

return 0;

}

Exercise 1-9

Write a program to copy its input to its output, replacing each string of one or more blanks by a single blank.

#include

int main(void)

{

int c;

int inspace;

inspace = 0;

while((c = getchar()) != EOF)

{

if(c == ' ')

{

if(inspace == 0)

{

inspace = 1;

putchar(c);

}

}

if(c != ' ')

{

inspace = 0;

putchar(c);

}

}

return 0;

}

Exercise 1-10

Write a program to copy its input to its output, replacing each tab by \t , each backspace by \b , and each backslash by \\ . This makes tabs and backspaces visible in an unambiguous way.

#include

int main()

{

int c;

while((c=getchar())!=EOF)

{

if (c=='\t')

printf("\t");

if (c=='\b')

printf("\b");

if (c=='\\')

printf("\\\\");

if (c!='\t')

if (c!='\b')

if (c!='\\')

putchar(c);

}

return 0;

}

Exercise 1-11

How would you test the word count program? What kinds of input are most likely to uncover bugs if there are any?

Exercise 1-12

Write a program that prints its input one word per line.

#include

int main(void)

{

int c;

int asd;

asd = 0;

while((c = getchar()) != EOF)

{

if(c == ' ' || c == '\t' || c == '\n')

{

if(asd == 0)

{

asd = 1;

putchar('\n');

}

}

else

{

asd = 0;

putchar(c);

}

}

return 0;

}

Exercise 1-13

Write a program to print a histogram of the lengths of words in its input. It is easy to draw the histogram with the bars horizontal; a vertical orientation is more challenging. #include

#define MAXWORDLEN 10

int main(void)

{

int c;

int inspace = 0;

long lengtharr[MAXWORDLEN + 1];

int wordlen = 0;

int firstletter = 1;

long thisval = 0;

long maxval = 0;

int thisidx = 0;

int done = 0;

for(thisidx = 0; thisidx <= MAXWORDLEN; thisidx++)

{

lengtharr[thisidx] = 0;

}

while(done == 0)

{

c = getchar();

if(c == ' ' || c == '\t' || c == '\n' || c == EOF)

{

if(inspace == 0)

{

firstletter = 0;

inspace = 1;

if(wordlen <= MAXWORDLEN)

{

if(wordlen > 0)

{

thisval = ++lengtharr[wordlen - 1];

if(thisval > maxval)

{

maxval = thisval;

}

}

}

else

{

thisval = ++lengtharr[MAXWORDLEN];

if(thisval > maxval)

{

maxval = thisval;

}

}

}

if(c == EOF)

{

done = 1;

}

}

else

{

if(inspace == 1 || firstletter == 1)

{

wordlen = 0;

firstletter = 0;

inspace = 0;

}

++wordlen;

}

}

for(thisval = maxval; thisval > 0; thisval--)

{

printf("%4d | ", thisval);

for(thisidx = 0; thisidx <= MAXWORDLEN; thisidx++) {

if(lengtharr[thisidx] >= thisval)

{

printf("* ");

}

else

{

printf(" ");

}

}

printf("\n");

}

printf(" +");

for(thisidx = 0; thisidx <= MAXWORDLEN; thisidx++)

{

printf("---");

}

printf("\n ");

for(thisidx = 0; thisidx < MAXWORDLEN; thisidx++)

{

printf("%2d ", thisidx + 1);

}

printf(">%d\n", MAXWORDLEN);

return 0;

}

Exercise 1-14

Write a program to print a histogram of the frequencies of different characters in its input.

#include

#define NUM_CHARS 256

int main(void)

{

int c;

long freqarr[NUM_CHARS + 1];

long thisval = 0;

long maxval = 0;

int thisidx = 0;

for(thisidx = 0; thisidx <= NUM_CHARS; thisidx++)

{

freqarr[thisidx] = 0;

}

while((c = getchar()) != EOF)

{

if(c < NUM_CHARS)

{

thisval = ++freqarr[c];

if(thisval > maxval)

{

maxval = thisval;

}

}

else

{

thisval = ++freqarr[NUM_CHARS];

if(thisval > maxval)

{

maxval = thisval;

}

}

}

for(thisval = maxval; thisval > 0; thisval--)

{

printf("%4d |", thisval);

for(thisidx = 0; thisidx <= NUM_CHARS; thisidx++) {

if(freqarr[thisidx] >= thisval)

{

printf("*");

}

else if(freqarr[thisidx] > 0)

{

printf(" ");

}

}

printf("\n");

}

printf(" +");

for(thisidx = 0; thisidx <= NUM_CHARS; thisidx++) {

if(freqarr[thisidx] > 0)

{

printf("-");

}

}

printf("\n ");

for(thisidx = 0; thisidx < NUM_CHARS; thisidx++) {

if(freqarr[thisidx] > 0)

{

printf("%d", thisidx / 100);

}

}

printf("\n ");

for(thisidx = 0; thisidx < NUM_CHARS; thisidx++)

{

if(freqarr[thisidx] > 0)

{

printf("%d", (thisidx - (100 * (thisidx / 100))) / 10 );

}

}

printf("\n ");

for(thisidx = 0; thisidx < NUM_CHARS; thisidx++)

{

if(freqarr[thisidx] > 0)

{

printf("%d", thisidx - (10 * (thisidx / 10)));

}

}

if(freqarr[NUM_CHARS] > 0)

{

printf(">%d\n", NUM_CHARS);

}

printf("\n");

return 0;

}

Exercise 1-15

Rewrite the temperature conversion program of Section 1.2 to use a function for conversion.

#include

float FtoC(float f)

{

float c;

c = (5.0 / 9.0) * (f - 32.0);

return c;

}

int main(void)

{

float fahr, celsius;

int lower, upper, step;

lower = 0;

upper = 300;

step = 20;

printf("F C\n\n");

fahr = lower;

while(fahr <= upper)

{

celsius = FtoC(fahr);

printf("%3.0f %6.1f\n", fahr, celsius);

fahr = fahr + step;

}

return 0;

}

Exercise 1-16

Revise the main routine of the longest-line program so it will correctly print the length of arbitrarily long input lines, and as much as possible of the text.

#include

#define MAXLINE 1000

int getline(char line[ ], int maxline);

void copy(char to[ ], char from[ ]);

int main(void)

{

int len;

int max;

char line[MAXLINE];

char longest[MAXLINE];

max = 0;

while((len = getline(line, MAXLINE)) > 0)

{

printf("%d: %s", len, line);

if(len > max)

{

max = len;

copy(longest, line);

}

}

if(max > 0)

{

printf("Longest is %d characters:\n%s", max, longest);

}

printf("\n");

return 0;

}

int getline(char s[], int lim)

{

int c, i, j;

for(i = 0, j = 0; (c = getchar())!=EOF && c != '\n'; ++i)

{

if(i < lim - 1)

{

s[j++] = c;

}

}

if(c == '\n')

{

if(i <= lim - 1)

{

s[j++] = c;

}

++i;

}

s[j] = '\0';

return i;

}

void copy(char to[], char from[])

{

int i;

i = 0;

while((to[i] = from[i]) != '\0')

{

++i;

}

}

Exercise 1-17

Write a program to print all input lines that are longer than 80 characters. #include

#define MINLENGTH 81

int readbuff(char *buffer) {

size_t i=0;

int c;

while (i < MINLENGTH) {

c = getchar();

if (c == EOF) return -1;

if (c == '\n') return 0;

buffer[i++] = c;

}

return 1;

}

int copyline(char *buffer) {

size_t i;

int c;

int status = 1;

for(i=0; i

putchar(buffer[i]);

while(status == 1) {

c = getchar();

if (c == EOF)

status = -1;

else if (c == '\n')

status = 0;

else

putchar(c);

}

putchar('\n');

return status;

}

int main(void) {

char buffer[MINLENGTH];

int status = 0;

while (status != -1) {

status = readbuff(buffer);

if (status == 1)

status = copyline(buffer);

}

return 0;

}

Exercise 1-18

Write a program to remove all trailing blanks and tabs from each line of input, and to delete entirely blank lines.

#include

#include

#define MAXQUEUE 1001

int advance(int pointer)

{

if (pointer < MAXQUEUE - 1)

return pointer + 1;

else

return 0;

}

int main(void)

{

char blank[MAXQUEUE];

int head, tail;

int nonspace;

int retval;

int c;

retval = nonspace = head = tail = 0;

while ((c = getchar()) != EOF) {

if (c == '\n') {

head = tail = 0;

if (nonspace)

putchar('\n');

nonspace = 0;

}

else if (c == ' ' || c == '\t') {

if (advance(head) == tail) {

putchar(blank[tail]);

tail = advance(tail);

nonspace = 1;

retval = EXIT_FAILURE;

}

blank[head] = c;

head = advance(head);

}

else {

while (head != tail) {

putchar(blank[tail]);

tail = advance(tail);

}

putchar(c);

nonspace = 1;

}

}

return retval;

}

Exercise 1-19

Write a function reverse(s) that reverses the character string s . Use it to write a program that reverses its input a line at a time.

#include

#define MAX_LINE 1024

void discardnewline(char s[])

{

int i;

for(i = 0; s[i] != '\0'; i++)

{

if(s[i] == '\n')

s[i] = '\0';

}

}

int reverse(char s[])

{

char ch;

int i, j;

for(j = 0; s[j] != '\0'; j++)

{

}

--j;

for(i = 0; i < j; i++)

{

ch = s[i];

s[i] = s[j];

s[j] = ch;

--j;

}

return 0;

}

int getline(char s[], int lim)

{

int c, i;

for(i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i) {

s[i] = c;

}

if(c == '\n')

{

s[i++] = c;

}

s[i] = '\0';

return i;

}

int main(void)

{

char line[MAX_LINE];

while(getline(line, sizeof line) > 0)

{

discardnewline(line);

reverse(line);

printf("%s\n", line);

}

return 0;

}

Exercise 1-20

Write a program detab that replaces tabs in the input with the proper number of blanks to space to the next tab stop. Assume a fixed set of tab stops, say every n columns. Should n be a variable or a symbolic parameter?

#include

#include

#include

#define MAX_BUFFER 1024

#define SPACE ' '

#define TAB '\t'

int CalculateNumberOfSpaces(int Offset, int TabSize)

{

return TabSize - (Offset % TabSize);

}

int getline(char s[], int lim)

{

int c, i;

for(i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i)

s[i] = c;

if(c == '\n')

{

s[i] = c;

++i;

}

s[i] = '\0';

return i;

}

int main(void)

{

char Buffer[MAX_BUFFER];

int TabSize = 5;

int i, j, k, l;

while(getline(Buffer, MAX_BUFFER) > 0)

{

for(i = 0, l = 0; Buffer[i] != '\0'; i++)

{

if(Buffer[i] == TAB)

{

j = CalculateNumberOfSpaces(l, TabSize);

for(k = 0; k < j; k++)

{

putchar(SPACE);

l++;

}

}

else

{

putchar(Buffer[i]);

l++;

}

}

}

return 0;

}

Exercise 1-21

Write a program entab that replaces strings of blanks with the minimum number of tabs

and blanks to achieve the same spacing. Use the same stops as for detab . When either a tab or a single blank would suffice to reach a tab stop, which should be given preference?

#include

#define MAXLINE 1000

#define TAB2SPACE 4

char line[MAXLINE];

int getline(void);

int

main()

{

int i,t;

int spacecount,len;

while (( len = getline()) > 0 )

{

spacecount = 0;

for( i=0; i < len; i++)

{

if(line[i] == ' ')

spacecount++;

if(line[i] != ' ')

spacecount = 0;

if(spacecount == TAB2SPACE)

{

i -= 3;

len -= 3;

line[i] = '\t';

for(t=i+1;t

line[t]=line[t+3];

spacecount = 0;

line[len] = '\0';

}

}

printf("%s", line);

}

return 0;

}

int getline(void)

{

int c, i;

extern char line[];

for ( i=0;i

line[i] = c;

if(c == '\n')

{

line[i] = c;

++i;

}

line[i] = '\0';

return i;

}

Exercise 1-22

Write a program to "fold" long input lines into two or more shorter lines after the last non-blank character that occurs before the n -th column of input. Make sure your program does something intelligent with very long lines, and if there are no blanks or tabs before the specified column.

#include

#define MAXLINE 1000

char line[MAXLINE];

int getline(void);

int

main()

{

int t,len;

int location,spaceholder;

const int FOLDLENGTH=70;

while (( len = getline()) > 0 )

{

if( len < FOLDLENGTH )

{

}

else

{

t = 0;

location = 0;

while(t

{

if(line[t] == ' ')

spaceholder = t;

if(location==FOLDLENGTH)

{

line[spaceholder] = '\n';

location = 0;

}

location++;

t++;

}

}

printf ( "%s", line);

}

return 0;

}

int getline(void)

{

int c, i;

extern char line[];

for ( i=0;i

line[i] = c;

if(c == '\n')

{

line[i] = c;

++i;

}

line[i] = '\0';

return i;

}

Exercise 1-23

Write a program to remove all comments from a C program. Don't forget to handle quoted strings and character constants properly. C comments do not nest.

#include

《C程序设计语言》样卷

韩山师范学院2011年专升本插班生考试样卷 计算机科学与技术专业高级语言程序设计试卷(A卷) 一、填空题(每空1分,共10分) 1.C程序的基本单位是________。 2.C语言源程序文件的后缀是________。 3.C语言中的标识符由________、________和字母组成。 4.设y为float型变量,执行表达式y=6/5之后,y的值是________。 5.在C语言中,要求运算量必须是整型的运算符是___________。 6.如果函数值的类型与返回值的类型不一致时,应该以___________为准。7.已知int a=8,*p=&a;,则*p的值是___________。 8.把一些不同类型的数据作为一个整体来处理时,常用___________。9.若x=2,y=3,则x|y<<2的结果是___________。 二、单项选择题(每小题1.5分,共30分) A.顺序结构、选择结构、循环结构B.递归结构、循环结构、转移结构C.嵌套结构、递归结构、顺序结构D.循环结构、转移结构、顺序结构2.在一个C语言的源程序中,以下叙述正确的是()。

A.必须有除主函数外其他函数B.可以有多个主函数 C.必须有一个主函数D.可以没有主函数 3.以下叙述正确的选项是()。 A.C语言的源程序不必通过编译就可直接执行 B.C语言中的每条语句最终都将被转换成二进制的机器指令 C.C语言程序经编译形成的二进制代码可以直接执行 D.C语言中的函数不可以单独进行编译 4.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是( )。 A.有零个输入或多个输入B.高效性C.有穷性D.确定性5.以下能正确定义且赋初值的语句是( )。 A.int n1=n2=10; B.char c=32; C.float f=f+1.1; D.double x=12.3E2.5 6.有以下程序: main() { char a='a',b; printf("%c",++a); printf("%c\n",b=a++); } 程序运行后的输出结果是( )。 A.bb B.bc C.ab D.ac 7.以下程序段的输出结果是( )。 int a=1234; printf("%2d ",a); A.12 B.34 C.1234 D.提示出错 8.有以下程序:

操作系统第三章课后答案

第三章处理机调度与死锁 1. 高级调度与低级调度的主要任务是什么为什么要引入中级调度 高级调度的主要任务:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它 们创建进程,分配必要的资源,然后,再将新创建的进程插入就 绪队列上,准备执行。 低级调度的主要任务:用于决定就绪队列中的哪个进程应获得处理机,然后再由分派程 序执行将处理机分配给该进程的具体操作。 引入中级调度的主要目的:是为了提高系统资源的利用率和系统吞吐量。 10. 试比较FCFS和SPF两种进程调度算法 相同点:两种调度算法都是既可用于作业调度,也可用于进程调度; 不同点:FCFS调度算法每次调度都是从后备队列中选择一个或是多个最先进入该队列的作业,将它们调入内存,为它们分配资源,创建进程,然后插入到就绪队 列中。该算法有利于长作业/进程,不利于短作业/进程。 SPF调度算法每次调度都是从后备队列中选择一个或若干个估计运行时间最 短的作业,将它们调入内存中运行。该算法有利于短作业/进程,不利于长作 业/进程。 15. 按调度方式可将实时调度算法分为哪几种 】 按调度方式不同,可分为非抢占调度算法和抢占调度算法两种。 18. 何谓死锁产生死锁的原因和必要条件是什么 a.死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不 能再向前推进; b.产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法; c.必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。 19.在解决死锁问题的几个方法中,哪种方法最易于实现哪种方法是资源利用率最高解决/处理死锁的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁方法最容易实现,但由于所施加的限制条件过于严格,会导致系统资源利用率和系统吞吐量降低;而检测和解除死锁方法可是系统获得较好的资源利用率和系统吞吐量。 20. 请详细说明可通过哪些途径预防死锁 a.摒弃"请求和保持"条件:系统规定所有进程开始运行之前,都必须一次性地申请其在整 个运行过程所需的全部资源,但在分配资源时,只要有一种资源不能满足某进程的要求,即使其它所需的各资源都空闲,也不分配给该进程,而让该进程等待; b.摒弃"不剥夺"条件:系统规定,进程是逐个地提出对资源的要求的。当一个已经保持了 某些资源的进程,再提出新的资源请求而不能立即得到满足时,必须释放它已经保持了的所有资源,待以后需要时再重新申请; , c.摒弃"环路等待"条件:系统将所有资源按类型进行线性排序,并赋予不同的序号,且所 有进程对资源的请求必须严格按序号递增的次序提出,这样,在所形成的资源分配图中,不可能再出现环路,因而摒弃了"环路等待"条件。 22. 在银行家算法中,若出现下述资源分配情:

通信原理(陈启兴版)第1章课后习题答案

第1章引言 1.1 学习指导 1.1.1 要点 本章的要点有通信系统的数学模型,通信系统的分类及通信方式,信息及其度量,通信系统的主要性能指标。 1.通信系统的数学模型 通信系统是指传递消息所需的一切技术设备(含信道)的总和。通信系统的作用就是将信息从信源发送到一个或多个目的地。 (1)一般模型 以图1-1所示的功能框图来表示。 图1-1通信系统的一般模型 信息源。信源所产生的信息可以是声音、图像或文本。信息源一般包含变换器,将信源的输出变换成电信号。例如,用作变换器的话筒,可以将语音信号变换成电信号,而摄像机则将图像信号变换成电信号。这些设备输出的信号一般称为基带信号。在接收端,使用类似的变换器就可以将接收到的电信号变换成适合用户的形式,如声音信号、图像等。 发送设备。发送设备将原始基带电信号变换成适合物理信道或其他传输介质传输的形式。例如在无线电和电视广播中,通信部门规定了各发射台的频率范围,因此,发射机必须将待发送的信息信号转换到适合的频率范围来发送,以便与分配给此发射机的频率相匹配。这样,由多个无线电台发送的信号就不会彼此干扰。又如果信道是光纤组成的,那么发送设备就要将处理好的基带信号转换光波信号再发送。因此发送设备涵盖的内容很多,可能包含变换、放大、滤波、编码调制等过程。对于多路传输系统,发送设备中还包括多路复用器。 信道。信道用于将来自发送设备的信号发送到接收端的物理介质。信道可以分为两大类:无线信道和有线信道。在无线信道中,信道可以是大气、自由空间和海水。有线信道有双绞电话线、同轴电缆及光纤等。信道对不同种类的信号有不同的传输特性,但都会对在信道中传输的信号产生衰减,信道中的噪声和由不理想接收机引入的噪声会引起接收信号的失真 接收设备。接收设备的功能是恢复接收信号中所包含的消息信号。使用和发送端相

C程序设计语言 (第二版) 课后答案第一章

Chapter 1 Exercise 1-1 Run the “hello world” program on your system. Experiment with leaving out parts of the program, to see what error message you get. #include int main() { printf("hello, "); printf("world"); printf("\n"); return 0; } Exercise 1-2 Experiment to find out what happens when printf’s argument string contains \c, where c is some character not list above. Exercise 1-3 Modify the temperature conversion program to print a heading above the table. #include int main() { float fahr, celsius; float lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; printf("Fahrenheit temperatures and their centigrade or Celsius equivalents\n"); while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; } return 0; }

matlab课后习题解答第二章doc

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象? 3/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1)) 〖目的〗 ●不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+0.1 c2=sym(3/7+0.1) c3=sym('3/7+0.1') c4=vpa(sym(3/7+0.1)) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = 0.5286 c2 = 37/70 c3 = 0.52857142857142857142857142857143 c4 = 0.52857142857142857142857142857143 Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 ●理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1) ans = a

symvar(sym('z*exp(j*th)'),1) ans = z 3 求以下两个方程的解 (1)试写出求三阶方程05.443 =-x 正实根的程序。注意:只要正实根,不要出现其他根。 (2)试求二阶方程022=+-a ax x 在0>a 时的根。 〖目的〗 ● 体验变量限定假设的影响 〖解答〗 (1)求三阶方程05.443 =-x 正实根 reset(symengine) %确保下面操作不受前面指令运作的影响 syms x positive solve(x^3-44.5) ans = (2^(2/3)*89^(1/3))/2 (2)求五阶方程02 2 =+-a ax x 的实根 syms a positive %注意:关于x 的假设没有去除 solve(x^2-a*x+a^2) Warning: Explicit solution could not be found. > In solve at 83 ans = [ empty sym ] syms x clear syms a positive solve(x^2-a*x+a^2) ans = a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/2 4 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。 a =@, b = sym( @ ), c = sym( @ ,' d ' ), d = sym( '@ ' ) 在此,@ 分别代表具体数值 7/3 , pi/3 , pi*3^(1/3) ;而异同通过vpa(abs(a-d)) , vpa(abs(b-d)) , vpa(abs(c-d))等来观察。 〖目的〗 ● 理解准确符号数值的创建法。 ● 高精度误差的观察。 〖解答〗 (1)x=7/3 x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'), a =

基础工程-第3章课后习题答案

1.试述桩的分类。 (一)按承台位置分类。可分为高桩承台基础和低桩承台基础,简称高桩承台和低桩承台。 (二)按施工方法分类。可分为沉桩(预制桩)、灌注桩、管桩基础、钻埋空心桩。 (三)按设置效应分类。可分为挤土桩、部分挤土桩和非挤土桩。 (四)按桩土相互作用特点分类。可分为竖向受荷桩(摩擦桩、端承桩或柱桩)、横向受荷桩(主动桩、被动桩、竖直桩和斜桩)、桩墩(端承桩墩、摩擦 桩墩)。 (五)按桩身材料分类。可分为木桩(包括竹桩)、混凝土桩(含钢筋和混凝土桩和预应力钢筋混凝土桩)、钢桩和组合桩。 2.桩基设计原则是什么? 桩基设计·应力求做到安全适用、经济合理、主要包括收集资料和设计两部分。 1.收集资料 (1)进行调查研究,了解结构的平面布置、上部荷载大小及使用要求等; (2)工程地质勘探资料的收集和阅读,了解勘探孔的间距、钻孔深度以及 土层性质、桩基确定持力层; (3)掌握施工条件和施工方法,如材料、设备及施工人员等; 2.设计步骤 (1)确定桩的类型和外形尺寸,确定承台埋深; (2)确定单桩竖向承载力特征值和水平承载力特征值; (3)初步拟定桩的数量和平面布置; ( 4 )确定单桩上的竖向和水平承载力,确定群桩承载力; ( 5 )必要时验算地基沉降; ( 6 )承台结构设计; ( 7 )绘制桩和承台的结构及施工图; 3.设计要求

《建筑地基基础设计规范》(GB 50007 —2011)第8.5.2条指出,桩基设计应符合下列规范: (1)所有桩基均应进行承载力和桩身强度计算。对预制桩,尚应进行运输、吊装和锤击等中的强度和抗裂验算。 (2)桩基沉降量验算应符合规范第8.5.15条规定。 (3)桩基的抗震承载力验算应符合现行国家标准《建筑抗震设计规范》 (GB 50011—2010)的相关规定。 (4)桩基宜选用中、低压缩性土层作为桩端持力层。 (5)同一结构单元内的桩基,不宜选用压缩性差异较大的土层作为桩端持力层,不宜采用部分摩擦桩和部分端承桩。 (6)由于欠固结软土、湿陷性土和场地填土的固结,场地大面积堆载、降低 地下水位等原因,引起桩周土的沉降大于柱的沉降时,应考虑桩侧负摩阻力对 桩基承载力和沉降的影响。 (7)对位于坡地、岸边的桩基,应进行桩基的整体稳定性验算。桩基应与边 坡工程统一规划,同步设计。 (8)岩溶地区的桩基,当岩溶上覆土层的稳定性有保证,且桩端持力层承载 力及厚度满足要求,可利用覆土层作为桩端持力层。当必须采用嵌岩桩时,应 对岩溶进行施工勘探。 (9)应考虑桩基施工中挤土效应对桩基及周边环境的影响;在深厚饱和软土 中不宜采用大片密集有挤土效应的桩基。 (10)应考虑深基坑开挖中,坑底土回弹隆起对桩受力及桩承载力的影响。 (11)桩基设计时,应结合地区经验考虑桩、土、承台的共同作用。 (12)在承台及地下室周围的回填土中,应满足填土密实度要求。 3.什么是单桩?说明桩侧极限摩阻力的影响因素是什么。 单桩: 即采用一根桩(通常为大直径桩)以承受和传递上部结构(通长为柱)荷载的独立基础。 极限摩阻力的影响因素:(1)桩周土的性质; (2)桩、土相对位移; (3)桩的直径的影响; (4)桩-土界面条件的影响;

1.第一章课后习题及答案

第一章 1.(Q1) What is the difference between a host and an end system List the types of end systems. Is a Web server an end system Answer: There is no difference. Throughout this text, the words “host” and “end system” are used interchangeably. End systems inc lude PCs, workstations, Web servers, mail servers, Internet-connected PDAs, WebTVs, etc. 2.(Q2) The word protocol is often used to describe diplomatic relations. Give an example of a diplomatic protocol. Answer: Suppose Alice, an ambassador of country A wants to invite Bob, an ambassador of country B, over for dinner. Alice doesn’t simply just call Bob on the phone and say, come to our dinner table now”. Instead, she calls Bob and suggests a date and time. Bob may respond by saying he’s not available that particular date, but he is available another date. Alice and Bob continue to send “messages” back and forth until they agree on a date and time. Bob then shows up at the embassy on the agreed date, hopefully not more than 15 minutes before or after the agreed time. Diplomatic protocols also allow for either Alice or Bob to politely cancel the engagement if they have reasonable excuses. 3.(Q3) What is a client program What is a server program Does a server program request and receive services from a client program Answer: A networking program usually has two programs, each running on a different host, communicating with each other. The program that initiates the communication is the client. Typically, the client program requests and receives services from the server program.

(完整版)C程序设计语言复习题(试题及答案版)

一.填空题 26.C#源程序的后缀名为______.cs________。 26.C#中每个int 类型的变量占用____4___个字节的内存。 26.C#的每行语句以________分号_______结尾。 26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。 26.如果int x的初始值为5,则执行表达式x - =3之后,x的值为_____2_________。 26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。 26.关键字_______class________表示一个类的定义。 26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。 26.try块运行后,总是会执行_________finally_____________块中的代码。 26.一个数组如果有两个索引值,那么它是__________二维__________数组。 二.单项选择题 1.在对SQL Server 数据库操作时应选用()。 A、SQL Server .NET Framework 数据提供程序; B、OLE DB .NET Framework 数据提供程序; C、ODBC .NET Framework 数据提供程序; D、Oracle .NET Framework数据提供程序; 2.下列选项中,()是引用类型。 A、enum类型 B、struct类型 C、string类型 D、int类型 3.C#的数据类型有() A、值和调用类型; B、值和引用类型; C、引用和关系类型; D、关系和调用类型 4.下列描述错误的是() A、类不可以多重继承而接口可以; B、抽象类自身可以定义成员而接口不可以; C、抽象类和接口都不能被实例化; D、一个类可以有多个基类和多个基接口; 5.下列关于构造函数的描述正确的是() A、构造函数可以声明返回类型。 B、构造函数不可以用private修饰 C、构造函数必须与类名相同 D、构造函数不能带参数 6.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; 那么myArray3[2][2]的值是( )。 A、9 B、2 C、6 D、越界 7.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。 A、方法、属性、索引器和事件; B、方法、属性信息、属性; C、索引器和字段; D、事件和字段; 8.在https://www.doczj.com/doc/2713534993.html,中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误 的是()。 A、insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B、ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C、Select操作的Sql语句只能由ExecuteReader()方法来执行; D、ExecuteReader()方法返回一个DataReder对象; 9.Winform中,关于ToolBar控件的属性和事件的描述不正确的是( )。 A、Buttons属性表示ToolBar控件的所有工具栏按钮 B、ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度 C、DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭 头键 D、ButtonClick事件在用户单击工具栏任何地方时都会触发

DS第二章-课后习题答案

第二章线性表 2.1 填空题 (1)一半插入或删除的位置 (2)静态动态 (3)一定不一定 (4)头指针头结点的next 前一个元素的next 2.2 选择题 (1)A (2) DA GKHDA EL IAF IFA(IDA) (3)D (4)D (5) D 2.3 头指针:在带头结点的链表中,头指针存储头结点的地址;在不带头结点的链表中,头指针存放第一个元素结点的地址; 头结点:为了操作方便,在第一个元素结点前申请一个结点,其指针域存放第一个元素结点的地址,数据域可以什么都不放; 首元素结点:第一个元素的结点。 2.4已知顺序表L递增有序,写一算法,将X插入到线性表的适当位置上,以保持线性表的有序性。 void InserList(SeqList *L,ElemType x) { int i=L->last; if(L->last>=MAXSIZE-1) return FALSE; //顺序表已满 while(i>=0 && L->elem[i]>x) { L->elem[i+1]=L->elem[i]; i--; } L->elem[i+1]=x; L->last++; } 2.5 删除顺序表中从i开始的k个元素 int DelList(SeqList *L,int i,int k) { int j,l; if(i<=0||i>L->last) {printf("The Initial Position is Error!"); return 0;} if(k<=0) return 1; /*No Need to Delete*/ if(i+k-2>=L->last) L->last=L->last-k; /*modify the length*/

第1章课后习题参考答案

第一章半导体器件基础 1.试求图所示电路的输出电压Uo,忽略二极管的正向压降和正向电阻。 解: (a)图分析: 1)若D1导通,忽略D1的正向压降和正向电阻,得等效电路如图所示,则U O=1V,U D2=1-4=-3V。即D1导通,D2截止。 2)若D2导通,忽略D2的正向压降和正向电阻,得等效电路如图所示,则U O=4V,在这种情况下,D1两端电压为U D1=4-1=3V,远超过二极管的导通电压,D1将因电流过大而烧毁,所以正常情况下,不因出现这种情况。 综上分析,正确的答案是U O= 1V。 (b)图分析: 1.由于输出端开路,所以D1、D2均受反向电压而截止,等效电路如图所示,所以U O=U I=10V。

2.图所示电路中, E

解: (a)图 当u I<E时,D截止,u O=E=5V; 当u I≥E时,D导通,u O=u I u O波形如图所示。 u I ωt 5V 10V uo ωt 5V 10V (b)图 当u I<-E=-5V时,D1导通D2截止,uo=E=5V; 当-E<u I<E时,D1导通D2截止,uo=E=5V; 当u I≥E=5V时,uo=u I 所以输出电压u o的波形与(a)图波形相同。 5.在图所示电路中,试求下列几种情况下输出端F的电位UF及各元件(R、DA、DB)中通过的电流:( 1 )UA=UB=0V;( 2 )UA= +3V,UB = 0 V。( 3 ) UA= UB = +3V。二极管的正向压降可忽略不计。 解:(1)U A=U B=0V时,D A、D B都导通,在忽略二极管正向管压降的情况下,有:U F=0V mA k R U I F R 08 .3 9.3 12 12 = = - =

高等数学第三章课后习题答案

1 / 10 第三章 中值定理与导数的应用 1. 验证拉格朗日中值定理对函数x x f ln )(=在区间[]e ,1上的正确性。 解:函数()ln f x x =在区间[1,]e 上连续,在区间(1,)e 内可导,故()f x 在[1,]e 上满足 拉格朗日中值定理的条件。又x x f 1 )(= ',解方程,111,1)1()()(-=--= 'e e f e f f ξξ即得),1(1e e ∈-=ξ。因此,拉格朗日中值定理对函数()ln f x x =在区间[1,]e 上是正确的。 2.不求函数)4)(3)(2)(1()(----=x x x x x f 的导数,说明方程0)(' =x f 有几个实根,并指出它们所在的区间。 解:函数上连续,分别在区间[3,4][2,3],2],,1[)(x f 上在区间(3,4)(2,3),2),,1(可导, 且(1)(2)(3)(4)0f f f f ====。由罗尔定理知,至少存在),2,1(1∈ξ),3,2(2∈ξ ),4,3(3∈ξ使),3,2,1( 0)(=='i f i ξ即方程'()0f x =有至少三个实根。又因方程 '()0f x =为三次方程,故它至多有三个实根。因此,方程'()0f x =有且只有三个实根, 分别位于区间(1,2),(2,3),(3,4)内。 3.若方程 011 10=+++--x a x a x a n n n Λ有一个正根,0x 证明: 方程0)1(1211 0=++-+---n n n a x n a nx a Λ必有一个小于0x 的正根。 解:取函数()1 011n n n f x a x a x a x --=+++L 。0()[0,]f x x 在上连续,在0(0,)x 内可导, 且0(0)()0,f f x ==由罗尔定理知至少存在一点()00,x ξ∈使'()0,f ξ=即方程 12011(1)0n n n a nx a n x a ---+-++=L 必有一个小于0x 的正根。 4.设,11<<<-b a 求证不等式: .arcsin arcsin b a b a -≥-

第一章课后作业答案

课后作业答案 第一章 练习一 一、填空题 1、液体的表观特征有: (1)类似于液体,液体最显著的性质是具有流动性,即不能够象固体那样承受剪切应力; (2)类似于液体,液体可完全占据容器的空间并取得容器内腔的形状; (3)类似于固体,液体具有自由表面; (4)类似于固体,液体可压缩性很。 2、按液体结构和内部作用力分类,液体可分为原子液体、分子液体及离子液体三类。其中,液态金属属于原子液体,简单及复杂的熔盐通常属于离子液体。 3、偶分布函数g(r)的物理意义是距某一参考粒子r处找到另一个粒子的几率,换言之,表示离开参考原子(处于坐标原点r=0)距离为r位置的数密度ρ(r)对于平均数密度ρo(=N/V)的相对偏差。 4、考察下面右图中表达物质不同状态的偶分布函数g(r)的图(a)、(b)、(c)的特征,然后用连线将分别与左图中对应的结构示意图进行配对。 固体结构(a)的偶分布函数 气体结构(b)的偶分布函数 液体结构(c)的偶分布函数 5、能量起伏:描述液态结构的“综合模型”指出,液态金属中处于热运动的不同原子的能量有高有低,同一原子的能量也在随时间不停地变化,时高时低。这种现象称为能量起伏。

6、结构起伏:液态金属是由大量不停“游动”着的原子团簇组成,团簇内为某种有序结构,团簇周围是一些散乱无序的原子。由于“能量起伏”,一部分金属原子(离子)从某个团簇中分化出去,同时又会有另一些原子组合到该团簇中,此起彼伏,不断发生着这样的涨落过程,似乎原子团簇本身在“游动”一样,团簇的尺寸及其内部原子数量都随时间和空间发生着改变,这种现象称为结构起伏。 7、在特定的温度下,虽然“能量起伏”和“结构起伏”的存在,但对于某一特定的液体,其团簇的统计平均尺寸是一定的。然而,原子团簇平均尺寸随温度变化而变化,温度越高原子团簇平均尺寸越小。 8、浓度起伏:工业中常用的合金存在着异类组员;即使是“纯”金属,也存在着大量杂质原子。因此,对于实际金属及合金的液态结构,还需考虑不同原子的分布情况。由于同种元素及不同元素之间的原子间结合力存在差别,结合力较强的原子容易聚集在一起,把别的原于排挤到别处,表现为游动原子团簇之间存在着成分差异。这种局域成分的不均匀性随原子热运动在不时发生着变化,这一现象称为浓度起伏。 9、对于液态合金,若同种元素的原子间结合力大于不同元素的原子间结合力,即F(A-A、B-B) >F(A-B),则形成富A及富B的原子团簇,具有这样的原子团簇的液体仅有“拓扑短程序”;若熔体的异类组元具有负的混合热,往往F(A -B)>F(A-A、B-B),则在液体中形成具有A-B化学键的原子团簇,具有这样的原子团簇的液体同时还有“化学短程序”。具有“化学短程序”的原子团簇,在热运动的作用下,出现时而化合,时而分解的分子,也可称为不稳定化合物,甚至可以形成比较强而稳定化合物,在液体中就出现新的固相。 10、金属熔化潜热?H m比其气化潜热?H b小得多(表1-2),为1/15~1/30,表明熔化时其内部原子结合键只有部分被破坏。 二、判断题(括号中添“√”或“×”) 1、(√) 2、(×),因为Ga, Bi, Sb, Ce, Si, Ge等熔化时体积增大。 3、(×),理想纯金属液体中既有“能量起伏”,也有“结构起伏”。 4、(√) 5、(×),近年,人们发现液态Ga、Cs、Se、I、、Bi 、Te等元素以及石墨熔体的某些物理性质随压力出现异常非连续变化,Katayama等利用对液态磷进行高压X-衍射实验,证实了液态磷中发生压力诱导型非连续液-液结构转变;我国及国外的学者也以多种手段揭示,一些合金熔体的性质与结构随温度发生非连续变化。

大物第二章课后习题答案

简答题 什么是伽利略相对性原理什么是狭义相对性原理 答:伽利略相对性原理又称力学相对性原理,是指一切彼此作匀速直线运动的惯性系,对于描述机械运动的力学规律来说完全等价。 狭义相对性原理包括狭义相对性原理和光速不变原理。狭义相对性原理是指物理学定律在所有的惯性系中都具有相同的数学表达形式。光速不变原理是指在所有惯性系中,真空中光沿各方向的传播速率都等于同一个恒量。 同时的相对性是什么意思如果光速是无限大,是否还会有同时的相对性 答:同时的相对性是:在某一惯性系中同时发生的两个事件,在相对于此惯性系运动的另一个惯性系中观察,并不一定同时。 如果光速是无限的,破坏了狭义相对论的基础,就不会再涉及同时的相对性。 什么是钟慢效应 什么是尺缩效应 答:在某一参考系中同一地点先后发生的两个事件之间的时间间隔叫固有时。固有时最短。固有时和在其它参考系中测得的时间的关系,如果用钟走的快慢来说明,就是运动的钟的一秒对应于这静止的同步的钟的好几秒。这个效应叫运动的钟时间延缓。 尺子静止时测得的长度叫它的固有长度,固有长度是最长的。在相对于其运动的参考系中测量其长度要收缩。这个效应叫尺缩效应。 狭义相对论的时间和空间概念与牛顿力学的有何不同 有何联系 答:牛顿力学的时间和空间概念即绝对时空观的基本出发点是:任何过程所经历的时间不因参考系而差异;任何物体的长度测量不因参考系而不同。狭义相对论认为时间测量和空间测量都是相对的,并且二者的测量互相不能分离而成为一个整体。 牛顿力学的绝对时空观是相对论时间和空间概念在低速世界的特例,是狭义相对论在低速情况下忽略相对论效应的很好近似。 能把一个粒子加速到光速c 吗为什么 答:真空中光速C 是一切物体运动的极限速度,不可能把一个粒子加速到光速C 。从质速关系可看到,当速度趋近光速C 时,质量趋近于无穷。粒子的能量为2 mc ,在实验室中不存在这无穷大的能量。 什么叫质量亏损 它和原子能的释放有何关系 答:粒子反应中,反应前后如存在粒子总的静质量的减少0m ?,则0m ?叫质量亏损。原子能的释放指核反应中所释 放的能量,是反应前后粒子总动能的增量k E ?,它可通过质量亏损算出20k E m c ?=?。 在相对论的时空观中,以下的判断哪一个是对的 ( C ) (A )在一个惯性系中,两个同时的事件,在另一个惯性系中一定不同时;

统计学第三章课后作业参考答案

统计学第三章课后作业参考答案 1、统计整理在统计研究中的地位如何? 答:统计整理在统计研究中的地位:统计整理实现了从个别单位标志值向说明总体数量特征的指标过度,是人们对社会经济现象从感性认识上升到理性认识的过度阶段,为统计分析提供基础,因而,它在统计研究中起了承前启后的作用。 2、什么是统计分组?为会么说统计分组的关键在于分组标志的选择? 答:1)统计分组是根据统计研究任务的要求和现象总体的内在特点,把统计总体按照某一标志划分为若干性质不同而又有联系的几个部分。 2)因为分组标志作为现象总体划分为各处不同性质的给的标准或根据,选择得正确与否,关系到能否正确地反映总体的性质特征、实现统计研究的目的的任务。分组标志一经选取定,必然突出了现象总体在此标志下的性质差异,而掩盖了总体在其它标志下差异。缺乏科学根据的分组不但无法显示现象的根本特征,甚至会把不同性质的事物混淆在一起,歪曲了社会经济的实际情况。所以统计分组的关键在于分组的标志选取择。 3、统计分组可以进行哪些分类? 答:统计分组可以进行以下分类 1)按其任务和作用的不同分为:类型分组、结构分组、分析分组 2)按分组标志的多少分为:简单分组、复合分组 3)按分组标志性质分为:品质分组、变量分组 5单项式分组和组距式分组分别在什么条件下运用? 答:单项式分组运用条件:变量值变动范围小的离散变量可采取单项式分组 组距式分组运用条件:变量值变动很大、变量值的项数又多的离散变量和连续变量可采取组距式分组 8、什么是统计分布?它包括哪两个要素? 答:1)在分组的基础上把总体的所有单位按组归并排列,形成总体中各个单位在各组分布,称为统计分布,是统计整理结果的重要表现形式。 2)统计分布的要素:一、是总体按某一标志分的组, 二、是各组所占有的单位数——次数 10、频数和频率在分配数列中的作用如何? 答:频数和频率的大小表示相应的标志值对总体的作用程度,即频数或频率越大则该组标志值对全体标志水平所起作用越大,反之,频数或频率越小则该组标志值对全体标志水平所起作用越小 11、社会经济现象次数分布有哪些主要类型?分布特征?

信号与系统课后习题答案—第1章

第1章 习题答案 1-1 题1-1图所示信号中,哪些是连续信号?哪些是离散信号?哪些是周期信号?哪些是非周期信号?哪些是有始信号? 解: ① 连续信号:图(a )、(c )、(d ); ② 离散信号:图(b ); ③ 周期信号:图(d ); ④ 非周期信号:图(a )、(b )、(c ); ⑤有始信号:图(a )、(b )、(c )。 1-2 已知某系统的输入f(t)与输出y(t)的关系为y(t)=|f(t)|,试判定该系统是否为线性时不变系统。 解: 设T 为此系统的运算子,由已知条件可知: y(t)=T[f(t)]=|f(t)|,以下分别判定此系统的线性和时不变性。 ① 线性 1)可加性 不失一般性,设f(t)=f 1(t)+f 2(t),则 y 1(t)=T[f 1(t)]=|f 1(t)|,y 2(t)=T[f 2(t)]=|f 2(t)|,y(t)=T[f(t)]=T[f 1(t)+f 2(t)]=|f 1(t)+f 2(t)|,而 |f 1(t)|+|f 2(t)|≠|f 1(t)+f 2(t)| 即在f 1(t)→y 1(t)、f 2(t)→y 2(t)前提下,不存在f 1(t)+f 2(t)→y 1(t)+y 2(t),因此系统不具备可加性。 由此,即足以判定此系统为一非线性系统,而不需在判定系统是否具备齐次性特性。 2)齐次性 由已知条件,y(t)=T[f(t)]=|f(t)|,则T[af(t)]=|af(t)|≠a|f(t)|=ay(t) (其中a 为任一常数) 即在f(t)→y(t)前提下,不存在af(t)→ay(t),此系统不具备齐次性,由此亦可判定此系统为一非线性系统。 ② 时不变特性 由已知条件y(t)=T[f(t)]=|f(t)|,则y(t-t 0)=T[f(t-t 0)]=|f(t-t 0)|, 即由f(t)→y(t),可推出f(t-t 0)→y(t-t 0),因此,此系统具备时不变特性。 依据上述①、②两点,可判定此系统为一非线性时不变系统。 1-3 判定下列方程所表示系统的性质: )()()]([)()(3)(2)(2)()()2()()(3)(2)()()()()() (2''''''''0t f t y t y d t f t y t ty t y c t f t f t y t y t y b dx x f dt t df t y a t =+=++-+=+++=? 解:(a )① 线性 1)可加性 由 ?+=t dx x f dt t df t y 0)()()(可得?????→+=→+=??t t t y t f dx x f dt t df t y t y t f dx x f dt t df t y 01122011111)()()()()()()()()()(即即 则 ???+++=+++=+t t t dx x f x f t f t f dt d dx x f dt t df dx x f dt t df t y t y 0212102201121)]()([)]()([)()()()()()( 即在)()()()()()()()(21212211t y t y t f t f t y t f t y t f ++前提下,有、→→→,因此系统具备可加性。 2)齐次性 由)()(t y t f →即?+=t dx x f dt t df t y 0)()()(,设a 为任一常数,可得 )(])()([)()()]([)]([000t ay dx x f dt t df a dx x f a dt t df a dx x af t af dt d t t t =+=+=+??? 即)()(t ay t af →,因此,此系统亦具备齐次性。 由上述1)、2)两点,可判定此系统为一线性系统。

《C程序设计语言》模拟试卷二

一、单项选择题 1.以下并非C语言的特点的是____________。 A.C语言简洁紧凑 B.能够编写出功能复杂的程序 C.C语言可以直接对硬件进行操作 D.C语言移植性好 2.在C程序中,main()的位置___ ______。 A.必须作为第一个函数 B.必须作为最后一个函数 C.可以任意 D.必须放在它所调用的函数之后 3.一个C程序是由____ ________。 A.一个主程序和若干个子程序构成 B.一个或多个函数构成 C.若干过程组成 D.若干子程序组成 4.以下字符串为标识符的是___ _________。 A._MY B.2_2222 C.short D.LINE 5 5.下列符号可以作为变量名的是___ ________。 A.+a B.*p C._DAY D.next day 6.设c是字符变量,则以下表达式正确的是___ _______。 A.c=666 B.c='c' C.c="c" D.c="abcd" 7.以下说法正确的是_____ _______。 A.输入项可以为一个实型常量,如scanf("%f", 3.5) B.只有格式控制没有输入项也能进行正确输入,如scanf("%d") C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 D.当输入数据时,必须指定变量的地址,如scanf("%f", &f) 8.若a, b, c均定义为整型,要给它们输入数据,正确的输入语句是____ ________。 A.read(a, b, c); B.scanf("%d%d%d", a, b, c); C.scanf("%D%D%D", a, b, c); D.scanf(%d%d%d", &a, &b, &c); 9.若a是float变量,b是unsigned型变量,以下输入语句中合法的是____ ___。 A.scanf("%6.2f%d", &a, &b); B.scanf("%f%n", &a, &b); C.scanf("%f%3o", &a, &b); D.scanf("%f%f", &a, &b); 10.if后面的表达式之值__________。 A.只能是0或1 B.只能是正整数或负整数 C.只能是整数或字符型数据 D.可以是任何类型的数据 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与__ ___组成配对 关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其直接最近的未配对的if D.同一行上的if 12.选择出合法的if语句(设int x, a, b, c;)____ _____。 A.if(a = b0 x++; B.if (a =< b) x++; C.if(a <> b) x++; D.if (a=>b) x++; 13.语句while(!e); 中的条件!e等价于____ _______。 A. e == 0 B.e!=1 C.e!=0 D.~e 14.C语言中while和do-while循环的主要区别是____ _______。 A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格

相关主题
文本预览
相关文档 最新文档