杭州电子科技大学学生考试卷( a )卷。
说明: 请将全部答案都书写在最后页答题纸上,否则答题无效。
考试结束后请将试卷与答题纸分开一起交上来。
试题。一、单选题,根据题目从a、b、c、d中选择一个正确的选项(每小题1分,共13分)
1. 设:int x=17,y=5;,执行语句“x%=x–y”后x的值是()。
a. -5 b. 5 c. 2 d. 3
2.下面程序的输出是()。
#include<>
void main()
int x=5,y=2;
printf("%d",y=x/y);
a. 0.4 b. 2.5 c. 2 d. 不确定的值。
3. 设int a=2;,表达式“a%2!=0”的值为
a. 真 b. 假 c. 1 d. 0
4. 假设变量x,y,f都是整型变量,且x,y已赋值,下面能正确输出|x-y|值的程序段是:
a.if(y>x)
f=y-x;
elsef=x-y;
printf("%d",f);
b.if(y>x)
f=y-x;
printf("%d",f);
elsef=x-y;
printf("%d",f);
c.if(y>x)
f=y-x;
printf("%d",f);
else{ f=x-y;
printf("%d",f);
d.if(y>x)
f=y-x;
else f=x-y;
printf("%d",f);
5.下面程序是在主函数中输入两个实数,通过调用max函数求最大值。其中语句a正确的是()。
float max(float x, float y )
float z;
z=x>y? x : y;
return(z);
void main()
float a,b;
float m;
scanf("%f%f",&a,&b);
语句a;printf("%f",m);
a、 m=max( float a, float b); b、 m=max(a,b);
c、 max(a,bd、 m=float max( a, b);
6.要为字符型变量a赋初值,下列语句中哪一个是正确的( )
a、char a=%;b、char a="k"; c、char a='3'; d、char a=*;
7.下列各语句定义数组,其中哪一个是不正确的( )
a、char a[3][10]=;
b、int x[2][2]=;
c、int m[3]=;
d、float x[2]
8. 若有float a=1.5,b=3.5, *pa=&a; *pa*=3;pa=&b; 则正确的选项是( )
a、pa的值是1.5 b、*pa的值是4.5 c、pa的值是3.5 d、*pa的值是3.5
9. 下面程序段for循环的执行次数( )
int a,b=6,k;
for(k=0,a=0;a k++;
a、6次 b、 2次 c、4次 d、 3次。
10.执行下面程序后的输出结果是( )
#include<>
void main( )
int a=1,b=1;
a=b++;
printf("%d, %d", b, a);
a、1, 2 b、 1, 1 c、2, 1 d、 2, 2
11. 判断char型变量c为数字字符的正确表达式为( )
a、'0'<=c<='9b、c>='0'||c<='9'
c、 '0'<=c&&c<='9' d、 c>=0&&c<=9
12.有数组定义语句“char a[20];”则能正确输入字符串到数组a中的语句为()
a、gets(ab、scanf("%s", a)
c、scanf("%s", ad、gets(a[20]);
13.break语句可以用在( )
a、switch和循环语句中 b、循环语句中 c、switch语句中 d、所有语句中。
试题。二、程序阅读,回答问题(每个小问题3分,共27分)
#include <>
void main()
int i, m;
scanf("%d", m);
for(i = 2; i<=m/2; i++)
printf("%d#", i
问题1。运行时输入9,写出运行结果。
#include<>
int cal(int d1,int d2,char p)
if(p=='return (d1*d2);
else return(d1+d2);
void main()
int a,b,c,r;
char op1,op2;
scanf("%d%c%d%c%d",&a,&op1,&b,&op2,&c);
if(op1=='op2=='
r=cal(a,cal(b,c,op2),op1);
else r=cal(cal(a,b,op1),c,op2);
printf("%d",r);
问题2。运行时输入4+5*3,写出运行结果。
#include<>
void f1(int q,int *p)
*p=(*p)+(p);
q=q*q;
void main()
int a,b;
scanf("%d%d",&a,&b);
f1(a,&b);
printf("%d %d",a,b);
问题3。运行时输入9 3,写出运行结果。
#include<>
void main()
int a[4][4],s,i,j ;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
a[i][j]=2*i+j+1;
for(i=0;i<4;i输出1
for(i=0;i<4;i++)输出 2
s=0;for(j=0;j<4;j++)
s=s+a[j][i];
printf("%d ",s);
问题4。写出运行后输出1 的这部分内容。
问题5。写出运行后输出2 的这部分内容。
#include<>
void fun (int *a,int n,int x)
int j;
for(j=0; ja+j)=x;
void main()
int a[7]=,i;
fun(a,7,6); 第11行。
for(i=0;i<7;i++)
printf("%d ",a[i]);
问题6。写出运行结果。
问题7。将第11行改为“fun(a+2,5,6); 写出程序运行结果。
#include<>
void fun1(int a,int n)
int j,k,t;
k=0;for(j=1; j if(a[k]>a[j]) k=j;
t=a[k];
a[k]=a[n-1];
a[n-1]=t;
void fun2(int a,int n)
int i,j,k,t;
for(i=0;i
void main()
int a[7]=,i;
fun1(a,7);
for(i=0;i<7;i++)
printf("%d ",a[i]);
问题8。写出运行结果。
问题9。主函数中函数调用语句“fun1(a,7)”改为fun2(a,7); 写出运行结果。
试题。四、程序填空。根据程序功能,填空完成程序所规定的功能(共30分,每空2分)
1.程序功能:输入一个正整数n,计算并输出s的前n项和。
s=1-1/3+1/5-1/7+1/9+..
程序:#include<>
void main()
double s=0,t,j=1;
int i,n,f=1
scanf("%d",&n);
for(i=1; (1) ;i++)
{ t=f*1.0/j;
c语言 2019春C语言上机试卷C04答案
20xx年春二级c语言上机试卷 试卷代号c04 答案。一 改错题 16分 程序功能 由一个取值在0 32767范围内的正整数x生成一个由十六进制数字字符组成的字符串。生成规则如下 设x的质因数分解式为qnr n qn 1r n 1 q2r 2 q1r 1 其中q1代表质数2,q2代表q1之后的下一个...
2023年春C语言作业
以下选项中属于c语言的数据类型是 d a.复数型。b.逻辑型。c.集合型。d.双精度型。c语言中的标示符只能由字母 数字和下划线三种字符组成,且第一个字符 c a.必须是字母。b.必须是下划线。c.必须是字母或下划线。d.可以是字母或数字或下划线中的任意一种。下面四个选项当中,均是关键字的是 b a...
2019C语言试卷C
大连职业技术学院。2010 2011 学年第一学期。c语言程序设计试卷 c 本试卷共 5 页,计六道大题 答题说明 1 考生必须写清答题纸上要求填写的考试科目 系别 班级 姓名 考号等项内容 2 考生必须依照题签上的题目顺序,在答题纸上写清题号,按顺序答题。一 单项选择题 本大题共10小题,每小题1...