2012ITAT模拟题答案修订版全国信息应用技术大赛C语言(4)

2019-06-11 00:11

C:p->age D:(*p).age

52. 以下程序的输出是( 5 )。 #include union myun {struct {int x,y,z;}u; int k; }a; void main()

{a.u.x=4;a.u.y=5;a.u.z=6; a.k=0;

printf(\} A:4 B:5 C:6 D:0

53. 若要用fopen函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式字符串应是( C )。 A:\ B:\ C:\ D:\

54. 若执行fopen函数时发生错误,则函数的返回值是 ( B )。C A:地址值 B:0 C:1 D:EOF

55. 要打开文件c:\%user\\text.txt用于追加数据,正确的语句是( D )。

A:fp=fopen(\ B:fp=fopen(\ C:fp=fopen(\ D:fp=fopen(\

56. 在执行fopen函数时,ferror函数的初值是 ( C )。D A:TRUE B:-1 C:1 D:0

57. #include main() {

char * s1=\ FILE *pf=fopen(\ fwrite(s2,7,1,pf);读入1个7个字节的数据 fseek(pf,-1,SEEK_CUR);/把g去掉了 fwrite(s1,5,1,pf); fclose(pf); }

以上程序执行后,文件abc.dat中的内容为 ( C )。 A:Hellong B:Beijing Hello C:BeijinHello D:Hello

58. 若fp为文件指针,且文件已正确打开,i为整型数据,以下语句的输出结果是( )。 fseek(fp,0,SEEK_END); i=ftell(fp); printf(\ A:fp所指的文件记录长度

B:fp所指的文件长度,以字节为单位

C:fp所指的文件长度,以比特为单位 D:fp所指的文件当前位置,以字节为单位

59. 函数调用语句:fseek(fp,-20L,2);的含义是 ( C )。 A:将文件位置指针移到距离文件头20个字节处 B:将文件位置指针从当前位置向后移动20个字节 C:将文件位置指针从文件末尾处后退20个字节 D:将文件位置指针移到离当前位置20个字节处

60. 若将文件指针的读写位置指针移动到距离文件头200个字节的位置,对应正确的操作是 ( A )。 A:fseek ( fp, 200, SEEK_SET ) B:fseek ( fp, 200, SEEK_CUR ) C:fseek ( fp, 200, SEEK_END ) D:ftell ( 200 )

多选题(共20题,每题2分,共40分)

1. 关于以下运算,说法正确的有 ( BD )。

A:设有宏定义\则表达式F(2+3)的值是10 B:设int x=4;则执行语句x += x *= x + 1;后,x的值为40 C:设int a, b = 8;执行a = b<<2 + 1;后a的值是33优先级 D:设int a[3][4], *p = a[1]; 该指针变量p指向的元素是a[1][0] 2. 有以下定义:char a[10],*b=a;

则能给a数组输入字符串的语句有 ( ACD )。 A:gets(a); B:gets(a[0]); C:gets(&a[0]); D:gets(b);

3. 要求函数的功能是在一维数组a中查找x值。若找到,则返回所在的下标值;否则,返回0。设数据放在数组元素的a[1]到a[n]中。在以下给出的函数中,不能正确执行此功能的函数有 ( CD )。 A:funa(int *a, int n, int x) {

*a = x;

while(a[n] != x) n--; return n; }

B:funb(int *a, int n, int x) { int k;

for(k = 1; k <= n; k++) if(a[k] == x) return k; return 0; }

C:func(int a[], int n, int x) {

int *k;

a[0] = x; k = a+n; while(*k != x) k--; return k - n; }

D:fund(int a[], int n, int x) {

int k = 0; do {k++;

}while((k < n+1)&&(a[k]!=x));??????????????/ if((k < n+1)&&a[k] == x)) return k; else return 0; }

4. 关于下列程序的输入与输出,正确的说法有( C )。D #include void main() {

int m,n;

printf(\ scanf(\ while(m!=n) {while(m>n)m-=n; while(n>m)n-=m; }

printf(\}

A:输入m>n时,程序将输出1 B:输入m

C:输入m,n满足m%n=0,且m>n时,程序输出值为n的值 D:输入m或n为0时,程序将陷入死循环 5. 已知有如下程序: void main() {

int a[5]={1,2,3,4,5},*b; b=(int*)malloc(sizeof(int)); ____;

printf(\}

要使程序输出为a[2]的值,则函数fun的定义和横线处对应的fun调用的正确有 ( D )。 A:void fun(int*s,int*d) {*d=*(s+2);} 调用: fun(a,&b)

B:void fun(int*s,int&d) {d=*(s+2);} 调用: fun(a,b)

C:void fun(int*s,int &d) {d=*(s+2);}


2012ITAT模拟题答案修订版全国信息应用技术大赛C语言(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:塑钢门窗金属门窗项目可行性研究报告(发改立项备案+2013年最新

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: