题目部分,(卷面共有60题,180.0分,各大题标有题量和总分) 一、单项选择题(60小题,共180.0分) (3分)[1]以下程序的输出结果是 #include
void fun(char *w, int m) {char s, *p1, *p2; p1=w; p2=w+m-1; while(p1 {s=*p1++; *p1=*p2--; *p2=s;} } main( ) {char a[ ]=\; fun(a, strlen(a)); puts(a); } A、GEFDCBA B、AGADAGA C、AGAAGAG (3分)[2]下列语句执行后的结果是 y=5; p=&y; x=*p++; A、x=5,y=5 B、x=5,y=6 C、x=6, y=5 (3分)[3]以下程序的输出结果是 point(char *pt); main() {char b[4]={?a?, ?c?, ?s?, ?f?}, *pt=b; point(pt); printf(“%c\\n”, *pt); } point(char *p) {p+=3; } A、a B、c C、s D、f (3分)[4]在下列叙述中,正确的一条是 A、以下程序运行结果为Computer and c: main() {char str[4]; str=“Computer and c”; printf(“%s\\n”, str); } B、下面两种表示方式等价 (1) int fun(int x,int y) (2) int fun(x,y) int x,y; C、若输入1、2,以下程序的运行结果为12 main() D、GAGGAGA D、x=6, y=6 {int *p,i,a[2]; p=a; for(i=0;i<2;i++) scanf(“%d”,p++); for(i=0;i<2;i++,p++) printf(“%d”,*p); } D、以下程序的运行结果为3 main() {int *p,a[5]={1,3,4,5,6}; p=a; printf(“%d”,*p++); } (3分)[5]以下程序的输出结果为 move(int array[6], int n, int m) {int *p, array_end; array_end=*(array+n-1); for(p=array+n-1;p>array;p--) *p=*(p-1); *array=array_end; m--; if(m>0) move (array, n, m); } main() {static int number[6]={1, 2, 3, 4, 5, 6}; int m=4, j; move(number, 6, m); for(j=0;j<5;j++) printf(“%d,”, number[i]); printf(“%d”, number[5]); } A、1,2,3,4,5,6 B、6,5,4,3,2,1 C、3,4,5,6,1,2 D、6,1,2,3,4,5 (3分)[6]以下程序的输出结果为 f(char *s) {char *p=s; while(*p!=?\\0?) p++; return(p-s); } main() { printf(“%d\\n”, f(“12345678”)); } A、12345678 B、7 C、1 (3分)[7]以下程序的输出结果为 #idefine FORMAT “%u, %u” main() {int a[3][4]={1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23}; D、8 printf(“\\n”); printf(FORMAT, **a, *a[0]); printf(FORMAT, *(a[0]+1), *&a[0][1]); printf(FORMAT, a[1][0], *(*(a+1)+0)); } A、3,3 5,5 9,9 B、1,1 3,3 9,9 C、1,1 3,3 5,5 D、5,5 7,7 9,9 (3分)[8]以下程序的输出结果是 sub(int *s, int y) {static int t=3; y=s[t]; t--; } main() {int a[ ]={1, 2, 3, 4}, n; int x=4; for(n=0; n<4; n++) {sub(a, x); printf(“%d”, x); } printf(“\\n”); } A、1234 B、3333 C、4321 (3分)[9]在下列程序中,输出结果与其它程序不同的是A、main() {int a[10]; int i; for(i=0;i<10;i++) scanf(“%d”,&a[i]); printf(“\\n”); for(i=0;i<10;i++) printf(“%d”,a[i]); } B、main() {int a[10]; int i; for(i=0;i<10;i++) scanf(“%d”,&a[i]); printf(“\\n”); for(i=0;i<10;i++) printf(“%d”,*(a+i)); } C、main() {int a[10]; int i, *p; for(i=0;i<10;i++) scanf(“%d”,&a[i]); printf(“\\n”); for(p=a;p<(a+10);p++) printf(“%d”,*p); } D、main() {int a[10]; D、4444 int i, *p; for(i=0;i<10;i++) scanf(“%d”,&a[i]); printf(“\\n”); for(i=0;i<10;i++) printf(“%d”,*(p+i)); } (3分)[10]以下程序的输出结果是 sub(int x, int y, int *z) {*z=y-x+2;} main() {int a, b, c; sub(16, 7, &a); sub(9, a, &b); sub(a, b, &C、; printf(“%d, %d, %d\\n”, a, b, C、; } A、–7,- 14,-5 B、–7,-16,-9 C、–7,-12,-9 D、–9,-14,-5 (3分)[11]在下列语句中,其含义为“p为带回一个指针的函数,该指针指向整型数据”的定义语句是 A、int *p(); B、int **p; C、int (*p)(); D、int *p; (3分)[12]变量p为指针变量,若p=&a,下列说法不正确的是 A、&*p==&a B、*&a==a C、(*p)++==a++ D、*(p++)==a++ (3分)[13]在下列叙述中,正确的一条是 A、语句int *pt中的*pt是指针变量名 B、语句int *p=a;等价于int *p; p=&a[0]; C、运算符*和&都是取变量地址的运算符 D、已知指针变量p指向变量a,则&a和*p值相同,都是变量a的值 (3分)[14]以下程序段给数组所有的元素输入数据,则以下正确答案为 main() {int a[10], i=0; while (i<10) scanf(“%d”, __________ ); ? } A、a+(i++) B、&a[i+1] C、a+i D、&a[++i] (3分)[15]下面函数的功能是 sss (char *s, char *t) {while((*s)&&(*t)&&(*t= =*s)) s++, t++; return(*s-*t); } A、求字符串的长度 B、比较两个字符串的大小 C、将字符串s复制到字符串t中 D、将字符串s连接到字符串t中 (3分)[16]以下程序的输出结果是 fun(int *s, int n1, int n2) {int i, j, t; i=n1; j=n2; while(i {t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; i++; j--; } } main( ) {int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, i, *p=a; fun (p, 0, 3); fun (p, 4, 9); fun (p, 0, 9); for(i=0; i<10; i++) printf(\; printf(“\\n”); } A、0 9 8 7 6 5 4 3 2 1 B、4 3 2 1 0 9 8 7 6 5 C、5 6 7 8 9 0 1 2 3 4 D、0 9 8 7 6 5 1 2 3 4 (3分)[17]下面各语句行中,能正确进行赋字符串操作的语句行是 A、char st[4][5]={“ABCDE”}; B、char s[5]={?A?, ?B?, ?C?, ?D?, ?E?}; C、char *s; s= “ABCDE”; D、char *s; scanf(“%s”,s); (3分)[18]以下程序的输出结果是 #include {char *s1=\,*s2=\; s1++;s2++; printf(\,strcmp(s1, s2)); } A、正数 B、负数 C、零 D、不确定的值 (3分)[19]请读程序: #include {if(*c<=?Z?&&*c>=?A?) *c-=?A?-?a?; return *c; } main( ) {char s[81], *p=s; gets (s); while(*p) {*p=fun(p); putchar(*p); p++;} putchar(?\\n?); } 若运行时从键盘上输入OPEN THE DOOR<回车>,则上面程序的输出结果为 A、oPEN tHE dOOR B、open the door C、OPEN THE DOOR D、Open The Door (3分)[20]在下面关于指针的说法中,错误的一条是 A、变量的指针就是变量的地址 B、可以将一个整型量或任何其他非地址类型的数据赋给一个指针变量 C、一个指针变量只能指向同一个类型的变量 百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库指针1-60在线全文阅读。
相关推荐: