c语言模拟试卷及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言模拟试卷及答案
模拟试题
模拟试卷一
一、选择题
1.逻辑运算符两侧运算对象的数据____
A.只能是0或1 B.只能是0或非0正数
C.只能是整型或字符型数据 D.可以是任何类型的数据
2.下面程序段的输出结果是____
int a=023;
printf("%d\n",--a);
A.23 B.17 C.18 D.24
3.若有定义:int a[3][4]; 下面不能表示数组a[1][1]的是____。
A. *(a[1]+1) B. *(&a[1][1]) C.(*(a+1))[1] D. *(a+5)
4.设有语句:char str1[]="string",str2[8],*str3,*str4="string";则______不是对库函数strcpy的正确调用。
A. strcpy(str1,"HELLO1"); B. strcpy(str2,"HELLO2");
C. strcpy(str3,"HELLO3"); D. strcpy(str4,"HELLO4");
5.设有定义: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a,*p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是______。
A. *((*prt+1)[2]) B. *(*(p+5)) C. (*prt+1)+2 D.*(*(a+1)+2)
6.有以下程序
struct abc
{ int a, b, c; };
main()
{ struct abc s[2]={{1,2,3},{4,5,6}}; int t;
t=s[0].a+s[1].b;
printf("%d\n",t);
}
程序运行后输出结果是____。
A.5 B.6 C.7 D.8
7.有以下程序:
#include
union pw
{ int i; char ch[2]; } a;
main()
{ a.ch[0]=13; a.ch[1]=0; printf("%d\n",a.i); }
程序的输出结果是____。
A.13 B.14 C.208 D.209
8.已知字符0的ASCII码为十六进制的30,若有以下程序
main()
{ union { unsigned char c; unsigned int i[4]; } z;
z.i[0]=0x38;
z.i[1]=0x36;
printf("%c\n",z.c);}
输出结果为____。
A.6 B.8 C.0 D.3
9.若有定义char a=1,b=2,c=3;,则表达式 a | b & ~c 的值为____。
A.0 B.1 C.2 D.3
10.以下程序的输出结果是____。
main()
{ char x=020;
printf("%o\n",x<<2);
}
A.100 B.80 C.64 D.32
11.下列关于C语言数据文件的叙述中正确的是____。
A.文件由ASCII码字符序列组成,C语言只能读写文本文件
B.文件由二进制数据序列组成,C语言只能读写二进制文件
C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
12.若要打开D盘上test子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是____。
A. fopen("D:\\test\\abc.txt","r") B. fopen("D:\\test\\abc.txt","r+")
C. fopen("D:\\test\\abc.txt","rb") D. fopen("D:\\test\\abc.txt","w")
13.若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是____。
A. EOF B. 1 C.非零值 D. NULL
14.用fopen函数打开文件时,若文件使用方式参数为“r+”,则该文件____。
A.只能读,不能写 B.可以读、写,但文件必须存在
C.只能写,不能读 D.可以读、写,若文件不存在则创建新文件
15.在打开的文件中,要获得文件位置指针的当前位置,应调用的库函数是____。
A. fseek B. fread C.ftell D.rewind
二、填空题
1.C源程序的基本单位是____。
2.一个C语句中至少应包含一个____。
3.在C语言中,输入操作可以由库函数____完成,输出操作可以由库函数___完成。
4.若x是int型变量,且x=6,则表达式x%2+(x+1)%2的值为____。
5.若a、b、c均是int型变量,则执行表达式c=(a=5)-(b=2)+a后,c的值为____。
6.若有定义:int y=7; float x=2.5,z=4.7;,则表达式x+(int)(y/3*(int)(x+z)/2)%4的值为__。
7.以下程序的功能是:输入三个整数n1、n2、n3,按从大到小的顺序进行输出。请填空。
main( )
{ int n1, n2, n3, temp;
scanf("%d%d%d", &n1, &n2, &n3);
if (______)
{ temp=n2; n2=n3; n3=temp; }
if (______)
{ temp=n1; n1=n2; n2=temp; }
printf("%d, %d, %d\n", n1, n2, n3);
}
8.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。请填空。
main( )
{ char ch1;
scanf("%c", ch1);
if (_______)
ch1=ch1+32;
else if (ch1>='a' && ch1<='z')
________;
printf("%c", ch1);
}
9.程序运行后的输出结果是______。
main()
{ int a=1,b=3,c=5;
if (c==a+b) printf("yes\n");
else printf("no\n");
}
10.以下程序运行后的输出结果是______。