|
(26)有如下程序段 int a=14,b=15,x; char c=′A′; x=(a&&b)&&(c<′B′); 执行该程序段后,x的值为 A)ture B)false C)0 D)1 (27)下列程序执行后的输出结果是 void func1(int i); void func2(int i); char st[]="hello,friend!"; void func1(int i) { printf("%c",st[i]); if(i<3){i+=2;func2(i);}} void func2(int i) { printf("%c",st[i]); if(i<3){i+=2;func1(i);}} main() { int i=0; func1(i); printf("\n");} A)hello B)hel C)hlo D)hlm (28)以下函数返回a所指数组中最大值所在的下标值 fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i if(a[i]>a[p])_________; return(p);} 在下划线处应填入的内容是 A)i=p B)a[p]=a[i] C)p=j D)p=I (29)下面说明不正确的是 A)char a[10]="china"; B)char a[10],*p=a;p="china" C)char *a;a="china"; D)char a[10],*p;p=a="china" (30)以下程序的输出结果是 #include void prt (int *x, int *y, int *z) {printf("%d,%d,%d\n",++*x,++*y,*(z++));} main() {int a=10,b=40,c=20; prt (&a,&b,&c); prt (&a,&b,&c);} A)11,42, 31 12,22,41 B)11,41,20 12,42,20 C)11,21,40 11,21,21 D)11,41,21 12,42,22 (31)若有函数内部说明:int a[3][4];则数组a中各元素 A)可在程序的运行阶段得到初值0 B)可在程序的编译阶段得到初值0 C)不能得到确定的初值 D)可在程序的编译或运行阶段得到初值0 (34)定义如下变量和数组: int k; int a[3][3]={9,8,7,6,5,4,3,2,1}; 则下面语句的输出结果是 for(k=0;k<3;k++)printf("%d",a[k][k]); A)7 5 3 B)9 5 1 C)9 6 3 D)7 4 1 (35)下列程序执行后的输出结果是 main() { char arr[2][4]; strcpy(arr,"you"); strcpy(arr[1],"me"); arr[0][3]=′&′; printf("%s\n",arr);} A)you&me B)you C)me D)err (36)有以下函数 char fun(char *p) {return p;} 该函数的返回值是 A)无确切的值 B)形参p中存放的地址值 C)一个临时存储单元的地址 D)形参p自身的地址值 (37)以下正确的说法是 A)定义函数时,形参的类型说明可以放在函数体内 B)return后边的值不能为表达式 C)如果函数值的类型与返回值类型不一致,以函数值类型为准 D)如果形参与实参类型不一致,以实参类型为准 (38)有以下程序 int f(int n) { if(n==1)return 1; else return f(n-1)+1;} main() { int i,j=0; for(i=1;i<3;i++)j+=f(i); printf("%d\n",j);} 程序运行后的输出结果是 A)4 B)3 C)2 D)1 (39)设有如下定义: struck sk { int a; float b; } data; int *p; 若要使P指向data中的a域,正确的赋值语句是 A)p=&a; B)p=data.a; C)p=&data.a; D)*p=data.a;‘ (40)以下对结构体类型变量的定义中,不正确的是 A)typedef struct aa { int n; float m; }AA; AA tdl; B)#define AA struct aa AA{ int n; float m; } tdl; C)struct { int n; float m; } aa; struct aa tdl; D)struct { int n; float m; } tdl; (41)若说明int *p,n;则通过语句scanf能够正确读入数据的程序段是 A)p=&n;scanf("%d",&p); B)p=&n;scanf("%d",*p); C)scanf("%d",n); D)p=&n;scanf("%d",p); (42) 在下述程序中,判断i>j共执行的次数是 main() {int i=0, j=10, k=2, s=0; for (;;) {i+=k; if(i>j) {printf("%d",s); break; }s+=i; } } A)4 B)7 C)5 D)6 (43)以下4个选项中,不能看做一条语句的是 A); B)a=5,b=2.5,c=3.6; C)if(a<5); D)if(b!=5)x=2;y=6; (44)在C语言中,变量的隐含存储类别是 A)auto B)static C)extern D)无存储类别 (45)若有以下程序 #include void f(int n); main() { void f(int n); f(5); } void f(int n) { printf("%d\n",n); } 则以下叙述中不正确的是 A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B)若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数f C)对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明 D)函数f无返回值,所以可用void将其类型定义为无返回值型 (46)若有下面的说明和定义 struct test { int ml; char m2; float m3; union uu {char ul[5]; int u2[2];} ua; } myaa; 则sizeof(struct test )的值是 A)12 B)16 C)14 D)9 (47)以下程序的输出是 struct st { int x; int *y;} *p; int dt[4]={ 10,20,30,40 }; struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]}; main() { p=aa; printf("%d\n",++(p->x)); } A)10 B)11 C)51 D)60 (48)若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是 A)sizeof,&=,<<,^ B)sizeof,<<,^,&= C)^,<<,sizeof,&= D)<<,^,&=,sizeof (49)函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是 A)文件开始 B)文件末尾 C)文件当前位置 D)以上都不对 (50)有以下程序 #include main() { FILE *fp; int i=20,j=30,k,n; fp=fopen("d1.dat","w"); fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n); fclose(fp); } 程序运行后的输出结果是 A)20 30 B)20 50 C)30 50 D)30 20
共4页: 上一页 [1] 2 [3] [4] 下一页
|