C语言程序设计笔试模拟试题-答案_第1页
C语言程序设计笔试模拟试题-答案_第2页
C语言程序设计笔试模拟试题-答案_第3页
C语言程序设计笔试模拟试题-答案_第4页
C语言程序设计笔试模拟试题-答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、PAGE C语言程序设计笔试模拟试题选择题(每小题1.5分,共60分)1)C语言的基本数据类型包括( )。A)整型,实型,逻辑型 B)整型,实型,字符型C)整型,字符型,逻辑型 D)整型,实型,逻辑型,字符型2)以下( )组中的标识符都是合法的C语言用户标识符。A)a_10 B)CHAR C)_int D)signed3ab a#b day a3)b在内存中以( )个字节存放。A)1 B)2 C)3 D)不确定4)下述合法的C语言的字符常量是( )。A)A B)65 C)A D)t5)C语言中的函数( )。A)可以嵌套定义 B)不可以嵌套调C)可以嵌套调用,但不可以递归调用 D)嵌套调用和递归

2、调用均可6)在一个C语言程序中( ):A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置7)C语言中用于结构化程序设计的三种基本结构是( )。A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue8)执行a=3*4,a+5;后a的值为( )。A)17 B)12 C)60 D)59)对于int x=12, y=8; printf (“%d%d%d”, !x, x | y, x&y); 输出的结果是( )。

3、 A)0 1 1 B)0 1 0 C)0 0 0 D)1 1 110)C语言中函数返回值的类型是由( )决定的。A)return语句中的表达式类型 B)调用该函数的主调函数类型C)调用函数时临时指定 D)定义函数时所指定的函数类型11)若用数组名作为函数调用时的实参,则实际上传递给形参的是( )。A)数组地址 B)数组的第一个元素值C)数组中全部元素的值 D)数组元素的个数12)下列各语句定义了数组,其中哪一个是正确的( )。A)int a5,b2,3; B)char no(30);C)int x; D)int x5=1,2,3;13)将整型变量a、b中的较小值为变量c赋值,下列语句中正确的是

4、( )。 A)c= =(ab)? a:b; B)c=if(ab)a else b;C)c=(ab)? a:b; D)(ab)? c=a:c=b;14) 有以下程序段 int m=0,n=0; char c=a;scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%dn,m,c,n);若从键盘上输入:10A10,则输出结果是( )。A)10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,015)有定义语句:int x, y;,若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是( )。

5、A)11 12 B)1112 C)11,12 D)11,1216) 若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是( )。A) 1.4 B) 1 C) 2.0 D) 217)运行下列程序段后,i的结果是( )。 int i=10; switch(i) case 9: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; A)11 B)12 C)13 D)1418)下列程序输出结果是( )。 main() int i; for(i=1;i=5;i+) if(i%2) printf(*); else continue

6、; printf(#); printf($n); A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$19)下列条件语句中,功能与其他语句不同的是( )。A) if(a) printf(%dn,x); else printf(%dn,y);B) if(a=0) printf(%dn,y); else printf(%dn,x);C) if (a!=0) printf(%dn,x); else printf(%dn,y);D) if(a=0) printf(%dn,x); else printf(%dn,y);(20) 以下选项中,与k=n+完全等价的表达式是( )。A) k=

7、n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+121)已知小写字母a的ASCII码为97,对于int a=99, b=b; printf(“%c,%d”, a , b);的结果是( )。A) 99, b B)c, 98 C)99, 98 D)c, b22)下列程序正确的运行结果是( )。main() fun(int x,int y) int j=4,m=1,k; int m=0,i=2;k=fun(j,m); i+=m+1;printf(%d,k); m=i+x+y;k=fun(j,m); return(m);printf(%dn,k); A)8,20 B)8,8

8、C)8,17 D)8,1623) 有以下程序main() int i=1,j=1,k=2;if(j+|k+)&i+) printf(%d,%d,%dn,i,j,k);执行后输出的结果是( )。 A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,324)执行以下程序段后的结果是( )。main() int a=-5; do printf(%2d,a-);while(!a);A)-5 B)-6 C)不打印任何内容 D)陷入死循环25) 有以下程序:main() int i=0,s=0;doif(i%2)i+;continue;i+;s+=i; while(i7);printf(%

9、dn,s);执行后输出的结果是( )。A) 16 B) 12 C) 28 D) 2126) 有以下程序:void f(int x,int y) int t;if(xy) t=x; x=y; y=t; main() int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf(%d,%d,%dn,a,b,c);执行后输出的结果是( )。A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,527) 若有一些定义和语句#include int a=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是( )

