资源描述
《C语言》试卷A
适用专业:
考试时间:120分钟 考试形式:闭卷 试卷总分:100分
一、 选择题;(每题2分,共34分)
1.以下选项中可作为C语言合法常量的是( )
A)-80 B)-080 C)-8e1.0 D)-80.0e
2.以下选项中可作为C语言合法变量的是( )
A)int B)2_or C)Main D)a#b
3.数字字符0的ASCII值为48,若有以下程序
main()
{ char a='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序运行后的输出结果是( ) A)3,2 B)50,2 C)2,2 D)2,50
4.设int i=10,j=10;则“printf(“%d,%d\n”,++i,j--);”输出结果是( )
A)10,10 B)10,9 C)11,9 D)11,10
5. 有以下程序
main()
{ int a,b,d=25;
a=d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是( )
A)6,1 B)2,1 C)6,0 D)2,0
6.若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a<b?a:c<d?c:d的值 ( ) A)1 B)2 c)3 D)4
7.有以下程序
main()
{ int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i++<7) if(p[i]%2) j+=p[i];
printf("%d\n",j);
}
程序运行后的输出结果是( ) A)42 B)45 C)56 D)60
8. 以下While循环中,循环体执行的次数是( ) 。
k=1;
while(--k) k=10;
A. 一次也不执行 B.无限次 C. 10次 D. 1次
9.执行下面的程序时,从键盘上输入5和2,则输出结果是 ( )
main()
{int a,b,k;
Scanf(“%d%d”,&a,&b);
k=a;
if(a<b)k=a%b;
else k=b%a;
printf(“%d\n”,k);}
A 5 B 3 C 2 D 0
10. 已知:char c=’A’; int i=1,j; 执行语句j=!c&&i++; 则i和j的值是( )
A)1,1 B)1,0 C)2,1 D)2,0
11.有以下程序
a=1,b=2,c=2;
While(a<b<c)
{ t=a;a=b;b=t;c--;}
printf(“%d,%d,%d”,a,b,c);
程序运行后的输出结果是:( )
A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1
12.以下对一维整型数组a的正确说明是
A) int a(10) B)int n=10,a[n]
C)int n;scanf(“%d”,&n);int a[n]; D)#define SIZE 10 int a[SIZE];
13.有以下程序
main()
{ int a=1,b;
for(b=1;b<=10;b++)
{
if(a>=8) break;
if(a%2==1) { a+=5; continue;}
a-=3;
}
printf("%d\n",b);
}
程序运行后的输出结果是 ( )
A)3 B)4 C)5 D)6
14. 下面函数调用语句含有实参的个数为( )
fun((exp1,exp2),(exp3,exp4,exp5))
A)1 B)2 C)4 D)5
15.有以下程序
main( )
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
}
程序执行后的输出结果是( )
A) 自然数1~9的累加和 B) 自然数1~10的累加和
C) 自然数1~9中的奇数之和 D) 自然数1~10中的偶数之和
16. 用数组名作为函数参数传递给函数,作为实际参数的数组名被处理为
A. 该数组的长度 B. 该数组的元素个数
C. 该数组中各元素的值 D. 该数组的首地址
17.有以下程序
#define N 20
fun(int a[],int n,int m)
{ int i,j;
for(i=m;i>=n;i--)
a[i+1]=a[i];
}
main()
{ int i,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,2,9);
for(i=0;i<5;i++)
printf("%d",a[i]);
}
程序运行后的输出结果是 ( )
A)10234 B)12344 C)12334 D)12234
二、填空题(每空1.5分,共24分)
1.C语言程序是由 【1】构成的,其中有且只能有一个 【2】函数,该函数名为 【3】 。
2.设int a=8;则执行a-=a+=a*3后,a的值为 【4】 。
3.设a=3,b=4,c=5.则a+b>c&&b==c的值为 【5】 。
4.若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初使化后,得到a[1][2]的初值是 【6】 。得到a[2][1] 的初值是【7】 。
5.以下程序运行时若从键盘输入:10 20 30<回车>。输出结果是 【8】
#include <stdio.h>
main()
{ int i=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
6、若有定义float x=1.23456789;则printf(“%f”,x);的输出结果为 【9】
7.以下程序运行后的输出结果是 【10】
main()
{ int a,b,c
a=10;b=20;c=(a%b<1)||(a/b>1);
printf("%d %d %d\n",a,b,c);
}
8.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>.输出结果是 【11】
#include "stdio.h"
main()
{ char a,b;
a=getchar(); scanf("%d",&b);
a=a-'A'+'0';
b=b*2;
printf("%c %c\n",a,b);
}
9.以下程序运行后的输出结果是【12】
void swap(int x,int y)
{ int t;
t=x;x=y;y=t;
printf("%d %d ",x,y);
}
main()
{ int a=3,b=4;
swap(a,b);
printf("%d %d\n",a,b);
}
10. 写出以下程序的执行结果 【13】
main()
{ int i,s=0;
int a[3][3]={1,2,9,3,4,8,5,6,7};
for(i=0;i<3;i++) s+=a[i][i]+a[i][3-i-1];
printf(“%d”,s);
}
11.写出以下程序的执行结果 【14】
#include "stdio.h"
main()
{ int k;
int a[3][3]={1,2,3,4,5,6,7,8,9};
for(k=0;k<3;k++)
printf(“%d”,a[k][2-k]);
}
12.写出以下程序的执行结果 【15】
#include "stdio.h"
int fun(int u,int v);
main()
{ int a=24,b=16,c;
c=fun(a,b);
printf(“%d\n”,c);
}
Int fun(int u,int v)
{ int w;
while(v)
{ w=u%v;
u=v;
v=w;
}
return u;
}
13. 写出以下程序的执行结果___【16】_ 。
#include<stdio.h>
main()
{ int i;
for(i=1;i<=5;i++)
switch(i%2)
{case 0: i++;printf(“#”);break;
Case 1: i+=2;printf(“*”);
Default:printf(“\n”);
}
}
三、程序填空题:(每空2分,共18分)
1.求数组中元素最大值,请填空。
#include<stdio.h>
#define N 10
main()
{ int i,max ,a[N]
for(i=1;i< 【1】 ;i++)
scanf(“%d”,&a[i]);
max= 【2】
for(i=1;i<N;i++)
if(max 【3】 a[i]);
printf(“max=%d\n”,max);}
2.下面程序的功能是输出1—100当中,每位数的乘积大于每位数的和的数,请填空。
#include<stdio.h>
main()
{ int n,k=1,s=0,m;
for(n=1;n<=100;n++)
{ k=1;s=0;
【4】 ;
While( 【5】 )
{ k*=m%10;
S+=m%10;
【6】 ; }
if(k>s) printf(“%d”,n);}}
3.main()函数利用exchange函数来交换main中的两个变量的值。
#include<stdio.h>
main()
{ float a=5,b=8;
fun(a,b);
}
【7】 fun( 【8】 )
{float temp;
【9】 ;
x=y;
y=temp;
printf(“%f,%f\n”,x,y)}
四、编程题:(24分)
1、 (8分)用π/4=1-1/3+1/5-1/7+…..公式求π的近似值。直到最后一项的绝对值小于10-4为止。
2、(8分)有一个3×4的矩阵,要就编程序求出其中值最小的那个元素的值,以及其所在的行号和列号。假设a[3][4]={{4,3,2,1},{6,9,8,10},{-10,25,-5,0}}。
3.(8分)找出5—100之间所有能被5或7整除的数。
展开阅读全文