C语言模拟试题.docx
- 文档编号:6593950
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:14
- 大小:18.85KB
C语言模拟试题.docx
《C语言模拟试题.docx》由会员分享,可在线阅读,更多相关《C语言模拟试题.docx(14页珍藏版)》请在冰豆网上搜索。
C语言模拟试题
《C语言程序设计教程实验与练习》(第二版)模拟试题II及答案
一、单项选择题(每题2分,30道题,共60分)
1.下面的程序将输出:
main()
{
floatf;
intx=1,y=;
f=x/y;
printf("f=%,y=%#X",f,y);
}
=,y=2=,y=0X2=,y=0X2=,y=2
2.下面的程序将输出:
#include""
main()
{
intlen;
charstr[]="a\b\04235\0";
len=strlen(str);
printf("%d",len);
}
A.10B.5C.6D.7
3.下面的程序将输出:
main()
{
inta=0x31;
char*str[]={"thisisone.","thisistwo."};
charch;
ch=++a-’0’;
switch(ch)
{
case1:
printf("%s",str[0]);
case2:
printf("%s",str[1]);
default:
printf("noway!
");
}
}
isone.istwo.way!
isway!
4.下面的程序将输出:
main()
{
inta[5]={1,2,3};
intk,j;
for(k=1;k<4;k++)
a[k]++;
for(j=0;j<5;j++)
printf("%d",a[j]);
}
3410341034003400
5.已知有下面两个变量,将数组a的第2个单元赋值为1的C语句是:
inta[10];
int*p;
p=a;
[2]=1;[1]=1;C.*(p++)=1;D.*(++a)=1;
6.下面程序将输出:
voidadd(inta)
{
a++;
return;
}
main()
{
intk;
k=;
add(k);
printf("%d",k);
}
A.B.C.3D.4
7.下列循环结构中,不是无限循环的是:
A.for(i=1,s=0;;i++)B.i=10;
s=s+i;while
(1)
{i=i%10+1;
if(i>10)break;}
C.inti=0;D.i=100;
do{++i;}while(i>=0);while(++i%2)i++;
8.若已知inta[3][4],*p;p=(int*)a;那么对数组a的第2行第2列的正确引用是:
[2][2][5][5][1][1]
9.已知:
int(*p)[20];且p的值是0X5000,请问表达式p+2的值是多少?
A.0X5050B.0X5002C.0X5004D.0X5040
10.若有说明inta[2][2];那么,下面正确的C赋值语句是:
=2;[1]=2;[1]={1,2};[0][1]=a[1][0];
11.设x为int型变量,则执行以下语句后,x的值为
x=10;x+=x-=x-x;
A.10B.20C.40D.30
12.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!
y)的值是:
A.0B.语法错C.1D."假"
13.下面能正确进行字符串赋值操作的语句是:
A.chars[5]={"ABCDE"};B.chars[]={'A','B','C','D','E'};
C.char*s;s="ABCDEF";D.char*s;scanf("%s",s);
14.已知:
inta[3][4],*p=&a[0][0];p+=6;那么*p和_____的值相同.
A.(a+6)B.*(&a[0]+6)C.a[2][2]D.*(&a[0][0]+6)
15.设有以下说明和定义:
typedefunion{longi;intk[4];charc;}DATE;
structdate{intcat;DATEcow;doubledog;}too;
DATEmax;
则下列语句的执行结果是
printf("%d",sizeof(structdate)+sizeof(max));
A.26B.30C.18D.8
16.设有如下定义:
int*(*ptr)();
则以下叙述中正确的是
A.ptr是指向一维组数的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是指向函数的指针,该函数的返回值是指向int型数据的指针
17.若二维数组a有m列,则在a[i][j]之前的元素个数为______
A.j*m+iB.i*m+jC.i*m+j-1D.i*m+j+1
18.以下程序运行后,输出结果是
A.13B.51C.11D.53
intd=1;
fun(intp)
{intd=5;
p=d;
printf("%d",p);
}
main()
{inta=3;
fun(a);
d=a;
printf("%d\n",d);
}
19.以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为
A.4B.7C.6D.5
#include<>
#include<>
func(charstr[])
{intnum=0;
while(*(str+num)!
='\0')num++;
return(num);
}
main()
{charstr[10],*p=str;
gets(p);printf("%d\n",func(p));
}
20.执行以下程序段后,m的值为
inta[2][3]={{1,2,3},{4,5,6}};
intm,*p;
p=&a[0][0];
m=(*p)*(*(p+2))*(*(p+4));
A.15B.14C.13D.12
21.已知定义了两个结构体变量,下面是正确的语句是:
struct{intx;charname[10];floatmark;}S1,S2;
A.S1={5,”yang”,};
B.S1=S2;
C.=;=;=;
D.strcpy(S1,S2);
22.下面这段程序运行的结果是:
inta=0x4145;
char*p;
p=(char*)&a;
*p+=1;
printf(“%X”,*p);
A.46B.42
23.下面这段程序运行的结果是:
charstr[]=”%#X”;
inta=50;
printf(str,a++);
D.有语法错
24.下面哪个语句是函数的原型声明
A.int(*f)(inta,intb);B.intf(inta,5);
C.intf(inta,intb);D.intf(inta=5,intb=6);
25.已知inta=0XF11F,b;执行完下面的操作后,a的值是多少?
b=(a&0xFF00)>>4;
A.0X0FF1B.0XF11FD.0XFFF1
26.有以下程序:
inta=2;
intf(int*a)
{return(*a)++;}
main()
{ints=0;
{inta=5;
s+=f(&a);
}
s+=f(&a);
printf("%d\n",s);
}
执行后输出结果是。
B.9
27.设有以下语句:
typedefstructS
{intg;charh;}T;
则下面叙述中正确的是。
A.可用S定义结构体变量B.可以用T定义结构体变量
是struct类型的变量 是structS类型的变量
28.有以下程序:
main()
{unsignedchara,b;
a=4|3;
b=4&3;
printf("%d%d\n",a,b);
}
执行后输出结果是。
A.70710
29.有以下程序
voidsort(inta[],intn)
{inti,j,t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 试题