当前位置:文档之家› 哈尔滨工业大学2003-2006年C语言 考试题

哈尔滨工业大学2003-2006年C语言 考试题

哈尔滨工业大学2003-2006年C语言 考试题
哈尔滨工业大学2003-2006年C语言 考试题

哈工大2003年春季学期C语言考试题

说明:请将答案写在答题纸的相应题号后面!!!!!

一、填空题:(24分每空1.5分)

1.已知:int *p,a; 则语句p=&a;中的运算符&的含义是( 1 )。

2.凡在函数体内没有明显存储类别说明的变量是( 2 )。

3.已知:struct

{ int k;

char c;

float a;}test; 则sizeof(test)的值是(3 )。

4.程序填空:

(1)下面的程序是main函数利用函数abcd来交换main中的两个变量的值。

# include

main()

{float x=10,y=20;

abcd( 4 );

printf(“%f,%f”,x,y);

}

abcd(x,y)

( 5 );

{float temp;

temp=( 6 );

( 7 );

( 8 );

}

(2)下面的程序是使用冒泡法对输入的10个数据从小到大排序。排好序的10个数分两行输出。

#include

main()

{ ( 9 );

int j,k;

printf(“ input 10 numbers please \n”);

for(j=0;( 10 );j++)

scanf(“%f”,&a[j]);

printf(“\n”);

for(j=0;( 11 );j++)

for(k=0;( 12 );k++)

if( 13 )

{ x=a[k];

( 14 );

a[k+1]=x;

}

printf(“The sorted 10 numbers:\n”);

for(j=0;( 15 );j++)

{ if( 16 )

printf(“\n”);

printf(“%f\t”,a[j]);

}

printf(“\n”);

}

二、单项选择题:(20分每题2分)

1.C语言中基本数据类型包括( )。

A. 整型、实型、逻辑型

B. 整型、实型、字符型

C. 整型、字符型、逻辑型

D. 整型、实型、逻辑型、实型

2.已知int i,a; 执行语句”i=(a=2*3,a*5),a+6;”后,变量a的值是()。

A. 6

B. 12

C. 30

D. 36

3.C语言中规定函数的返回值的类型是由()。

A.return语句中的表达式类型所决定

B.调用该函数时的主调用函数类型所决定

C.调用该函数时系统临时决定

D.在定义该函数时所指定的函数类型所决定

4.不能进行++和--运算的数据类型是()。

A. 指针

B. double

C. int

D. long

5.为了判断两个字符串s1和s2是否相等,应当使用( )。

A. if(s1==s2)

B. if(s1=s2)

C. if(strcpy(s1,s2)) D if (strcmp(s1,s2))

6.若有以下说明和语句:

struct stu

{int no;

char *name;

}student, *p=&student;

则以下引用方法不正确的是()。

A. student.no

B. (*p).no

C. p->no

D. student->no

7.以下不是死循环的语句为()。

A.for(; ; x+=k);

B.while(1){x++};

C.for(k=10; ;k--)sum+=k;

D.for(;(c=getchar())!=’\n’;)printf(“%c”,c);

8.以下错误的描述是()。

A. 不同的函数中可以使用相同的变量名

B. 形式参数是局部变量

C. 一个函数内部定义的变量只能在本函数范围内有效

D. 在一个函数内部的复合语句中

定义的变量可以在本函数范围内有效

9.若用数组名作为函数调用时实参,则实际上传递给形参的是()。

A.数组首地址 B. 数组的第一个元素值

C.数组中全部元素的值 D. 数组元素的个数

10.已知int a,*p=&a; 则为了得到变量a的值,下列错误的表达式是()。

A.*&p B.*p C.p[0] D.*&a

三、判断下列问题描述及语句正确与否,正确的打“√”。(16分每题2分)

1.C的关键字都是小写的。

2.一个复合语句是作为一个语句处理的且在逻辑上相互关联的一组语句。

3.# define PI=3.14159

4.局部变量在进入代码块时生成,退出代码块时消失。

5.int a=123456;

6.函数可以嵌套定义,也可嵌套调用。

7. switch与if不同,switch只能测试是否相等,而if中还能测试关系和逻辑表达式。 8.break和 continue语句都可用于选择结构和循环结构中。

四、读程序,写出运行结果:(20分每题5分)

1.main()

{ int a=5,b=4,x,y;

x=a++*a++*a++;

printf(“a=%d,x=%d\n”,a,x);

y=--b*--b*--b;

printf(“b=%d,y=%d\n”,b,y);

}

2.#include

main()

{ struct s1

{char c[4],*s;}s1={“abc”,”def”};

struct s2

{char *cp;

struct s1 ss1;}s2={“ghi”,{”jkl”,”mno”}};

printf(“%c%c\n”,s1.c[0],*s1.s);

printf(“%s%s\n”,s1.c,s1.s);

printf(“%s%s\n”,s2.cp,s2.ss1.s);

printf(“%s%s\n”,++s2.cp,++s2.ss1.s);

}

3.#include

func(int b[])

{ int j;

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

b[j]=j;

}

main()

{int a[4],k;

func(a);

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

printf(“%d\n”,a[k]);

}

4.void fun()

{ static int a=5;

a++;

printf(“a=%d\n”,a);

}

main()

{

int m;

for(m=0;m<=1;m++)

fun();

}

五、编程(20分)

1.有一个3 4的矩阵,找出最大值及该值所在位置。(10分)

2.写一个函数,计算x的n次方。(10分)

哈工大2002/2003学年秋季学期 C语言试题

一、选择题:(20分,每题2分)

1.以下不正确的C语言标识符是()。

A. ABC

B. abc

C. a_bc

D. ab.c

2.C程序是由构成的。

A. 主程序与子程序

B. 主函数与若干子函数

C. 一个主函数与一个其它函数

D. 主函数与子函数

3.以下说法中正确的是:。

A. 在C语言中,实参与其对应的形参各占独立的存储单元;

B.在C语言中,实参与其对应的形参共占同一个存储单元;

C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;

D. 在C语言中,形参是虚拟的,不占存储单元。

4.设n=3;则n++的结果是()。

A. 2

B. 3

C. 4

D. 5

5.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。

A. 0

B. 1

C. 2

D. 3

6.凡是函数中未指定存储类别的局部变量其隐含的存储类别是()。

A. 自动(auto)

B. 静态(static)

C. 外部(extern)

D. 寄存器(register)7.在while(x)语句中的x与下面条件表达式等价的是:。

A. x= =0

B. x= =1

C. x!=1

D. x!=0

8.若有以下说明和语句:

struct worker

{

int no;

char *name;

}work, *p=&work;

则以下引用方法不正确的是()。

A. work.no

B. (*p).no

C. p->no

D. work->no

9.以下对二维数组进行正确初始化的是()。

E.int a[2][3]={{1,2},{3,4},{5,6}};

F.int a[][3]={1,2,3,4,5,6};

G.int a[2][]={1,2,3,4,5,6};

H.int a[2][]={{1,2},{3,4}};

10.二维数组a有m列,则在a[i][j]之前的元素个数为:。

A)j*m+i

B)i*m+j

C)i*m+j-1

D) i*m+j+1

二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分) 1.#include

main()

{

int i=16,j,x=6;

j=i+++1;

x*=i=j;

printf(“%d,%d\n”,j,x);

}

运行结果是:

2.#include

#include

main()

{

int a=1,b=4,c=2;

float x=10.5,y=4.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

printf(“%f\n”,z);

}

运行结果是:

3.#include

main()

{

int a,b,c,d;

a=c=0;

b=1;

d=20;

if(a) d=d-10;

else if(!b)

if(!c) d=25;

else d=15;

printf(“d=%d\n”,d);

}

运行结果:

5.main()

{

int i=10;

switch(i){

case 9: i+=1;

case 10: i+=1;

case 11: i+=1;

default : i+=1;

}

printf(“%d”,i);

}

运行结果:

5.#include

main()

{

int a[]={1,2,3,4},i,j,s=0;

j=1;

for(i=3;i>=0;i--)

{

s=s+a[i]*j;

j=j*10;

}

printf("s=%d\n",s);

}

运行结果:

6.func(int x)

{ x=20; }

main()

{

int x=10;

func(x);

printf(“%d”,x);

}

运行结果:

三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(20分,每空2分)1.已知能被4整除而不能被100整除的或者能被400整除的年份是润年,则判断某一年是否是润年的程序如下:main()

{

int year,leap;

scanf(“%d”,&year);

if( )

leap=1;

else leap=0;

if( ) printf(“是润年”);

else printf(“不是润年”);

}

2.将100至200间不能被3整除的数输出:

main()

{

int n;

for(n=100;n<=200;n++)

{

if(n%3==0) ;

printf(“%d ”,n);

}

}

3.判断m是否是素数

#include

main()

{

int m,i,k;

scanf(“%d”,&m); k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0) ;

if(i>=k+1) printf(“%d is a prime number\n”,m);

else printf(“%d is not a prime number\n”,m);

}

4.给定一3*4的矩阵,求出其中值最大的元素的值,及所在的行列号。

main()

{

int i,j,row=0,colum=0,max;

static int a[3][4]={{1,2,3,4}{9,8,7,6}{10,-10,-4,4}};

;

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

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

if(a[i][j]>max)

{

max=a[i][j];

;

;

}

printf(“max=%d,row=%d,colum=%d\n”,max,row,colum);

}

6.下面函数的功能是将两个字符串s和t连接起来。

char *conj(char *s, char *t)

{

char *p=s;

while(*s) ;

while(*t)

{

*s= ;

s++;

t++;

}

*s=’\0’;

;

}

四、编程(40分)

1.计算1-1/2+1/3-1/4+…+1/99-1/100+…,直到最后一项的绝对值小于10-4为止。(13分)

2.输入一行字符,分别统计求出其中英文字母、空格、数字和其他字符的个数并输出结果。(13分)3.任意从键盘输入10个整数,按从小到大的顺序排序,并输出结果。(14分)

哈工大 2003 年秋季学期C语言程序设计试题

注意:请将答案写在答题纸上,否则无效!!!

一、判断题:(12分每题2分)

1、C语言规定:在一个源程序中,main函数的位置必须在最开始。

2、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。

3、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为静态存储。

4、C语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。

5、在C语言中对文件操作必须先关闭当前文件,然后再打开一个新文件。

6、C语言程序的基本单位是语句。

二、选择题:(20分每题2分)

1、假设已定义char a[10]和char *p=a, 下面的赋值语句中,正确的是:

A) a[10]=”Turbo C”; B) a=”Turbo C”;

C) *p=”Turbo C”; D) p=”Turbo C”;

2、下面关于运算符优先顺序的描述中正确的是:

A)关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符

B)逻辑运算符< 关系运算符< 算术运算符< 赋值运算符

C)赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符

D)算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符

3、以下正确的描述是。

A)continue语句的作用是结束整个循环的执行

