文档库 最新最全的文档下载
当前位置:文档库 › 南昌航空大学C语言期末考试试卷

南昌航空大学C语言期末考试试卷

南昌航空大学C语言期末考试试卷
南昌航空大学C语言期末考试试卷

一、单项选择题(每题3分,共30分,注意:答案写在后面的答题卡内,否则

0分)

1、若有定义:int a=8, b=5, c;执行语句c = a/b+0.4 ;后,c的值为()。

A) 1.4 B) 1 C) 2.0 D) 2

2 、以下程序中,while 循环的次数是()。

#include

void main(void)

{ int i = 0;

while (i<10) {if (i<1) continue;

if (i= =5) break; i++; } }

A) 1 B) 死循环,不能确定次数C) 6 D) 10

3、以下程序的输出结果是()。

#include

void main(void)

{ int a = 0, i;

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

{ switch (i) { case 0:

case 3: a += 2;

case 1:

case 2: a += 3;

default: a += 5; }

}

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

}

A) 31 B) 13 C) 10 D) 20

4、以下程序的输出结果是()。

#include

void main(void)

{ int a = 5, b = 4, c = 6, d;

printf(“%d\n”, d=a>b?(a>c?a: c): b);

}

A) 5 B) 4 C) 6 D) 不确定

5、执行以下程序后的输出结果是()

#include

void main(void)

{

char a[]=”abc\0abc”;

printf(“%s”, a);

}

A) abc\0abc B) abc\ C) abc\0 D) abc

6、当调用函数时,实参是一个数组名,则向函数传送的是()。

A) 数组的长度B) 数组的首地址

C) 数组每一个元素的地址D) 数组每个元素中的值

7、执行以下程序后,a的值为()。

int *p, a = 10, b=1; p = &a; a = *p + b;

A) 12 B) 编译出错 C) 10 D) 11 8、以下正确的叙述是( )。

A) 在C 语言中,main 函数必须位于文件的开头 B) C 语言每行中只能写一条语句 C) C 语言本身没有输入、输出语句

D) 对一个C 语言进行编译预处理时,可检查宏定义的语法错误 9、以下程序的输出结果是( )。 void main(void)

{ int a = 4, b = 5, c = 0, d; d = !a && !b || !c; printf(“%d\n ”, d); }

A) 1 B) 0 C) 非0的数 D) –1 10、执行以下程序段后,变量y 的值是( )。 int x, y; x = 1;

y = (++x*5);

A) 5 B) 10 C) 15 D) 20

评分标准:每题选对满分,选错0分。

二、分析结果题(20分) 1、(9分)

#include void f(int c) { int a=0;

static int b=0; a++; b++;

printf("%d: a=%d, b=%d\n", c, a, b); }

void main(void) { int i;

for (i=1; i<=3; i++) f( i ); }

运行结果为: 1: a=1,b=1

2: a=1,b=2 3: a=1,b=3 2、(11分)

#include void main(void) {

int num,c; num=2004; do {

c=num%10; printf("%d",c);

} while((num/=10)>0); printf("\n"); }

运行结果为:4002

三、程序填空题(每空4分,共20分)

1

、求1!+2!+3!+。。。+10! #include void main(void) {

float s = 0, t = 1; int n;

for (n=1; n<=10 ; n++) {

t=t*n ; s =s+t ; }

printf(“1!+2!+3!+。。。+10!=%f ”, s);

}

2、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。

void exchange(int *x, int *y) { int t; t=*y;

*y = * x ; *x = t ;}

四、程序设计题(30分)

(1) sum=2+5+8+11+14----,输入正整数n ,求sum 的前n 项和。(10分)

void main()

{

int n,i,t,sum=0; //1 分

scanf("%d",&n); //1分

t=2; //1分

for(i=1;i<=n;i++) //2分

{

sum=sum+t; //2分

t=t+3; //2分

}

printf("sum=%d",sum); //1 分

}(2)今有100块砖,需100人来搬,男搬4,女搬3,两个小孩搬一砖。

问男、女、小孩各几何?(8分)

# include "stdio.h"

void main( )

{ int man,woman,child; //1分

for(man=0;man<=100;man++) //1分

for(woman=0;woman<=100;woman++) //1分

for(child=0;child<=100;child++) //1分

{

if (8*man+6*woman+child==200 && man+woman+child==100) //2分

printf("%d %d %d\n",man,woman,child); //2分

}

}

(3)求一个矩阵外围元素之和。(12分)

#include

#define N 4

#define M 5

double matrix_sum(double matrix[][M])

