x=a+b;y=a-b; one();
printf(“%d,%d/n”,x,y); }
A)14,4 B)14,35 C)15,35 D)15,4 27、下面程序运行后,其输出是( )
#include
void printd(int n) {int i; if(n<0)
{n=-n;putchar(?-?);} putchar(n+?0?); if((i=n/10)!=0) printd(i); }
A)123 B)321 C)3 28、下面程序运行后,其输出是( )
struct sample{ int a,b; char *ch; };
void f1(struct sample parm); main()
{struct sample arg;
arg.a=1000;arg.b=100;arg.ch=”abcd”; f1(arg); }
void f1(struct sample parm) { parm.a+=parm.b; parm.ch[2]=?x?;
printf(“%d/n”,parm.a); printf(“%s/n”,parm.ch); }
A)1000 B)1100 C)1100 Abcd abcd abxd 29、下面程序运行后,其输出是( )
main()
{static char s[30]=”abcdefg”; static char t[]=”abcd”;
D)1 abcd 5
D)100 int i,j; i=0;
while(s[i]!=?/0?) i++; j=0;
while(t[j]!=?/0?) {s[i+j]=t[j]; j++;} s[i+j]=?/0?;
printf(“%s/n”,s); }
A)abcdabcdefg B)abcdefg C)abcd D)abcdefgabcd
30、下面程序运行后,其输出是( )
main()
{ int a[4][4],i,j,k; for(i=0;i<4;i++) for(j=0;j<4;j++) a[i][j]=i+j;
for(i=1;i<4;i++) for(j=i+1;j<4;j++) { k=a[i][j]; a[i][j]=a[j][i]; a[j][i]=k; }
for(i=0;i<4;i++) {printf(“/n”); for(j=0;j<4;j++)
printf(“M”,a[i][j]);} }
A)0 1 2 3 B)0 1 2 3 C)0 1 2 3 D)3 2 1 0 1 2 3 4 1 2 5 4 1 2 4 2 4 3 2 1 2 3 4 5 2 3 4 5 2 3 5 3 5 4 3 2 3 4 5 6 3 4 5 6 3 4 6 4 6 5 4 3 31、运行下面的程序,其输出是( )
main()
{ int a[]={4,2, 6,8,10},y=1,x,*p; p=&a[1];
for(x=0;x<3;x++) y+=*(p+x);
printf(“%d/n”,y);}
A)17 B)18 C)19 D)20
32、运行下面程序,从键盘输入四个字符xyz#,其输出是( )
#include \
6
main()
{ void recursion(); recursion(); }
void recursion() {char c;
c=getchar(); putchar(c); if(c!=?#?) recursion(); }
A)xyz# B)xyz#xyz# C)xyz##zyx D)xyzxyz 33、当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为( )
if ( a < b ) if( c < d) x = 1; else if (a < c ) if ( b < d ) x = 2; else x = 3; else x = 6; else x = 7; 供选择的答案是:
A) 1 B) 2 C) 3 D)6 34、有以下程序:
main(int argc , char *argv[ ] ) { int i; if ( argc <= 0 ) return ; for( i=1; i } 经编译链接后生成的可执行文件是test.ext,若运行时输入以下带参数的命令行: test good luck 执行后输出结果是( ) A)goodluck B)goo C)luc D)gl 35、以下程序 struct tree { int x ; char *s; }t; fun(struct tree t) { t.x = 10; 7 t.s = “here”; } main( ) { t.x = 1; t.x = “there”; fun ( t ); printf(“%d, %s”, t.x , t.s ); } 执行后输出结果是( ) A)10, here B)1, there C)1,here D)10, there 第三题:程序填空题 在空栏处填入适当的字符、语句,以构成一个正确的C语言程序。每空栏5分,两大题共5个空栏,全对得25分。 试题一: x2x4x6x8???计算角度的余以下程序的功能是根据级数展开式的前五项cos(x)?1?2!4!6!8!弦值。 double cos1(double x) { int i, j; double sum = 1.0, y; ( 1 ) } for(i = 1; i <= 4; i++) { long term = 1; for(j=2; j <= 2*i; j++) ( 2 ) sum += y/term; y *= -(x * x); } ( 3 ) 试题二: 以下程序是实现函数strcat,函数strcat (s, t )将t指向的字符串复制连接到s指向的字符串的尾部。 void strcat(char *s, char *t) { while( ( 4 ) ) s++; while( ( 5 ) ) ; } 8 第四题.填空题(每空2分,共10分) #include float mean1(int pa[ ], int num) { int i; float avg; for(avg = 0, i = 0; i < num; i++) avg += pa[i]; avg /= num; return avg; } float mean2(int * p, int num) { int i; float avg; for(avg = 0, i = 0; i < num; i++,p++) avg += * p; avg /= num; return avg; } int main() { static int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; float mv1,mv2; mv1 = mean1(array, 10); mv2 = mean2(array, 10); printf(\ printf(\ return 0; } 试写出不同变量所占内存字节数(32位机): sizeof(array)=_______ sizeof(avg)=_______ sizeof(pa)=_______ sizeof(num)=_______ 9 sizeof(p)=_______
相关推荐: