C程序试题3

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言模拟试卷3

一、项选择题(选择一个最佳答案,每题2分,共20分)

1.下列叙述正确的是()。

A)函数调用时,若形参和实参同名则两者共用存储单元。

B)一个C程序的执行总是从main函数开始,到本程序文件的最后一个函数结束。

C)在C程序中,注释说明只能位于一条语句的后面。

D)宏替换只是字符的替换,不占用运行时间。

2.不正确的字符串常量是( )。

A)’abc’ B)”12’12” C)”0” D)””

3.已知如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B当从第一列开始输入数据

时,正确的数据输入方式是()。(注:表示回车)

int a1,a2; char c1,c2;

scanf(%d%d”,&a1,&a2);

scanf(%c%c”,&c1,&c2);

A)1020AB B)10 20 AB C)10 20AB D)10 20 AB

4.若二维数组a有m列,则在a[i][j]前的元素个数为()。

A)j*m+i B) i*m+j C)i*m+j-1 D) i*m+j-1

5.下面程序段的运行结果是()。

char a[]=”language”,*p=a;

while(*p!=’g’) {printf{“%c”,*p-32};p++;}

A) LANgUAGE B) language C) LAN D) LANgUAgE

6.以下正确的程序段是( )。

A)char str[20]; B) char p;

scanf(“%s”,&str); scanf(“%s”,p);

C)char str[20]; D) char str[20],*p=str;

scanf(“%s”,&str[2]); scanf(%s”,p[2]);

7.若有定义语句int a[5], *p=a; 则对a数组元素的正确引用是()。

A) *&a[5] B) a+2 C) *(p+5) D) *(a+2)

8.若有说明:int a[10]; 则对a数组元素的正确引用是()。

A)a[10] B)a[3.5] C)a(5) D)a[10-10]

9.有以下程序

#include

void main(int argc ,char *argv[ ])

{ int i,len=0;

for(i=1;i

printf(“5d\n”,len);

}

经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行

ex abcd efg h3 k44

执行后输出结果是( )。

A) 14 B) 12 C) 8 D) 6

10.有以下程序

void main( )

{ int i,s=0;

for(i=1;i<10;i+=2) s+=i+1;

printf(“%d\n”,s);

}

程序执行后的输出结果是( )。

A) 自然数1~9的累加和B) 自然数1~10的累加和

C) 自然数1~9中的奇数之和D) 自然数1~10中的偶数之和

二、填空题(每题2分,共16分)

1.若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值。

2.若有short i=-4;则如下语句执行结果为。

printf(“%\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,i);

3.若有定义:int a[3][4]={{1,2},{0}.{4,6,8,10}};

则初始化后a[1][2]= ; a[2][1]= .

4.设char *s=”\ta\017bc”;则指针变量s指向的字符串所占的字节数为。

5.若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值为,*(a+5)的值为。

6.若有数组名作为函数调用的实参,则传递给形参的是。

三、读程序写结果(每题6分,共24分)

1.有以下程序

#include

int x1=30,x2=40;

void sub(int,int);

void main()

{ int x=20,y=10;

sub(x,y);

sub(x2,x1);

printf("%d,%d,%d,%d\n",x,y,x2,x1) ;

}

void sub(int x,int y)

{ x1=x;

x=y;

y=x1;}

执行后输出的结果是。

2.有以下程序

#define LETTER 1

#include

void main()

{char str[20]="C Language",c;

int i=0;

while((c=str[i])!='\0')

{i++;

#ifndef LETTER

if(c>='a' &&c<'z')

c=c+1;

else if(c=='z') c=c-25;

#else

if(c>='B'&&c<='Z')

c=c-1;

else if(c=='A') c=c+25;

#endif

printf("%c",c);

} }

执行后输出的结果是。3.有以下程序

void main( )

{ int i,n=0;

for(i=2;i<5;i++)

{ do

{ if(i%3) continue;

n++;

} while(!i);

n++;

}

printf(“n=%d\n”,n);

}

执行后输出的结果是。

4.有以下程序

#include

void main()

{ int a[10][10],i,j,m,n=9;

if(n%2==0) m=n/2;

else m=n/2+1 ;

for(i=0;i

for(j=i;j

{ a[i][j]=i+1;

a[n-1-i][j]=i+1;

a[j][i]=i+1;

a[j][n-1-i]=i+1; }

for(i=0;i

{for(j=0;j

printf("%d ",a[i][j]);

printf("\n"); }

}

执行后输出的结果是。

相关文档
最新文档