语言选择.docx
《语言选择.docx》由会员分享,可在线阅读,更多相关《语言选择.docx(59页珍藏版)》请在冰豆网上搜索。
语言选择
1)有以下程序
#includo
main()
{inta=7;
while(a--);
printf(“%d\n”,a);
}
程序运行后的输出结果是A
A)0B)7C)1D)-1
2)以下语句的输出结果是
Printf(“%d\n”,strlen(“\t”\065\xff\n”));A
A)输出项不合法,无正常输出
B)5C)14D)8
3)有以下函数
intfun(char*s,char*t)
{
while((*s)&&(*t)&&(*t++==*s++));
return(*s-*t);
}
函数的功能是D
A)求字符串的长度
B)B)将字符串s复制到字符串他中
C)连接字符串s和字符串t
D)比较两个字符串的大小
4)若有定义语句:
charstrl[]=”string”,str2[8],*str3,str4[10]是复制字符串,以下选项中错误的函数调用是D
A)strcpy(str2,”HELLO!
”)B)strcpy(str4,”HELLO!
”)
B)strcpy(str1,”HELLO!
”)D)strcpy(str3,”HELLO!
”)
5)若有说明和语句:
charstr[]=”Hello”,*p;p=str;,则此时*(p+5)中的值是B
A)“\0”B)不确定的值
B)C)“o”的地址D)“o”
6)当没有指定C语言中函数形参的存储类别时,函数形参的存储类别是D
A)寄存器B)外部C)静态D)自动
7)有以下程序
#includo
#includo
main()
{
chars[]=”Beijing”;
printf(“%d\n”,strlen(strcpy(s,”China”));
}
程序运行后的输出结果是C
A)14B)12C)5D)7
8)有以下程序
#includo
main()
{
inta=1,b=2,c=3,x;
x=(a^b)&c;
printf(“%d\n”,x);
}
程序的运行结果是B
A)1B)3C)0D)2
9)以下选项中,合法的c语言实数是B
A)7.12EB).2e0
C)E13D)3.1e0.4
10)有以下程序
#includo
main()
{
intx=072;
printf(“%d\n”,x+1);
}
程序的运行后输出结果是A
A)59B)72C)115D)73
11)以下选项中,合法的c语言常量是B
A)”、2.0B)1.234
B)C)2kbD)“c++”
12)设a,b,c是整型变量且均已赋值,则以下选项中错误的赋值语句是C
A)a=(b=2)+c;B)a=1+(b=c=2);C)a=(b=3)=1;D)a=b=c+10;
13)以下选项中叙述正确的是C
A)c语言程序不需要包含main()函数
B)B)程序语法错误要在运行时才能发现
C)只要程序包含了三种基本结构中的任意一种,就是结构化程序
D)使用三种基本结构就可以实现任何复杂算法
14)有以下程序段,若变量已正确定义并赋值
if(a>b)printf(“x=%d,”,x);
elseprintf(“y=%d”,y);
if(a<=b)i++
elsej++
则与此程序段功能相同的选项是A
A)if(a>b){printf(“x=%d,”,x);j++;}
else{printf(“y=%d,”,y);i++;}
B)if(a>=b){printf(“x=%d,”,x);i++;}
else{printf(“y=%d,”,y);j++;}
C)if(a>b){printf(“x=%d,”,x);i++;}
else{printf(“y=%d,”,y);j++;}
D)if(a<=b){printf(“x=%d,”,x);i++;}
else{printf(“y=%d,”,y);j++;}
15)设有定义
atruct{charmark[12];intnuml;doublenum2;}t1,t2;
若变量均已正确赋初值,则以下语句中错误的是c
(A)t2,num1=t1.num1;
(B)t2,num2=t1.num2;
(C)t1=t2;
(D)t2,mark=t1.mark;
16)有以下程序
#includo
main()
{
intx=23;
do
{
printf(“%2d\n”,x--);
}while(!
x);
}
程序的执行结果是D
A)不输出任何内容B)陷入无限循环
B)C)输出321D)输出23
17)以下程序的功能是判断的一个整数是否能被3或7整除,若能整除,填入的选项是D
#includo
main()
{intk;
printf(“Enteraintnumbei:
”);scanf(“%d”,&k);
if---------------------printf-(“YES\n”);
elseprintf(“NO\n”);
printf(“%d\n”,k%3);
}
A)((k%3==0)&&(k%7==0))
B)B)(k/3==0)||(k/7==0)
C)((k%3=0)||(k%7==0))D)((k%3==0)||(k%7==0))
18)有以下程序
#includo
main()
{
inti=0,sum=1;
do
{
sum+=i++;
}while(i<6);
printf(“%d\n”,sum);
}
程序的输出结果是D
A)18B)22C)20D)16
19)有以下程序
#includo
main()
{
charc;
switch(c-’2’)
{
case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;
}
}printf(“\n”);
}
程序运行后从第一列开始输入以下数据
2473<回车>
程序的输出结果是B
A)68766B)668977C)6677877D)4444
20)有以下程序
#includo
#includo
main()
{
chars[]=”Beijing”;
printf(“%d\n”,strlen(strcpy(s,”China”)));
}
程序的运行输出结果是D
A)12B)14C)7D)5
21)以下叙述中错误的是D
A)gets函数用于从终端读入字符串
B)B)fwrite函数用于以二进制形式输出数据到文件
C)fputs函数用于把字符串输出到文件
D)getchar函数用于从磁盘文件读入字符
22)若定义语句:
charstrl[]=”string”,str2[8],*str3,sts是复制字符串,以下选项中错误的函数调用是b
A)strcpy(str2,”HELLO!
”)B)strcpy(str4,”HELLO!
”)
B)strcpy(str1,”HELLO!
”)D)strcpy(str3,”HELLO!
”)
23)设有以下程序段
structperson
{
charname[10];
charsex;
floatweight
}zhangsan,*ptr;
ptr=&zhangsan;
若要从键盘读入姓名给结构体变量zhangsan的name成员输入项错误的是A
A)scanf(“%s”,zhangsan->name);B))scanf(“%s”,(*ptr).name);
C))scanf(“%s”,ptr->name);D))scanf(“%s”,zhangsan.name);
24)有以下程序
#includo
structperson
{
charname[10]
intage
}
main()
{
structpersonroom[4]={{“zhang”,19},{“Li”,20}’,
printf(“%s:
%d\n”,)(room+2)->name,room->age;
}
程序的运行输出结果是B
A)Li:
20B)Li:
19C)Wang:
19D)Wang:
17
25)有以下程序
#includo
main()
{
inta=8,b;
b=(a>>2)%2;
Printf(“%d,%d\n”,a,b);
}
程序的运行输出结果是D
A)4,1B)4,0C)8,1D)8,0
26)有以下程序
#include
#include
main()
{
inti;
chara[]=”Howareyou!
”;
for(i=0;a[i];i++)
if(a[i]==”“)
{strcpy(a,&a[i+1]);
i=0
}
printf(“&a\n”,a);
}
程序的运行结果是A
A)Howareyou!
B)areyou!
C)areyou!
D)you!
27有以下程序
#include
#include
main()
{
Charw[20],a[5][10]={“abcdefg”,”ghijkl”,”mnopq”,”rstuv”,”wxyz.”};
Inti;
for(i=0;i<5;i++)
w[5]=”\0”;
w[5]=”\0”;
puts(w);
}
程序的运行结果是
A)flqvz
B)ekpuy
C)flqv
agmrw
28)若有定义语句:
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,0<=i<10)D
A)a[p-a]B)*(&a[1])C)p[i]D)*(*(a+i))
29)以下叙述正确的是D
Acharstr[7]=”string!
”;在语法上是合法的,运行也是安全的
B字符串常量“Hello”会被隐含处理成一个无名字符型数组,它有5个元素
Cchar*str;str=”Hello”;与charstr[];str=”Hello”;效果是一样的
D不能用字符串常量对字符数组名进行整体赋值操作
30)有以下程序
#includo
main()
{
printf(“%d\n”,NULL);
}
程序的运行后输出结果是D
A)1B)-1C)变量无定义,输出不确定D)0
31)函数调用语句:
fun((exp1,exp2),(exp1,exp2,exp3));含有的实参个数是D
A)4B)5C)1D)2
32)有以下程序
#includo
main()
{
inta[10]={11,12,13,14,15,16,17,18,19,20},*p=a,i=9;
printf(“%d,%d,%d\n”,a[p-a],p[i],*(&a[i]));
}
程序的运行后输出结果是B
A)12,19,20B)11,20,20C)11,19,19D)12,20,20
33)以下关于typedef的叙述错误的是C
A)typedef只是将已存在的类型用一个新的名字来代表
B)用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新类型
C)用typedef可以增加新类型
D)用typedef为类型说明一个新名,通常可以增加程序的可读性。
34)有以下程序
#includo
intfun(char*s)
{char*p=s;
while(*p++!
=’\0’);
ruturn(p-s);
}
main()
{
char*p=”01234”;
printf(“%d\n”,fun(p));
}
程序的运行输出结果是B
A)5B)6C)3D)4
35)有以下程序
#includo
main()
{
char*mm[4]={“abcd”,“1234”,“mnop”,“5678”};
char**pm=mm;
inti;
for(i=0;i<4;i++)printf(“%s”,pm[i]+i);
printf(“\n”)
}
程序的运行结果是D
A)abcd1234mnop5678B)a2o8C)a1m5D)abcd234op8
36)s设有以下定义
Chars1[]=“0123”;
Chars2[]={‘0’,‘1’,‘2’,‘3’};
则以下叙述正确的是A
A)数组s1的长度大于s2的长度
B)B)数组s1和s2完全等价
C)数组s1的长度小于s2的长度
D)数组s1和s2的长度相同
37)以下能正确进行字符串赋值的语句组是C
A)charch[4];ch=“abc”;
B)B)charch[3];=“abc”;
C)charch[]={‘a’,’b’,’c’};
D)char*ch;ch=“abc”;
38)若定义
typedefintT[10];
Ta[20];
则与上述定义完全等价的说明语句是A
A)inta[10][20]B))inta[20]C))inta[10]D))inta[20][10]
39)有以下程序
#includo
main()
{intc,d;
c=10|5;d=10+5;
printf(“%d,%d\n”,c,d);
}
程序的运行结果是B
A)5,15B)15,15C)105,15D)10,15
40以下叙述中正确的是B
A语句charstr[10]=”string!
”;和charstr[10]={“string!
”};并不等价
B对于字符串常量”string!
”,系统已自动在最后加入了’\0’字符,表示串结尾
C对于一维字符数组,不能使用字符串常量来赋初值
D在语句charstr[]=”string!
”;中,数组str的大小等于字符串的长度
41)以下选项中正确的是B
A简单算法的操作步骤不能超过20步
B有些算法不能用三种基本结构来表达
C算法需要包含所有三种基本结构
DC程序中的语句要经过翻译才能转换成二进制机器指令
42)有如下程序
#include<5tdio.h>
main()
{
intx=0x13
printf(“&d\n”x+1)
}
程序运行后的输出结果是A
A20
B14
C13
D12
43)有如下程序
#include
main()
{
intx=0x13;
printf(“&d\n”,x+1);
}
程序运行后的输出结果是A
A)20
B)14
C)13
D)12
44)以下选项中,合法的数值常量是B
A)0Xdh
B)3.1415
C)092
D)“A”
45)以下选项中叙述正确的是A
A)复杂任务可以分解成简单的子任务
B)c语言程序可以定义多个不同内容的main函数
C)全部但三种基本结构都包含的才是结构化程序
D)c语言长须中所有的函数必须保存住同一个源文件中
46)若有定义inta,b,c;以下选项中赋值语句正确的是A
A)a=(b=c)+1
B)a+b=c
C)a=(b==c)=1
D)(a=b)=c=1
47)有以下程序
#include
main()
{inta=1,b=0;
for(;a<5;a++)
{if(a&a==0)break;
b+=a;
}
Printf(“&d\n”,b);
}
程序的运行结果是B
A)1
B)10
C)4
D)0
48)有以下程序
#include
main()
{inta=0,b=0,c=0,d=0;
(++a||++b)?
++c:
++d;
printf(“&d,&d,&d,&d\n”,a,b,c,d);
}
程序运行的结果是D
A)1,1,1,0
B)1,0,0,1
C)1,1,0,1
D)1,0,1,0
49)有以下程序
#include
main()
{inta,b;
for(a=0;a<3;a++)
{scanf(“&d”,&b);
swith(b)
{case1:
printf(“&d,”,b++);
case2:
printf(“&d,”,b++);
default:
printf(“&d,”,b++);
}
}
printf(“\n”);
}
执行时输入:
123<回车>,则输出结果是D
A)1,1,1,2,2,3
B)2,3,4,3,4,4
C)1,2,3
D)1,2,3,2,3,3
50)以下能正确输出字符a的语句是D
A)printf(“&d”,’a’);
B)printf(“&s”,’a’);
C)printf(“&c”,”a”);
D)printf(“&s”,”a”);
51)有以下程序
#include
main()
{inta=1,b=1;
While(a--)
b--;
printf(“&d,&d\n”,a,b);
}
程序运行的结果是D
A)0,0
B)1,1
C)-1,-1
D)-1,0
52)有以下程序
#include
main()
{charc;
do{
c=getchar();
putchar(c);
}while(c!
=‘#’);
Printf(“\n”);
}
执行时如输入:
abcefg##<回车>,则输出结果是A
A)abcdefg#
B)abcdefg
C)abcdefg##
D)##
53)有以下程序
#include
Intk=5;
voidf(int*s)
{*s=k;}
main()
{intm=3,*p=&m;
f(p);
printf(“&d,&d”,m,*p);
}
程序运行的结果是D
A)3,5
B)5,3
C)3,3
D)5,5
54)有以下程序
#include
Voidfun(inta[],intn)
{inti,j=0,k=n-1,b[10];
for(i=0,1<2/n;1++)
{b[i]=a[j];
b[k]=a[j+1];
j+=2;k--;
}
for(i=0;ia[i]=b[i];
}
main()
{intc[10]={10,9,8,7,6,5,4,3,2,1},I;
fun(c,10)’
for(i=0;i<10;i++)
printf(“&d,”,c[i]);
printf(“\n”);
}
程序运行的结果是D
A)10,8,6,4,2,1,3,5,7,9,
B)1,2,3,4,5,6,7,8,9,10
C)1,3,5,7,9,10,8,6,4,2
D)10,9,8,7,6,5,4,3,2,1
55)有以下程序
#include
int*f(int*5,int*t)
{if(*s<*t)
s=t;
returns;
}
main()
{inti=3,j=5,*p=&I,*q=&j,*r;
r=f(p,q);
printf(“&d,&d,&d,&d,&d,\n”,i,j,*p,*q,*r);
}
程序运行结果是B
A)3,5,5,5,5,
B)3,5,3,5,5
C)5,5,5,5,5
D)5,3,3,3,5
56)若要使用c数学库整的sin函数,需要在源程序头部加上
#include
关于引用数学库,以下叙述正确的是C
A)实际上,不用引用math.h文件也能正确调用sin函数
B)将数学库整sin函数的源程序插入到引用楚,一遍进行编译连接
C)通过引用math。
和文件,说明shin函数的参数个数和类型,以及函数返回值类型
D)将数学库中的sin函数连接到编译生成的可执行性
文件中,一遍能正确运行
57)以下叙述错误的是B
A)模块化的程序设计是采用自顶向下,逐步细化的原则
B)程序的每个模块都可以通过三种比本的结构实现
C)同一程序各模块可由一组人员同时进行编写调试,可以提高编写程序的效率
D)在进行模块程序设计的时候应首先完成每个模块的编写调试,再集中考虑主流程中算法
58)有以下程序
#include
#defineN4
voidfun(inta[][N])
{intb[N][N],i,j;
for(i=0;1for(j+0;jb[i][j]=a[N-1-j][i]
for(i=0;ifor(j=0;ja[i][j]=b[i][j];
}
main()
{intx[N][N]={{1,2,3,4},
{5,6,7,7},
{9,10,11,12},
{13,14,15,16}},i;
fun(x);
for(i=0;iprintf(“&d,”,x[i][i]);
printf(“\n”);
}
程序的运行结果是B
A)4,7,10,13,
B)13,10,7,4,
C)1,5,9,13,
D)1,6,11,16
59)以下关于地址和指针的叙述中正确的是B
A)可以取常量的地址赋值给同类型的指针变量
B)可以取变量的地址赋值给同类型的指针变量
C)所有指针变量如果未赋初值,则自动赋空值NULL
D)可以取一个指针变量的地址赋值给本指针变量,这样就使得指针变量指向自身
60)下列语句组中,正确的是C
A)shar*s;s={“olympic”};
B)shar*s[7]s={“olympic”};
C)shar*s;s=“olympic”;
D)shar*s[7