一、选择
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
答案
1. 当调用函数时,实参是一个数组名,则向函数传送的是
A) 数组的长度
B) 数组的首地址
C) 数组每一个元素的地址
D) 数组每个元素中的值
你所选择的答案是:*,正确答案是:B ×
2. 假定x和y为double型,则
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
达式x=2,y=x+3/2的值是
A) 3.500000
B) 3
C) 2.000000
D) 3.000000
你所选择的答案是:*,正确答案是:D ×
3. 假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4;
m=(w
=10) break;
if(b%3==1)
{b+=3;continue;}
}
printf("%d\n",a);
}
A) 101
B) 6
C) 5
D) 4
你所选择的答案是:*,正确答案是:D ×
6. 以下程序的输出结果是
#define M(x,y,z) x*y+z
main()
{ int a=1,b=2, c=3;
printf("%d\n", M(a+b,b+c, c+a));
}
A) 19
B) 17
C) 15
D) 12
你所选择的答案是:*,正确答案是:D ×
7. 整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是
A) x || y
B) x | y
C) x & y
D) x ^ y
你所选择的答案是:*,正确答案是:D ×
8. 若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是
A) a的值是字符C
B) a的值是浮点型
C) 不允许字符型和浮点型相加
D) a的值是字符'A'的ASCII值加上1。
你所选择的答案是:*,正确答案是:D ×
9. 在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是
A) a=20000+20000;
B) a=4000*10;
C) a=30000+10000;
D) a=4000L*10L;
你所选择的答案是:*,正确答案是:D ×
10. 以下程序中,while循环的循环次数是
main()
{ int i=0;
while(i<10)
{ if(i<1) continue;
if(i==5) break;
i++;
}
......
}
A) 1
B) 10
C) 6
D) 死循环,不能确定次数
你所选择的答案是:*,正确答案是:D ×
11. 若有以下程序
#include
void f(int n);
main()
{ void f(int n);
f(5);
}
void f(int n)
{ printf("%d\n",n); }
则以下叙述中不正确的是
A) 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B) 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C) 对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明
D) 函数f无返回值,所以可用void将其类型定义为无值型
你所选择的答案是:*,正确答案是:C ×
12. 以下程序的输出结果是
main()
{ char cf[3][5]={"AAAA","BBB","CC"};
printf("\"%s\"\n",ch[1]);
}
A) "AAAA" B) "BBB" C) "BBBCC" D) "CC"
你所选择的答案是:*,正确答案是:B ×
13. 在C语言中,形参的缺省存储类是
A) auto
B) register
C) static
D) extern
你所选择的答案是:*,正确答案是:A ×
14. 若有下面的说明和定义:
struct test
{ int ml; char m2; float m3;
union uu {char ul[5]; int u2[2];} ua;
} myaa;
则sizeof(struct test )的值是
A) 12
B) 16
C) 14
D) 9
你所选择的答案是:*,正确答案是:A ×
15. 以下选项中合法的用户标识符是
A) long B) _2Test C) 3Dmax D) A.dat
你所选择的答案是:*,正确答案是:B ×
16. 有以下程序
int f(int n)
{ if (n==1) return 1;
else return f(n-1)+1;
}
main()
{ int i,j=0;
for(i=i;i<3;i++) j+=f(i);
printf("%d\n",j);
}
程序运行后的输出结果是
A) 4
B) 3
C) 2
D) 1
你所选择的答案是:*,正确答案是:B ×
17. 有以下程序
main()
{ char a[ ]={'a','b','c','d', 'e', 'f', 'g','h','\0'}; int i,j;
i=sizeof(a); j=strlen(a);
printf("%d,%d\b"i,j);
}
程序运行后的输出结果是
A)9,9
B)8,9
C)1,8
D)9,8
你所选择的答案是:*,正确答案是:D ×
18. C语言中用于结构化程序设计的三种基本结构是()。
A) 顺序结构、选择结构、循环结构
B) if、switch、break
C) for、while、do-while
D) if、for、continue
你所选择的答案是:*,正确答案是:A ×
19. 下列叙述中正确的是()。
A) C语言中既有逻辑类型也有集合类型
B) C语言中没有逻辑类型但有集合类型
C) C语言中有逻辑类型但没有集合类型
D) C语言中既没有逻辑类型也没有集合类型
你所选择的答案是:*,正确答案是:D ×
20. 有以下程序
#include "stdio.h"
main()
{
int i=1,j=1,k=2;
if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是()。
A) 1,1,2
B) 2,2,1
C) 2,2,2
D) 2,2,3
你所选择的答案是:*,正确答案是:C ×
21. 有以下程序
main()
{ char a,b,c,*d;
a='\'; b='\xbc';
c='\0xab'; d="\017";
print("%c%c%c\n",a,b,c,*d);
}
编译时出现错误,以下叙述中正确的是()。
A) 程序中只有a='\';语句不正确
B) b='\xbc';语句不正确
C) d="\0127";语句不正确
D) a='\';和c='\0xab';语句都不正确
你所选择的答案是:*,正确答案是:D ×
22. 有以下程序
#include "stdio.h"
int f(int *x,int *y)
{
if(*x<*y)
return *x;
else
return *y;
}
main()
{ int a=7,b=8,c=9;
int f(int *,int *);
printf("%d,%d,%d",f(&a,&b),f(&c,&b),f(&b,&a));
}
执行后输出结果是()。
A) 7,8,8
B) 7,8,7
C) 8,7,7
D) 8,7,8
你所选择的答案是:*,正确答案是:B ×
23. 以下叙述中正确的是()。
A) 全局变量的作用域一定比局部变量的作用域范围大
B)静态(static)类别变量的生存期贯穿于整个程序的运行期间
C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值你所选择的答案是:*,正确答案是:B ×
24. 有以下程序
main()
{
char str[]="xyz",*ps=str;
while(*ps)ps++;
for(ps--;ps-str>=0;ps--) puts(ps);
}
执行后的输出结果是()。
A) yz
xyz
xyz
B) z
yz
xyz
C) z
yz
D) x
xy
你所选择的答案是:*,正确答案是:B ×
25. 有以下程序
main()
{ int k=4,n=0;
for( ; n{ n++;
if(n%3!=0) continue;
k--; }
printf("%d,%d\n",k,n);
}
程序运行后的输出结果是()。
A)1,1
B)2,2
C)3,3
D)4,4
你所选择的答案是:*,正确答案是:C ×
26. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
你所选择的答案是:*,正确答案是:D ×
27. 有以下程序
main()
{
int a[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++) p[i]=i+1;
printf("%d \n",a[1][2]);
}
程序运行后的输出结果是()。
A)3
B)6
C)9
D)2
你所选择的答案是:*,正确答案是:B ×
28. 以下符合C语言语法的实型常量是()。
A) 1.2E0.5 B) 3.14.159E C) .5E-3 D) E15
你所选择的答案是:*,正确答案是:C ×
29. 若程序中定义了以下函数
double myadd(double a,double B)
{ return (a+B) ;}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()。
A) double myadd(double a,B) ;
B) double myadd(double,double);
C) double myadd(double b,double A) ;
D) double myadd(double x,double y);
你所选择的答案是:*,正确答案是:A ×
30. 有以下定义
#include
char a[10],*b=a;
不能给数组a输入字符串的语句是()。
A) gets(A)B) gets(a[0])C) gets(&a[0]);D) gets(B) ;
你所选择的答案是:*,正确答案是:B ×
31. 若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。
A)abs(x-y)<10
B)x-y>-10&& x-y<10
C)!(x-y)<-10||!(y-x)>10
D)(x-y)*(x-y)<100
你所选择的答案是:*,正确答案是:C ×
32. 有以下程序
main()
{
int a=3,b=4,c=5,d=2;
if(a>b)
if(b>c)
printf("%d",d++ +1);
else
printf("%d",++d +1);
printf("%d\n",d);
}
程序运行后的输出结果是()。
A)2
B)3
C)43
D)44
你所选择的答案是:*,正确答案是:A ×
33. 若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素的是()。
A)p+1
B)*(p+3)
C)*(p+1)+3
D)*(p[0]+2])
你所选择的答案是:*,正确答案是:D ×
34. 已有定义:int i,a[10],*p;,则合法的赋值语句是()。
A)p=100;
B)p=a[5];
C)p=a[2]+2;
D)p=a+2;
你所选择的答案是:*,正确答案是:B ×
35. 以下选项中,不能作为合法常量的是()。
A)1.234e04
B)1.234e0.4
C)1.234e+4
D)1.234e0
你所选择的答案是:*,正确答案是:B ×
36. 有以下程序
#include "stdio.h"
#include "string.h"
main()
{
char a[7]="abcd";int i,j;
i=sizeof(a); j=strlen(a);
printf("%d %d ",i,j);
}
程序运行后的输出结果是()。
A)2 2
B)7 4
C)7 2
D)6 2
你所选择的答案是:*,正确答案是:B ×
37. 若有以下说明和定义
union dt
{
int a; char b; double c;
}data;
以下叙述中错误的是()。
A)data的每个成员起始地址都相同
B)变量data所占内存字节数与成员c所占字节数相等
C)程序段:data.a=5;printf("%f ",data.c);输出结果为5.000000
D)data可以作为函数的实参
你所选择的答案是:*,正确答案是:C ×
38. 有以下程序
main()
{
int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++)
{
for(j=1;j<=i;j++) printf("%c",' ');
for(j= j<4;j++) printf("%4d",num[i][j]);
printf(" ");
}
}
若要按以下形式输出数组右上半三角
1 2 3 4
6 7 8
11 12
16
则在程序下划线处应填入的是()。
A)i-1
B)i
C)i+1
D)4-i
你所选择的答案是:*,正确答案是:B ×
39. 以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是()。
A)feof(fp)
B)ftell(fp)
C)fgetc(fp)
D)rewind(fp)
你所选择的答案是:*,正确答案是:D ×
40. 以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。
main()
/* Beginning */
{ int r; float s;
scanf("%d",&r);
s=PI*r*r; printf("s=%f\n",s);
}
出错的原因是()。
A)注释语句
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
写位置错误B)存放圆半径的变量r不应该定义为整型
C)输出语句中
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
描述符非法D)计算圆面积的赋值语句中使用了非法变量
你所选择的答案是:*,正确答案是:D ×
41. 设变量已正确定义,则以下程序不能正确计算f = n!的程序段是()。
A)f=1;
for(i=1;i<=n;i++)
f*=i;
B)f=0;
for(i=1;i<=n;i--)
f*=i;
C)f=1;
for(i=n;i>1;i--)
f=f*i;
D)f=1;
for(i=n;i>=2;i--)
f=f*i
你所选择的答案是:*,正确答案是:B ×
42. 有以下程序
int a=2;
int f(int n)
{ static int a=3;
int t=0;
if(n%2){ static int a=4; t += a++; }
else { static int a=5; t += a++; }
return t+a++;
}
main()
{ int s=a, i;
for( i=0; i<3; i++) s+=f(i);
printf("%d\n", s);
}
程序运行后的输出结果是()。
A)26 B)28 C)29 D)24
你所选择的答案是:*,正确答案是:C ×43. 有以下程序
#include
main()
{
char c1,c2,c3,c4,c5,c6;
scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);
c5=getchar(); c6=getchar();
putchar(c1); putchar(c2);
printf(“%c%c\n”,c5,c6);
}
程序运行后,若从键盘输入(从第1列开始) 123<回车>
45678<回车>
则输出结果是
A)1267
B)1256
C)1278
D)1245
你所选择的答案是:*,正确答案是:D ×44. 有以下程序
int fun1(duoble a){return a*=a;}
int fun2(dpuble x,double y)
{
double a=0,b=0;
a=fun1(x); b=fun1(y); return (int)(a+b);
}
main()
{double w; w=fun2(1.1,2.0);……}
程序执行后变量w中的值是
A)5.21
B) 5
C) 5.0
D) 0.0
你所选择的答案是:*,正确答案是:C ×
45. 有以下程序
fun(char p[][10])
{int n=0,i;
for(i=0;i<7;i++)
if(p[i][0]=='T') n++;
return n;
}
main()
{
char str[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"}; printf(“%d\n”,fun(str));
}
程序执行后的输出结果是
A)1
B)2
C)3
D)0
你所选择的答案是:*,正确答案是:B ×
46. 若有以下函数首部
int fun(double x[10],int *n)
则下面针对此函数声明语句中正确的是________。
A)int fun(double x,int *n);B)int fun(double ,int);
C)int fun(double *x,int n);D)int fun(double *,int *);
你所选择的答案是:*,正确答案是:D ×
47. 有以下程序
void change(int k[ ]){k[0]=k[5];}
main()
{int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;
while(n<=4) {change(&x[n]);n++;}
for(n=0;n<5;n++) printf("%d",x[n]);
}
程序运行后输出的结果是________。
A)678910B)13579 C)12345D)62345
你所选择的答案是:*,正确答案是:A ×
48. 有以下程序
main()
{
int x[3][2]={0},i;
for(i=0;i<3;i++) scanf("%d",x[i]);
printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);
}
若运行时输入:2 4 6<回车>,则输出结果为________。
A)2 0 0B)2 0 4 C)2 4 0D)2 4 6
你所选择的答案是:*,正确答案是:B ×
49. 有以下程序
#include
main(int argc,char *argv[])
{int i=1,n=0;
while(i后,name的值为
A)Lili
B)name=Lili
C)Lili num=
D)name=Lili num=1001
你所选择的答案是:*,正确答案是:A ×
53. 有以下程序段
int i,n;
for(i=0;i<8;i++)
{ n=rand()%5;
switch (n)
{ case 1:
case 3:printf("%d\n",n); break;
case 2:
case 4:printf("%d\n",n); continue;
case 0:exit(0);
}
printf("%d\n",n);
}
以下关于程序段执行情况的叙述,正确的是
A)for循环语句固定执行8次
B)当产生的随机数n为4时结束循环操作
C)当产生的随机数n为1和2时不做任何操作
D)当产生的随机数n为0时结束程序运行
你所选择的答案是:*,正确答案是:E ×
54. 有以下程序
#include "stdio.h"
main()
{ char s[]="012xy\08s34f4w2";
int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>='0'&&s[i]<='9') n++;
printf("%d\n",n);
}
程序运行后的输出结果是
A)0
B)3
C)7
D)8
你所选择的答案是:*,正确答案是:B ×
55. 设有定义:struct {char mark[12];int num1;double num2;} t1,t2;,若变量均已正确赋初值,则以下语句中错误的是
A)t1=t2;
B)t2.num1=t1.num1;
C)t2.mark=t1.mark;
D)t2.num2=t1.num2;
你所选择的答案是:*,正确答案是:C ×
56. 有以下定义:int a; long b; double x,y;则以下选项中正确的表达式语句是
A)a%(int)(x-y)
B)a=x!=y;
C)(a*y)%b
D)y=x+y=x
你所选择的答案是:*,正确答案是:B ×
57. 表达式a+=a-=a=9的值是
A)9
B)_9
C)18
D)0
你所选择的答案是:*,正确答案是:D ×
58. 若变量已正确定义,在if(W) printf("%d\n,k");中,以下不可替代W的是
A)a<>b+c
B)ch=getchar()
C)a==b+c
D)a++
你所选择的答案是:*,正确答案是:A ×
59. 有以下程序
#include
main()
{int a=1,b=2;
while(a<6){b+=a;a+=2;b%=10;}
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是
A)5,11
B)7,1
C)7,11
D)6,1
你所选择的答案是:*,正确答案是:B ×
60. 下列定义数组的语句中,正确的是
A)int N=10;
int x[N];
B)#define N 10
int x[N];
C)int x[0..10];
D)int x[];
你所选择的答案是:*,正确答案是:B ×
二、填空题
1. 下列程序的输出结果是16.00,请填空。
main()
{int a=9, b=2;
float x=_____, y=1.1,z;
z=a/2+b*x/y+1/2;
printf("%5.2f\n", z );
}
你所选择的答案是:,正确答案是:6.6 ,×
2. 以下程序将数组a的4个元素和数组b的6个元素写到名为lett.dat的二进制文件中,请填空。
#include
main ()
{ FILE *fp;
char a[4]="1234",b[6]="abcedf";
if((fp=fopen("_______","wb"))==NULL)exit(0);
fwrite(a,sizeof(char),4,fp);
fwrite(b,6*sizeof(char),1,fp);
fclose(fp);
}
你所选择的答案是:,正确答案是:lett.dat ,×
3. strcmp函数的功能是字符串的( )。
你所选择的答案是:,正确答案是:比较,×
4. 若有程序
main()
{ int i,j;
scanf("i=%d,j=%d";&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求给i赋10,给j赋20,则应该从键盘输入【】。
你所选择的答案是:,正确答案是:i=10,j=20 ,×
5. 以下程序运行后输入:3,abcde<回车>,则输出结果是〖〗 #include
move(char *str, int n)
{ char temp; int i;
temp=str[n-1];
for(i=n-1;i>0;i--) str[i]=str[i-1];
str[0]=temp;
}
main()
{ char s[50]; int n, i, z;
scanf("%d,%s",&n,s);
z=strlen(s);
for(i=1; i<=n; i++) move(s, z);
printf("%s\n",s);
}
你所选择的答案是:,正确答案是:cdeab ,×
6. 以下程序运行后的输出结果是【】。
#include "stdio.h"
main()
{ int a;
a=(int)((double)(3/2)+0.5+(int)1.99*2);
printf("%d\n",a);
}
你所选择的答案是:,正确答案是:3 ,×
7. #include "stdio.h"
main()
{ char c1,c2;
scanf("%d",&c1);
c2=c1+9;
printf("%c%c\n",c1,c2);
}
若程序运行时从键盘输入48<回车>,则输出结果为【】
你所选择的答案是:,正确答案是:09 ,×
8. void prt(char ch,int n)
{ int i;
for(i=1;i<=n;i++)
printf(i%6!=0 ? "%c" : "%c\n",ch);
}
执行调用语句prt('*',24);后,函数共输出了【】行*号。
你所选择的答案是:,正确答案是:4 ,×
9. 以下fun函数的功能是在N行M列的整形二维数组中,选出一个最大值作为函数值返回,请填空。(设M,. N已定义)
int fun(int a[N][M))
{int i,j,row=0,col=0;
for(i=0;ia[row][col]){row=i;col=j;}
return(【】):
}
你所选择的答案是:,正确答案是:a[row][col] ,×
10. 以下程序打开新文件f.txt,并调用字符输出函数将a数组中的字符写入其中,请填空。#include
main()
{【】*fp;
char a[5]={'1','2','3','4','5'},i;
fp=fopen("f .txt","w");
for(i=0;i<5;i++)fputc(a[i],fp);
fclose(fp);
}
你所选择的答案是:,正确答案是:FILE ,×