当前位置:首页 > 专升本C语言教案习题
ex abcd efg h3 k44
执行后输出结果是:( D )
A)14 B)12 C)8 D)6 38. 下列选项中正确的语句组是 :( D )
char s[8]; s={\数组只能初始化 B)char *s; s={\去掉{} C)char s[8]; s=\字符串不能给数组赋值 D)char *s; s=\39. 有以下程序 main()
{ int a[3][3],*p,i; p=&a[0][0];
for(i=0;i<9;i++) *p++=i+1 printf(\
}
程序运行后的输出结果是:( B )
A)3 B)6 C)9 D)2 40. 以下符合C语言语法的实型常量是:( C )
A) 1.2E0.5 B) 3.14.159E C) .5E-3 D) E15 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是:( A )
A)if((a>b)&&(b>c)) k=1; B) if((a>b)||(b>c)) k=1; else k=0; else k=0;
C)if(a<=b) k=0; D)if(a>b) k=1; else if(b<=c) k=1; else if(b>c) k=1; else k=0; 若程序中定义了以下函数
double myadd(double a,double b)
{ return (a+b);}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是:( A )
A)double myadd(double a,b); B)double myadd(double,double);
C)double myadd(double b,double a); D)double myadd(double x,double y); 43. 若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为:( A )
A)0 B)1 C)-1 D)一个非0值 44. 下列关于C语言数据文件的叙述中正确的是:( D ) A)文件由ASCII码字符序列组成,C语言只能读写文本文件 B)文件由二进制数据序列组成,C语言只能读写二进制文件
C)文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件 D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 ***45. 有以下程序
main()
{int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0;
for(i=0;i<4;i++) s+=aa[i][i]; printf(\
}
程序运行后的输出结果是:( C )
A) 11 B) 19 C) 13 D) 20
二、填空题(每题2分,共30分)
1. 表示“x≥y≥z”的C表达式是___ x>=y && y>=z ____。 2. 下列程序段的输出是__1____。 printf(\3. 下列程序段的输出是__6,90____。 int k; float s;
for (k=0, s=0; k < 7; k ++) s += k/2;
printf(\4. 下列程序段的输出是__5,25_____。 #define f(a, b, x) a*x+b
printf(\5. 下列程序段的输出是_*#*#____。 main()
{ int k;
for(k=1; k<5; k++) { if(k % 2) printf(\ else continue; printf(\ }
}
6. 下列程序段的输出是__5 8___。 # include <stdio.h> int f(int x) { static y=1; y++; x += y; return x; }
void main() { int k; k=f(3);
printf(\}
7. 下列程序段的输出是___5__。 int *p, *q, k = 5 , j = 6 ; q = &k ; p = q ; q = &j ; printf(\8. 函数
void f(char s[ ], char t[ ]) { int k=0;
while (s[k]=t[k]) k++; } 等价于
void f(char *s, char *t)
{ while (_*s++=*t++____); }
9. 下列程序段的输出是_ ne,s ____。 char *a[2]={\printf(\printf(\
10.下列程序编译后生成 t.exe, 运行 t input output zoo oil 的输出结果是__zoo__。
void main(int argc, char * argv[ ]) { int k;
char *p=argv[1];
for(k=2; k<argc; k++)
if(strcmp(argv[k], p)>0) p=argv[k]; printf(\}
11.以下程序段的输出结果是 ___11__ int i=9;
printf(\
12.以下程序输出的结果是 0 main()
{ int a=5,b=4,c=3,d; d=(a>b>c); printf(\}
13.以下程序中给指针p分配三个double型动态内存单元,请填空。 # include <stdlib.h> main ( )
{ double *p;
p=(double *) malloc( 3*sizeof(double) ); p[0]=1.5;p[1]=2.5;p[2]=3.5;
printf(“%f%f%f\\n”,p[0],p[1],p[2]); }
14.有以下程序 void f( int y,int *x) {y=y+*x; *x=*x+y;} main( )
{ int x=2,y=4; f(y,&x);
printf(“%d %d\\n”,x,y);
}
执行后输出的结果是 8 4
15.以下程序的运行结果是 2002Shangxian # include <string.h> typedef struct student {char name[10]; long sno; float score; }STU; main( )
{ STU a={“zhangsan”,2001,95},b={“Shangxian”,2002,90}, c={“Anhua”,2003,95}, d, *p=&d; d=a;
if(strcmp(a.name,b.name)>0) d=b; if(strcmp(c.name,d.name)>0) d=c; printf(“%ld%s\\n”,d.sno,p->name); }
三、程序(段)填空题(每空2分,共10分)
1. 以下函数返回a所指数组中最小的值所在的下标值,请填空: fun(int *a, int n) { int i,j=0,p; p=j;
for(i=j;i<N;I++)
if(a<A[P])____ p=i ______; return(p); }
2. 下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结果是:After swap 5, 3 void main( )
{ int a=3, b=5;
swap( &a, &b ) ;
printf(\ }
swap( int *p, int *q ) { int t;
t=*p; ; *p=*q ; *q=t ; }
共分享92篇相关文档