admin 管理员组文章数量: 887021
2023年12月16日发(作者:xml文件如何手机改表格)
2008春季学期计算机技术基础C语言试题(A)卷
(考试时间:120分钟)
一、选择题(每题1分,共40分)
1、 在C语言中,合法的长整型常数是
A) 0L B) 4962710 C) 324562& D) 216D
2、 以下有4组用户标识符,其中合法的一组是
A) For B) 4d C) f2_G3 D) WORD
sub DO IF void
Case Size abc define
3、 以下选项中合法的字符常量是
A) "B" B) '010' C) 68 D) D
4、 假定x和y为double型,则表达式x=2,y=x+3/2的值是
A) 3.500000 B) 3
5、 以下合法的赋值语句是
C) 2.000000 D) 3.000000
A) d-- B) x=y=100; C) x+y; D) c=int(a+b);
6、 设正x、y均为整型变量,且x=10 ,y=3,则printf("%d,%dn",x--,--y);语句的输出结果是
A) 10,3 B) 9,3 C) 9,2 D)10,2
7、 x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是
A) INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z); C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);
8、 以下程序的输出结果是
main()
{ int a=3;
printf("%dn",(a-=a*a) ); }
A) -12 B)12 C) 0 D) -6
9、 设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后n的值为
A) 0 B) 1 C)2 D) 3
10、 阅读以下程序:
main()
{ int x;
scanf("%d",&x);
if(x--<5) printf("%d",x);
else printf("%d",x++); }
程序运行后,如果从键盘上输人5,则输出结果是
A)3 B) 4 C) 5 D) 6
11、 t为int类型,进人下面的循环之前,t的值为0
while( t=l )
{ ……}
则以下叙述中正确的是
A) 循环控制表达式的值为0 B) 循环控制表达式的值为1
12、 以下程序的输出结果是
main()
{ int num= 0;
while(num<=2)
{ num++; printf("%dn",num); }
A) 1 B) 1 C)1 D) l
2 2 2
3 3
4
13、 以下各选项企图说明一种新的类型名,其中正确的是
A) type def v1 int; B) type def v2=int; C) type def v1 int v3; D) type def v4: int;
14、 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是
A) 地址传递 B) 单向值传递 C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定
1
C) 循环控制表达式不合法 D) 以上说法都不对
15、 以下函数值的类型是
fun ( float x )
{ float y;
y= 3*x-4;
return y; }
A) int B) 不确定
16、 以下程序的输出结果是
main()
{ char c='z';
printf("%c",c-25); }
A) a B) Z C) z-25
17、 以下选项中,非法的字符常量是
A) 't' B) '17' C)"n"
18、 以下定义语句中,错误的是
D) y
D) 'xaa'
C) void D) float
A) int a[]={1,2}; B) char *a[3]; C) char s[10]="test"; D) int n=5,a[n];
19、 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是
A) 3 B) 6 C) 10 D) 20
20、 以下程序的输出结果是
main()
{ int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]); }
A) 258 B) 741 C) 852
21、 以下数组定义中不正确的是
A) int a[2][3]; B) int b[][3]={0,1,2,3};
22、 以下程序的输出结果是
D) 369
D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; C) int c[100][100]={0};
main()
{ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%dn",a[0][3],a[1][2],a[2][1],a[3][0]; }
A) 0650 B) 1470 C) 5430
23、 以下选项中,不能正确赋值的是
A) char s1[10];s1="Ctest";
24、 以下程序的输出结果是
main()
{ int a, b;
for(a=1, b=1; a<=100; a++)
{ if(b>=10) break;
if (b%3= =1)
{ b+=3; continue; } }
printf("%dn",a); }
A) 101 B) 6
25、 以下程序的输出结果是
int a, b;
void fun()
{ a=100; b=200; }
main()
{ int a=5, b=7;
fun();
printf("%d%d n", a,b); }
A) 100200 B) 57 C) 200100 D) 75
26、 int x=0,y=1; 则以下选项中,结果为零的表达式是
A) x || y B) x + y C) x && y D) ! x
27、 以下叙述中正确的是()
A)C语言的源程序不必通过编译就可以直接运行
D) 输出值不定
C) char s3[20]="Ctest"; D) char *s4="Ctestn" B) char s2[]={'C', 't', 'e', 's', 't'};
C) 5 D) 4
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
2
C)C源程序经编译形成的二进制代码可以直接运行
28、 以下符合C语言语法的实型常量是()
D)C语言中的函数不可以单独进行编译
A)1.2E0.5 B)3.14.159E C).5E-3 D)E15
29、若以下选项中的变量已正确定义,则正确的赋值语句是()
A)x1==26.8%3
30、设有以下定义
int a=0;
double b=1.25;
char c=’A’;
#define d 2
则下面语句中错误的是()
A)a++; B)b++ C)c++; D)d++;
31、 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是()
A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)
32、以下4个选项中,不能看作一条语句的是()
A){;}
33、有以下程序
main( )
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%dn”,s);}
程序执行后的输出结果是()
A)自然数1~9的累加和 B)自然数1~10的累加和 C)自然数1~9中的奇数之和 D)自然数1~10中的偶数之和
34、 以下叙述中正确的是()
A) 构成C程序的基本单位是函数 B) 可以在一个函数中定义另一个函数
C) main()函数必须放在其它函数之前 D) 所有被调用的函数一定要在调用之前进行定义
35、以下非法的赋值语句是()
A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;
36、设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是
A)printf(“x=%dn”,x); B) printf(“x=%1dn”,x);C)printf(“x=%8dLn”,x); D)printf(“x=%LDn”,x);
37、若有以下程序:
main()
{ int k=2,i=2,m;
m=(k+=i*=k);printf(“%d,%dn”,m,i);}
执行后的输出结果是()
A) 8,6 B) 8,3 C) 6,4 D) 7,4
38、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是
A) 6 B) 0 C) 2 D) 1
39、以下选项中,与k=n++完全等价的表达式是()
A) k=n,n=n+1
40、 有以下程序段
B) n=n+1,k=n C) k=++n D) k+=n+1
B)a=0,b=0,c=0; C)if(a>0); D)if(b==0) m=1;n=2;
B)1+2=x2 C)x3=0x12 D)x4=1+2=3;
int n=0,p;
do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);
此处do—while循环的结束条件是
A) P的值不等于12345并且n的值小于3 B) P的值等于12345并且n的值大于等于3
C) P的值不等于12345或者n的值小于3 D) P的值等于12345或者n的值大于等于3
二、填空题(每题1分,共10分)
1、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为 (1) 。
C语言中的逻辑值"真"是用__{2}__表示的,逻辑值"假"是用_(3)__表示的。逻辑表达式值为"真"是用__(4)__表示的,逻辑表达式值为"假"是用__(5)__表示的。
2、以下程序实现输出x,y,z三个数中的最大者。请在( )内填入正确内容。
main ()
{int x=4,y=6,z=7;
int (6);
3
if(x>y) u=x;
else u=y;
if ( (7) ) v=u;
else v=z;
printf("v=%d",v);
}
3、以下程序实现:输入三个数,按从大到小的顺序进行输出。请在( )内填入正确内容。
main ()
{ int x,y,z,c;
scanf("%d %d %d",&x,&y,&z);
if ( (8) )
{c=y;y=z;z=c;}
if ( (9) )
{c=x; x=z;z=c;}
if ( (10) )
{c=x;x=y;y=c;}
printf("%d,%d,%d",x,y,z);
}
三、分析程序给出运行结果(每题1分,共10分)
1、阅读以下程序后,写出运行结果。
#include
main()
{int m,s=0;
for(m=3;m<10;m=m+2)
if(prime(m)) s+=m;
printf("s=%dn",s);
}
int prime(int m)
{int k,j;
k=sqrt(m);
for(j=2; j<=k;j++)
if(m % j==0)return 0;
return 1;
}
2、阅读以下程序后,写出运行结果。
void f (int c)
{int a=0;
static int b=0;
a++; b++;
printf("%d:a=%d,b=%dn",c,a,b);
}
3、 main()
{ int x=100,a=20,b=l0,c=5,d=0;
if (a
if (b!=15)
x=15;
else
if (d)
x=100;
x=-10;
printf("%d",x);
}
4、输入3个数5,6,2输出结果是什么。
4
main()
{ float a,b,c,t;
scanf("%f,%f,%f",&a,& b,&c);
if(a>b) {t=a;a=b;b=t;}
if(a>c) {t=a;a=c;c=t;}
if(b>c) {t=b;b=c;c=t;}
printf("%4.1f%4.1f%4.1fn",a,b,c);
}
5、程序运行输入3值,输出输出结果是什么。
main()
{ int x,y;
scanf("%d",&x);
if(x<0) y= -1;
else if(x= =0) y=0;
else y=1;
printf("x=%d,y=%dn",x,y);
}
6、程序运行输入3值,输出结果是什么。
main()
{ int a;
printf("input integer number: ");
scanf("%d",&a);
switch (a)
{ case 1:printf("Mondayn");break;
case 2:printf("Tuesdayn"); break;
case 3:printf("Wednesdayn");break;
case 4:printf("Thursdayn");break;
case 5:printf("Fridayn");break;
case 6:printf("Saturdayn");break;
case 7:printf("Sundayn");break;
default:printf("errorn");
}
}
7、由键盘输入三个整数2,-6,4分别给变量a、b、c,输出结果是什么。
#include
#include
main()
{ int a,b,c,max;
scanf("%d,%d,%d",&a, &b,&c);
max=a;
if(abs(max) if(abs(max) printf("max=%dn",max); } } } 8、 阅读以下程序后,写出运行结果。 #include main() { int x=1,y=1,a=10,b=10; switch(x) { case 1: switch(y) { case 0:a++;break; 5 case 1:b++;break; } case 2: a++;b++;break; } printf("a=%d,b=%d",a,b); } 9、输入5个数3,4,6,7,8.程序运行,输出结果是什么。 main() { int sum,x,i; sum=0; for(i=1;i<=5;i++) { scanf("%d",&x); sum=sum+x; } printf("sum=%dn",sum); } 10、程序运行,输出结果是什么。 main() { int k,f[10]={1,1}; for(k=2;k<10;k++) f[k]=f[k-1]+f[k-2]; for(k=0;k<10;k++) { if(k%5==0)printf(“n”); Printf(“%6d”,f[k]);}} 四、阅读程序,回答相应问题(每题2分,共10分) 1、#define N 6 main() {int i,j,t,a[N+1]; printf("Input N numbers:n"); for(i=1; i<=N;i++) scanf("%d",&a[i]); printf("n"); for(i=1;i<=N-1;i++) for(j=i+1; j<=N; j++) if(a[i] {t=a[i];a[i]=a[j];a[j]=t;} printf("the sorted numbers:n"); for(i=1; i<=N;i++) printf("%3d",a[i]); } 问题:(1) 、该程序功能是什么? (2) 、将if语句中a[i]a[j], 该程序功能是什么? (3) 、 {t=a[i];a[i]=a[j];a[j]=t;} 功能是什么? 2、#include main() {int m,s=0; for(m=9;m<20;m=m+2) if(prime(m)) s+=m; printf("s=%dn",s); } int prime(int m) {int k,j; k=sqrt(m); for(j=2; j<=k;j++) 6 if(m % j==0)return 0; return 1; 问题:(4) 、函数功能是什么? (5)、s的值是什么? 7
版权声明:本文标题:(16)在C语言中,合法的长整型常数是 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702699096h427275.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论