C语言程序设计 试卷2
一、单选题
1. 下列选项中正确的语句组是______。
A、char s[8]; s={"Beijing"}
B、char *s; s={"Beijing"}
C、char s[8]; s="Beijing"
D、char *s; s="Beijing"
2. 下列函数定义中,会出现编译错误的是______。
A、max(int x,int y,int *z)
{*z=x>y ? x:y;}
B、int max(int x,y)
{ int z;
z=x>y ? x:y;
return z;}
C、max(int x,int y)
{ int z;
z=x>y?x:y; return(z);}
D、int max(int x,int y)
{ return(x>y?x:y); }
3. 有以下程序段
main()
{ int a=5,*b,**c;
c=&b; b=&a;
……
}
程序在执行了c=&b;b=&a;语句后,表达式:**c的值是______。
A、变量a的地址
B、变量b中的值
C、变量a中的值
D、变量b的地址
4. 以下选项中可作为C语言合法整数的是______。
A、10110B
B、0386
C、0Xffa
D、x2a2
5. 有定义语句:int x,y;。若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是______。
A、11 12↙
B、11,12↙
C、11, 12↙
D、11,↙12↙
6. 以下不能定义为用户标识符的是______。
A、scanf
B、Void
C、_3com_
D、int
7. 已定义以下函数:
fun(int *p)
{ return *p; }
该函数的返回值是______。
A、不确定的值
B、形参p中存放的值
C、形参p所指存储单元中的值
D、形参p的地址值
8. 有以下程序
#include <string.h>
main()
{ char str[][20]={"Hello","Beijing"},*p=str;
printf("%d/n",strlen(p+20));
}
程序运行后的输出结果是______。
A、0
B、5
C、7
D、20
9. 有以下结构体说明和变量定义,如下图所示,指针p、q、r分别指向一个链表中的三个连续结点。
struct node
{ int data;
struct node *next;
}*p,*q,*r;
data next data next data next
┌─┬─┐ ┌─┬─┐ ┌─┬─┐
─→│ │ ┼→│ │ ┼→│ │ ┼→
└─┴─┘