77范文网 - 专业文章范例文档资料分享平台

C语言 模拟试题+答案(3)

来源:网络收集 时间:2019-03-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

10. 设s1,s2为C语言语句,下面四个条件语句中除( )之外,其余三个语句是等价的。

A)if(a) {if (b) s1;} else s2; B)if(!a) s2;else if(b) s1;

C)if(a&&b) s1; else s2; D)if(a*b) s1;else if(!a) s2; 11. C语言的函数体中,下面的描述中( )是正确的。

A) 可以定义和调用其它函数 B)可以调用但不能定义其它函数 C)不可调用但可以定义其它函数 D)不可调用和定义其它函数 12. 在C语言中,switch语句后一对园括号中表达式的类型为( )。

A)可以是任何类型 B)只能为int类型 C)可以是整型或字符型 D)只能是整型或实型

13. 若一个函数体中定义与全局量相同的名字的变量x,在函数体内对x赋值,修改的是( )。

A)局部量x B)全局量x C)局部量和全局量都被修改 D)不确定 14. 已知函数fun定义如下:

int fun(int n) {int x; x=n-3; return (x); } 则函数调用fun(fun(10)) 的值是( )。

A)10 B)7 C)4 D)1 15. 已知int i=10,*p=&i;下面描述错误的是( )。

A)p的值为10 B)p指向整型变量i C)*p表示变量i的值 D)p表示变量i的地址 16.若有以下定义,则对a数组元素的正确引用是( )。 int a[5]={ 1, 2, 3, 4, 5 } ; * p=a ;

A)*a[1] B)a[p+1] C)&(p+1) D)p[a[2]] 17.若有说明:

char *language[]={“FORTRAN”, “BASIC”, “PASCAL”, “JAVA”, “C” }; 则printf( “%s” , language[2] ) 的显示结果值是( )。

A) BASIC B)PASCAL C)R D)一个地址值 18. 若有函数定义:

int *max(int a[], int len)

{ int i, *p ; /* 寻找最大值a[i] */ ; p=&a[i]; return(p);}

并且在主函数中说明了变量 int x[10], m, *pm ; 调用该函数的正确方法是( )。 A)x=max(x,10); B)m=max(x,10); C)pm=max(x,10); D)*pm=max(x,10);

19. 设有定义语句:struct R { int x; int y; }; struct R a[2]={{2,4},{6,8}};则

printf(“%d\\n” ,a[1].y); 的输出为( )。

A)2 B)4 C)6 D)8 20. 设有以下函数的定义,则返回的函数值是( )。

main( ) int * fun(int * a) {int x, *y; { int * t; y=fun(&x); *a=99;

} t=a;

return t;}

A)无确切值 B)形参a的地址

C)主程序中变量x的地址 D)函数中变量t的地址 21. 有如下程序,该程序的输出结果是( )。

main( )

{ int x=1,a=0,b=0; switch(x)

{ case 0: b++; case 1: a++ case 2: a++;b++ }

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

A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2 22. 设有如下定义,则对data中的成员的正确引用是( )。

struct { int x ; float y; } data , *p = &data ;

A)(*p).data.x B)p->x C)p->data.x D)(*p).data 23. 以下叙述中不正确的是( )。

A)一个变量的作用域完全取决于变量说明语句的位置 B)外部变量可以在函数以外的任何位置定义

C)局部变量的生存期只限于本次函数调用,无法将局部变量的值保存至函数的下一次调用

D)用static说明的一个外部变量是为了限制其他编译单位的引用 24. 当调用函数时,实参是一个数组名,则向函数传送的是( )。

A)数组的长度 B)数组的首地址

C)数组每一个元素的地址 D)数组每个元素中的值 25. 设有以下说明语句

struct ex

{ int x ; float y; char z ;} example; 则下面的叙述中不正确的是( )。 A)struct结构体类型的关键字 B)example是结构体类型名 C)x,y,z都是结构体成员名 D)struct ex是结构体类型 26. 以下只有在使用时才为该类型变量分配内存的存储类说明是( )。

A)auto和register B)auto和static

C)register和static D)extern和register 27. 下面是对s的初始化,其中不正确的是( )。

A)char s[5]={“abc”}; B)char s[5]= {‘a’,’b’,’c’}; C)char s[5]=\; D)chars[5]=\; 28. 若有说明int(*p)[3];则以下( )是正确的叙述。

A)p是一个指针数组 B)(*p)[3] 与*p[3]等价

C)p是一个指针,它可以指向一个一维数组中任一元素

D)p是一个指针,它只能指向一个包含3个int类型元素的一维数组

29. 如有以下定义:int y[4][4]={1,2,3,4,5,6,7,8,9,10}, *py1=y[1], (*py2)[4]=y; 则

不能正确引用值为7的数组元素的表达式是( )。

A)*(y[1]+2) B)*(y+1)+2 C)py1[2] D)

py2[1][2]

30. 设有:char s[]=\则以下叙述中正确的是( )。

A) 数组s的内容与指针变量p中的内容相同 B) 数组s的长度与strlen(p)的值相等 C) p[5]的值等于s[5]的值 D) sizeof(s)等于sizeof(*p)

二.填空题。(每空1分,共16分)

1. C 程序可以由多个函数组成,其中必须有且只能有一个名字为 函数。

2. 用高级语言编写的源程序必须通过 程序翻译成二进制程序才能执行,这个二进程

序称为 程序。

3. 在程序中若要使用fabs( )必须使用文件包含命令为 。 4. 逻辑运算符两边的运算对象的数据类型可以是 的数据。 5. 若有定义:int a=3; 表达式(4*5,a=a*2),a+6的值是 ,变量a的值是 。 6. 自增自减运算符的运算对象只能为 ,不能为常量和表达式。 7. 在嵌套if语句中else 总是与 的if配对。

8. 定义文件型指针fp的语句是 ,文件类型在 头文件中定义。 9. 用数组名作为函数调用的实参,则传递给形参的是 。

10.在C语言中,变量的存储类别有四种,它们是 、 、 、_ 。

三、阅读程序,写出运行结果:(每题3分,共24分)0 1. main() 2. main ()

{ int i=3; { int a[]={1,2,3,4,5}, y; switch(i) y=sub(a,5) ;

{ case 4:i+=1; printf(\ case 5:i+=1; break; sub(int s[], int len) case 6:i+=1; break; { int i,sum=0;

default:i+=1; for (i=0; i

3. main ( ) 4. main()

{ int s = 0 , i ; { int f();int x=2,y=4;

for( i = 1; i<10; i++ ) printf(\ if (i%3) printf(\ continue ; int f(int *x,int y) else s+=i ; { *x=*x+y; y=*x+y;

printf (\ return y; }

5. main ( ) 6. main() { static int a[10]={15,2,4}; { union int i, c=0 ; { int a;

for(i=0; i<10; i++) unsigned char ch[2]; if( !a[i] ) c++ ; }au;

printf(\ au.ch[0]=0xfe; au.ch[1]=0xff; printf(\.a); } }

7. main() 8. main()

{ int i,j; { struct s char c,*a=\ { int a;

printf(\ int *b;

for(i=0;i<4;i++) } x[]={{100},{200}},*p=x; *(a+i)=*(a+i+4); int x0[]={110,120},x1[]={210,220};

printf(\ x[0].b=x0; x[1].b=x1;

} printf(\ }

四、程序填空题:(每空2分,共30分) 1. 假设90分以上为A等,80分到89分为B等,70分到79分为C等,60分到69分为D等,

60分以下为E等。下面是输入一个分数,输出相应的五分制成绩的程序。 void main() {float score;

printf(”score=”);scanf(”%f”,score); if(score>100||score<0)

printf(”Input Error!”);

else switch ( _________ ) {case 9:

case 10:printf(”A\\n”);break; case 8: printf(”B\\n”);break; case 7: printf(”C\\n”);break; case 6: printf(”D\\n”);break; default: _____________; }

} 2.下面的函数sum(int n)完成计算

?i ,请完善之。

i?1n sum(int n) { if (n<=0)

printf(\

if(n==1)

______________; else

______________; }

3.以下程序用来判断输入的数f是否为素数。当f为素数时,输出字符串YES,否则输出NO。

请填空。程序中,变量ok用来标志f是否是素数,ok的值为“真”表示是素数,否则不是素数。

#include main( )

{ int i,n,f; int ok;

printf(\ scanf(\ ok=1;i=2;n=f/2;

while(ok &&_______________ ) if(f%i)

i=________________ ; else ok=________________ ; printf(\%d\ if (ok)

printf( ________________ ); else printf( \ }

4. 下面的程序通过函数average()计算数组中各元素的平均值。 float average(int *p, int n) { int i;

float avg=0.0; for(i=0;i

avg=avg+______________; avg = ______________; return avg; } main()

{ int i, a[5]={2,4,6,8,10}; float mean;

mean = average(a,5);

printf(\ }

5. 下面程序的功能是打印100以内个位数为6且能被3整除的所有数。 main() { inti,j;

for ( i=0; ____________ ;i++) { j = i*10+6;

if(_____________) continue; printf(\ }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言 模拟试题+答案(3)在线全文阅读。

C语言 模拟试题+答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/524416.html(转载请注明文章来源)
上一篇:周恩来 - 图文
下一篇:感恩倡议书
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: