五邑大学试卷_C语言程序设计_信息学院各专业_B卷

五邑大学试卷_C语言程序设计_信息学院各专业_B卷
五邑大学试卷_C语言程序设计_信息学院各专业_B卷

选择题(30%:15小题,每小题2分)

1. 在一个C程序中()。

A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现

C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置

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

A)整型、浮点型、逻辑型B)整型、浮点型、字符型

C)整型、字符型、逻辑型D)整型、浮点型、逻辑型、字符型

3. 以下二维数组a 的正确说明是( )。

A)int a[1,1]; B)float a(3,4);

C)double a[2][4]; D)float a(3)(4);

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

A)0 B)1 C )2 D)3

5. 一般情况下,C语言是以()表示运算结果为逻辑真。

A)F B)T C)1 D)0

6. 设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是( )。

A)a&&b B)a<=b C)a||b+c&&b-c D)!((a

7. 若x=4,则x*=x+2的值为( )。

A)36 B)24 C)18 D)20

8. int *p1,*p2; 以下表达式错误的是( )。

A)p1+p2 B)p1-p2 C)p1=p2 D)p1= =p2

9. 设有如下定义:

struct sk

{ int a;

float b;

}data;

int *p;

若要使p指向data中的a域,正确的赋值语句是( )。

A)p=&a; B)p=data.a; C)p=&data.a; D)*p=data.a;

10. 下面各项中,含有错误的是()。

A)char s[10];

s="program";

B)char s[ ]={ 'p ', 'r ', 'o ', 'g ', 'r ', 'a ', 'm', '\0'};

C ) char s[10] ="program";

D)char s[10]={"program"};

11. while(leap) 和下列哪个等价?()

A)while (0) B)while (5)

C)while (leap= =0) D)while (leap!=0)

12. 有以下程序:

main()

{

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

printf("%d",t[2][1]);

}

执行后的输出结果是()。

A)6 B)5 C)3 D)2

13. 在嵌套使用if语句时,C语言规定else总是()。

A)和之前与其具有相同缩进位置的if配对。

B)和之前与其最近的if配对。

C)和之前与其最近的且不带else的if配对。

D)和之前的第一个if配对。

14. 设有字符数组str[20],以下哪条输入语句能将键盘输入的字符串送到数组中?()

A)scanf(“%c”,str); B)gets(str);

C)getchar(str); D)scanf(“%s”,str[0]);

15. 设指针变量p指向数组a的首地址,则以下哪个选项与其他三个选项不等价?()

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

填空题(20%:20空,每空1分)

1. C 源程序的基本单位是_ _ _____。

2. 根据变量的作用域,C 语言的变量分为 和 。

3. 在 C 语言中,将一个变量的地址称为该变量的__ ____;如果有一个变量专门用

来存放另一个变量的地址,则称它为 。

4. 简单变量作为函数参数时,其参数传递方式为__ _ ____。

5. 设 x, y, z 均为 int

型变量,则描述“ x 或y 中有一个小于z ”的表达式是

__ __。

6. 若函数定义为:

int data()

{ float x=9.9;

return(x); }

则函数返回的值是___ _____。

7. 设int a[4]={1,3,5,7};则*(a+2)的值为____ ____。

8. 设y 是int 型变量,请写出判断y 为奇数的关系表达式 。

9. 设有定义:int n,*k=&n;

以下语句利用指针变量k 读写变量n 中的内容,请将语句补充完整。

scanf("%d",___ _____);

printf("%d\n",__ ____);

10. 以下函数的功能是:把两个整数指针所指的存储单元中的内容进行交换。请填空。

void exchange(int *x,int *y)

{ int t;

t=*y;

*y=__ __;

*x=____ _;

}

11. 设有定义:int a=3,*p; 则能使指针变量p指向变量a的语句是___ __ ___。

12. 设i=3,执行表达式“m=++i”后m的值是。

13. 在C语言中,表达式1/2的值是,表达式1.0/2 的值是。

14. 将一个C源程序变为可执行的目标程序要经过和连接。

15. 设有字符数组str[20],使用输入语句能将键盘输入的字符串送到数组中。

1.

main()

{ int i=0,s=0;

while(i<5)

{ if(i%2= =1)

{ i++; continue; }

i++;

s=s+i;

}

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

}

程序运行后输出:。

2.

main()

{ int n1,n2;

scanf(“%d”,&n2);

while(n2!=0)

{ n1=n2%10;

n2=n2/10;

printf(“%d”,n1);

}

}

程序运行后,若输入1298,则输出:。

3.

main()

{ int a[10]={2,4,0,-5,1,6,-8,5,6,5};

int i,s=0,count=0;

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

if(a[i]>0)

{ s=s+a[i];

count++;

}

printf ("s=%d,count=%d",s,count);

程序运行后输出:。

4.

main()

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

int j,t;

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

if(a[j]>a[j+1])

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

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

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

}

程序运行后输出:。

四、程序填空(根据给出的程序功能说明,补充完整程序中缺少的代码,每一空行只填写一条语句或一个表达式,不写、多写、错写不给分。)(16%:3小题,共8空,每空2分)

1. 鸡兔共有30只,脚共有90只,下面程序段是计算鸡兔各有多少只。

for( x=0; x<=30; x++)

{ y=30-x;

if(______________)

printf(“_______________\n”, x, y):

}

2. 数组a包括10个整型元素。下面程序的功能是求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。

main()

{ int a[10],b[10], i;

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

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

for (__________; i<10; i++)

__________________;

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

{ printf(“%3d”, b[i]);

if (___________==0) printf(“\n”);

}

}

3. 下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。请在下划线处填写适当内容,使程序能正常运行。

#include

#include

void main()

{ char a[ ]="clanguage", t;

int i, j, k;

k=strlen(a);

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

for( j=i+2; j<=k-1; )

if( )

{ t=a[i]; a[i]=a[j]; a[j]=t; }

printf("%s",a);

printf("\n");

}

程序设计(14%:2小题,每小题7分)

1.编写程序,要求从键盘输入一个无符号整数x,并判断是否为素数,如果是打印yes,否

则打印no。

2. 编写函数

int sum(int a[],int n);

该函数返回数组a中a[0]~a[n-1]的和。比如设有数组x[]={1,2,3,4,5,6,7,8,9,10},则函数调用sum(x,10)的结果等于55。

int sum(int a[],int n)

{

}

相关主题
相关文档
最新文档