{ double sum=0;

int k;

for (k=0;k

{sum=sum+matrix[k][0];

sum=sum+matrix[k][M-1]; //3分

}

for (k=1;k

{sum=sum+matrix[0][k];

sum=sum+matrix[N-1][k]; //3 分

}

return sum; //1 分

}

void main()

{

int i,j;

double matrix_source[N][M];

double t;

double result;

for (i=0;i

for (j=0;j

{scanf("%lf",&t); // 1 分

matrix_source[i][j]=t; // 2分

}

result=matrix_sum(matrix_source); //2 分

printf("%lf\n",result);

}

二、单项选择题(每题2分,共30分,注意:答案写在后面的答题卡内,否则

0分)

1、下面哪一个是正确的标识符()

A qbc?

B bc$

C _bc

D 2bc

2、设有int a[6]={1,2,3,4,5,6},*p=a;则*(p+3)与(*a+3)的值为()

A 1,3

B 3,3

C 4,4

D 4,6

3、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()

A 0

B 1

C 2

D 3

4、t为int类型,进入下面的循环之前,t的值为0

while( t=l )

{ ……}

则以下叙述中正确的是( )

A 循环控制表达式的值为0

B 循环控制表达式的值为1

C 循环控制表达式不合法

D 以上说法都不对

5、设int i=4,j=8,k;则表达式k=(i++,++i,j++)的值为()

A 4

B 8

C 9

D 10

6、有宏定义 #define MULT1(a,b) a*b

#define MULT2(a,b) (a)*(b)

宏引用 Y=MULT1(3+2,5+8);Z=MULT2(3+2,5+8)后,则Y和Z的值是()。

A Y=65,Z=65

B Y=21,Z=65

C Y=65,Z=21

D Y=21,Z=21

7、若定义a为int型变量,则对指针变量p的正确初始化是()。

A int *p=a;

B int *p=*a;

C int p=&a;

D int *p=&a;

8、以下程序的输出结果是()

main()

{ int a=3;

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

}

A -6

B 12

C 0

D -12

9、在一个源文件中定义的全局变量的作用域为()。

A 本文件的全部范围

B 本程序的全部范围

C 本函数的全部范围

D 从定义该变量的位置开始至本文件结束

10、设有int I; I=7/2;printf(“%d”, I);则执行结果为()

A 3.5

B 3.50

C 3

D 3.0

11、在C语言中,合法的长整型常数是()

A 0L

B 4962710

C 324562&

D 216D

12、以下选项中合法的字符常量是()

A "B"

B '\010'

C 68

D D

13、假定x和y为double型,则表达式x=2,y=x+3/2的值是()

A 3.500000

B 3

C 2.000000

D 3.000000

14、设x、y均为整型变量,且x=10, y=3,则以下语句的输出结果是()

printf("%d,%d\n",x--,--y);

A 10,3

B 9,3

C 9,2

D 10,2

15、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()

A INPUT x、y、z;

B scanf("%d%d%d",&x,&y,&z);

C scanf("%d%d%d",x,y,z);

D read("%d%d%d",&x,&y,&z);

二、分析结果题(23分)

1、(6分)

#include “stdio.h”

void main()

{ int I=6,x,y;

x=I++;

y=++I;

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

}

运行结果为: 6 , 8

评分标准:写对一个数字得3分,全写对得6分。

2、(5分)

#include “stdio.h”

void main()

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

printf(“%d”,* (a[1]+2));

}

运行结果为: 6

评分标准:写对得5分,否则0分。

3、(6分)

#include “stdio.h”

void sub(int s , int t)

{ int w;

w=s;s=t;t=w;

}

void main()

{ int a,b;

a=100;b=200;

sub(a,b);

printf(“%d,%d”,a,b);

}

运行结果为:100 ,200

评分标准:写对一个数字得3分,全写对得6分。

4、(6分)

# include “stdio.h”

void main( )

{ int n;

for (n=1;n<=20;n++)

{ if (n%3!=0)

continue;

printf(“%3d”,n);

}

}

运行结果为: 3 6 9 12 15 18

评分标准:写对一个数字得1分,全写对得6分。

三、程序填空题(每空2分,共16分)

1.本程序能实现将若干个数按逆序存放,然后输出,请在横线上填写正确内容完成程序。

例如:原顺序为6,8,4,5,1逆序后为1,5,4,8,6

#define N 5

void main( )

{int i , t;

static int a[N]={6,8,4,5,1};

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

{t=a[i]; a[i]=a[N-1-i]; a[ N-1-i ] = t ;}

printf(“\n”);

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

printf(“%4d”,a[i]);

}

评分标准:写对一个空得2分,全写对得8分。

2.以下程序实现:输入三个整数,按从大到小的顺序输出,请在横线上填写正确内容完成程序。

void main( )

{int x ,y , z, c ;

scanf(“%d%d%d”,&x,&y,&z);

if( y < z )

{c=y; y=z; z=c;}

if( x < z )

{c=x; x=z; z=c;}

if( x < y )

{c=x; x=y; y=c;}

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

}

评分标准:写对一个空得2分,全写对得8分。

四、程序设计题(31分)

1.如果某个3位数的各位数字的立方之和等于该数本身,则这个3位数

就是一个“水仙花”数,如153=13+33+53。编程打印所有的“水仙花”数。(10分)

# include "stdio.h"

void main( )

{ int ge,shi,bai,x; //1分

for(ge=0;ge<=9;ge++) //1分

for(shi=0;shi<=9;shi++) //1分

for(bai=1;bai<=9;bai++) //1分

{

x=ge+10*shi+100*bai; //2分

if (x==ge*ge*ge+shi*shi*shi+bai*bai*bai) //3分

printf("%d ",x); //1分

}

}

2. 编程实现函数void strcopy(char *dest_str,char *sour_str );要求该函数实现将sour_str中的内容拷贝到dest_str。(不

许直接调用其他函数来实现,否则0分处理)(8分)

void strcopy(char *dest_str,char *sour_str )

{

int i=0; //1 分

while(sour_str[i]) //2 分

{

dest_str[i]=sour_str[i]; //2分

i++; //1 分

}

dest_str[i]=’\0’;//2 分

}

3.用指针做形参编写一个子函数,计算学生的最低分、最高分以及平均分,然后在主函数中

从键盘输入10个学生的分数,并调用子函数,最后输出最低分、最高分及平均分(13分)

#include "stdio.h"

float CalculateScore (float *s,int len,float *max,float *min)

{ float ave=*s; //1分

*max=*s; //1分

*min=*s; //1分

int i;

for(i=1;i

{if (*(s+i)>*max) //1分

*max=*(s+i);

if (*(s+i)<*min) //1分

*min=*(s+i);

ave=ave+*(s+i); //1分

}

ave=ave/len; //1分

return ave; //1分

}

void main()

{ float score[10],max,min,average;

int i;

printf("Please the score of student\n");

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

scanf("%f",&score[i]); //1分

average=CalculateScore(score,10,&max,&min); //2分

printf("max=%f,min=%f,average=%f\n",max,min,average); //1分

}

一、单选题(15×2分)

1、若有定义:int a=8, b=5, c;执行语句c = a/b+0.4 ;后,c的值为(B )。

A) 1.4 B) 1 C) 2.0 D) 2

2 、以下程序中,while 循环的次数是( B )。

#include

void main(void)

{ int i = 0;

while (i<10) {

if (i<1) continue;

if (i= =5) break;

i++;

}

}

A) 1 B) 死循环,不能确定次数C) 6 D) 10

3、以下程序的输出结果是( A )。

#include

void main(void)

{ int a = 0, i;

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

switch (i) {

case 0:

case 3: a += 2;

case 1:

case 2: a += 3;

default: a += 5;

}

}

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

}

A) 31 B) 13 C) 10 D) 20

4、执行以下程序段后的输出结果是(C )。

int x = 5;

int m, n;

n = (++x) + (++x);

m = (x--) + (x--);

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

A) 14 10 B) 13 13 C) 14 14 D) 14 12

5、以下程序的输出结果是(c )。

#include

void main(void)

{ int a = 5, b = 4, c = 6, d;

printf(“%d\n”, d=a>b?(a>c?a: c): b);

}

A) 5 B) 4 C) 6 D) 不确定

6、执行以下程序后的输出结果是(D )

#include

void main(void)

{

char a[]=”abc\0abc”;

printf(“%s”, a);

}

A) abc\0abc B) abc\ C) abc\0 D) abc

7、当调用函数时,实参是一个数组名,则向函数传送的是( B )。

A) 数组的长度B) 数组的首地址

C) 数组每一个元素的地址D) 数组每个元素中的值

8、执行以下程序后,a的值为(D )。

int *p, a = 10, b=1;

p = &a; a = *p + b;

A) 12 B) 编译出错C) 10 D) 11

9、以下正确的叙述是( C )。

A)在C语言中,main函数必须位于文件的开头

B) C语言每行中只能写一条语句

C) C语言本身没有输入、输出语句

D)对一个C语言进行编译预处理时,可检查宏定义的语法错误

10、下面正确的标识符是( A )

A) a2b3 B) int C) int abc D) 2a3b

11、以下程序的输出结果是( A )。

void main(void)

{ int a = 4, b = 5, c = 0, d;

d = !a && !b || !c;

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

}

A) 1 B) 0 C) 非0的数D) –1

12、执行以下程序段后,变量y的值是( B )。

int x, y;

x = 1;

y = (++x*5);

A) 5 B) 10 C) 15 D) 20

13、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,则不能表示a[1] 地址的表达式是( C )。

A) p+1 B) a+1 C) a++ D) ++p

14、函数调用strcat(strcpy(str1,str2),str3)的功能是( c )。

A) 将串str1复制到串str2中后再连接到串str3之后

B) 将串str1连接到串str2之后再复制到串str3之后

C) 将串str2复制到串str1中后再将串str3连接到串str1之后

D) 将串str2连接到串str1之后再将串str1复制到串str3中

15、在下列选项中,不正确的赋值语句是( D )。

A) ++t; B) n1=(n2=(n3=0)); C) k=i= =j; D) a=b+c=1;

二、程序填空(16分)

1、求1!+2!+3!+。。。+10!

#include

void main(void)

{

float s = 0, t = 1;

int n;

for (n=1; n<=10 ; n++) {

t=t*n ;

s=s+t ;

}

printf(“1!+2!+3!+。。。+10!=%f”, s);

}

2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中最大者。例如:1080其

零的个数是2,各位数字中最大者是8。

#include

void main(void)

{

unsigned long num, max, t;

int count;

count=max=0;

scanf("%ld", &num);

do {

t= num%10 ;

if(t==0) ++count;

else

if(max

num/=10;

} while(num);

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

}

3、下面程序的功能是:输出100以内能被3整除且个位数字为6的所有整数。

#include

void main(void)

{

int i, j;

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

j = i*10+6;

if ( j%3!=0) continue;

printf("%d",j);

}

}

4、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。

void exchange(int *x, int *y)

{

int t;

t=*y;

*y = * x;

*x = t ;}

三、阅读程序,写出程序的输出结果(24分)

1、include "stdio.h"

void main( )

{ int i,j;

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

{ for (j=0;j

printf(" ");

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

printf("*");

printf("\n");

}

}

****

*****

******

*******

2、#include

void f(int c)

{ int a=0;

static int b=0;

a++;

b++;

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

}

void main(void)

{ int i;

for (i=1; i<=3; i++) f( i );

}

1: a=1,b=1

2: a=1,b=2

3: a=1,b=3

3、#include

void main(void)

{

int num,c;

num=2004;

do {

c=num%10;

printf("%d",c);

} while((num/=10)>0);

printf("\n");

}

4002

五、编程(30分)

(1)sum=2+5+8+11+14----,输入正整数n,求sum的前n项和。

void main()

{

int n,i,t,sum=0;

scanf("%d",&n);

t=2;

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

{

sum=sum+t;

t=t+3;

}

printf("sum=%d",sum);

}

(2)编程实现函数void strcopy(char *dest_str,char *sour_str );要求该函数实现将sour_str中的内容拷贝到dest_str。(不许直接调用其他函数来实现,否则0分处理)

void strcopy(char *dest_str,char *sour_str )

{

int i=0;

while(sour_str[i])

{

dest_str[i]=sour_str[i];

i++;

}

dest_str[i]=’\0’;

}

(3)求一个矩阵外围元素之和。

#include

#define N 4

#define M 5

double matrix_sum(double matrix[][M])

{ double sum=0;

int k;

for (k=0;k

{sum=sum+matrix[k][0];

sum=sum+matrix[k][M-1];

}

for (k=1;k

{sum=sum+matrix[0][k];

sum=sum+matrix[N-1][k];

} return sum; }

void main() { int i,j; double matrix_source[N][M]; double t; double result; for (i=0;i

(4)编写函数strcmp (s1,s2),按照字典顺序比较两个字符串s1和s2,若两串相等返 回0;若串s1>s2,则返回+1;若串s1

(5)编程找出1000以内的满足勾股定理 的整数组(a ,b ,c)。

三、 选择题(共40分)

1、 以下选项中合法的标识符是( )。(2分)

A .abc!

B .abc#

C ._abc

D .2bc 2、 以下说法中正确的是( )。(2分)

A .C 语言程序总是从第一个定义的函数开始执行

B .在

C 语言程序中,要调用的函数必须在main()函数中定义 C .C 语言程序总是从main()函数开始执行

D .C 语言程序中的main()函数必须放在程序的开始部分

3、 设有:int c1=5,c2=2,c3;则执行c3=c1/c2;后,c3的值是( )。(2分)

A .2

B .5/2

C .2.5

D .3

4、 设有:i n t i =4,j ;j =i ++;则执行p r i n t f (“%d ,%d ”,i ,j );后,屏幕上显示的

是( )。(2分)

A .5,5

B .5,4

C .4,5

D .4,4 5、 程序中出现的&&是( )。(2分)

A .取地址运算符

B .逻辑与运算符

C .按位与运算符

D .标识符 6、 以下程序中,while 循环的次数是( )。(2分)

#include void main() { int i=0;

while (i<10)

{ if (i==5) break ;

i++; }

222c b a =+

}

A.0 B.10 C.5 D.6

7、程序中出现的“5”是()。(2分)

A.整数常量 B.字符常量 C.字符串常量 D.标识符

8、若定义a为int型变量,则对整型指针变量p的正确初始化()。(2分)

A.int *p=a; B.int *p=*a; C.int p=&a; D.int *p=&a;

9、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语

句是()。(2分)

A.INPUT x、y、z; B.scanf(“%d%d%d”,&x,&y,&z);

C.scanf(“%d%d%d”,x,y,z); D.read(“%d%d%d”,&x,&y,&z);

10、设有:int x,a,b;根据a和b的大小关系确定x的值,从下列式中选出合法的if语句()。(2分)

A.if(a=b) x++; B.if(a=

C.if (a!=b) x++; D.if(a=>b) x++;

11、设有:int a[4]={2,3,4},i;则执行完i=a[1]+a[2];后,i的值为()。(2分)

A.5 B.7 C.2 D.4

12、以下正确的叙述是()。(2分)

A.在C程序中,语句之间必须要用分号“;”分隔

B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型

C.在C程序中,无论是整数还是实数,都能准确无误地表示

D.在C程序中,“/”是只能用于整数运算的运算符

13、设有:int a=2,b=4,c=3,d=4,m=4,n=3;执行(m=a>b)&&(n=c>d)后,n的值为

()。(2分)

A.1 B.4 C.3 D.0

14、在下列运算符中,优先级最低的是()。(2分)

A.&& B.== C.|| D.=

15、以下选项中,与k=++n完全等价的表达式是()。(2分)

A.k=n;n=n+1; B.n=n+1;k=n; C.k=++n; D.k+=n+1;

16、以下选项中合法的字符常量是()。(2分)

A.“B” B.68 C.D D.‘D’

17、函数调用strcat(str1,str2)的功能是()。(2分)

A.将串str1连接到串str2之后

B.将串str2连接到串str1之后

C.将串str2复制到串str1中

D.将串str1和串str2进行比较

18、以下选项中,不合法的赋值语句是()。(2分)

A.a+=3; B.k=3; C.a=b=c=0; D.a=3*4=2*1;

19、以下选项中,合法的长整型常数是()。(2分)

A.0L B.65534 C.32756& D.453D

20、在一个源文件中定义的全局变量的作用域为()。(2分)

A.本源文件的全部范围 B.本函数的全部范围

C.从定义该变量的位置开始至本源文件结束 D.本程序的全部范围

二、填空题(共40分)

1、本程序功能是求解1×3×5×7×9×11,请在横线上填写正确内容完成程序。(6分)

#include

void main()

{int i,t;

t=1;

i=3;

(3分)

{t=t*i;

(3分)

}

printf(“%d”,t);

}

2、本程序功能是求a,b二个数中的较大者,请在横线上填写正确内容完成程序。(6分)

#include

void main()

{int a ,b , max ;

scanf (“ %d ,%d ” ; &a , &b );

if (3分)

(3分)

else

max=b;

printf (“max=%d “ ; max);

}

3、本程序功能是求一分数序列:2/1,3/2,5/3,8/5...前10项之和。请在横线上填写

正确内容完成程序。(9分)

#include

void main()

{int i,t;

float a=2,b=1,s=0;

for(i=1; ;i++)(3分)

{ (3分)

t=a;

(3分)

b=t;

}

printf(“sum=%f”,s);

}

4、本程序功能是输入十个整数,并统计大于0、等于0、小于0的个数。请在横线上填写正确内容完成程序。

(9分)

#include

void main( )

{ int a[10],j,m=0,n=0,k=0;

for( ; j<10; j++)(3分)

(3分)

printf(“\n”);

for( j=0 ; ; j++)(3分) {if(a[j]>0) m=m+1; if(a[j]= =0) n=n+1;

if(a[j]<0) k=k+1; }

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

5、 分析本程序,并在横线上填入程序的输出。(5分)

#include void main() {

char a,b; a='a'; b='b'; a=a-32; b=b-32;

printf("%c %c\n",a,b); }

输出: (5分) 6、 分析本程序,并在横线上填入程序的输出。(5分)

#include “stdio.h” void main( ) { int n;

for (n=1;n<=20;n++) { if (n%3!=0) continue;

printf(“%d \t ”,n); } }

输出: (5分)

三、编程题(共20分)

1、

编写程序判断m 是否为素数,m 值由用户输入。(10分) 2、 编写程序用函数递归方法求n !。(10分)

四、 单项选择题(每题2分,共30分)

1 有以下程序 main()

{ int x[8]={8,7,6,5,0,0},*s; s=x+3; printf("%d\n",s[2]); }

执行后输出结果是( B )

A)随机值 B)0 C)5 D)6

2 以下叙述中正确的是( B )