10、。A) *q=0; B) w=p; C) *p=&a; D) *p=*w;28) 有以下程序main() char s=n123;printf(%d,%dn,strlen(s),sizeof(s);执行后输出结果是( )。A) 赋初值的字符串有错 B) 6,7 C) 5,6 D) 6,629) 以下程序中,能够通过调用函数fun,使main函数中的指针变量p指向一个合法的整型单元的是( )。A) main()int *p; fun(p); int fun(int *p) int s; p=&s;B) main()int *p;fun(&p); int fun(int *p) int s; *p

11、=&s;C) #includemain() int *p;fun(&p); int fun(int *p)*p=(int*)malloc(2);D) #includemain() int *p;fun(p); int fun(int *p)p=(int*)malloc(sizeof(int);30)表示图中坐标轴上阴影部分的正确表达式是( )。x x a b cA)(x=b)&(x=c) B)(x=a)|(b=x=c)C)(x=b)&(x=c) D)(x=a)&(b=x=c)31)变量ch是英文字母的表达式为( )。 A)(a=ch=z)|(A=ch=a & ch=A & ch=a & ch=

12、A & ch=Z) D) (A=ch=z)&(A=ch=z)32)( )等价于while(!x)。 A)while(x=1) B)while(x=0)C)while(x!=0) D)while(x!=1)33)设变量定义为:int n,*p;char ch,*q,*g;,则语句( )是不正确的。 A)p=&n;g=q=&ch; B)p=&n;q=&ch; C)p=&n;g=&ch D)p=&n;q=&ch;g=p;34)设变量定义如下,则对其中的结构分量num正确的引用是( )。 struct student int num; Char name20; float scire; stud10;

13、 A)stud1.num = 10; B)student.stud.num = 10; C)struct.stud.num = 10; D)struct student.num = 10;35)下列程序段的输出结果是( )。 int t,a3 = 10,5,1; int *p; for(p =a; pa+3; p+) t =t + *p; /没有赋初始值printf(“%d” ,t); A)15 B)16 C)10 D)不确定36)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10 void arrin(int xN) int i=0; while(iN)

14、scanf(%d, ( ) ); 在下划线处应填入的是 A)x+i B)&xi+1 C)x+(i+) D)&xi+37)下列程序功能是根据下式计算s 的值,要求精确到最后一项的绝对值小于106,请选择以下各小题,完成程序。 s = 1-1/3+1/5-1/7+. #include #include void main() int flag = 1, t = 1; ( )while( ) item = flag * 1.0 / t ; s = s + item ; ; t =t+2; printf ( “s = %fn” ,s); A) double item = 2 , s = 0;B) do

15、uble item = 0 , s = 0; C) double item = 1 , s = 1;D) double item = 3 , s = 1; A)item=1e-6; C)fabs(item)=1E-6 A)flag = -1B)s = -s C)flag = -flag;D)t = -t 38)假设定义:int x = 3, y = 3; 则复合赋值表达式x /= 1+y的值为( )。 A) 0 B) 0.75 C) 6 D) 以上都错二、填空题(每空2分,共40分)1)若有程序main() int i,j;scanf(i=%d,j=%d,&i,&j);printf(i=%d,

16、j=%dn ,i,j);要求给i赋10,给j赋20,则应该从键盘输入【1】i=10,j=20 。2)以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。main() int i,a20,sum,count;sum=count=0;for(i=0;i20;i+) scanf(%d,【2】&ai );for(i=0;i0) count+;sum+=【3】ai ;printf(sum=%d,count=%dn,sum,count);3)下面程序的功能是输出以下形式的金字塔图案是: * * * *main( ) int i,j; for(i=1;i=4;i+) for(j=1;j=4-

17、i;j+) printf(“ “); for(j=1;j=【4】2*i-1_;j+) printf(“*”); printf(“n”);4)以下程序的功能是计算s=1+,请填空。main() int n,i;double s=0.0,fac=1.0; scanf(%d,&n);for(i=1;i=n;i+)fac=fac【5】/double(i) ;s=s+fac; printf(“%lf”,s);indmax返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空 。int findmax(int s, int t) int k,p; for(p=0, k=p; psk) 【6】k=p ; return 【7】(k) ;6)以下fun函数的功能是将一个字符串的内容颠倒过来,请填空。#include “string.h”void fun(char

温馨提示

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

评论

0/150

提交评论