B)只能在循环体内和switch语句体内使用break语句

C)在循环体内使用break语句或continue语句的作用相同

D)从多层循环嵌套中退出时, 只能使用goto语句

4、用8位无符号二进制数能表示的最大十进制数为

A) 127 B) 128 C) 255 D)256

5、下列叙述中正确的是:

A)C语言中既有逻辑类型也有集合类型

B)C语言中没有逻辑类型但有集合类型

C)C语言中有逻辑类型但没有集合类型

D) C语言中既没有逻辑类型也没有集合类型

6、以下对C语言函数的有关描述中,正确的是:

A)调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B)函数既可以嵌套定义又可以递归调用

C)函数必须有返回值,否则不能使用函数

D) 程序中有调用关系的所有函数必须放在同一个源程序文件中

7、在C语言中,不正确的int类型的常数是:

A) 32768 B)0 C) 037 D) 0xaf

8、以下叙述中不正确的是:

A)在不同的函数中可以使用相同名字的变量

B)函数中的形式参数是局部变量

C)在一个函数内定义的变量只在本函数范围内有效

D)在一个函数内的复合语句中定义的变量在本函数范围内有效

9、以下说法中正确的是:

A)#define和printf都是C语句

B)#define是C语句,而printf不是

C)printf是C语句,但#define不是

D)#define和printf都不是C语句

10、若有以下定义和语句:double r=99,*p=&r; *p=r;则以下正确的叙述是:

A)以下两处的*p含义相同,都说明给指针变量p赋值

B)在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元

C)语句“*p=r;”把变量r的地址值赋给指针变量p

D)语句“*p=r;”取变量r的值放回r中

三、填空题:(24分每空2分)

1、下面程序的功能是:输入一行字符,统计其中有多少个单词,单词之间

用空格分开。请填空完成。

# include

main()

{char str[81];

int I,(【1】);

char c;

gats(str);

for(I=0;( 【2】 )!=’\0’;I++)

if(c==’ ’)word=0;

else if( 【3】 )

{word=1;

(【4】)}

printf(“There are %d word in line. \n”,num);

}

2、下面程序的功能是:用选择排序法对数组中10个数据按由小到大排序。请填空完成。

void sort(int a[],int n)

{(【5】)

for(I=0;I

{ (【6】) for(j=I+1;j

if(a[j]

if( (【7】)){t=a[k];a[k]=a[I];a[I]=t;}

}

}

main()

{int b[10],I;

printf(“enter the array\n”);

for(I=0;I<10;I++)

scanf(“%d”.&b[I]);

(【8】)

printf(“the sor ted array: \n”);

for(I=0;I<10;I++)

printf(“%d “,b[I]);

printf(“\n”);

}

3、判断m是否是素数

#include

main()

{

int m,i,k;

scanf(“%d”,&m); (【9】)

for(i=2;i<=k;i++)

if(m%i==0) (【10】 );

if(i>=k+1) printf(“%d is a prime number\n”,m);

else printf(“%d is not a prime number\n”,m);

}

4、假设当年产值为100,工业产值的增长率分别为6%、8%、10%、12%时,

求工业产值分别经过多少年可实现翻番。请填空完成。

main()

{int y[4],i;

float s[4]={100,100,100,100},c[4]={.06,.08,.10,.12};

clrscr();

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

{y[i]=0;

while( 【11】 )

{s[i]=s[i]*(1+c[i]);

(【12】)}

printf("\ny=%d\ts=%.2f\tc=%.2f",y[i],s[i],c[i]);

}

}

四、读程序,写出程序运行结果。(24分每题4分)

1、 main()

{int x=10,y=10,I;

for(I=0;I>8;y=++I)

printf(“%d %d”,x--,y);

}

2、main()

{int m=37,n=13;

while(m!=n)

{while(m>n)

m=m-n;

while(n>m)

n-=m;

}

printf(“m=%d\n”,m);

}

3、main()

{ int x=9;

for(;x>0;x--)

{if(x%3==0) {printf(“%d”,--x);

continue; }

}

}

4、 main()

{ int a=7,b=2;

float x=2.5,y=4.7,z;

z=x+a%3*(int)(x+y)%2/4;

printf(“%f\n”,z);

z= (a+b)/2+(int)x%(int)y;

printf(“%f”,z);

}

5、main()

{int x[]={0,1,2,3,4,5,6,7,8,9};

int s,I,*p;

s=0;

p=&x[0];

for(I=1;I<10;I+=2)

s+=*(p+I);

D、指针数组名,有四个元素,每个元素均为一个指向整型变量的指针

3.若用数组名作为函数调用时实参,则实际上传递给形参的是()。

A.数组首地址 B. 数组的第一个元素值

C.数组中全部元素的值 D. 数组元素的个数

4.C语言中规定函数的返回值的类型是由()。

E.return语句中的表达式类型所决定

F.在定义该函数时所指定的函数类型所决定

G.调用该函数时系统临时决定

H.调用该函数时的主调用函数类型所决定

5.以下错误的描述是()。

A. 不同的函数中可以使用相同的变量名

B. 形式参数是局部变量

C. 一个函数内部定义的变量只能在本函数范围内有效

D. 在一个函数内部的复合语句中定义的变量可以在本函数范围内有效

6.为了判断两个字符串s1和s2是否相等,应当使用( )。A. if(s1 == s2) B.

if(s1 = s2)

C. if(strcpy(s1,s2))

D.if(strcmp(s1,s2)==0)

7.在while(x)语句中的x与下面条件表达式等价的是:。

A. x!=0

B. x==1

C. x!=1

D. x==0

8.若有以下说明和语句:

struct stu

{

int no;

char *name;

}student, *p=&student;

则以下引用方法不正确的是()。

A. student.no

B. (*p).no

C. p->no

D. student->no

9.以下对二维数组进行正确初始化的是()。

I.int a[2][3]={{1,2},{3,4},{5,6}};

J.int a[2][3]={{1,2},{},{4,5}};

K.int a[][3]={1,2,3,4,5,6};

L.int a[2][]={{1,2},{3,4}};

10.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。

A. j*n+i

B. i*n+j

C. i*n+j-1

D. i*n+j+1

四、写出下列程序的运行结果。(4分,每题1分)

1.#include

void fun(int x)

{

x=20;

}

main()

{

int x = 10;

fun(x);

printf("x = %d\n", x);

}

运行结果是:

2.#include

void fun(int b[4])

{

int j;

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

b[j]=j;

}

main()

{

int a[4] = {1,2,3,4}, k;

fun(a);

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

printf("%d\n", a[k]);

}

运行结果是:

3.#include

main()

{

int i = 10;

switch(i)

{

case 9: i+=10;

case 10: i+=10;

case 11: i+=10;

break;

default : i+=10;

}

printf("i = %d\n", i);

}

运行结果是:

4. #include

void fun()

{

static int a=5;

a++;

printf("a=%d\n", a);

}

main()

{

int m;

for(m=0; m<=1; m++)

fun();

}

运行结果是:

五、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(3分,每空1分)

从键盘输入10个整型数据,放入数组a 中,求其最大值及其所在元素的下标位置,并输出。

main()

{

int a[10], n, pos, max;

for (n=0; n<10; n++)

scanf("%d", &a[n]);

max = ;

pos = ;

for (n=0; n<10; n++)

{

if (a[n] > max)

{

max = a[n];

pos = ;

}

}

printf("max=%d, pos=%d\n", max, pos);

}

六、下面程序是有错误的程序,请找出其中的错误,并将正确的语句写在相应错误语句的右方空白处。(5分)

#include

#include

int isprime(int m)

main()

{

int n, flag;

printf("Input n:");

scanf("%d", n);

flag = isprime(n);

if(flag)

printf(Yes!\n")

else

printf("No!\n");

}

/* 函数功能:判断m是否为素数

函数参数:整型变量m

返回值:返回1时,表示m是素数;返回0时,表示m不是素数

*/

int isprime(int *m)

{

int i;

for (i=2; i<=sqrt(m); i++)

{

if(m%i = 0) return 0;

}

return 1;

}

七、在下面任意选择2道题编程(14分,每题7分)

1.从键盘任意输入某班30个学生的成绩,将成绩按照由高到低顺序打印。

2.自己定义一个函数,以实现和函数strlen相同的功能,即任意输入一个字符串,调用该函数可以计算输入字符串的实际长度,然后打印

3.编程计算1! + 2! + 3! + 4! + …. + 10!的值

哈工大2005年春季学期C语言考试题参考答案

说明:考试成绩分为两部分:实验占10%,卷面笔试占90%,满分为100分。本试卷为卷面笔试部分,卷面满分为90分。

一、填空题(10分,第1小题4分,其余每空1分)

1.设有下列登记表,请采用最佳方式定义一种数据类型来表示这些数据的集合。

A. if (s1 == s2)

B. if (s1 = s2)

C. if (!strcmp(s1,s2))

D. if (strcmp(s1,s2))

3.在while(x)语句中的x与下面条件表达式等价的是: A 。

A. x!=0

B. x==1

C. x!=1

D. x==0

4.二维数组a有m行n列,则在a[i][j]之前的元素个数为( B )。

A. j*n+i

B. i*n+j

C. i*n+j-1

D. i*n+j+1

5.设有声明语句:int a=1,b=0;则执行以下语句后输出为: B 。

switch (a)

{

case 1:

switch (b)

{

case 0: printf("**0**");

break;

case 1: printf("**1**");

break;

}

case 2: printf("**2**");

break;

}

A)**0** B) **0****2**

C)**0****1****2** D) 有语法错误

四、写出下列程序的运行结果。(6分,每题3分)

1.#include

void Fun(int *y)

{

printf("*y = %d\n", *y);

*y = 20;

printf("*y = %d\n", *y);

}

main()

{

int x = 10;

printf("x = %d\n", x);

Fun(&x);

printf("x = %d\n", x);

}

运行结果是:

x = 10

*y = 10

*y = 20

x = 20

2.#include

int Fun(int x)

{

static int y = 0;

y += x;

return y;

}

main()

{

int x = 10, y = 0, k;

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

{

y = Fun(x);

printf("y = %d\n", y);

}

}

运行结果是:

y = 10

y = 20

3.#include

main ( )

{

char a[] = "programming" , b[] = "language" ;

char *p1, *p2 ;

int i;

p1 = a;

p2 = b;

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

{

if (*(p1+i) == *(p2+i))

printf("%c" ,*(p1+i)) ;

}

printf("\n");

}

运行结果是:ga

五、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(10分,每空2分)

1. 下面这个程序用于读入5个整数,当程序读入的数据为正整数时,则显示该数,否则,不显示。读入5个数据后,程序结束运行。

#include

main()

{

int i, n;

for (i=1; i<=5; i++)

{

printf("Please enter n:");

scanf("%d", &n);

if (n <= 0) ____continue___;

printf("n = %d\n", n);

}

printf("Program is over!\n");

}

2. 韩信点兵。韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。下面程序的主要功能是计算韩信至少有多少兵。

#include

main()

{

int x = 1;

int find = 0;

for (x=1; _!flag__; x++)

{

if (x%5==1 && x%6==5 && x%7==4 && x%11==10)

{

printf(" x = %d\n", x);

__flag = 1___;

}

}

}

3. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能。

unsigned int MyStrlen(char str[])

{

unsigned int len = 0, i;

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

{

len ++ ;

}

return len;

}

六、在下面这个程序中,要求其实现的功能是对用户输入的任意整数计算其阶乘,输入小于等于-1的数时退出程序。下面给出的是一个有错误的程序,请找出其中的错误,并改正之。(10分)

#include

#define END -1; //错误,改成:#define END -1 //(1分)

long Factorial(int x);

main()

{

int x;

while (1); //错误,改成:while (1) //(1分)

{

printf("input x:); //错误,改成:printf("input x:"); //(1分)

scanf("%d", x); //错误,改成:scanf("%d", &x); //(1分)

if (x <= END)

break //错误,改成:break; //(1分)

else

printf("%d! = %d\n", x, Factorial(x)); //错误,改成:printf("%d! = %ld\n", x, Factorial(x)); //(1分)}

}

long Factorial(int x)

{

int i;

int result; //错误,改成:long result = 1; //(2分)

for (i=1, i<=x, i++)//错误,改成:for (i=1; i<=x; i++) //(1分)

result *= i;

//错误,改成:return result; //(1分)

}

七、编程(40分,第1和2小题各10分,第3小题20分)

1.编程计算1!+2!+3!+……+10!的值。

参考答案1:

#include

main()

{

long term = 1,sum = 0;

int i;

for (i = 1; i <= 10; i++)

{

term = term * i;

sum = sum + term;

}

printf("1!+2!+...+10! = %ld \n", sum);

}

参考答案2:

#include

main()

{

long term ,sum = 0;

int i, j;

for (i = 1; i <= 10; i++)

{

term = 1;

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

{

term = term * j;

}

sum = sum + term;

}

printf("1!+2!+…+10! = %ld \n", sum);

}

2. 从键盘任意输入10个不相同的整数,然后,输入要查找的数x,如果在这10个数中找到x,则打印“Found!”;如果找不到,则打印“Not found!”。

参考答案:

#include

main()

{

int i, a[10],flag = 0;

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

{

scanf("%d",&a[i]);

}

printf("input x:");

scanf("%d", &x);

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

{

if (a[i] == x)

flag = 1;

}

if (flag)

printf("Found!");

else

printf("Not found!");

}

3.从键盘任意输入某班20个学生的成绩,打印最高分,并统计不及格学生的人数。

参考答案1:

#include

main()

{

int i, score[20],max,count;

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

{

scanf("%d",&score[i]);

}

max = score[0];

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

{

if (score[i] > max)

max = score[i];

}

printf("max = %d\n",max);

count = 0;

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

{

if (score[i] < 60)

count ++;

}

printf("count = %d\n",count);

}

参考答案2:

#include

main()

{

int i, score[20],max,count;

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

{

scanf("%d",&score[i]);

}

max = score[0];

count = 0;

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

{

if (score[i] > max)

max = score[i];

if (score[i] < 60)

count ++;

}

printf("max = %d\n",max);

printf("count = %d\n",count);

}

哈工大 2005年秋A季学期C语言试题

说明:本试卷卷面满分为100分。总成绩将按平时实验成绩和卷面笔试成绩各自所占比例折合后累加计算。

一、单项选择题:(10分,每题2分)

1.以下能对外部的二维数组a进行正确初始化的语句是:。

A) int a[2][] = {{1,0,1},{5,2,3}};

B) int a[][3] = {{1,2,1},{5,2,3}};

C) int a[2][4] = {{1,2,1},{5,2},{6}};

D) int a[][3] = {{1,0,2},{},{2,3}};

2.若int x;且有下面的程序片断,则输出结果为:。

for (x=3; x<6; x++)

{

printf((x%2) ? "**%d" : "##%d\n", x);

}

A) **3 B) ##3 C) ##3 D) **3##4

微积分复习题题库超全

习题 1—2 1.确定下列函数的定义域: (1)91 2 -=x y ; (2)x y a arcsin log =; (3)x y πsin 2 = ; (4))32(log 213-+-=x x y a ;(5))4(log 2 1 arccos 2x x y a -+-= 2.求函数 ?????=≠=) 0(0 )0(1sin x x x y 的定义域和值域。 3.下列各题中,函数)(x f 和)(x g 是否相同? (1)2)(,)(x x g x x f ==; (2)2 sin 21)(,cos )(2π -==x g x x f ; (3)1)(,1 1 )(2-=+-= x x g x x x f ; (4)0)(,)(x x g x x x f == 。 4.设x x f sin )(=证明: ?? ? ?? +=-+2cos 2sin 2)()(x x x x f x x f ??? 5.设5)(2++=bx ax x f 且38)()1(+=-+x x f x f ,试确定b a ,的值。 6.下列函数中哪些是偶函数?哪些是奇函数?哪些是既非奇函数又非偶函数? (1))1(22x x y -= (2)3 23x x y -=; (3)2211x x y +-=; (4))1)(1(+-=x x x y ; (5)1cos sin +-=x x y (6)2 x x a a y -+=。 7.设)(x f 为定义在),(∞+-∞上的任意函数,证明: (1))()()(1x f x f x F -+= 偶函数; (2))()()(2x f x f x F --=为奇函数。 8.证明:定义在),(∞+-∞上的任意函数可表示为一个奇函数与一个偶函数的和。 9.设)(x f 定义在),(L L -上的奇函数,若)(x f 在),0(L 上单增,证明:)(x f 在)0,(L -上也单增。 10.下列各函数中哪些是周期函数?对于周期函数,指出其周期: (1))2cos(-=x y (2)x y 4cos =; (3)x y πsin 1+=; (4)x x y cos =; (5)x y 2sin = (6)x x y tan 3sin +=。 11.下列各组函数中哪些不能构成复合函数?把能构成复合函数的写成复合函数,并指出其定义域。 (1)t x x y sin ,3== (2)2,x u a y u ==; (3)23,log 2+==x u u y a ; (4)2sin ,-==x u u y (5)3,x u u y == (6)2,log 2-==x u u y a 。 12.下列函数是由哪些简单函数复合而成的? (1)321)1(++=x y (2)2 )1(3+=x y ;

同济大学C语言期末考试卷

同济大学C语言期末考试卷 2005-2006学年第二学期《C程序设计期末试卷》(闭卷) 一、单项选择题(20分) 1. 在定义函数时,能用以下(1) 标识符作函数名。 A.struct B._abc C. 8abc D. abc@https://www.doczj.com/doc/087971682.html, 2在一个函数被调用执行过程中,当执行到函数体中(2) 语句后立即无条件返回主调函数。 A.goto B.break C.continue D.return 3.以下关于main函数定义的叙述中,错误的是(3) 。 A. main函数是自定义函数,因此函数体中的声明和语句都是可选的 B. main函数定义时可以有形式参数也可以没有形式参数 C. main函数定义必须出现在一个源程序的起始位置 D. 在一个源程序中只能有一个main函数定义 4.以下函数定义中正确的是(4) 。 A. double fun(intx,y){ return x*y;} B. double fun(intx,int x){ return x*x; } C. double fun(register intx,int y){ return x*x;} D. double fun(extern intx,int y){ return x*y;} 5.若函数定义为void fun(intx,inty,int *p) { *p= x>y ? x : y; },且main函数中有声明“int a=1,b=2,c[2]={0};”,则以下语句中正确的是(5) 。 A.printf(“%d”,fun(a,b,c)); B.fun(a,b,c+1); C.fun(a,b,c[2]); D.fun(1,2); 6. 若函数定义为double fun(double x,double y){ return x/y;},则以下fun引用声明(函数原型)中错误的是(6) 。 A. double fun(double x,double y); B. double fun(double a,double b); C. double fun(double ,double ); D. float fun(double x,double y); 7.以下程序段中,有语法错误的是。 A. double f; double f (double x) { return f=x*x; } C. double f (double x) { double f; return f=x*x; } B. double f (double f) { return f*f;} D. double f (double x) { if(x>0){ double f ; return f=x;} else{ double f ; return f= -x;} } 8.以下一维数组声明中,正确的是(8) 。 A. int a[ ]; B.int b[10],a[b]; C. int a[4]={1,2,3,4,5}; D. int a[sizeof('a')]={'a'};

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

昆明理工大学C语言期末考题库

昆明理工大学C语言期末考题库一个数组中的所有元素可以具有不相同的数据类型。选择一项: 对 错 C语言中,do-while语句构成的循环只能用break语句退出。选择一项: 对 错 数组名作为函数的参数时,实参数组和形参数组共用相同的内存单元。 选择一项: 对 错 已知字符数组str1的初值为"China",则语句str2=str1;执行后字符数组str2也存放字 符串"China"。 选择一项: 对 错 论使用何种参数传递方式,形参变量值的改变都不影响实参变量的值。 选择一项:

对 错 以下有关宏替换的叙述不正确的是_______。选择一项: a. 宏替换不占用运行时间 b. 宏替换只是字符替换 c. 宏名无类型 d. 宏名必须用大写字母表示 结构体可以定义在单独的头文件中,使用时需要在对应C文件中包含该头文件。 选择一项: 对 错 可以用swicth结构实现的程序都可以使用if语句来实现。选择一项: 对 错 下面对typedef的叙述中不正确的是_______。 选择一项: a. typedef只是将已存在的类型用一个新的标识符来代表

b. 用typedef可以增加新类型 c. 用typedef可以定义各种类型名,但不能用来定义变量 d. 使用typedef有利于程序的通用和移植 枚举类型时一种基本的数据类型。 选择一项: 对 错 switch语句的结束发生在break;语句的执行或者switch语句的“}”。选择一项: 对 错 f(int a) { int b=0;static int c=3; b++; c++; return(a+b+c); } 选择一项: a. 7 7 7 b. 7 8 9 c. 7 10 13 d. 7 9 11

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

清华大学微积分试题库完整

(3343).微分方程0cos tan =-+'x x y y 的通解为 x C x y cos )(+=。 (4455).过点)0,2 1(且满足关系式11arcsin 2 =-+ 'x y x y 的曲线方程为 21arcsin - =x x y 。 (4507).微分方程03='+''y y x 的通解为 2 2 1x C C y + =。 (4508).设)(),(),(321x y x y x y 是线性微分方程)()()(x f y x b y x a y =+'+''的三个特解,且 C x y x y x y x y ≠--) ()() ()(1312,则该微分方程的通解为 )())()((())()((1132121x y x y x y C x y x y C y +-+-=。 (3081).设x e x y x y -++=+=22213,3是某二阶线性非齐次微分方程的两个特解,且相 应齐次方程的一个解为x y =3,则该微分方程的通解为x e C x C x y -+++=212 3。 (4725).设出微分方程x e xe x y y y x x 2cos 32++=-'-''-的一个特解形式 )2sin 2cos ()(*x F x E e e D Cx x B Ax y x x +++++=-。 (4476).微分方程x e y y y =+'-''22的通解为 )sin cos 1(21x C x C e y x ++=。 (4474).微分方程x e y y 24=-''的通解为 x x e x C e C y 222141??? ? ? ++=-。 (4477).函数x C x C y 2s i n 2c o s 21+=满足的二阶线性常系数齐次微分方程为04=+''y y 。 (4532).若连续函数)(x f 满足关系式 2ln )2 ()(20 +=? x dt t f x f ,则=)(x f 2ln 2x e 。 (6808).设曲线积分 ?--L x ydy x f ydx e x f cos )(sin ])([与路径无关,其中)(x f 具有一阶 连续导数,且0)0(=f ,则)(x f 等于[ ] (A) )(2 1x x e e --。 (B) )(21 x x e e --。

清华大学微积分题库

(3343).微分方程0cos tan =-+'x x y y 的通解为 x C x y cos )(+=。 (4455).过点)0,2 1(且满足关系式11arcsin 2 =-+ 'x y x y 的曲线方程为 21arcsin - =x x y 。 (4507).微分方程03='+''y y x 的通解为 22 1x C C y + =。 (4508).设)(),(),(321x y x y x y 是线性微分方程)()()(x f y x b y x a y =+'+''的三个特解,且 C x y x y x y x y ≠--) ()() ()(1312,则该微分方程的通解为 )())()((())()((1132121x y x y x y C x y x y C y +-+-=。 (3081).设x e x y x y -++=+=22213,3是某二阶线性非齐次微分方程的两个特解,且相 应齐次方程的一个解为x y =3,则该微分方程的通解为x e C x C x y -+++=212 3。 (4725).设出微分方程x e xe x y y y x x 2cos 32++=-'-''-的一个特解形式 )2sin 2cos ()(*x F x E e e D Cx x B Ax y x x +++++=-。 (4476).微分方程x e y y y =+'-''22的通解为 )sin cos 1(21x C x C e y x ++=。 (4474).微分方程x e y y 24=-''的通解为 x x e x C e C y 222141??? ? ? ++=-。 (4477).函数x C x C y 2sin 2cos 21+=满足的二阶线性常系数齐次微分方程为 04=+''y y 。 (4532).若连续函数)(x f 满足关系式 2ln )2 ()(20 +=? x dt t f x f ,则=)(x f 2ln 2x e 。 (6808).设曲线积分 ?--L x ydy x f ydx e x f cos )(sin ])([与路径无关,其中)(x f 具有一阶 连续导数,且0)0(=f ,则)(x f 等于[ ] (A) )(2 1x x e e --。 (B) )(21 x x e e --。

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

关于清华大学高等数学期末考试

关于清华大学高等数学期 末考试 This manuscript was revised on November 28, 2020

清华大学 2010-2011学年第 一 学期期末考试试卷(A 卷) 考试科目: 高等数学A (上) 考试班级: 2010级工科各班 考试方式: 闭卷 命题教师: 一. 9分 ) 1、若在) ,(b a 内,函数)(x f 的一阶导数0)(>'x f ,二阶导数0)(<''x f ,则函数)(x f 在此区间内单调 ,曲线是 的。 2、设?????+=+=232322t t y t t x 确定函数)(x y y =,求=22dx y d 。 3、=? dx 1cos 12 。 本大题共3小题,每小题3分,总计 9分) 1、设A x x ax x x =-+--→1 4lim 231,则必有 答( ) 2、设211)(x x f -=,则)(x f 的一个原函数为 答( ) 3、设f 为连续函数,又,?=x e x dt t f x F 3)()(则=')0(F 答( ) 2小题,每小题5分,总计10分 ) 1、求极限x e e x x x cos 12lim 0--+-→。

2、x y 2ln 1+=,求y '。 3小题,每小题8分,总计24分 ) 1、讨论?? ???=≠=0,00arctan )(2 x x x x x f ,,在0=x 处的可导性。 2、设)(x f 在]1,0[上连续,且1)(0≤≤x f ,证明:至少存在一点]1,0[∈ξ,使得 ξξ=)(f 。 3、证明不等式:当4>x 时,22x x >。 3小题,每小题8分,总计24分 ) 1、求函数x e y x cos =的极值。 2、求不定积分? x x x d cos sin 3。 3、计算积分?-+-+2222)cos 233(ln sin ππdx x x x x 。 4小题,每小题6分,总计24分 ) 1、求不定积分? +)1(10x x dx 。 2、计算积分?+πθθ4 30 2cos 1d 。 3、求抛物线221x y = 被圆822=+y x 所截下部分的长度。 4、求微分方程''-'-=++y y y x e x 2331的一个特解。

大一C语言期末考试参考资料(个人推荐)

C 语言总复习 总体上必须清楚的: 1)程序结构是三种: 顺序结构 , 循环结构 (三个循环结构), 选择结构 (if 和 switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 5)一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、每个C语言程序中main函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、break可用于循环结构和switch语句。 6、逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方:If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。. 3)字符数据的合法形式:: '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节: 考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。 5)转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。 ‘\141’是合法的, 0是不能写的。 ‘\108’是非法的,因为不可以出现8。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 1级优先级左结合 () 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2级优先级右结合 ! 逻辑非运算符 ~ 按位取反运算符

