1.有以下结构体说明和变量的定义,且如下图所示指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是() struct node {char data; struct noe*next; }a,b,*p= &a,*q=&b; A)a.next=q; B)p.next= &b; C)p- >next=&b; D)(*p).next=q;2.若有如下定义: int(*p)(),*q(); 则下列说法正确的是() A)p是一个函数名,q是一个指针变量 B)p是一个指向整型变量的指针变量,q是一个指向一维数组的指针变量 C)p和q是等价的,都是指针变量 D)p是指向函数的指针变量,函数的返回值是整型数据;q是带回指针值的函数 3.有以下程序 # include main() { float x,y; scanf( "%f",&x); if(x <0.0)y=0.0; else if((x <5.0)&&(x!=2.0)) y=1.0/(x+2.0); else if(x <10.0)y=1.0/x; else y=10.0 printf( "%f\n",y); } 若运行时从键盘上输入2.0 (表示回车),则上面程序的输出结果是() A)0.000000 B)0.250000 C)0.500000 D)1.000000 4.以下程序段中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是() A)main () {int*p; fun (p); … } intfun (int*p) { int s;p= &s;} B)main {int*p; fun ( &p); … } intfun (int**p) {ints;*p= &s;} C)#include main () {int*p; fun ( &p); … } intfun (int**p) {*p=(int*)malloc (2); } D)#include main () { int*p; fun (p); … } int fun (int*p) {p=(int*)malloc(sizeof (int)); } 5.执行下列程序时输入:23 <空格>456<空格>789<回车>,输出结果是() main() { char s[100] int c,i; scanf( "%c",&c); scanf( "%d",&i); scanf( "%s",s); printf( "%c,%d,%s\n",c,i,s); } A)1,456,789 B)1,23,456 C)1,23,456,789 D)23,456,789 6.有以下程序 #include #include main() { char b1[8]= "abcdefg",b2[8],*pb=b1+3; while(--pb >b1)strcpy(b2,pb); printf( "%d\n",strlen(b2)); } 程序运行后的输出结果是() A)8 B)3 C)1 D)6 7.设有如下定义和声明: structs { inta; structs*next}; structsx[4]={1, &x[1],3,&x[2],5,&x[3],7,’\0’},*t; t= &x[0]; 则下列表达式值为2的是() A)++t- >a B)(*t).a++ C)t- >a++ D)t++- >a 8.若有如下程序: main() {int a=6; char ch=c; printf( "%d\n",(a&2)&&(ch<′m′));} 则程序运行后的输出结果是() A)0 B)1 C)2 D)3 9.下列说法不正确的是() A)下列结构体定义时,占据了5个字节的空间 struct s {int num; int age; char sex; } B)结构体的成员名可以与程序中的变量名相同 C)对结构体中的成员可以单独使用,它的作用相当于普通变量 D)结构体的成员可以是一个结构体变量 10.若要打开A盘中user子目录下名为aaa.txt的文本文件进行读、写操作,下面符合此要求的函数调用是() A)fopen( "A:\user\aaa.txt","r") B)fopen( "A:\\user\\aaa.txt","r+") C)fopen( "A:\user\aaa.txt","rb") D)fopen( "A:\\user\\aaa.txt","w") 答案:1.B 2.D 3.C 4.C 5.B 6.D 7.A 8.A 9.A 10.B
相关资料
|