C语言模拟试题

一、 选择题(每小题2分,共30分)

1.在程序中可以用来作为变量名的合法的标识符是:________。 A、int B、stu_1t C、2a1 D、#55 2.以下叙述正确的是 。

A、在C程序中main函数必须位于程序的最前面 B、一个C程序只能有一个函数

C、一个C程序有并且只能有一个main函数

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误 3.已知:char str1, str2[10]; 选择正确的输入语句 :________。 A、scanf (\ B、scanf (\ C、scanf (\ D、scanf (\4.判断char型变量CH是否为小写字母的正确表达式 。 A、?a?<=CH<=?z? B、(CH>=?a?)&(CH<=?z?) C、(CH>=?a?)&&(CH<=?z?) D、(?a?<=CH)AND(?z?>=CH)

5.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值分别是 。

if(x>y)

z=x; x=y; y=z;

A、x=10,y=20,z=30 B、x=20,y=30,z=30 C、x=20,y=30,z=10 D、x=20,y=30,z=20 6.设有程序段 int k = 10 ;

while ( k = 0 ) k = k - 1 ; 以下描述正确的是 。 A、循环体语句一次也不执行。

B、循环是无限循环。

C、while 循环语句执行十次。 D、循环体语句执行一次。

7.以下程序段中与语句k=a>b?1:0;功能等价的是 。 A、if (a>b) k=1; B、if (a>b) k=0;

C、k=0; if (a>b) k=1; D、k=1; if(a>b) k=0; 8. 如果int a=5,b=8则a>b?(a+b):(b-a)的值为( d ) A、5 B、8 C、13 D、3

9. 已知 int b; 则对指针变量正确的说明和初始化是:______ A、int *pb=b; B、int pb=&b; C、int *pb=&b; D、int pb=b;

10.C语言中while和do_while循环的主要区别是 。

A、 do_while的循环至少无条件执行一次

B、 while的循环控制条件比do_while的控制条件严格 C、 do_while允许从外部转到循环体内 D、 do_while的循环体不能是复合语句 11.下列各语句定义了数组,其中哪一个是不正确的( )。 A、char a[2][10]={\ B、int x[2][2]={1,2,3,4}; C、float x[2][]={1,2,4,6,8,10}; D、int m[][3]={1,2,3,4,5,6}; 12.对于以下程序段,运行后i的值为

第 1 页 共 5 页

int i=0,a=2; switch(a) {

case 1: i+=1; break; case 2: i+=2; case 3: i+=3; }

A、2 B、3 C、5 D、6 13. 以下对一维整型数组a的正确说明是 。 A、int a (10) B、int n = 10; a[n ]; C、int n; D、# define SIZE 10 scanf (\ int a [SIZE]; int a [n];

14.自定义函数中形式参数的作用域是 。

A、本文件 B、本函数 C、main 函数 D、整个程序 15.下面函数定义正确的是__________。

A、double fun(double u,v) B、double fun(double u;double v) {return u+v;} {return u+v;}

C、double fun(float u,float v) D、double fun( u,v)

{return u+v;} { float u,v ;return u+v;}

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

1. 一个源程序文件由一个或多个函数组成,C程序的执行从__________函数开始。 2. int i=5, j, k; j=i--; k=i; 则 k的值为__________。

3. 若有代数式x2÷(3x-5y), 则正确的C语言表达式为: ____________________。

4. 设a和b均为double型常量,且a=5.5,b=2,则表达式(int)(a+b)/b的值是 。

5.字符串 \占用内存_________字节。

6.若已定义 int a[]={5,6,7,8},*p=a; 则*(p+3)的值是 。

7.设a=3,b=4,c=5,则逻辑表达式a+b>c&&b==c的值是___________,a||b+c&&b-c的值是___________。

8.判断整型变量a为奇数的逻辑表达式为 。

三、阅读程序题(每小题3分,共15分) 1.写出以下程序的运行结果。 #include main() { int i=1;

while(i<=12)

{ if ((i%3)) printf(\i++; } }

2.写出以下程序的运行结果。 #include

第 2 页 共 5 页

main( )

{ int x=25, y=15;

if( x>y) swap(&x, &y); printf(\}

swap(int *p1, int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; }

3.写出以下程序的运行结果。 #include main( )

{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for(i=0;i<3;i++)

for(j=0;j<=i;j++) s+=a[i][j] printf(“%d\\n”,s); }

4.写出以下程序的运行结果。

#include main()

{ char a[]=“fprogram”,b[]=”fortran”; char *p,*q; p=a; q=b;

while(*p!=?\\0?&&*q!=?\\0?) { if(*p==*q)

printf(“%c ”,*q);

p++; q++; } }

四、程序填空题(每空2分,共10分)

1.以下函数返回a所指数组中最小的值所在的下标值,请填空。 fun(int *a, int n) { int i,j=0,p;

p=j;

for(i=j;i

if(a[i]

2.以下程序让用户输入一个整数n,求n!的值,请填空。 #include void main() {

第 3 页 共 5 页

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4