A)全局变量的作用域一定比局部变量的作用域范围大

B)静态(static)类别变量的生存期贯穿于整个程序的运行期间

C)函数的形参都属于全局变量

D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值

3 设有如下定义

struct ss

{ char name[10]; int age; char sex;

} std[3],*p=std;

下面各输入语句中错误的是( B )

A)scanf("%d",&(*p).age); B)scanf("%s",&https://www.wendangku.net/doc/f83355864.html,);

C)scanf("%c",&std[0].sex); D)scanf("%c",&(p->sex));

4 以下叙述中正确的是( A )

A)C程序中注释部分可以出现在程序中任意合适的地方

B)花括号"{"和"}"只能作为函数体的定界符

C)构成C程序的基本单位是函数,所有函数名都可以由用户命名

D)分号是C语句之间的分隔符,不是语句的一部分

5 以下选项中可作为C语言合法整数的是( C )

A)10110B B)0386 C)0Xffa D)x2a2

6 以下不能定义为用户标识符的是( D )

A)scanf B)Void C)_3com_ D)int

7 以下选项中非法的表达式是( D )

A)0<=x<100 B)i=j==0 C)(char)(65+3) D)x+1=x+1

8 有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是( A )

A)11 12<回车> B)11, 12<回车> C)11,12<回车>

D)11,<回车>

12<回车>

9 设有如下程序段:

int x=2002, y=2003; printf("%d\n",(x,y));

则以下叙述中正确的是( D )

A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B)运行时产生出错信息

C)输出值为2002

D)输出值为2003

10 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( D )

A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参

C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参

11 有以下函数定义:

void fun(int n, double x) { …… }

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( C )

A)fun(int y,double m); B)k=fun(10,12.5);

C)fun(x,n); D)void fun(n,x);

12 以下不能正确定义二维数组的选项是( D )

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

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

13 int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i=2;

数组元素地址的正确表示( D )

A)&(a+1) B)a++ C)&p D)&p[i]

14 int a[3][4],*p;则下面哪一个指针变量的用法与其他三个不同( D )

A) p=*a; B) p=&a[0][0]; C) p=(int *)a; D) p=a;

15 有宏定义 #define MULT1(a,b) a*b

#define MULT2(a,b) (a)*(b)

宏引用 Y=MULT1(3+2,5+8);Z=MULT2(3+2,5+8)后,则Y 和Z 的值是( B )。

A) Y=65,Z=65 B) Y=21,Z=65 C) Y=65,Z=21 D) Y=21,Z=21

二、分析结果题(20分) 1

、(5分)

#include “stdio .h” void main() { int I=6,x,y; x=I++; y=++I; printf(“%d,%d ”,x,y); }

运行结果为: 6 , 8

评分标准:写对一个数字得2.5分,全写对得5分。

2、(5分)

#include “stdio .h” void main()

{ int a[3][3]={1,2,3,4,5,6,7,8,9}; printf(“%d ”,* (a[1]+2)); }

运行结果为: 6

评分标准:写对得5分,否则0分。

3、(5分)

#include “stdio .h” void sub(int s , int t)

{ int w; w=s;s=t;t=w;

}

void main() { int a,b; a=100;b=200; sub(a,b); printf(“%d ,%d”,a,b); }

运行结果为: 100 , 200

评分标准:写对一个数字得2.5分,全写对得5分。

4、(5分)

#include

void swap(int **r,int **s) { int *t;

t=*r; *r=*s; *s=t; }

main()

{ int a=1,b=2,*p,*q;

p=&a; q=&b; swap(&p,&q); printf("%d,%d\n",*p,*q); }

运行结果为: 2 , 1

评分标准:写对一个数字得2.5分,全写对得5分。

三、程序填空题(每空2分,共16分)

3. 本程序能实现将若干个数按逆序存放,然后输出,请在横线上填写正确内容完成

程序。

例如:原顺序为6,8,4,5,1逆序后为1,5,4,8,6

#define N 5

void main( )

{int i , t ;

static int a[N]={6,8,4,5,1};

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

{t=a[i]; a[i]=a[N-1-i]; a[ N-1-i ] = t ;}

printf(“\n”);

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

printf(“%4d”,a[i]);

}

评分标准:写对一个空得2分,全写对得12分。

4.以下程序实现:输入三个整数,按从大到小的顺序输出,请在横线上填写正确内

容完成程序。

void main( )

{int x ,y , z, c;

scanf(“%d%d%d”,&x,&y,&z);

if( y < z)

{c=y; y=z; z=c;}

if( x < z)

{c=x; x=z; z=c;}

if( x < y)

{c=x; x=y; y=c;}

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

}

评分标准:写对一个空得2分,全写对得8分。

四、程序设计题(30分)

2.如果某个3位数的各位数字的立方之和等于该数本身,则这个3位数

就是一个“水仙花”数,如153=13+33+53。编程打印所有的“水仙花”数。(10分)

# include "stdio.h"

void main( )

{ int ge,shi,bai,x; //1分

for(ge=0;ge<=9;ge++) //1分

for(shi=0;shi<=9;shi++) //1分

for(bai=1;bai<=9;bai++) //1分

{ x=ge+10*shi+100*bai; //2分

if (x==ge*ge*ge+shi*shi*shi+bai*bai*bai) //3分

printf("%d ",x); //1分

}

}

2.3个学生各学4门课,计算总平均分,并输出第n个学生成绩(要求:计算总平均分利用函数实现,形参是指向变量的指针变量;输出第n个学生成绩利用函数实现,形参是指向一维数组的指针变量;最后在主函数中调用这2个子函数) (20分)

void average(float *p,int n) // 1分

{ float *p_end, sum=0,aver;

p_end=p+n-1; // 2分

for(;p<=p_end;p++)

sum=sum+(*p); //2 分

aver=sum/n; // 1 分

printf("average=%5.2f\n",aver); // 1 分

}

void search(float (*p)[4], int n) // 3 分

{ int i;

printf(" No.%d :\n",n);

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

printf("%5.2f ",*(*(p+n)+i)); //3分

}

main()

{ float score[3][4]={{65,67,79,60},{80,87,90,81},{90,99,100,98}};//1分

average(*score,12); //3分

search(score,2); //3分

}

江苏大学大一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语言程序设计》期中考试试卷 课程编号: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) 与机器字长有关

南昌大学物理期末考试卷

南昌大学 20 05 ~20 06 学年第 1 学期期 终 考试试卷 试卷编号: ( B )卷 课程名称: 大学物理 适用班级: 学院: 系别: 考试日期: 06年1月 专业: 班级: 学号: 姓名: 题号 一 二 三 四 五 总分 累分人 签 名 题分 27 25 38 100 得分 评卷人 一、 选择题(每题 3 分,共 27 分) 1. 下列各图所示的速率分布曲线,哪一图中的两条曲线能是同一温度下氮气和氦气的分子速率分布曲线 [ ] f (v ) f (v ) v O f (v ) v O (B) (A) f (v ) (D) v O (C) v O V V 2V 1O T 1T 2 T a b 第1题图 第2题图 2、 一定量的理想气体,其状态在V -T 图上沿着一条直线从平衡态a 改变到平衡态b (如图). (A) 这是一个等压过程. (B) 这是一个升压过程. (C) 这是一个降压过程. (D) 数据不足,不能判断这是哪种过程 [ ] 3、两个质点各自作简谐振动,它们的振幅相同、周期相同.第一个质点的振动方程为x 1 = A cos(t + ).当第一个质点从相对于其平衡位置的正位移处回到平衡位置时,第二个质点正在最大正位移处.则第二个质点的振动方程为 (A) )π21cos(2++=αωt A x . (B) )π21 cos(2-+=αωt A x . (C) )π2 3 cos( 2-+=αωt A x . (D) )cos(2π++=αωt A x . [ ]

4、图中所画的是两个简谐振动的振动曲线.若这两个简谐振动可叠加,则合成的余弦振动的初相为 (A) π2 3. (B) π. (C) π2 1. (D) 0. [ ] 图(b) T 1 T 2 M 45° S A C f L B 图(a) 第4题图 第5题图 5、检验滚珠大小的干涉装置示意如图(a).S 为光源,L 为会聚透镜,M 为半透半反镜.在平晶T 1、T 2之间放置A 、B 、C 三个滚珠,其中A 为标准件,直径为d 0.用波长为的单色光垂直照射平晶,在M 上方观察时观察到等厚条纹如图(b)所示.轻压C 端,条纹间距变大,则B 珠的直径d 1、C 珠的直径d 2与d 0的关系分别为: (A) d 1=d 0+,d 2=d 0+3. (B) d 1=d 0-,d 2=d 0-3. (C) d 1=d 0+2,d 2=d 0+3. (D) d 1=d 0-2,d 2=d 0-3.[ ] 6、波长500nm(1nm=10-9m)的单色光垂直照射到宽度a 0.25 mm 的单缝上,单缝后面放置一凸透镜,在凸透镜的焦平面上放置一屏幕,用以观测衍射条纹.今测得屏幕上中央明条纹一侧第三个暗条纹和另一侧第三个暗条纹之间的距离为d 12 mm ,则凸透镜的焦距f 为 (A) 2 m . (B) 1 m . (C) 0.5 m . (D) 0.2 m . (E) 0.1 m . [ ] 7、光强为I 0的自然光依次通过两个偏振片P 1和P 2.若P 1和P 2的偏振化方向的夹角=30°,则透射偏振光的强度I 是 (A) I 0 / 4. (B)3I 0 / 4. (C)3I 0 / 2. (D) I 0 / 8. (E) 3I 0 / 8. [ ] O P Q S ν m v 2/2 8、光电效应中发射的光电子最大初动能随入射光频率 的变化关系如图所示.由图中的 (A) OQ (B) OP (C) OP /OQ (D) QS /OS 可以直接求出普朗克常量. [ ] 9、 假定氢原子原是静止的,则氢原子从n 3 的激发状态直接通过辐射跃迁到基态时的反冲速度大约是 (A) 4 m/s . (B) 10 m/s . (C) 100 m/s . (D) 400 m/s . [ ] (氢原子的质量m =×10-27 kg) x t O A/2 -A x 1 x 2

大一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语言期末考试习题集(带详解答案)

一、单项选择题 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

南昌大学C期末考试试卷(答案全)

南昌大学2003 ~2004 学年第二学期期末考试试卷A卷 一单项选择题 1.‘A’的ASCII码为65,n为int型,执行n =‘A’+‘6’-‘3’;后,n的值为B。 A)‘D’ B) 68 C) 不确定的值D) 编译出错 2.下列变量名中, A 是合法的。 A)CHINA B) byte-size C) double D) A+a 3.在static int B[3][3]={{1},{3,2},{4,5,6}};中, a[2][2]的值是C。 A)0 B) 5 C)6 D)2 4.若有定义int a=3, *p=&a ;则*p的值是 B 。 A)常量a的地址值B)3 C)变量p的地址值D)无意义 5.下列关于指针运算的各叙述中,不正确的叙述是 D 。 A)指向同一数组的两个指针,可以进行相等或不等的比较运算; B)可以用一个空指针赋值给某个指针; C)指向数组的指针,可以和整数进行加减运算; D)指向同一数组的两个指针,可以进行有意义的相加运算。 6. 已知x、y、z是int型变量,且x=3,y=4,z=5;则下面各表达式中,值为0的是 D 。 A)‘x’&&‘y’ B)x<=y C)x || y+z && y-z D) !((x

大一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);

(A卷)南昌大学2006~2007学年第二学期期末考试试卷

南昌大学2006~2007学年第二学期期末考试试卷 试卷编号:(A )卷 课程编号:课程名称:马克思主义基本原理考试形式:开卷 适用班级:06级姓名:学号:班级: 学院:专业:考试日期:2007-7-9 题号一二三四五六七八九十总分累分人签名 题分25 22 20 20 13 100 得分 考生注意事项:1、本试卷共页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 一、单项选择题(每题1 分,共25 分,答案填写在括号里) 得分评阅人 1.马克思主义的精髓是() A.对立统一规律 B.解放思想、实事求是、与时俱进 C.能动的革命的反映论 C.理论联系实际 2.马克思主义全部学说的理论基础是() A.马克思主义政治经济学 B.马克思主义哲学 C.马克思主义政治学 D.科学社会主义理论 3、生产力诸要素中的主导因素是() A、劳动对象 B、劳动资料 C、劳动者 D、生产资料 4、关于物质、运动、静止的正确提法是() A、运动是物质的存在形式,物质同时也是运动的存在形式 B、凡物质皆运动,没有相对静止的东西 C、相对于不同的参照系统,运动其实也是相对的 D、人不能第二次踏进同一条河流 5、关于意识的本质问题,唯心主义的错误在于() A、否认意识对物质的决定作用 B、夸大物质对意识的决定作用 C、否认意识物质的依赖性 D、片面强调意识对物质的依赖关系 6、彻底的唯物主义一元论根本要求是() A、承认世界是多样的统一 B、承认物质对意识的根源性 C、坚持一切从实际出发 D、反对一切形式的二元论 7、社会经济结构的性质是由() A、现实存在的各种生产关系的总和决定的 B、属萌芽状态的生产关系决定的 C、占统治地位的生产关系决定的 D、本质相同的生产关系的总和决定的 8、十一届三中全会以来,由于党的路线、方针、政策的正确,促进了我国经济的迅速发展,这说明() A、上层建筑对经济基础有能动的反作用 B、上层建筑的进步可以解决经济基础发展的根本方向 C、经济基础发展的总趋势是由上层建筑决定的 D、经济发展的规律是可以改变的 9、社会分裂为阶级的根本原因是()

南昌大学期末考试试题

南昌大学期末试卷 班级 姓名 学号 一. 简算题(25分) 1. 设某线性电路的冲激响应为h(t)=e -t +2e -2t ,求相应的网络函数H (s ), 并绘出极、零点图 2. 求 的原函数。 3. 求f(t)=sin(ωt)的象函数。 4.某有向连通图d G 的基本回路矩阵f B 为: 1 2 3 4 5 6 7 ???? ??????---=011010011000101011001f B 画出有向图d G ,写出全阶关联矩阵a A 。 .列写与上图d G 的回路矩阵f B 对应同一树的基本割集矩阵f Q 。 二.图示电路,电容C=0.5F ,以u c 和i L 为状态变量,写出电路的状态方程,并整理为矩阵形式(10分) 1H i L 2Ω - u s + 三.图示电路中,已知R=1Ω,C=1μF ,回转器回转常数 ) 22(1 2)(++=S S S F S

r=1000Ω,求1—1端等效元件参数。(10分) + u 1 - 四.图示电路中,直流电压源U s =5V ,R=2Ω,非线性电阻的伏安关系为: 现已知当0)(=t u s 时,回路中的电流为1A 。如果电压源u s (t)=cos(ωt )(V),用小信号分析法求电流i(t)。(10分) R U s + - u s - 五.电路如图所示,已知ω=1000rad/s, C=1μF, R=1Ω, L 1=1H ,H L 3 12=, 求: (1) u s( t)的有效值; (2) 电阻电压)(t u R ; (3) 电源发出的平均功率(15分) u s 1 - u R (t) + 3 2i i u +=V )t 2cos(216)t cos(21512u )t (s ω+ω+=

南昌大学电子电工学期末考试试卷

【适用时间:学年第一学期试卷类型:[]卷】 教师填写栏课程编号:试卷编号: 课程名称:电工与电子学(I) 开课学院:考试形式:闭卷适用班级:考试时间:120分钟 试卷说明: 1、本试卷共 7 页。 2、本次课程考试可以携带的特殊物品:计算器。 3、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 题号一二三四五六七八九十总分 累分人 签名题分25 12 63 100 得分 考生填写栏考生姓名:考生学号: 所属学院:所属班级: 所属专业:考试日期: 考生 须知 1、请考生务必查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、严禁代考,违者双方均开除学籍;严禁舞弊,违者取消学位授予资格; 严禁带手机等有储存或传递信息功能的电子设备等入场(包括开卷考试), 违者按舞弊处理;不得自备草稿纸。 考生 承诺 本人知道考试违纪、作弊的严重性,将严格遵守考场纪律,如若违反则愿意接受学校按有关规定处分! 考生签名:

一、填空题:(共 25 分) 得 分 评阅人 1.如将三只额定值为220V/90W 的白炽灯泡串联接在220 V 的电源上,每只灯泡消耗的功率 为 瓦。设灯泡电阻未变。(2分) 2.如右图所示,1 234300R R R R ====Ω ,5 600R =Ω ,当开 关S 断开时a 和b 之间的等效电阻 Ω;当开关 S 闭合 时a 和b 之间的等效电阻 Ω。(4分) 3.当电路发生换路时,电容元件上的 不能跃变,电感元件中的 不能跃变。 (2分) 4.电路发生串联谐振时,电路的阻抗模 Z 其值最 ,在电源电压U 一定的情况下,电 流I 其值最 ,电路对电源呈现 性。(3分) 5.晶体管工作于放大状态时, 集电结处于 偏置;晶体管工作于饱和状态时,集电结 处于 偏置。(2分) 6.射极输出器是从 输出,其电压放大倍数接近 。(2分) 7.如右图所示,已知2 i u = V ,1 5k R =Ω ,2 10k R =Ω , F 50k R =Ω ,电源电压为15± V , 则输出电压o u 为 V 。(2分) 8.一单相桥式电容滤波整流电路,其交流电源频率 Hz 50=f ,负载电阻L 120R =Ω ,要求直流输出电压o 12V U =,则流过整流二极管的电流 = D I mA ,变压器二次侧电压的有效值= U V 。 (4分) 9.当稳压二极管在电路中起稳定电压的作用时,它两端应加 。(空格内填正向

江苏大学大一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语言期末考试试题附答案 一选择题(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;

南昌大学大学物理第二学期期末考试试卷

南昌大学2005~2006学年第二学期期末考试试卷 试卷编号:( A ) 卷 课程编号: T55020001--03 课程名称: 大学物理 考试形式:闭卷 适用班级: 理工05级(Ⅰ)、(Ⅱ)、(Ⅲ)姓名:学号: 学院:专业: 班级:考试日期:06年6月 题号 一 二 三 四 五 六 总分 累分人 签 名 题分 30 22 48 100 得分 考生注意事项:1、本试卷共6页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。 一、 填空题(每空 2 分,共 30 分) 得分 评阅人 1、质点在力j x i y F 322+=(SI 制)作用下沿图示路径 运动。则力F 在路径oa 上的功A oa =,力在路径ab 上的功A ab =。 2、一质点沿直线运动,其运动学方程为x = 8t -2t 2 (SI),则在t由0至4s的时间 间隔内,质点的位移大小为 ___________,在t 由0到4s 的时间间隔内质点走过的路 程为_________________. 3、真空中一半径为R的均匀带电球面带有电荷Q(Q >0).今在球面上挖去非常小块的面积△S(连同电荷),如图所示,假设不影响其他处原来的电荷分布,则挖去△S 后球 心处电场强度的大小E =_____________,其方向为____________ O R △S Q A B E 0 E 0/3 E 0/3 第3题图 第4题图 b(3,2) o c a x y

二、 选择题(每题 2 分,共 22分) 得分 评阅人 1、一光滑的内表面半径为10 cm 的半球形碗,以匀角速度ω绕其对称OC 旋转.已知放在碗内表 面上的一个小球P 相对于碗静止,其位置高于碗底4 cm,则由此可推知碗旋转的角速度约为 (A) 10 ra d/s. (B) 13 rad /s. (C) 17 rad /s (D ) 18 rad/s . [] ω P C O A M B F 第1题图 第2题图 2、如图所示,A 、B 为两个相同的绕着轻绳的定滑轮.A 滑轮挂一质量为M的物体,B 滑轮受拉力 F ,而且F =Mg .设A、B 两滑轮的角加速度分别为βA 和βB ,不计滑轮轴的摩擦,则有 (A) βA =βB . (B ) βA>βB . (C) βA<βB .(D ) 开始时βA =βB,以后βA <βB .[] 3、假设卫星环绕地球中心作圆周运动,则在运动过程中,卫星对地球中心的 (A) 角动量守恒,动能也守恒. (B ) 角动量守恒,动能不守恒. (C)角动量不守恒,动能守恒. (D) 角动量不守恒,动量也不守恒. (E ) 角动量守恒,动量也守恒.[] 4、如图所示,一匀质细杆可绕通过上端与杆垂直的水平光滑固定轴O旋转,初始状态为静止悬挂.现有一个小球自左方水平打击细杆.设小球与细杆之间为非弹性碰撞,则在碰撞过程中对细杆与小球这一系统 (A) 只有机械能守恒. (B ) 只有动量守恒. (C)只有对转轴O 的角动量守恒. (D) 机械能、动量和角动量均守恒.[] O E O r (B) E ∝1/r 2 R E O r (A) E ∝1/r 2 R E O r (C) E ∝1/r 2 R E O r (D) E ∝1/r 2 第4题图 第5题图 5、半径为R 的均匀带电球面的静电场中各点的电场强度的大小E 与距球心的距离r之间的关系曲 线为: [B ]

大一上学期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相等,后

上海海事大学(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】.

南昌大学历年期末考试试卷

南昌大学 2012~2013学年第二学期期末考试试卷 一、填空题(每空 3 分,共 15 分) 1. 设:020202x y z Ω≤≤≤≤≤≤,,, 则三重积分 xyzdV Ω =??? _____. 2. 交换二次积分的顺序 2 2 2 0 (,)y y dy f x y dx ? ?= _________. 3. 函数22 (,)4()f x y x y x y =---的极大值为_______. 4. 将1 ()6f x x =-展开成x 的幂级数为________. 5. 点(2,1,0)到平面3450x y z ++= 的距离为__________. 二、单项选择题 (每小题3分,共15分) 1. 函数xy x y z +=arcsin 的定义域是( ) (A ){}0,|),(≠≤x y x y x ; (B ) {}0,|),(≠≥x y x y x ; (C ){}(,)|0,0x y x y x ≥≥≠{}0,0|),(≠≤≤x y x y x ; (D ){}{}0,0|),(0,0|),(<<>>y x y x y x y x . 2.设∑为由曲面2 2y x z +=及平面1=z 所围成的立体 的表面,则曲面积分22()x y dS ∑ +?? = ( ) (A ) π22; (B )π2 2 1+; (C )2π; (D )0.

3.级数 ∑∞ =+1 1 1 n p n 发散,则( ) (A )0≤p ;(B ) 0>p ;(C )1≤p ;(D )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;

大学C语言期末考试试题及答案

大学C语言期末考试试题 一选择题(7分,每小题0.5分) 1。C语言源程序的基本单位是()。 A 过程B函数C子程序D标识符 2.下列程序的输出结果是()。 main( ) { inta=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A7 B8 C9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534;a=(int)125.521%4;a=5<<2; A125,31,1 B125,1,20 C 125,31,20D125.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 B3 C5 D语法错误 9.以下程序的输出结果为(). #defineADD(x)x*x main( ) {int a=4,b=6,c=7,d=ADD(a+b)*c; printf(”d=%d",d);

相关文档
相关文档 最新文档