c语言考试试题c题库选择题答案0608最新.docx
《c语言考试试题c题库选择题答案0608最新.docx》由会员分享,可在线阅读,更多相关《c语言考试试题c题库选择题答案0608最新.docx(43页珍藏版)》请在冰豆网上搜索。
c语言考试试题c题库选择题答案0608最新
《C语言等级考试》模拟试卷集成
一、选择题
1、关于C语言数据类型的叙述,正确的是(C)。
A)枚举类型不是基本类型B)数组不是构造类型
C)变量必须先定义后使用D)不允许使用空类型
2、下面关于C语言用户标识符的描述,正确的是(D)。
A)不区分大小写B)用户标识符不能描述常量
C)类型名也是用户标识符D)用户标识符可以作为变量名
3、下面叙述正确的是(B)。
A)2/3与2.0/3.0等价B)(int)2.0/3与2/3等价
C)++5与6等价D)’A’与”A”等价
4、已知chara;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)。
A)scanf(“%d”,&a);B)scanf(“%lf”,&a);
C)scanf(“%c”,&a);D)scanf(“%u”,&a);
5、下面叙述中,(A)不是结构化程序设计三种基本结构的共同特点。
A)先判断后执行B)单入口,单出口
C)程序中没有执行不到的语句D)无死循环
6、已知inta=3,b=5;则表达式a&&!
b的值为(C)。
A)3B)2C)0D)1
7、已知chara=’R’;则正确的赋值表达式是(A)。
A)a=(a++)%4B)a+2=3C)a+=256--D)a=’\078’
8、以下的语句中,无内嵌的if语句是(B)。
A)if(x==y)x+=y;
B)if(x>y&&x!
=y);
x+=y;
C)if(x!
=y)
scanf(“%d”,&x);
else
scanf(“%d”,&y);
D)if(x{x++;y++;}
9、设有整型变量x,下述语句(B)不会出现死循环。
A)for(;;x+=1)B)for(;(x=getchar())!
=’\n’;);
C)while
(1){x++;}D)for(x=10;;x--);
10、下列数组声明中,正确的是(A)。
A)inta[5]={0};B)inta[]={012};
C)inta[5]=0;D)inta[];
11、以下数组定义中,正确的是(D)。
A)inta[2][3]={1,2,3,4,5,6,7};B)inta[][]={{1,2,3},{4,5,6},{7,8,9}};
C)inta[2][]={1,2,3,4,5,6};D)inta[][4]={6};
12、设有如下数组定义:
charstr[8]={“FuJian”};
则分配给数组str的存储空间是(C)字节。
A)6B)7C)8D)9
13、以下程序的运行结果是(A)。
intfun(intarray[4][4])
{intj;
for(j=0;j<4;j++)printf(“%2d”,array[2][j]);
printf(“\n”);
}
main()
{inta[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};
fun(a);
}
A)2005B)1004
C)0120D)0450
14、若有以下宏定义,
#defineMOD(x,y)x%y
则执行以下程序段后,z的值是(D)。
intz,a=15,b=100;
z=MOD(b,a);
A)100B)15
C)11D)10
15、对于基类型相同的两个指针变量之间,不能进行的运算是(C)。
A)
C)+D)-
16、若函数fun的函数头为:
intfun(inti,intj)
且函数指针变量p定义如下:
int(*p)(inti,intj);
则要使指针p指向函数fun的赋值语句是(B)。
A)p=*fun();B)p=fun;
C)p=fun(i,j);D)p=&fun;
17、设有以下定义语句:
structstudent
{intnum;
charname[10];
floatscore;
}wang,zhang;
则不正确的叙述是(C)。
A)struct是结构体类型的关键字B)zhang是结构体变量名
C)wang是结构体类型名D)num,name,score都是结构体类型student的成员名
18、若有以下定义:
structlink
{intdata;
structlink*next;
}*head,*p;
并已建立如下图所示的链表结构:
head
指针p指向如下结点:
p
则能够把p所指结点插入到链表中成为链表第2个结点的程序段是(A)。
A)p->next=head->next;head->next=p;
B)head->next=p;p->next=head->next;
C)p.next=head.next;head.next=p;
D)(*head).next=p;(*p).next=(*head).next;
19、设有如下定义:
typedefint*INTEGER;
INTEGERp,*q;
则(C)是正确的叙述。
A)p是int型变量B)q是基类型为int的指针变量
C)p是基类型为int的指针变量D)程序中可用INTEGER代替int类型名
20、以下程序的可执行文件名是file.exe。
main()
intargc;
char*argv[];
{inti;
for(i=2;iprintf(“%s%c”,argv[i],(i’‘:
‘\n’);
}
在DOS命令行输入:
fileMyCLanguageandProgramming<回车>,其输出结果是(A)。
A)CLanguageandProgrammingB)MyCLanguageandProgramming
C)MyCLanguageandProgrammingD)fileMyCLanguageandProgramming
21、在C语言源程序中,以下叙述正确的是(C)。
A)main函数必须位于文件的开头B)每行只能写一条语句
C)程序中的一个语句可以写成多行D)每个语句的最后必须有点号
22、下面关于算术运算符的叙述,错误的是(A)。
A)其运算对象不包含函数
B)%(模运算符)的运算对象只能为整型量
C)算术运算符的结合方向是“自左至右”
D)自加和自减运算符的结合方向是“自右至左”
23、下面叙述中,(A)不是结构化程序设计中的三种基本结构之一。
A)数据结构B)选择结构
C)循环结构D)顺序结构
24、已知doublea=5.2;则正确的赋值表达式是(A)。
A)a+=a-=(a=4)*(a=3)B)a=a*3=2
C)a%3D)a=double(-3)
25、逻辑运算符的优先级依次为(C)。
A)||&&!
B)&&||!
C)!
&&||D)!
||&&
26、对于整型变量x,与while(!
x)等价的是(B)。
A)while(x!
=0)B)while(x==0)
C)while(x!
=1)D)while(~x)
27、下列数组声明中,正确的是(A)。
A)inta[10];B)intn=10,a[n];
C)intN=10;inta[N];D)intn;scanf(“%d”,&n);inta[n];
28、有如下定义:
charstr[6]={‘a’,’b’,’\0’,’d’,’e’,’f’};
则语句:
printf(“%s”,str);
的输出结果是(D)。
A)ab\B)abdef
C)ab\0D)ab
29、执行以下程序段的输出结果是(B)。
inta=10,*p=&a;
printf(“%d”,++*p);
A)10B)11
C)变量a的地址D)变量a的地址+1
30、若有以下程序段,且0≤i<4,0≤j<3,则不能正确访问a数组元素的是(D)。
inti,j,(*p)[3];
inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12};
p=a;
A)*(*(a+i)+j)B)p[i][j]
C)*(p+i)[j]D)p[i]+j
31、若有以下定义:
structlink
{intdata;
structlink*next;
}*head,*p;
并已建立如下图所示的链表结构:
p
head
则能保留链表其它结点,而删除P所指向结点的程序段是(A)。
A)head->next=p->next;free(p)
B)head->next=p;p->next=head->next;free(p);
C)free(p);head->next=p;p->next=head->next;
D)free(p);head->next=p->next;
32、假定已有如下变量说明和枚举定义:
charch;
intj,k;
enumday{sun,mon,tue,wed,thu,fri,sat};
inta[sat]
判断下列语句是否符合语法规则,结果是(C)。
chara;/*语句1*/
j+k=j;/*语句2*/
if(a[mon]>0)j++;/*语句3*/
A)语句2错误,其它正确B)语句1正确,其它错误
C)语句3正确,其它错误D)语句1错误,其它正确
33、以下(D)是正确的常量。
A)E-5B)1E5.1
C)’a12’D)32766L
34、标准函数fgets(s,n,f)的功能是(B)。
A)从文件f中读取长度为n的字符串存入指针s所指的内存
B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存
C)从文件f中读取n个字符串存入指针s所指的内存
D)从文件f中读取长度为n-1的字符串存入指针s所指的内存
35、关于C语言的源程序的叙述中,错误的是(C)。
A)C语言的源程序由函数构成
B)main函数可以书写在自定义函数之后
C)必须包含有输入语句
D)一行可以书写多个语句
36、下面叙述正确的是(A)。
A)强制类型转换运算的优先级高于算术运算
B)若a和b是整型变量,(a+b)++是合法的
C)’A’*’B’是不合法的
D)”A”+”B”是合法的
37、设有以下语句,则(D)是对a数组元素的不正确引用,其中0≤i<10。
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A)a[p-a]B)*(&a[i])
C)p[i]D)*(*(a+i))
38、结构化程序设计不包括(A)。
A)最优化B)自顶而下,逐步细化
C)模块化设计D)结构化编码
39、已知inta=3,b=5;则表达式a==3&&b!
=1的值为(C)。
A)3B)5
C)1D)0
40、已知in