上海海事大学(C语言期末)上机题库

试卷编号:9688 所属语言:C语言 试卷方案:期中考试 试卷总分:100分 共有题型:5种 一、填空共15题(共计15分) 第1题(1.0分)题号:528 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是【1】. 答案: =======(答案1)======= 28 第2题(1.0分)题号:78 已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】. 答案: =======(答案1)======= 15 第3题(1.0分)题号:510 若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】. 答案: =======(答案1)======= 2 第4题(1.0分)题号:437 以下程序的输出结果为【1】, #include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);}

答案: =======(答案1)======= 9,10 第5题(1.0分)题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案1)======= 97 b *第6题(1.0分)题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案1)======= 字符 第7题(1.0分)题号:440 设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】. 答案: =======(答案1)======= 1 第8题(1.0分)题号:95 已知a=13,b=6, a&&b的十进制数值为【1】. 答案: =======(答案1)======= 1 第9题(1.0分)题号:306 当a=1,b=2,c=3时,执行以下程序段后b=【1】.

大学生C语言期末考试必做题库

C语言

第一题 在屏幕上显示一个短句“Programming in C is fun!” #include int main() { printf("Programming in C is fun!\n"); return 0; } 第二题 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ #include int main( ) { printf("+---+---+\n| | |\n| | |\n+---+---+\n"); return 0; } 第三题 在屏幕上显示一条语句“This is a C program.” #include int main() { printf("This is a C program.\n"); return 0; } 第四题 输出如下图形: ********** very good! ********** #include int main( ) { printf("**********\nvery good!\n**********\n"); return 0; }

