[计算机类试卷]国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷1及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷1及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷1及答案与解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(结构体、共用体、位运算及文件操作)模拟试卷 1及答案与解析 一、选择题 1 若定义: int array9, *p=array;并在以后的语句中未改变 p的值,不能表示array1地址的是 ( )。 ( A) p+1 ( B) array+ ( C) array+1 ( D) +p 2 在说明语句 “int*f(); ”中,标识符 f代表的是 ( )。 ( A)一个用于指向函数的指针变量 ( B)一个返回值为指针类型的函数名 ( C)一个用于指向一维数组的行指针 ( D)一个用于 指向整型数据的指针变量 3 不合法的 main(、 )函数命令行参数表示形式是 ( )。 (
2、 A) main(int a, char*c) ( B) main(int argv, char*argc) ( C) main(int arc, char*arv) ( D) main(int argc,char*argv) 4 有函数如下: char fun(char*p) return p; 该函数的返回值是 ( )。 ( A)无确切的值 ( B)形参 p自身的地址值 ( C)形参 p中存放的地址值 ( D)一个临时存储单元的地址 5 下列程序的输出结果是 ( )。 struct U int x, y, z; ; main() struct U s2=1, 2, 3, 4, 5, 6);
3、 int t; t=s0 x+s1 y; printf(“ d n“, t); ( A) 5 ( B) 6 ( C) 7 ( D) 8 6 变量 m所占内存字节数是 ( )。 Union U char s4; int i; long 1; ; struct M int c; union U u; m; ( A) 4 ( B) 5 ( C) 6 ( D) 8 7 根据下面的定义,能打印出字母 P的语句是 ( )。 struct student char name10; int age; ; stmct student stu10= “John“, 11, “Paul“, 12, “Mary“,
4、11, “adam“, 12 ; ( A) printf(“ c“, stu3 name); ( B) printf(“ c“, stu3 name1); ( C) printf(“ c“, stu2 name1); ( D) printf(“ c“, stu1 name0); 8 若有如下说明和定义: typedef a int x; char y; float z; union Uchar ul5l; int u22; u; mya; 则 sizeof(struct a)的值是 ( )。 ( A) 12 ( B) 16 ( C) 14 ( D) 9 9 以下程序: #include std
5、io h struct student int num; charname10; int age; ; void fun(stmct student*p) printf(“ s n“, (*p) name); main() struct student students3=9801, “Zhang“, 20, 9802, “Wang“, 19,9803, “Zhao“,18; fun(students+2); 输出结果是 ( )。 ( A) Zhang ( B) Zhao ( C) Wang ( D) 18 10 设有以下定义和语句,输出的结果是 (用 small模式编译,指针变量占 2个字节
6、 )( )。 struct U long*cat; stmct U*next; double dog; u; printf(“ d“, sizeof(u); ( A) 20 ( B) 16 ( C) 14 ( D) 12 11 下面的程序的输出为 ( )。 struct A int m; int*n: *p; int data4=10, 20, 30, 40); struct A aa4=50, &data0, 60, &data1, 70, &data2, 80, data3; main() p=aa; printf(“ d n“, +p- m); printf(“ d n“, (+p)-
7、m); printf(“ d n“, +(*p- n); ( A) 10 20 20 ( B) 50 60 21 ( C) 51 61 20 ( D) 60 70 31 12 若已建立如下图所示的单链表结构:且该链表结构中,指针 p和q分别指向图中所示节点,则不能将 q所指的节点插入到链表末尾来构成单向链表的语句是 ( )。 ( A) p=p- next; q- next=p; p- next=q; ( B) p=p- next; q- next=p- next; p- next=q; ( C) q- next=NULL; p=p- next; p- next=q; ( D) p=(*p) n
8、ext; (*q) next=(*p) next; (*p) next=q; 13 若有以下定义: struct List int data; struct List*next; a,b, c, *p, *q; 且变量 a和 b之间已有如下图所示的链表结构:指针 P指向变量 a, q指向变量 c,则能够 c插入 a和 b之间形成新的链表的语句组是 ( )。 ( A) a next=c; c next=b ( B) p next=q; q next=p next; ( C) p- next=&c; q- next=p- next; ( D) (*p) next=q; (*q) next=&b;
9、14 有以下定义: union A char st4; int i; long 1; ; struct B int c; union A b; b; 变量 b所占内存字节数 是 ( )。 ( A) 4 ( B) 5 ( C) 6 ( D) 8 15 以下枚举类型名的定义中正确的是 ( )。 ( A) enum e=a, b, c); ( B) enum ea=9, b=-1, c); ( C) enum e=“a“, “b“, “c“); ( D) enum e“a“, “b“, “c“); 16 若要说明一个类型名 Type,使得定义 Type p;等价于 char*p;以下选项中正确的是
10、( )。 ( A) typedef Type char *P ( B) typedef *char Type; ( C) typedef Type *char; ( D) typedef char *Type; 17 设有以下语句: typedefstruct S int g, char h; )ST; 则下面叙述中正确的是 ( )。 ( A)可用 S定义结构变量 ( B)可用 ST定义结构变量 ( C) S是 struct类型的变量 ( D) ST是 struct类型的变量 18 若 x=2, y=3,则 x&y的结果是 ( )。 ( A) 0 ( B) 2 ( C) 3 ( D) 5 19
11、 设 x和 y为 int型变量,且 x的值为 15, xy的值为 240,则表达式 (x&y)&yy的结果为 ( ) ( A) 0 ( B) FALSE ( C) TRUE ( D) 1 20 在位运算中,操作数每右移两位,其结果相当于 ( )。 ( A)操作数乘以 2 ( B)操作数除以 2 ( C)操作数除以 4 ( D)操作数乘以 4 21 设 x=061, y=016,则 z=x y的值是 ( )。 ( A) 00001111 ( B) 11111111 ( C) 00111111 ( D) 11000000 22 下 述程序的输出结果是 ( )。 #include stdio h v
12、oid main() char a=1, b=2; char c=ab 2; printf(“ n d“, c); ) ( A) 9 ( B) 10 ( C) 12 ( D) 2 23 要找一个已存在的非空文本文件 “file“用于修改,正确的语句是 ( )。 ( A) fp=fopen(“file“, “r“); ( B) fp=fopen(“file“, “rb+“); ( C) fp=fopen(“file“, “w“); ( D) fp=fopen(“file“, “r+“); 24 在 C语言中,可以把整数以二进制形式存放到文件中的函数是 ( )。 ( A) fprintf()函数
13、( B) fread()函数 ( C) fwrite()函数 ( D) fputc()函数 25 有如下程序: #include stdio h main() FILE*fp1; fp1=fopen(“f1 txt“, “w“); fprintf(fp1, “abc“); fclose(fp1); 若文本文件 f1 txt中原有内容为 good,则运行以上程序后,文件 f1 txt中的内容为 ( )。 ( A) goodabc ( B) abcd ( C) abe ( D) abcgood 26 使用 fgets(str,n, p)函数从文件中读入一个字符串,以下叙述错误的是 ( )。 ( A
14、)字符串读入后会自动加入 0 ( B) fp是指向该文件的文件型指针 ( C) fgets函数将从文件中最多读入 n-1个字符 ( D) fgets函数将从文 件中最多读入 n个字符 27 函数 fseek(fp, -10L, SEEK_END)的含义是 ( )。 ( A)将文件位置指针从当前位置向后移动 lO个字节 ( B)将文件位置指针移到距离文件头 10个字节处 ( C)将文件位置指针从文件末尾处向后退 10个字节 ( D)将文件位置指针移到离当前位置 10个字节处 28 函数 rewind(fp)的作用是 ( )。 ( A)使 fp指定的文件的位置指针重新定位到文件的开始位置 ( B)
15、将 fp指定的文件的位置指针指向文件中所要求的特定位置 ( C)使 fp指定的文 件的位置指针向文件的末尾 ( D)使 fp指定的文件的位置指针自动移至下一个字符位置 29 已知函数的调用形式为 fread(buffer,size, count, fp);,其中 buffer代表的是( )。 ( A)一个整型变量,代表要读入的数据项总数 ( B)一个文件指针,指向要读的文件 ( C)一个指针,是指向的输入数据放在内存中的起始位置 ( D)一个存储区,存放要读的数据项 30 函数 ftell(fp)的作用是 ( )。 ( A)得到 fp所指向文件的当前读写位置 ( B)初始化文件的位置指针 (
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 结构 共用 运算 文件 操作 模拟 答案 解析 DOC
