(*x)++; (*y)++; }
void main() { int a=5,b=9; fun1(&a,&b);
printf(“a=%d,b=%d\\n”,a,b); fun2(&a,&b);
printf(“a=%d,b=%d\\n”,a,b); }
main函数中第一个printf输出结果为()
(A)a=9,b=5 (B)a=5,b=9 (C)a=10,b=6 (D)a=6,b=10
注意:第二个printf输出结果为a=10,b=6 R5、
若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是( )。 A、*p B、a[10] C、*a D、a[p-a]
6、有以下程序 main() {
int a[3][3],*p,i; p=&a[0][0];
for(i=0;i<9;i++)p[i]=i;
for(i=0;i<3;i++)printf(\ }
程序运行后的输出结果是 A 0 1 2 B 1 2 3 C 2 3 4 D 3 4 5 7以下程序的输出结果为_________。
char *alpha[6]={“ABCD”,”EFGH”,”IJKL”,”MNOP”,”QRST”,”UVWX”}; char **p; main() {
int i;
p = alpha;
for(i=0;i<4;i++) printf(“%c”,*(p[i])); printf(“\\n”); }
A) AEIM B) BFJN C) ABCD D) DHLP
8.下面程序输出数组中的最大值,由s指针指向该元素。
main()
{ int a[10]={6,7,2,9,1,10,5,8,4,3},*p,*s; for(p=a,s=a;p-a<10;p++) if( ) s=p; printf(“The max:%d”,*s); }
则在if语句中的判断表达式应是( )
A、p>s B、*p>*s C、a[p]>a[s] D、p-a>p-s
R9(3)若有定义int *x[3],b[10];则正确的赋值语句是( )
A.x=b[0]; B.x=b; C.x[0]=b[0]; D.x[0]=&b[0];
R10若有以下定义,则______是对数组元素的正确引用。 int a[5],*p=a
A). *&a[4] B、*(p+5) C、*++a D、*(p-1)
11.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是 A) char s[10]=”abcdefg”; B) char t[]=”abcdefg”,*s=t; C) char s[10];s=”abcdefg”;
D) char s[10];strcpy(s,”abcdefg”);
N12.#include
int find(char *s1, char *s2) {
int t;
char *p1,*p2;
for(t=0 ;s1[t] ;t++) {
p1=&s1[t] ; p2=s2 ;
while(*p2&&*p2==*p1)//先算*p2==*p1 {
p1++; p2++; }
if(!*p2) return(t); }
return -1 ;
} main() {
if(find(“c is fun”,”is”)!=-1) L1: printf(“is”);
if(find(“c is fun”,”Basic”)!=-1) L2:printf(“basic\\n”); }
(11)行L1输出的结果为_________。
A is B i C c is fun D没有输出 (12)行L2输出的结果为________。
A Basic B c is fun C basic D没有输出 13.阅读下面程序,回答问题。 #include
int i = 0,n = 0; char s[80],*p; p = s;
strcpy(p,”This is test!”); for(;*p!=?\\0?;p++) if(*p= =? ?) i = 0; else if(i= =0) {
n++; i=1; }
printf(“n=%d\\n”,n); }
该程序的功能是()。
A、统计字符串的单词个数 B、统计字符串的空格个数 C、统计字符串的字母个数 D、统计字符串全部字符个数 N14.读程序并回答问题。 #include
void fun(char *s,char *t) { char k; k = *s; *s = *t; *t = k;
s++; t--;
if(*s) fun(s,t); }
void main()
{ char str[10] = \ p = str + strlen(str)/2+1; fun(p,p-2);
printf(\}
程序的运行结果为( )。 A、abcdefg B、defgabc C、acegbdf D、gfedcba 15.读程序,回答问题。 #include
void main(int argc,char *argv[] ) {
int i=1,n=0; while(i
n = n+strlen(argv[i]); i++; }
printf(“%d\\n”,n); }
若该程序生成的可执行文件名为2-4.exe,运行时输入命令行: 2-4 123 45 67
则程序的运行结果是( )。 A、3 B、5 C、7 D、11 16.读程序,回答问题。
下面程序的输出是
# include
main()
{ int m=3,n=6; test(&m,n);
printf(\ %d\输出结果1 test(&n,m);
printf(\ %d\输出结果2(9,15) }
输出结果1是:
(A)9 6 (B)6 9 (C)3 6 (D)6 3
17.若有以下定义和语句,则值为12的表达式是_________。 struct wc{ int a;int *b;}*p;
int x0[]={11,12},x1[]={31,32};
static struct wc x[2]={100,x0,300,x1}; p=x;
A) *++p->b B) ++p->a C) p->b D) *(p++)->b 18. 以下程序的运行结果是______ void main() {
int flag=1; char ch; do{
ch=getchar();
flag=chang(&ch,flag); putchar(ch); }while(ch!='\\n'); }
chang(char *c, int fg) {
if(*c==' ') return 1;
else if( fg && *c<='z'&&*c>='a') *c+='A'-'a'; return 0; }
程序运行时,从第一列开始输入以下字符,
static char str[50]=\ int sum1 = 0,sum2=0; while(*p!='\\0') {
if(*p>=48&&*p<=57) sum1++;
else if(*p>=101&&*p<=107) sum2++; else; p++; }