福建省 c语音 选择题.docx
《福建省 c语音 选择题.docx》由会员分享,可在线阅读,更多相关《福建省 c语音 选择题.docx(15页珍藏版)》请在冰豆网上搜索。
福建省c语音选择题
1、main()函数的位置(B)。
A、必须位于程序文件的最前面
B、可位于用户自定义函数之前,也可位于用户自定义函数之后
C、必须位于用户自定义函数的前面
D、必须位于C库函数的后面
2、下列不合法的用户标识符是(A)。
A、?
aB、_countC、_6bD、pro
3、逗号表达式a=12,b=8,a+b的值是(A)。
A、20B、8C、12D、4
4、若已定义:
inti=3,a;语句a=(i--)+(i--);执行后a的值是(B)。
A、5B、6C、7D、4
5、若已定义:
charca;要从键盘输入字符'B'给变量ca,应使用的语句是(A)。
A、ca=getchar();B、getchar(ca);C、putchar(ca);D、scanf("%c",ca);
6、若已定义:
charca;判断变量ca值为大写字母的逻辑表达式是(C)。
A、'A'<=ca<='z'B、(ca>=A)&&(ca<=Z)
C、(ca>='A')&&(ca<='z')D、('A'>=ca)&&('z')<=ca)
7、若已定义:
inta=5;floatx=5.3;则表达式a%3/2+x的值为(A)。
A、6.3B、0C、6D、5.3
8、下列(A)不能构成一条if语句。
A、if(x==0)a=1:
b=2;B、if(x>0);
C、if(x>0)a=1;elsea=2;D、if(x==0);elsea=2;
9、设有下列程序段
inti=6;
while(i<=6)
i++;
下列叙述正确的是(A)。
A、循环体语句执行1次B、循环体语句执行3次
C、循环体语句执行2次D、循环体语句一次也不执行
10、对intx[5]={5,3,1};语句的功能描述正确的是(B)。
A、将3个初值依次赋给x[1]至x[3],且其他元素均为0
B、将3个初值依次赋给x[0]至x[2],且其他元素均为0
C、将3个初值依次赋给x[2]至x[4],且其他元素均为0
D、将3个初值依次赋给x[3]至x[5],且其他元素均为0
11、能正确初始化二维数组arr的是(A)。
A、intarr[2][3]={{1,2},{3,4,5}};B、intarr[2][]={1,2,3,4,5};
C、intarr[][]={{1,2},{3,4,5}};D、intarr[2][3]={{1,2},{3,4},{5}};
12、若已定义chars3[20],s1[10]="Howare",s2[10]="you";执行语句strcpy(s3,strcat(s1,s2));s3的值是(C)。
A、HowareB、s1s2C、HowareyouD、youHoware
13、以下程序段中函数调用语句fun((a,b),m);的实参值是(B)。
inta=1,b=2,m=3;
fun((a,b),m);
A、3,3B、2,3C、1,3D、(1,2),3
14、下列程序中定义的一维数组a的长度是(B)。
#defineM3+1
voidmain()
{inta[2*M];
……
}
A、8B、7C、6D、10
15、若已定义:
inta[5]={1,2,3,4,5};执行*p=a;后能表示a[1]地址的是(D)。
A、a[1]B、p[1]C、a++D、p++
16、下列程序的运行结果是(C)。
voidmain()
{inta=1,b=2;
int*pa=&a,*pb=&b;
*pa=*pb;
*pb=*pa;
printf("%d,%d\n",a,b);
}
A、1,1B、2,1C、2,2D、1,2
17、若有以下对结构类型和结构变量的定义:
structdate
{
intyear;
intmonth;
intday;
};
structstudent
{
charname[20];
structdatebirthday;
}stu;
下列能对结构变量stu的birthday成员进行正确赋值的是(D)。
A、date.day=20B、stu.day=20C、birthday.day=20D、stu.birthday.day=20
18、若已定义:
inta[5]={1,2,3,4,5};int*p=&a[2];则下列值为3的是(C)。
A、p-aB、p-a[0]C、*pD、a[3]
19、若已定义:
typedefenumweek{mon,tue,wed,thu,fri,sat,sun}week_day;则下列语句错误的是(B)。
A、enumweek_dayday;B、weekday;
C、enumweekday;D、week_dayday;
20、以下程序运行后,文件file1.txt的内容是(C)。
#include
intmain()
{
FILE*fp;
fp=fopen("file1.txt","w+");
if(fp==NULL)
return0;
else
{
fputs("one",fp);
rewind(fp);
fputs("two",fp);
fclose(fp);
return1;
}
}
A、0B、oneC、twoD、onetwo
21、通常将程序设计语言划分为(A)。
A、机器语言、汇编语言和高级语言B、汇编语言、高级语言和低级语言
C、高级语言、自然语言和伪代码D、自然语言、流程图和伪代码
22、下列合法的长整型常量是(C)。
A、328LongB、32768+LongC、32768LD、Long32768
23、若已定义:
charc;则(D)是正确的赋值表达式。
A、c="101"+10.78B、c="e"+10.78C、c='101'D、c=101
24、若已定义:
inta=2;语句a*=a-=a+=3;执行后,a的值是(A)。
A、0B、9C、3D、5
25、要使下列程序的运行结果为123,123,12,则(C)是正确的数据输入方式。
voidmain()
{inta,b,c;
scanf("%d-%d-%d",&a,&b,&c);
printf("%d,%d,%d\n",a,b,c);
}
A、123,12312B、123,123,12C、123-123-12D、12312312
26、若已定义:
intx=2,y=4;则表达式(double)x/(y+1)的值是(C)。
A、0.5B、1C、0.4D、0
27、下列程序段运行后count的值为(C)。
inti=8,count=0;
while(i>=2)
{++count;
i-=2;
}
A、10B、8C、4D、6
28、C语言中,二维数组元素的存放顺序是(D)。
A、由用户自己定义B、按列优先
C、既可以按行优先,也可以按列优先D、按行优先
29、若已定义chars1[20],s2[30];能正确从键盘读入字符串的是(D)。
A、gets(s1[20],s2[20]);B、scanf("%c%c",s1[20],s2[20]);
C、getch(s1,s2);D、scanf("%s%s",s1,s2);
30、下列叙述正确的是(D)。
A、函数的形参和对应的实参个数应相等,类型可以不兼容
B、形参是变量名,实参也只能是变量名,不可以是表达式
C、函数至少要有一个返回值
D、函数的形参在被调用前是没有确定值的
31、下列叙述错误的是(B)。
A、预处理命令“#defineN3”后不能加“;”
B、宏定义也是C语言的语句,可出现在源程序中任意位置
C、C源程序加入一些预处理命令是为了改进程序设计环境,提高编程效率
D、预处理命令行都必须以#号开始
32、以下程序的运行结果是(C)。
voidmain()
{inta=3,b=4,c;
int*p1,*p2;
p1=&a;
p2=&b;
p2=p1;
c=*p1+2*(*p2);
printf("%d\n",c);
}
A、15B、11C、9D、7
33、错误定义与初始化结构类型变量stu1的是(A)。
A、structstudentB、structstudentC、structstudentD、struct
{intnum;{intnum;{intnum;{intnum;
floatscore;floatscore;floatscore;floatscore;
};}stu1={1001,85.0};};}stu1={1001,85.0};
studentstu1={1001,85.0};structstudentstu1={1001,85.0};
34、以下程序段的输出结果是(D)。
inta[2][2]={1,2,3,4},(*p)[2];
p=a;
printf("%d\n",(*p)[2]);
A、4B、2C、1D、3
35、下列语句正确的是(A)。
A、typedefintINTEGER;B、typedefINTEGERint;
C、typedefINTEGER=intD、typedefint=INTEGER
36、若已定义:
FILE*fp;则不能向fp所指向的文件写入字符串“hello”的语句是(B)。
A、fwrite("HELLO",1,5,fp);B、fwrite("hello",5,fp);
C、fputs("hello",fp);D、fprintf(fp,"%s","hello");
37、下列叙述正确的是(B)。
A、分号是C语句之间的分隔符,并不表示一条语句的结束
B、注释部分在C源程序可独占一行,也可跟在一行语句的后面
C、花括号“{}”只能用作复合语句的定界符
D、函数是C源程序的基本单位,所有函数名都可以由用户命名
38、下列不合法的字符常量是(C)。
A、’\t’B、’b’C、"b"D、’\n’
39、
若已定义:
floatx,y,z;则表达式(D)与右侧所示代数式计算结果不相符。
A、(x+y)/(1+z)/3B、(x+y)/3/(1+z)
C、(x+y)/(3*(1+z))D、1/3*(x+y)/(1+z)
40、若已定义:
inta=4,b=3,c=2;下列表达式值为0的是(D)。
A、!
(c/a)B、b+c41、若已定义:
inta=7;floatx=2.5,y=5;则表达式x+(a/3*(int)(x+y))%4的值是(A)。
A、4.5B、5.5C、3.5D、2.5
42、若已定义intk,a,b,c;则语句(B)与k=a>b?
(b>c?
1:
0):
0语句的功能等价。
A、if(a>b)B、if(a>b&&b>c)C、if(a>b||b>c)D、if(a<=b)
k=1;k=1;k=1;k=0;
elseif(b>c)elseelseif(b<=c)
k=1;k=0;k=1;
else
k=0;
43、以下程序的运行结果是(D)。
voidmain()
{inti;
for(i=7;i>3;i--,i--)
printf("A");
}
A、AAAAB、AC、AAAD、AA
44、下列程序段的运行结果是(C)。
inta[10]={0,1,2,3,4,5,6,7,8,9},i=0,t;
while(i<=4)
{t=a[i];
a[i]=a[9-i];
a[9-i]=t;
i++;
}
for(i=0;i<10;i++)
printf("%d",a[i]);
A、0123456789B、1357924680C、9876543210D、2468013579
45、若已定义intarr[][3]={1,2,3,4,5,6};则数组a第一维长度是(C)。
A、6B、3C、2D、1
46、以下程序的运行结果是(D)。
intfun(intk)
{switch(k)
{case2:
k++;
case3:
case4:
k++;
default:
k++;
}
returnk;
}
voidmain()
{printf("%d\n",fun
(2));
}
A、4B、2C、3D、5
47、若已定义:
structstudent
{
intnum;
charname[20];
}stu[2]={{20,"Yanwei"},{19,"Matao"}};
structstudent*p=stu;
无法正确引用"Matao"的是(A)。
A、stu.nameB、(p+1)->nameC、stu[1].nameD、(*(p+1)).name
48、下列对枚举类型的定义正确的是(C)。
A、enuma{"a","b","c"};B、enuma={a,b,c};
C、enuma{a=-2,b=1,c=3};D、enuma={'a','b','c'};
49、若已定义:
charch;FILE*fp;,要从fp所指向文件中读入一个字符,正确的语句是(B)。
A、ch=getchar();B、ch=fgetc(fp);C、ch=fgets(fp);D、ch=getc();
50、C源程序由函数构成,函数则由函数的首体和(C)两部分组成。
A、结构体B、联合体C、函数体D、复合语句
51、若已定义:
inta=2;doublex=5.5;下列不正确的表达式是(B)。
A、(int)x/aB、(int)(x%a)C、(int)(x/a)D、(int)x%a
52、若已定义:
inta=5,b=7,x;语句x=(++a)+(++b);执行后x,a的值分别是(B)。
A、14,5B、14,6C、12,5D、12,6
53、若已定义:
intx,y;则(A)表达式无法正确表示数学关系式|x-y|>3。
A、(x-y)<-3&&(x-y)>3B、(x-y)*(x-y)>9
C、(x-y)>3||(x-y)<-3D、abs(x-y)>3
54、若已定义:
inta=1,b=2,c=3;则表达式!
(a+b)+c-1的值是(D)。
A、5B、6C、3D、2
55、以下程序的运行结果是(D)。
voidmain()
{intk=1;
switch(++k)
{default
printf("%d",k);
case1:
printf("%d",k);
break;
case2:
printf("%d",2*k);
case3:
printf("%d",3*k);
break;
}
}
A、4B、11C、1D、46
56、以下程序的运行结果是(C)。
#defineM3
#defineNM+5
voidmain()
{printf("%d\n",N*2);
}
A、6B、11C、13D、16
57、以下程序的运行结果是(D)。
voidfn(intx,inty,int*p)
{*p=x+y;
}
voidmain()
{inta,b;
fn(1,2,&a):
fn(3,a,&b):
printf("a=%d,b=%d\n",a,b);
}
A、a=6,b=6B、a=3,b=3C、a=1,b=3D、a=3,b=6
58、若已定义:
structstudent
{intnum;
char*name;
floatscore;
}stu,*p=&stu;
不合法引用结构变量stu中成员的是(D)。
A、p->numB、stu.nameC、stu.numD、p.score
59、下列叙述正确的是(C)。
A、注释部分只能单独占用一行,不能跟在一行语句的后面
B、C源程序中每一行就是一条语句
C、函数体的定界符只能用一对花括号“{}”
D、C源程序都是从main()函数开始执行,所以main()函数必须位于程序文件最前面
60、下列不属于C语言数据类型的是(D)。
A、整型B、枚举类型C、单精度型D、长复数类型
61、以下程序段运行后a的值为(C)。
inti=1,a=0;
while(i++<=6)
{a+=1;
if(i%2!
=0)
break;
a+=2;
}
A、1B、3C、4D、6
62、下列程序段的运行结果是(B)。
inta[5]={2,4,3,5,6},i,s=0;
for(i=1;i<4;i++)
s+=a[i-1];
printf("%d\n",s);
A、20B、9C、12D、14
63、若已定义:
inta[][4]={{0},{1,2},{3,4,5},{6,7,8,9}};则a[2][2]的值为(A)。
A、5B、4C、2D、9
64、下列程序的运行结果是(D)。
#defineK3
voidmain()
{inta=2,b=4;
printf("%d\n",a*(K+b));
}
A、10B、6C、11D、14
65、若已定义:
inta=5,*p1=&a;floatb=5.1,*p2=&b;下列正确的赋值语句是(B)。
A、*p2=*a;B、b=*p1+*p2;C、p1=*(a+1);D、p2=b
66、若已定义:
structstudent
{intnum;
charname[20];
}stu1,stu2;
下列错误的语句是(D)。
A、stu1.num=stu2.num;B、stu1=stu2;
C、strcpy(stu1.name,stu2.name);D、stu1.name=stu2.name;
67、若已定义:
structstudent
{
intnum;
floatscore;
}stu[2]={{101,85.5},{102,90.0}},*p=stu;
下列对结构体数组引用正确的是(D)。
A、p[1]->numB、stu.numC、stu[2].numD、p->num
68、若已定义:
FILE*fp;要打开d盘temp文件夹下的file1.txt文件,打开方式是既能读也能写,正确的语句是(C)。
A、fp=fopen("d:
\\temp\\file1.txt","rw");B、fp=fopen("d:
/emp/file1.txt","r+");
C、fp=fopen("d:
\temp\file1.txt","w+");D、fp=fopen("d:
\temp\file1.txt","wr");
69、下列合法的常量是(C)。
A、'3a'B、E13C、'\n'D、'a'+3
70、若已定义:
intx=3,y=2;语句(C)可以实现输出结果为:
3*2=6。
A、printf("x*y=%d",x*y);B、printf("%d*%d=x*y",x,y);
C、printf("%d*%d=%d",x,y,x*y);D、printf("x,y=x*y");
71、下列四个运算符,按优先级别由高到低排列的是(D)。
A、!
、=、*、+B、!
、*、=、+C、*、!
、+、=D、!
、*、+、=
72、以下程序的运行结果是(A)。
voidmain()
{inta[3][3]={0},i,j;
for(i=0;i<3;i++)
a[i][0]=i+1;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%d",a[i][j]);
printf("\n");
}
}
A、100B、100C、001D、123
200020020000
300003300000
73、若已定义:
inta[6]={1,2,3,4,5,6},*p;下列赋值语句不合理的是(A)。
A、p=a[0]B、p=&a[0]+1;C、p=a;D、p=&a[0];
74、若已定义:
intx=2,y=3;下列表达式值为1的是(D)。
A、x==(y!
=x)B、(!
x)&&yC、x&&(!
y)D、x||!
y
75、若已定义:
inta=1,b=2,x=3,y=4;则表达式a>b?
a:
xx:
y的值是(A)。
A、3B、1C、2D、4
76、以下程序的运行结果是(D)。
voidmain()
{inta[5]={1},i;
for(i=0;i<4;i++)
a[i+1]=a[i]+2*(i+1);
for(i=0;i<4;i++)
printf("%d",a[i]);
}
A、1261523B、13579
C、12345D、1371321
77、下列正确描述字符数组的是(C)。
A、字符数组只能存放字符串,不能存放单个字符
B、只能利用赋值语句实现字符数组的整体赋值
C、C语言没有字符串类型变量,可用字符数组实现字符串操作
D、字符串中可以含有'\0'字符
78、下列程序的运行结果是(C)。
uniondata
{
charc;
intk;
}data1;