[计算机类试卷]国家二级C语言机试(选择题)模拟试卷69及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(选择题)模拟试卷69及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(选择题)模拟试卷69及答案与解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(选择题)模拟试卷 69及答案与解析 一、选择题 1 有以下程序: #include void f(int*P, int*q); main( ) int m=1, n=2, *r=&m; f(r, &n); printf(“ d, d“, m, n); void f(int*P, int*q) P=P+1; *q=*q+1: 程序运行后的输出结果是 ( )。 ( A) 2, 3 ( B) 1, 3 ( C) 1, 4 ( D) 1, 2 2 设已有定义: float x;,则以下对指针变量 P进行定义且赋初值的语句中正确的是 ( )。 ( A) int *P=(float)
2、x; ( B) float *P=&x; ( C) float P=&x; ( D) float *P=1024; 3 若有定义语句: double a, *P=&a; 以下叙述中错误的是 ( )。 ( A)定义语句中的 *号是一个间址运算符 ( B)定义语句中的 *号是一个说明符 ( C)定义语句 中的 P只能存放 double类型变量的地址 ( D)定义语句中, *P=&a把变量 a的地址作为初值赋给指针变量 P 4 有以下程序: #include main( ) int a=1, b=3, c=5; int *p1=&a, *p2=&b, *P=&c; *P=*p1*(*p2); pri
3、ntf(“ d n“, c); 执行后的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 5 以下叙 述中正确的是 ( )。 ( A) int*p1; int*p2; int*p3;都是合法的定义指针变量的语句 ( B)指针变量只能通过求地址运算符 (&)来获得地址值 ( C)语句 P=NULL;与 P= 0;是等价的语句 ( D)语句 P=NULL;执行后,指针 P指向地址为 0的存储单元 6 以下叙述中正确的是 ( )。 ( A)即使不进行强制类型转换,在进行指针赋值运算时,指针变量的基类型也可以不同 ( B)如果企图通过一个空指针来访问一个存储单元,将会得到一
4、个出错信息 ( C)设变量 p是 个指针变量,则 语句 p=0;是非法的,应该使用 p=NULL ( D)指针变量之间不能用关系运算符进行比较 7 有以下程序: #include main( ) int n, *p=NULL; *P= n: printf(“Input n: “); scanf(“ d“, &p); printf(“output n: “); printf(“ d n“,p); 该程序试图通过指针 P为变量 n读入数据并输出,但程序有多处错误,以下语句正确的是 ( )。 ( A) int n, *P: NULL; ( B) *P=&n; ( C) scartf(“ d“, &p
5、) ( D) printf(“ d n“, P); 8 若有定义语句: double x, y, *px, *Py;执行了 px= x; Py=&y;之后,正确的输入语句是 ( )。 ( A) scanf(“ If le“, px, PY); ( B) seanf(“ f f“ t&x, &y); ( C) scanf(“ f f“, x, y); ( D) scanf(“ If If“, x, y); 9 以下程序段完全正确的是 ( )。 ( A) int *p; seanf(“ d“, &p); ( B) int *p; scanf(“ d“, P); ( C) int k, *P=&k;
6、 scanf(“ d“, P); ( D) int k, *p; *P=&k; scanf(“ d“, P); 10 若有定义语句: int a23, *P3; 则以下语句中正确的是 ( )。 ( A) P=a; ( B) p0=a; ( C) p0=&a12; ( D) p1=&a; 11 若有以下程序: #include int *f(int *s, int *t) int *k; if(*s *t) k=s; s=t; t=k; retum s; main( ) int i=3, j=5, *P=&i, *q=&j, *r; r=f(P, q); printf(“ d, d, d, d,
7、 d n“, i, j, *P, *q, *r); 则程序的输出结果是 ( )。 ( A) 3, 5, 5, 3, 5 ( B) 3, 5, 3, 5, 5 ( C) 5, 3, 5, 3, 5 ( D) 5, 3, 3, 5, 5 12 有以下程序: #include inelude int fun(int n) int *P; p ram=(int*)malloe(sizeof(int); *p=n; return *p; main( ) int a; a=fun(10); printf(“ d n“, a+fun(10); 程序的运行结果是 ( )。 ( A) 0 ( B) 10 ( C
8、) 20 ( D)出错 13 有以下程序: include void fun(int a, int n) int i, t; for(i=0; i #defilie N 4 void fun(int aN, int b) int i; for(i=0; i #inelude void fun(int*p1, int*p2, int*s) s=(int*)malloc(sizeof(int); *s=*p1+*(p2+); main( ) int at2=1, 2, b2=10, 20, *s=a; fun(a, b, s); printf(“ d n“, *s); 程序运行后的输出结果是 (
9、)。 ( A) 11 ( B) 10 ( C) 1 ( D) 2 16 有以下程序: #include #include main( ) char strzo=“One*World“, “One*Dream!“, *P=str1; printf(“ d, “, strlen(P); printf(“ s n“, P); 程序运行后的输出结果是 ( )。 ( A) 10, One*Dream! ( B) 9, One*Dream! ( C) 9, One*Wodd ( D) 10, One*World 17 若有定义: int w35; 则以下不能正确表示该数组元素的表达式是 ( )。 ( A)
10、 *(&w00+1) ( B) *(*w+3) ( C) *(*(w+1) ( D) *(w+1)4 18 有以下程序: #include void fun(char *p) +P; printf(“ s n“, *p); main( ) char*a=“Morning“, “Afternoon“, “Evening“, “Night“; fun(a); 程序的运行结果是 ( )。 ( A) Afternoon ( B) fternoon ( C) Morning ( D) orning 19 有以下程序,程序中库函数 islower(ch)用以判断 ch中的字母是否为小写字母: #inclu
11、de #include void fun(char*p) int i=0; while(pi) if(Pi=&islower(pi-1) pi-1=Pi-1-a+A; i+; main( ) char sl100=“ab cd EFG!“; fun(s1); printf(“ s n“, s1); 程序运行后的输出结果是 ( )。 ( A) ab cd EFg! ( B) Ab Cd EFg! ( C) ab cd EFG! ( D) aB eD EFG! 20 有以下程序: #include void fun(char *p) int i; for(i=0; i 4; i+)printf(“
12、 s“, Pi); main( ) char*s6=“ABCD“, “EFGH“, “IJKL“, “MNOP“, “QRST“, “UVWX“; fun(s); printf(“ n“); 程序运行后的输出结果是 ( )。 ( A) ABCDEFGHIJKL ( B) ABCD ( C) AEIM ( D) ABCDEFGHIJKLMNOP 21 下列语句组中,正确的是 ( )。 ( A) char*s; s=“Olympic“; ( B) char s7; s=“Olympic“; ( C) char*s; s=“Olympic“; ( D) char s 7; s=“Olympic“;
13、22 有以下程序 (注:字符 a的 ASCII码值为 97): #include main() char *s=“abc“; do pfintf(“ d“, *s 10); +8; while(*s); 程序运行后的输出结果是 ( )。 ( A) 789 ( B) abe ( C) 7890 ( D) 979899 23 设有定义: char*c; 以下选项中能够使 c正确指向一个字符串的是 ( )。 ( A) char six=“string“; c=str; ( B) scanf(“ s“, c); ( C) c=getchar( ); ( D) *c=“string“; 24 设有定义语
14、句: int(*f)(int); 则以下叙述正确的是 ( )。 ( A) f是基类型为 int的指针变量 ( B) f是指向函数的指针变量,该函数具有一个 int类型的形参 ( C) f是指向 int类型一维数组的指针变量 ( D) f是函数名,该函数的返回值是基类型为 int类型的地址 25 有以下程序: #include int add(int a, int b)return(a+b); main() int k, (*f)(), a=5, b=10; f=add; 则以下函数调用语句错误的是 ( )。 ( A) k=f(a, b); ( B) k=add(a, b); ( C) k=(*
15、f)(a, b); ( D) k=*f(a, b); 26 有以下程序: #include include main( ) int *a, *b, *c; a=b=c=(in*)malloc(sizeof(int); *a=1; *b=2, *c=3; a=b; pfintf(“ d, d, d n“, *a, *b, *c); 程序运行后的输出结果是 ( )。 ( A) 1, l, 3 ( B) 2, 2, 3 ( C) 1, 2, 3 ( D) 3, 3, 3 27 以下语句中存在语法错误的是 ( )。 ( A) char ss620; 881=“right?“; ( B) char ss
16、()20=“right?“; ( C) char*ss6; 881=“right“; ( D) char*ss()=“right?“; 28 若有以下程序: inchde int k=7; void f(int *s) int *t=&k; *8=t; printf(“ d, d, d, “, k, *t, *s); main() int i=3, *P=&i, *r= p; f(r); printf(“ d, d, d n“, i, *p, *r); 则程序的输出结果是 ( )。 ( A) 3, 3, 3, 7, 7, 7 ( B) 3, 7, 7, 7, 7, 7 ( C) 7, 7, 7
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 选择题 模拟 69 答案 解析 DOC