第一题求平方根(基础) 程序填空,不要改变与输入输出有关的语句。 输入1个实数x,计算并输出其平方根(保留1位小数)。 例:输入17输出The square root of 17.0 is 4.1 #include #include int main( ) { double x, root; scanf("%lf", &x); root=sqrt(x); printf("The square root of %0.1f is %0.1f\n", x, root); return 0; } 第二题计算一个三位数的个十百位之和 编写程序。 输入一个三位数(大于0),计算这个三位数的个位、十位、百位数字之和. 例如:输入:152输出:sum=8 #include #include int main() { int n,a,b,c,sum; scanf("%d",&n); a=n/100; b=n%100/10; c=n%10; sum=a+b+c; printf("sum=%d\n",sum); return 0; } 第三题(公共)求圆的周长、面积及圆球体积 程序填空,不要改变与输入输出有关的语句。 求以r为半径的圆周长c和圆面积s,再求以r为半径的圆球体积v。(已知r=3.67在程序中直接赋值,pi的值为3.1415926) 按照下列形式输出: printf("c=%f\ns=%f\nv=%f\n",c,s,v); #include int main( ) { double r,c,s,v,pi=3.1415926; r=3.67; c=2*pi*r;

清华大学一元微积分期末考题 答案

一.填空题(每空3分,共15空)(请将答案直接填写在横线上!) 1. =-?dx x x 2)1(ln 答案:C x x x x +--+-ln |1|ln 1ln 2. ? =+x dx 2cos 1 。 答案: C x +?? ? ??tan 21arctan 21 3. =? +∞ 1 2 arctan dx x x 解: 22 ln 4)1(arctan arctan 121 1 2+=++-=?? ∞++∞ ∞+πx x dx x x dx x x 4.C x dx x xf +=?arctan )(,则 =? dx x f ) (1 。 答案:C x x ++4 24 2 5. =++?-dx x x x 2 22sin 1cos )1(π π 。 答案: 2 π 6. =?? ? ???22x x t dt e dx d 。 答案:2 4 2x x e xe - 7. 设)(x f 为连续函数,0)0(≠f ,? =x dt t f t x F 0 2 )()(,当0→x 时,)(x F 与k x 是同阶无穷小,则=k 。 答案:3 8. 将22 (3)1x y -+=绕y 轴转一圈,则所得图形围成的体积为 。 答案:2 6π 9. 设0>m ,且广义积分? +∞ +0 m x x dx 收敛,则m 的范围为 答案:1>m

10.幂级数∑∞ =-+1 2)5(2n n n n x 的收敛域为 。 答案:)5,5(- 11. 级数 ∑ ∞ +=-1 1 sin )1(n p n n n 条件收敛,则参数p 的范围为 。 答案:01≤<-p 12.在00=x 点,函数 ? -x t dt e 0 2 的幂级数展开为 答案:∑+∞ =++-0 1 2)12(!)1(n n n n n x ,?∈x 13.'x x y y e e ++=,的通解是 。 答案:ln 1y y x e e e C =++ 14.0)2(=-+dx y x xdy 满足0)1(=y 的解为 。 答案:2 x x y -= 15. 初值问题()? ??='=='+''0)0(,1)0(0 22y y y x y 的解为 。 答案:1=y 二.计算题(每题10分,共40分) 1.求p 的范围,使得1sin ln p dx x x π∞?收敛 解:???∞+∞+=2211ln sin ln sin ln sin x dx x x dx x x dx x p p p πππ, 1x =附近,p p x x x x )1(1 11~ln 1sin -?? ? ??-ππ ,所以仅当20p ->时?21ln sin x dx x p π收敛 ……………………………………………….5分 x x x x x p p ln ~ln 1sin ,π π +∞→对任意的p 成立,所以只需要考虑广义积分2ln p dx x x π∞?

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