《C程序设计》试卷1(含答案)

更新时间:2023-05-28 04:46:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

c语言试卷

一、选择题(每题1分,共20分)

1.设 int b=2;表达式b/(b*2)的值是( )。

A. 0 B. 0.5 C. 0.500000 D. 0.00000

2.下列标识符中不合法的标识符的是( )。

A. hot_do B. cat1 C. _pri D. 2ab

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

void main()

{ int k=17;

printf("%d,%o,%x \n",k,k,k);

}

A. 17,021,0x11 B. 17,17,17

C. 17,0x11,021 D. 17,21,11

4.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为( )。

A.4 B.16 C.32 D.52

5.下述程序段中,while循环执行次数是( )。

int k=0;

while(k=1) k++;

A. 无限次 B. 有语法错误,不能执行

C. 一次也不执行

6. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。

A. a < > 0 B. !a C. a=0 D. a!=0

7.执行下述语句后,*(p+1)的值是( )。

char s[]= “ab”,*p;

p=s;

A.‘b’ B. O C. 不定值 D. 非法引用

1 D. 执行一次

c语言试卷

8.有以下语句:int b;char c[10];,则正确的输入语句是( )。

A. scanf("%d%s",&b,&c); B. scanf("%d%s",&b,c);

C. scanf("%d%s",b,c); D. scanf("%d%s",b,&c);

9.能正确表示a和b同时为正或同时为负的逻辑表达式是( )。

A. (a>=0‖b>=0)&&(a<0‖b<0)

B. (a>=0&&b>=0)&&(a<0&&b<0)

C. (a+b>0)&&(a+b<=0)

D. a*b>0

10.C语言中的逻辑运算结果,用( )表示逻辑“真”值。

A. 整数0 B. 整数1 C. true D. T或Y

11.putchar函数可以向终端输出一个( )

A. 整型变量值 B. 实型变量值 C. 字符串 D. 字符常量或字符型变量值

12.执行下面的程序后,a的值是( )。

#define SQR(X) X*X

void main( )

{ int a=11,k=2,m=1;

a/=SQR(k+m);

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

A. 1 B. 2 C. 11 D. 0

13.在定义int a[5][4];之后,对a的正确引用是( )

A.a[2][4] B.a[5][0] C.a[0][0] D.a[0,0]

14. 若有以下定义和语句

char c1='b',c2='e';

printf("%d,%c\n",c2-c1,c2-'a'+'A');

则输出结果是:

A . 2,M B. 3,E

C. 2,E D. 输出项与对应的格式控制不一致,输出结果不确定

2

c语言试卷

15.执行int a[ ][3]={1,2,3,4,5,6};语句后,a[1][0]的值是( )

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

16.若变量c为char类型,能正确判断出c为小写字母的表达式是( )。

A. a <=c<= z B. (c>= a ) || (c<= z )

C.( a <=c) and ( z >=c) D. (c>= a ) && (c<= z )

17. 下面程序的输出是( )

main()

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

printf(“%d”,*(p+3));}

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

18.请选出正确的程序段( )。

A int *p; B int *s, k;

scanf("%d",p); *s=100;

… …

C int *s, k; D int *s, k;

char *p, c; char *p, e;

s=&k; s=&k;

p=&c; p=&c;

*p='a'; s=p;

… *s=1;

19. 若用数组名作为函数调用的实参,则传递给形参的是 。

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

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

20.在说明一个结构体变量时,系统分配给它的存储空间是( )。

A.该结构体中第一个成员所需存储空间

B.该结构体中最后一个成员所需存储空间

C.该结构体中所有成员所需存储空间的总和

D.该结构体中占用最大存储空间的成员所需存储空间

3

c语言试卷

二、填空题(每题2分,共20分)

1.表达式 7 * 7 / 9 * 4 % 3 的值是_____。

2. 若有定义:int a[2][4]; 则该数组有

3.若想表达x在区间 [10,100]时,数学上写成10≤x≤100,但在C中应写成 。

4. 若有说明和语句:int a=25,b=60;b=++a;则b的值是_____。

5. 表达式7+8>2 && 25 %5的结果是_______________________。

6.设y为int型变量,请写出描述“y是奇数”的表达式_______________________。

7. C程序设计中语句后的符号 /* */ 所起作用是_________________________。

8.变量Y满足以下两条件中的任意一个:①能被4整除,但不能被100整除;②能被400整除。请用逻辑表达式表示所给条件。

_____________________________________________________________

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

fun ( float x )

{float y;

y= 3*x-4;

return y;

}

10.void f(char s[ ], char t[ ])

{ int k=0; } while (s[k]==t[k]) k++;

等价于

void f(char *s, char *t)

{ } while (_____);

三、程序阅读题(每题5分,共30分)

1.下列程序的运行结果是

4

c语言试卷

void main()

{ int i;

float x;

x=5.628;

i=(int)x;

printf("x=%f i=%d",x,i);}

2.下列程序的运行结果是.

void main()

{int a=321,b=21,m=0;

switch(a%2)

{case 0: m++;break;

case 1: m+=2; break;

case 2: b++; break;

default: printf("Error\n");

}

printf("%d",m); }

3.下列程序的运行结果是

void melon (int g, int * h);

void main ()

{ int a = 1, b = 2;

melon ( a, &b );

printf ( "a = %d, b = %d", a, b );

}

void melon (int b, int * c)

{ b++;

*c = *c + b;

}

4.下列程序的运行结果是void main()

{int f1,f2,f3,i;

f1=f2=1;

printf("%3d%3d",f1,f2);

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

{ f3=f1+f2;

f1=f2;

5

c语言试卷

f2=f3;

printf("%3d",f3);

}

}

5.下列程序运行结果是.

#include "stdio.h"

void main()

{ int j, k;

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

{for (k=0; k<3; k++)

printf("%d",(k+j+1)% 3 ? (k+j+1)%3 : 3 );

printf("#");

}

}

6.下列程序的运行结果是 .

#include <math.h>

void main()

{ int m, k, i, n = 0;

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

{ k = sqrt(m);

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

if ( m % i ==0) break;

if (i >= k+1)

printf ("%d ", m);

}

printf ("\n");

}

四、程序设计题(每题10分,共30分)

1.从键盘输入10个整数存入一个一维数组,对这10个整数按由大到小的

顺序排序,并输出。

2.输入a和b两个整数,然后经过比较,将较大的数置于a中,较小的数

置于b中,最后顺序输出a和b。

要求:两数交换用函数处理,并且使用指针类型的数据作函数参数。

3.一位同学问老师和老师夫人的年龄是多少,老师说:“我年龄的平方加

6

c语言试卷

上我夫人的年龄恰好等于1053,而我夫人年龄的平方加上我的年龄等于873”。试编程计算老师和其夫人的年龄(这里假设老师和老师夫人的年龄在25至65岁之间)。

7

c语言试卷

答案:

一、选择题(每题1分,共20分)

1 A 2 D 3 A 4C 5A 6D 7A 8B 9D 10B 11D 12B 13C 14B 15B 16D 17D 18C 19A 20C

二、程序填空题(每题2分,共20分)

1 2

2 8

3 x>=10 && x<=100

4 26

5 0

6 y%2!=0 或y%2==1

7 注释作用

8 y%4==0 && y%100!=0 || y%400==0

9 int

10 *s++==*t++

三、程序阅读题(每题5分,共30分)

1 x=5.628000 i=5

2 2

3 a=1,b=4

4 1 1 2 3 5

5 1 2 3# 2 3 1# 3 1 2#

6 1 3 5 7

四、程序设计题(每题10分,共30分)

参考程序:

1.#include <stdio.h>

void main()

{

int a[10];

int i,j,t;

printf("input 10 numbers :\n");

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

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

printf("\n");

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

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

8

c语言试卷

if (a[i]<a[i+1])

{t=a[i];a[i]=a[i+1];a[i+1]=t;} printf("the sorted numbers :\n"); for(i=0;i<10;i++)

printf("%d ",a[i]);

printf("\n");

}

2.#include <stdio.h>

void main()

{void swap(int *p1,int *p2); int a,b;

int*pointer_1,*pointer_2; scanf("%d,%d",&a,&b);

pointer_1=&a;pointer_2=&b;

if(a<b) swap(pointer_1,pointer_2); printf("\n%d,%d\n",a,b); }

void swap(int *p1,int *p2)

{int temp;

temp=*p1;

*p1=*p2;

*p2=temp;

}

3.void main()

{int x,y;

for(x=25;x<=65;x++)

for(y=25;y<=65;y++)

if(x*x+y==1053 || y*y+x==873) printf("OK\nx=%d,y=%d\n",x,y);

}

9

本文来源:https://www.bwwdw.com/article/by84.html

Top