基础C语言模拟题(含答案).doc_第1页
基础C语言模拟题(含答案).doc_第2页
基础C语言模拟题(含答案).doc_第3页
基础C语言模拟题(含答案).doc_第4页
基础C语言模拟题(含答案).doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、单选题:(每题1.5分,共60分)1、 C程序是()A. 顺序执行B. 从Main函数开始C. 从函数体开始D. 任意语句答案: B2、 以下说法中正确的是()。A. 语言程序中是从第一定义的函数开始执行B. 在语言程序中,要调用的函数必须在main()函数中定义C. 语言程序总是从main()函数开始执行D. 语言程序中的main()函数必须放在程序的开始部分答案: C3、 算法的表示方法有_。A. 自然语言,传统流程图,N-S流程图,伪代码,计算机语言B. 高级语言,汇编语言,机器语言C. C语言,QBASIC语言,InterDevD. 图形图像法,描述法,编程法E. 计算机语言答案: A4、 以下选项中,非法的字符常量是()A. tB. 17C. nD. xaa答案: C5、 以下所列的C语言常量中,错误的是A. 0xFFB. 1.2e0.5C. 2LD. 72答案: B6、 下列变量名合法的是()A. #1B. $567C. a-bD. m_number答案: D7、 下面四个选项中,均是不正确的八进制数或十六进制数的选项是A. 016 0x8f 018B. 0abc 017 0xaC. 010 -0x11 0x16D. 0a12 7ff -123答案: D8、 sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式答案: B9、 C语言中,double类型数据占()个字节,char类型数据占()个字节A. 1B. 2C. 4D. 8和1答案: D10、 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是A. c=b=a;B. (a=c) (b=c) ;C. (a=c) &(b=c);D. a=c=b;答案: C11、 若已定义x和y为double型,则表达式:x=1,y=x+3/2的值是()A. 1B. 2C. 2.0D. 2.5答案: C12、 执行语句x=(a=3,b=a-)后x,a,b的值为;A. 3 3 2B. 3 2 2C. 3 2 3D. 2 3 2答案: C13、 语句printf(abrehiyboun);的输出结果是A. abrehiybou B. abrehiybouC. rehiyouD. abrehiybou答案: C14、 在下列运算符中,优先级别最高的是A. =B. =C. %D. &答案: C15、 若执行下面的程序时从键盘上输入3和4,则输出是main()inta,b,s;a=3,b=4;scanf(%d%d,&a,&b);s=a+b;printf(%dn,s-);printf(%dn,-s);A. 7,7B. 7,5C. 6,7D. 7,6答案: B16、 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。#includemain()intx;seanf(”d”,x);if(x+5)printf(”d”,x);elseprintf(”dn”,x-);A. 7和5B. 6和3C. 7和4D. 6和4答案: A17、 设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)&(n=cd)运算后,n的值为:A. 0B. 1C. 2D. 3答案: C18、 逻辑运算符两侧运算对象的数据类型A. 只能是0或1B. 只能是0或非0正数C. 只能是整型或字符型数据D. 可以是任何类型的数据答案: D19、 表示关系X=Y=Z的C语言表达式为_。A. (X =Y)&(Y =Z)B. (X =Y)AND(Y =Z)C. (X =Y =Z)D. (X =Y)&(Y =Z)答案: A20、 判断字符型变量x是否是大写字母的正确的表达式_.A. A=x=A)&(x=Z)C. (Ax)D. (x=A)&(xy)z=x;x=y;y=z;A. x=10,y=20,z=30B. x=20,y=30,z=30C. x=20,y=30,z=10D. x=20,y=30,z=20答案: B23、 以下程序的输出结果是main()inta=100,x=10,y=20,ok1=5,ok2=0;if(xy)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;printf(%dn,a);A. 1B. 0C. -1D. 值不确定答案: C24、 i、j已定义为int类型,则以下程序段中内循环体的总的执行次数是for(i=5;i;i)for(j=0;j8;y=+i)printf(%d,%d,x-,y);A. 10 1 9 2B. 9 8 7 6C. 10 9 9 0D. 10 10 9 1答案: D26、 执行语句:for(i=1;i+4;);后,变量i的值是_.A. 3B. 4C. 5D. 不定答案: C27、 以下程序的输出结果是inti,j,x=0;for(i=0;i2;i+)x+;for(j=0;j3;j+) if(j%2)continue; x+; x+ printf(x=%dn,x);A. x=4B. x=8C. x=6D. x=12答案: B28、 有以下程序段intk=0while(k=1)k+;while循环执行的次数是A. 无限次B. 有语法错,不能执行C. 一次也不执行D. 执行1次答案: A29、 在while(x)语句中的x与下面条件表达式等价的是()。A. x=0B. x=1C. x!=0D. x!=1答案: C30、 执行下面的程序段后,变量k中的值为s0=k;k=s1*10;A. 不定值 B. 33 C. 30 D. 10答案: A31、 若有说明:inta10;则对a数组元素的正确引用是A. a10B. a3,5C. a(5)D. a10-10答案: D32、 设有数组定义:chararray=”China”;,则数组array所占的空间为()。A. 4个字节B. 5个字节C. 6个字节D. 7个字节答案: C33、 从下列选项中选择不会引起二义性的宏定义是()。A)#definePOWER(X)X*XB)#definePOWER(X)(X)*(X)C)#definePOWER(X)(X*X)D)#definePOWER(X)(X)*(X)A. AB. BC. CD. D答案: D34、 在说明语句:int*f();中,标识符f代表的是A. 一个用于指向整型数据的指针变量B. 一个用于指向一维数组的行指针C. 一个用于指向函数的指针变量D. 一个返回值为指针型的函数名答案: D35、 若有说明:inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是A. i=*p;B. p*=*&j;C. i=&j;D. i=*p;答案: D36、 下面程序的输出是main()charx=040;printf(%dn,x=x1);A. 100B. 160C. 120D. 64答案: D37、 C语言中_函数的递归调用。A. 允许 B. 不允许C. 由用户自己而定D. 不确定答案: A38、 关于建立函数的目的,以下正确的说法是A. 提高程序的执行效率B. 提高程序的可读性C. 减少程序的篇幅D. 减少程序文件所占内存答案: B39、 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是A. 3B. 4C. 5D. 有语法错答案: A40、 以下函数fff(floatx)printf(”dn”,x*x);的类型是()。A. 与参数x的类型相同B. void类型C. int类型D. 无法确定答案: C填空题:(每题1.5分,共24分)1、 在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为_;一个double型数据在内存中所占的字节数为_答案: 4,82、 设有以下变量定义,并已赋确定的值 char w; int x; float y; double z; 则表达式:w*x+z-y所求得的数据类型为_ 。答案: double3、 设x和y均为int型变量,且x=1,y=2,则以下表达式:0+x/y的值为_ 。答案: 04、 若a是int型变量,则计算表达式后a的值为_ a=25/3%3答案: 25、 语句:x+;?+x; x=x+1;?x=l+x; ,执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)答案: X+=16、 若变量已正确定义,以下语句段的输出结果是。 x=0;y=2;z=3; switch(x) case O:switch(y=2) case 1:printf(”*”);break; case 2:printf(”);break; case 1:switch(z) case 1:printf(”$”); case 2 t printf(”$”);break; d答案: *#7、 设x,y、z均为int型变量,请写出描述“x或Y中至少有一个小于Z”的表达式。答案: xZ|YZ8、 已知char ch;则判断ch是英文字符的逻辑表达式是_答案: (ch=a)|(ch=A) 9、 表示条件:10 x 100或x 10&X 100)| X 100) printf(”dn”,a100); else pIintf(”dn”,a=100);答案: ! |11、 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 #include main() int i, j; for(i=0; _; i+) j=i*10+6; if( _ ) continue; printf(%d,j); 答案: i10,j%3!=012、 下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。请填空。 #include #include main() char a=clanguage,t; int i, j, k; k=strlen(a); for(i=0; i =k-2; i+=2) for(j=i+2; j aj13、 读入一个1到9的数a,求s=a+aa+aaa+aaa(共20项)。请对下述程 序填空,其中temp保存当前处理项aaa。(每个空分别以序号标注,如:(1) _) #include main() int I; long a,s,temp; s=temp=0; printf(Please enter a number(1-9); scanf(1)_); s=a; for (I=1;(2)_;(3)_) 答案: %lf,&a , i20, i+,a+a*10 , temp14、 下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存人数组b,并按每行3个元素 输出数组b。请填空。 #include main() int a10,b10,i; for(i=0;_;i+) scanf(”d”,&ai); for(i=1;_;i+) bi=ai-ai-1; for(i=1;i10;i+) printf(”3d”,b答案: i10 i10 i3=015、 下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。 #include #include main() char a=”clanguage”,t; int i,j,k; k=strlen(a); for(i=0;iaj16、 阅读以下程序并填空,该程序是求阶乘的累加和。 S=0!+1!+2!+n! #include long f(int n) int i: long s; s=_; for(i=1;i=n;i+) s=_; return s; main() long s; int k,n; scanf(”答案: 1 s*i 0 f(k)程序设计题:(请在以下3题中任选2题作答,若3道全部解答,以前2道为准,每题8分,共16分)1、 编程序求出100到200之间同时满足除3余2和除5余3条件的数的个数。答案: main() int i,num=0; for(i=100;i =200;i+) if(i%3=2)&(i%5=3) num=num+1; printf(n%d,num); 本题答案:62、 回文数是指正读和反读都一样的正整数。例如3773等都是回文数。求出1000,9999以内的回文数是6的倍数的最大回文数。答案: main() int a1,b1,a2,b2,i,hwm; for(i=1000;i =9999;i+) a1=i/1000; b1=i/100-a1*10; b2=i/10-a1*100-b1*10; a2=i%10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论