吉林大学C语言试题及答案

2026/4/23 11:38:15

…………… … … … … … … 线号…学… … … … … … … …名…姓订 … … … … … … …业…专…级…年装 … … … … … … …系…院………吉林大学农学部2008-2009学年第一学期《C语言程序设计》考试试卷(A卷) {static int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; (考试时间:120分钟,本卷共4页,共印820份 for(i=1;i<3;i++)

一、选择题(本题共有15道小题,每道小题2分,满分30分) for(j=0;j<=i;j++) s+=a[i][j]; 1.C语言中,int类型数据占2个字节,则long类型数据占( ) printf(“%d”,s); A、1个字节 B、2 个字节 C、3个字节 D、4个字节 }

2.以下说法中正确的是( ) 该程序的输出结果是( )

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函A、18 B、19 C、20 D、21

数中定义 C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部 7.执行下列程序时输入123<空格>456<空格>789<回车>,输出结果是( )。

分 #include 3.下面的程序会( ) main( )

main( ) {char s[100]; int c, i;

{ int x=3,y=0,z=0; scanf(\ scanf(\ scanf(\ if(x=y+z) printf(“****”); printf(\ else printf(“####”); }

}A、有语法错误不能通过编译 B、输出****C、可以通过编译,但不能通过连接,因而不能运A、123,456,789 行 D、输出#### B、1,456,789 4.以下程序的输出结果是( ) C、1,23,456,789 void func(int *a,int b[]) { b[0]=*a+6; } D、1,23,456

main() {int a,b[5]; 8.以下对C语言函数的描述中,正确的是( )。

a=0; b[0]=3; A、C程序由一个或一个以上的函数组成 func(&a,b); printf(\\n\[0]); B、C函数既可以嵌套定义又可以递归调用

} A)6 B)7 C)8 D)9 C、函数必须有返回值,否则不能使用函数

5.以下程序的输出结果是( ) D、C程序中调用关系的所有函数必须放在同一个程序文件中

main( ) 9.以下函数值的类型是( )。

{ int x=10,y=10,i; fun ( float x ) for(i=0;x>8;y=++i) {float y; printf(“%d %d”,x--,y); y= 3*x-4; } return y; A、 10 1 9 2 B、 9 8 7 6 C、10 9 9 0 D、10 10 9 1 }

6.有如下程序 A、int B、不确定 C、void D、float

main( ) 10.一个C程序由函数A( ),B( ),C( )和函数P( )构成,在函数A( )中分别调用了函数B( )和函数C( ),在函数

第 1 页 共 9 页

B( )中调用了函数A(),且在函数P( )中也调用了函数A( ),则可以说( )。

A、函数B( )中调用的函数A( )是函数A( )的间接递归调用B、函数A( )被函数B( )调用是直接递归调用C、 int k;

} r;

函数P( )直接递归调用了函数A( )D、函数P( )中调用的函数A( )是函数P( )的嵌套

11.对于int *pa[5];的描述,( )是正确的

A、pa是一个指向数组的指针,所指向的数组是5个int 型元素 B、pa是一个指向某数组中第5个元素的指针,该指针是int 型变量 C、pa[5]表示某个数组的第5个元素的值

D、pa是一个具有5个元素的指针数组,每一个元素是一个int 型指针

12.执行以下程序后,y的值是( )

main( )

{ int a[]={2,4,6,8,10}; int y=1,x,*p; p=&a[1]; for(x=0;x<3;x++) y+=*(p+x); printf(“%d\\n”,y); }

A、17 B、18 C、19 D、20

13.有以下程序段

char arr[]=”ABCDE”; char *ptr;

for(ptr=arr;ptr

A、ABCDE B、A C、 E D、ABCDE

B D BCDE

C C CDE D B DE E A E

14.以下程序的输出结果是( )

main()

{ union { char i[2];

r.i[0]=2; r.i[1]=0; printf(“%d\\n”,r.k); } A、 2

B、 1

C、 0

D、 不确定

15.在C程序中,可以把整型数以二进制形式存放到文件中的函数是( )

A、fprintf函数 B、fread函数 C、fwrite函数 D、fputc函数

9二、填空题(本题共有5道小题,每道小题2分,满分10得 分 分) 1.在C语言中使用到的变量,都应先(定义 ),后( 使用 )。

2.若有定义:char c=′\\010′;则变量c中包含的字符个数为__1个____。 3.函数的返回值是通过函数中的( return )语句获得的。

4.下面函数用来求出两个整数之和,并通过形参传回两数相加之和,请填空。

int add(int x,int y,( int)z) { ( * )=x+y;}

5.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是___22个___。

struct stud {char num[6]; int s[4]; double ave; }a;

`三、分析程序结果(本题共有4道小题,每道小题5分,满分20分) 1.main( )

{ int x=1,y=2,z=3;

x+=y+=z;

printf(\}5

2.main( )

{ int a=24,b=16,r; while (b)

第 2 页 共 9 页

{ r=a%b; a=b; b=r; }

printf(\}8

3. #include

int p(int k,int a[]) {int m,i,c=0; for(m=2;m<=k;m++){ for(i=2;i<=m;i++) if(!(m%i)) break; if(i==m) a[c++]=m; } return c; }

#define MAXN 20 main( )

{ int i,m,s[MAXN]; m=p(13,s); for(i=0;i

程序输出结果为( 2 3 5 7 11 质

数 4.int f(int b[ ],int n)

{ int i, s=0;

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

s+=b[i]; return s; } main( )

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

`#### 四、程序填空题(本题共有4道小题,每道小题5分,满分20分)1.程序打印如下形式的图形

* * * * * * * * * *

main( )

{ for(int i=1;i<=4;i++)

{ for(int j=1; ① ;j++) j<=i printf( ② ); \printf( ③ ); \} }

2.以下函数返回数组s中最大元素的下标,数组中元素的个数由t传入。

Findmax(int s[],int t) {

);函数int p(int k,int a[])的功能为(求k以内(含k) int m,n;

a

for(n=0,m=n;n

if(s[n]>s[m]) ( m=n ); return ( m ); }

3.函数strcpy( )将字符串from复制到字符串to。

第 3 页 共 9 页

void strcpy( char *to ) { while( char *from );

}

10.A11.D 12.C 13.D 14.A 15.C

9`二、填空题(每题2分 共10分)1.定义 使用 2.1个 3. return 4.int * 5.22

三、分析程序结果(每题5分 共20分)1.5 2.8 3. 2 3 5 7 11 求k以内(含k)

质数,并依次存入数组a中,返回质数个数。4.12

4.下面的程序的功能是:利用指针统计一个字符串中,字母、空格、数字、

及其它字符的个数,请填空。 #include main( )

四、程序填空(每题5分 共20分)1.① j<=i ② \ ③ \ 2.m=n、m 3.char *to, char *from或char *from,char *to

*to++=*from++4. ( *p>=’A’&& *p<=’Z’) || ( *p>=’a’&& *p<=’z’))、( *p==’ ‘|| { int alpha,space,digit,other; *p==’\\t’)、

char *p,s[80];

( *p>=’0’ && *p <=’9’)

alpha=space=digit=other=0; 五、编程题(每题10分 共20分) printf(“input string:\\n”); 1.int sum(int n)

gets(s);

{ int s;

for(p=s;*p!=’\\0’;p++)

if (n==0) s=0; if( )alpha++; else s=sum(n-1)+n; else if( )space++; return(s); else if( )digit++; }

else other++;

2. #include printf(“alpha:%d space:%d digit:%d other:%d\\n”,alpha,space,digit,other); int main(void)

}

{ int i, index, k, n, temp;

`#### int a[20]; /* 定义1个数组a,它有20个整型元素*/ 五、编程题(本题共有2道小题,第一题5分,第二题15分,满分20分) printf(“Please enter integers: \ for(i = 0; i < 20; i++)

scanf(\

1. 编写一个递归函数,计算1+2+3+......+n 的和。

printf(\

2. 编程序,实现如下功能:

(1)从键盘上输入20个整型数据(注:程序要提示输入方式); for(i = 0; i < 20; i++) /* 输出排序前20个数组元素的值 */ (2)输出此20个数据;

printf(\

(3)对此20个数据按从小到大顺序进行排序;

(4)输出排序结果。

for(k = 0; k < 19; k++){ /* 对20个数排序 */ 《C语言程序设计》考试试卷(A卷)答案及评分标准

index = k;

for(i = k + 1; i < 20; i++)

一、选择题(每题2分 共30分) 1.D 2.C 3.D 4.A 5.D 6.A 7.D 8.A 9.A

if(a[i] < a[index]) index = i;

temp = a[index]; a[index] = a[k]; a[k] = temp;

第 4 页 共 9 页


吉林大学C语言试题及答案.doc 将本文的Word文档下载到电脑
搜索更多关于: 吉林大学C语言试题及答案 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219