当前位置:首页 >课程 >C语言程序设计基础

1、以下程序有错,错误原因是    _。 int main() {int *p,i; char *q,ch; p=&i; q=&ch; *p=40; *p=*q; ┆ }

A、p和q的类型不一致,不能执行*p=*q;语句
B、*p中存放的是地址值,因此不能执行*p=40;语句
C、q没有指向具体的存储单元,所以*q没有实际意义
D、q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q; 语句

参考答案:请扫码使用小程序查看答案

2、已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的正确输出结果是  。 void print_value(int *x) {printf(“%d\n”,++*x); }

A、23
B、24
C、25
D、26

参考答案:请扫码使用小程序查看答案

3、下面程序的运行结果是    。 #include int main() { static char a[]=”Language”,b[]=”programe”; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k<=7;k++) if(*(p1+k)==*(p2+k)) printf(“%c”,*(p1+k)); }

A、gae
B、ga
C、Language
D、有语法错

参考答案:请扫码使用小程序查看答案

4、下面程序的运行结果是    。 #include #include main() {char *p1,*p2,str[50]=”abc”; p1=”abc”;p2=”abc”; strcpy(str+1,strcat(p1,p2)); printf(“%s\n”,str); }

A、abcabcabc
B、bcabcabc
C、aabcabc
D、cabcabc

参考答案:请扫码使用小程序查看答案

5、若有说明:char *language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”}; 则表达式*language[1]>*language[3]比较的是    。

A、字符F和字符P
B、字符串BASIC和字符串JAVA
C、字符B和字符J
D、字符串FORTRAN和字符串PASCAL

参考答案:请扫码使用小程序查看答案

6、若有说明语句 char a[]=”It is mine”; char *p=”It is mine”; 则以下不正确的叙述是_    。

A、a+1表示的是字符t的地址
B、p指向另外的字符串时,字符串的长度不受限制
C、p变量中存放的地址值可以改变
D、a中只能存放10个字符

参考答案:请扫码使用小程序查看答案

7、以下程序调用fun函数求数组中最大值所在元素的下标。 #include void fun(int *s,int n, int *k) { int i; for(i=0,*k=i;is[*k]) _     } int main() { int a[5]={1,8,3,6,9},k; fun(a,5,&k); printf(“%d,%d\n”,k,a[k]); return 0; }

A、*k=i;
B、k=i;
C、*k=i-s;
D、k=i-s;

参考答案:请扫码使用小程序查看答案

8、有以下程序: #include void fun(int *p, int *q) { int *t; t=p; p=q; q=t; } int main() { int a=0,b=9; fun(&a,&b); printf(“%d,%d\n”,a,b); return 0; } 程序的输出结果是    。

A、9,0
B、0,9
C、9,9
D、0,0

参考答案:请扫码使用小程序查看答案

9、以下正确的定义语句和赋值语句是_    。

A、int b[3][5],(*p)[3],(*q)[5]; p=b; q=b;
B、char b[3][5],*p[3]; p[0]=b[0]; p[2]=*b+4;
C、double b[3][5],s[5][3],*q; q=b; s=q;
D、int b[10],*q; char *s; q=b; s=b;

参考答案:请扫码使用小程序查看答案