第六章单元测试
已有定义 int a=2, *p1=&a, *p2=&a; ,下面不能正确执行的赋值语句是()
下面判断正确的是( )。
有以下程序
#include<stdio.h> main()
{ int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r;
printf("%d,%d,%d,%d\n",m,n,*p,*q); }
程序运行后的输出结果是 ( )
若有以下定义和语句:
int s[4][5], (*ps) [5];
ps=s;
则对s数组元素的正确引用形式是()。
void ss( char *s, char t){
while (*s)
{ if (*s==t) *s=t-'a'+'A';
s++;
}
}
void main()
{
char str[100]="abeddfefdbd", c='d' ;ss(str, c);
printf(" %s\n",str) ;
}
程序送行后的輸出結果是( )。
下列程序段的输出結果是( )。
#include "stdio.h"
void fun( int *x,int *y){
printf("%d %d ", *x,*y);
*x=3;
*y=4;
}
void main( )
{
int x=1,y=2;
fun(&y, &x);
printf("%d %d", x, y);
}
下列程序的输出结果是( )。
#include "stdio.h"
void main(){
char a[10]={9,8,7,6,5,4,3,2,1,0}, *p=a+5;printf("%d", *--p);}
有以下程序
#include "stdio.h"
#include "string.h"
void main(int argc, char *argv[])
{
int m, length=0;
for (m=1;m<argc; m++) length+=strlen (argv[m]) ;
printf("%d\n",length) ;}
程序编译连接后生成的可执行文件是file. exe,若执行时输入带参数的命令行是:
file 1234 567 89<回车>,则运行结果是( )。
有以下函数: ;
char *fun (char *s)
{ ...
return s;
}
该函数的返回值是( )。
若有以下说明语句:
char *language[ ] = {“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};
char **q;
q = language + 2;
则语句printf(“%s\n”, *q) 输出的是( )
A:p1=a; B:a=*p1* (*p2) ; C:a=*p1+*p2; D:p1=p2;
答案:p1=a;
A:char s[10]={" girl"}; 等价于char s[10];s[10]={"girl"}; B:char s[4]= "boy", t[4]= "boy";等价于 char s[4]=t[4]= "boy" C:char *s=" girl"; 等价于char *s; *s=" girl";
D:char *s=" girl"; 等价于char *s; s="girl" ;
A:2,1,1,2 B:1,2,1,2 C:2,1,2,1 D:
1,2,2,1
A:ps+1 B:ps[0][2] C:*(ps+1)+3 D:*(ps+3)
A:abcAAfefAbA B:abeDDfefDbD C:ABCDDEFEDBD D:Abcddfefdbd
A:2 1 1 2 B:2 1 4 3 C:1 2 3 4 D:1 2 1 2
A:a[4] 的地址 B:5 C:非法 D:3
A:17 B:9 C:22 D:13
A:无确定值 B:形参s自身的地址值 C:形参 s中存放的地址值 D:一个临时存储单元的地址
A:language[2]元素的值,它是字符串PASCAL的首地址 B:字符串PASCAL C:格式说明不正确,无法得到确定的输出 D:language[2]元素的地址;