C语言 模拟试题集1_第1页
C语言 模拟试题集1_第2页
C语言 模拟试题集1_第3页
C语言 模拟试题集1_第4页
C语言 模拟试题集1_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

C语言 模拟试题集提醒:所有C语言语句及字符均使用Courier New字体显示(字体示例:ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 1234567890 ;/&*#%=-+”:,.),其余与语句无关均用Times New Roman表示。填空题:1、C语言中基本的数据类型有: 、 、 。2、C语言中普通整型变量的类型说明符为 ,在内存中占 字节,有符号普通整型的数据范围是 。3、整数-35在16位机内的补码表示为 。4、执行下列语句int a=8;a+=a-=a*a; 后,a的值是 。5、有如下语句:char A =”I am a student”; 该字符串的长度是 ,A3= 。6、符号”a”和a的区别是 。7、所谓“指针”就是 。“&”运算符的作用是 。 “*”运算符的作用是 。8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是 。9、设整型变量n的值为2,执行语句n+=n-=n*n后,n的值是 。10、下列程序的输出结果是 。int ast(int x,int y,int * cp,int * dp) *cp=x+y;*dp=x-y;main() int a=4,b=3,c,d;ast(a,b,&c,&d);printf(%d,%d/n,c,d;11、C语言的预处理语句以_开头。12、表达式7+82&25%5的结果是_。13、C语言中putchar(c)函数的功能是_。14、语句int *p;的含义是_。15、定义fp为文件型指针变量的定义方法为_。16、语句 int a34;共定义了_个数组元素。17、实型变量的类型说明符有:_、_。18、C语言中数组的下标下限为_。20、设x=4,y=(+x)+(+x);那么y的值为_,表达式执行后,变量x的值为_。21、一个变量的指针是指_。22、能够构成一个数组,其元素满足的特点是_;那么,构成结构体的成员可以是_。23、下面运算符 =7-10_ (4)34?3%2:1 _ (5)x=2,y=2;+x|+y_ (6)x=3;x+=x-=2_26、在C语言中,正确的标识符是由_组成的,且由_开头的。27、设p=30,那么执行q=(+p)语句后,表达式的结果q为_,变量p的结果为_。若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_。29、在C语言程序中,对文件进行操作首先要_;然后对文件进行操作,最后要对文件实行_操作,防止文件中信息的丢失。30、以下程序(头文件省略)运行后的输出结果是 。该程序的功能是 。main() int x=10,y=20,t=0;if(x!=y) t=x; x=y; y=t;printf(“%d,%dn”,x,y); 31、若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为读而打开此文件:fp=fopen( );。33、在循环中,continue语句与break语句的区别是:continue语句是 ,break 是 。34、在内存中存储“A”要占用( )个字节,存储A要占用( )字节。35、符号常量的定义方法是( )。36、能表述“20x30或x0?2*x+1: 0表达式的值是_。54、变量Y满足以下两条件中的任意一个:能被4整除,但不能被100整除;能被400整除。请用逻辑表达式表示所给条件。_55、逻辑运算符&、|、 !中的优先级是_57、在C语言中,字符串常量是用 表示一串字符。58、若有说明和语句:int a=25,b=60;b=+a;则b的值是 。59、若int x=5;while(x0)printf(“%d”,x-);的循环执行次数为 。60、若有int a5,*p=a;则p+2表示第 个元素的地址。61、若有说明和语句:int a=5,b=6,y=6;b-=a;y=a+;则b和y的值分别是 、 。62、已知整型变量a=3,b=4,c=5,写出逻辑表达式a|b+cc&b-c的值是 。63、C程序设计的三种基本结构是 _、_和_。64、数组是表示类型相同的数据,而结构体则是若干 数据项的集合。65、C语言中文件是指 。66、C语言源程序文件的扩展名是 (1) ,经过编译后,生成文件的扩展名是 (2) ,经过连接后,生成文件的扩展名是 (3) 。67、把a,b定义成长整型变量的定义语句是 (4) 68、设x和y均为整型变量,且x=3,y=2,则1.0*x/y表达式的值为 (5) 69、已有定义:float x=5.5;则表达式:x=(int)x+2的值为 (6) 70、已有定义:int x=0,y=0;则表达式:(x+=2,y=x+3/2,y+5)后,变量x的值为 (7),变量y的值为 (8),表达式的值为 (9) 。71、执行以下for(i=1;i=5;i+)语句后,变量i的值为(10) 。72、数组是表示类型相同的数据,而结构体则是若干 (11) 数据项的集合。73、若有定义:char c=010;则变量c中包含的字符个数是( )。74、C语言提供的三种逻辑运算符是( )、( )、( )。75、设y为int型变量,请写出描述“y是奇数”的表达式( )。76、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式( )。77、在C语言中,二维数组元素在内存中的存放顺序是( )。78、若有定义:double x35;则x数组中行下标的下限为( ),列小标的上限为( )。79、若有定义:int a34=1,2,0,4,6,8,10;则初始化后,a12得到的初值是( ),a22得到的初值是( )。80、若自定义函数要求返回一个值,则应在该函数体中有一条( )语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符( )。81、函数中的形参和调用时的实参都是数组名时,传递方式为( ),都是变量时,传递方式为( )。填空题答案:1、整型、浮点型、字符型。 2、int , 2 , -32768 +327673、1111111111011101 4、-112 5、14,m6、”a”是字符串常量,而a是字符常量。7、存放地址值的变量或常量,或者答地址 取运算对象的地址 取指针变量所指的内容8、a=1,b=3,c=2 9、-4 10、7,111、#号 12、0 13、将变量c中的字符显示到屏幕上。14、指针变量p为整型 15、FILE *fp 16、1217、float double 18、0 20、12,6 21、该变量的地址22、同一类型;不同类型 23、 + % 20 & x30)|x-100 37、分支结构,循环结果 38、while do for39、#include “stdio.h” # include “string.h” 40、a11=0 , a21=041、* 指针运算符, &地址运算符 42、分号; 43、复合语句44、a=12,b=24,c=36 45、 46、非047、编辑、编译、连接、执行 48、 “表达式”未尾加“;”号就成“语句”49、没有 50、顺序、分支、循环 51、352、9 53、 3 54、 y%4=0&y%100!=0|y%400=0 55、 ! & | 57、双引号 58、26 59、5 60、三(3)61、1,20 62、1 63、顺序结构、选择结构、循环结构 64、类型不同65、存储在外部介质上的相关数据集合。 66、(1).C (2).OBJ (3).EXE(小写也正确) 67、(4)long(int) a,b; 68、(5)1.5 69、(6)7.000000 70、(7)2 (8)3 (9)8 71、(10)7 72、(11)类型不同73、1个 74、与&、或|、非! 75、y%2!=0 76、xz|y3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。A. 缩排位置相同的if B. 在其之前未配对的if C. 在其之前未配对的最近的if D.同一行上的if3、以下程序的输出结果是( )。 int x=10,y=10; printf(“%d %dn”,x-,-y); A. 10 10 B. 9 9 C. 9 10 D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。AP+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i5、选出下列标识符中不是合法的标识符的是( )。 A. hot_do B. cat1 C. _pri D. 2ab6、以下程序的输出结果是( )。int a=5; float x=3.14;a*=x*(E - A); printf(“%fn”,(float)a); A. 62.000000 B. 62.800000 C. 63.000000 D. 627、设有说明double (*p1)N;其中标识符p1是( )。 A. N个指向double型变量的指针。 B. 指向N个double型变量的函数指针。 C. 一个指向由N个double型元素组成的一维数组的指针。 D. 具有N个指针元素的一维指针数组,每个元素都只能指向double型量。8、在C程序中有如下语句:char *func(int x,int y); 它是( )。 A. 对函数func的定义。 B. 对函数func的调用。 C对函数func的原型说明。 D. 不合法的。9、以下程序的输出结果是( )。 char str15=”hello!”;printf(“%dn”,strlen(str); A. 15 B. 14 C. 7 D. 610、分析以下程序的输出结果是( )。main()int a=5,b=-1,c; c=adds(a,b); printf(“%d”,c); c=adds(a,b); printf(“%dn”,c); int adds(int x,int y)static int m=0,n=3; n*=+m; m=n%x+y+; return(m); A. 2,3 B. 2,2 C. 3,2 D. 2,411、下列描述中不正确的是( )。A. 字符型数组中可能存放字符串。B. 可以对字符型数组进行整体输入、输出。C. 可以对整型数组进行整体输入、输出。D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。12、以下程序的输出结果是( )。#define f(x) x*xmain()int a=6,b=2,c; c=f(a)/f(b); printf(“%dn”,c); A. 9 B. 6 C. 36 D. 1813、设有如下定义: int x=10,y=3,z;则语句printf(%dn,z=(x%y,x/y); 的输出结果是( )。A. 1 B. 0 C. 4 D. 314、定义如下变量和数组:int i; int x33=1,2,3,4,5,6,7,8,9;则语句for(i=0;i5) printf(%d,x);else printf(%dn,x - -);A. 7和5 B. 6和3 C. 7和4 D. 6和417、设有如下定义: char *aa2=abcd,ABCD; 则以下说法中正确的是( )。A)aa数组成元素的值分别是abcd和ABCDB)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符a和A的地址18、下列程序的输出结果是( )。char *p1=abcd, *p2=ABCD, str50=xyz;strcpy(str+2,strcat(p1+2,p2+1);printf(%s,str);A. xyabcAB B. abcABz C. ABabcz D. xycdBCD19、下列程序的输出结果是( )。int a5=2,4,6,8,10,*P,* *k;p=a; k=&p;printf(%d,*(p+);printf(%dn,* *k);A. 4 4 B. 2 2 C. 2 4 D. 4 620、不能把字符串:Hello!赋给数组b的语句是( )。A. char b10=H,e,l,l,o,!; B. char b10; b=Hello!;C. char b10; strcpy(b,Hello!); D. char b10=Hello!;1、C 2、C 3、D 4、B 5、D 6、A 7、C 8、C 9、D 10、A 11、C 12、C 13、D 14、C 15、B 16、C 17、D 18、D 19、C 20、B选择题(二)1、以下选项中属于C语言的数据类型是( )。A. 复合型 B. 双精度型 C. 逻辑型 D. 集合型2、以下说法中正确的是( )。A. C语言程序总是从第一个的函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分5、若已定义:int a9, *p=a;并在以后的语句中未改变p的值,不能表示a1地址的表达式为( )。A. p+1 B. a+1 C. a+ D. +p6、设有如下定义: int x=10,y=3,z; 则语句printf(%dn,z=(x%y,x/y); 的输出结果是( )。A. 1 B. 0 C. 4 D. 37、定义如下变量和数组: int i, x33=1,2,3,4,5,6,7,8,9;则下面语句for(i=0;i5) printf(%d,x);else printf(%dn,x - -);A. 7和5 B. 6和3 C. 7和4 D. 6和410、设有如下定义:char *aa2=abcd,ABCD;则以下说法中正确的是( )。A)aa数组成元素的值分别是abcd和ABCDB)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符a和A的地址11、以下语句的输出结果是( )。int a=-1,b=4,k;k=(+ +a0)&!(b - -s) t=u;t=s; B. t=u; if(t) t=s; C. if(us) t=s;else t=u; D . t=s; if(u ) t=u;7下列程序段的输出结果是 。void main() int k;for (k=1;k=0|b=0)&(a0 |b=0 & b=0)&(a0 & b0) &(a+b010C语言中,合法的字符型常数是_。AA B“A” C 65 D A11设有数组定义:char array=”China”; 则数组所占的空间是_。A4个字节 B5个字节 C6个字节 D7个字节12若变量c为char类型,能正确判断出c为小写字母的表达式是_。Aa=c=a) | (c=z)C(a=c) D (c=a) & (c=y)&(y=z) B. (x=y)AND(y=z) C(x=y=z) D. (x=z)&(y=z)20以下可以作为C语言合法整数的是_。A1010B B. 0368 C0Xffa D. x2a221在函数中默认存储类型说明符的变量应该是_存储类型。A内部静态 B. 外部 C自动 D. 寄存器1 B 2B 3D 4C 5D 6C 7A 8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21C选择题(四)1、下列属于整型常量的是_。 A、12 B、12.0 C、-12.0 D、10E102、不属于字符型常量的是_。 AA B、a C、“A” D、b3、下列表达式为关系表达式的为_。(其中a为一整型变量) A3+4*5 B、a=10 C、a0?a:-a D、a=14、下面不正确的赋值语句是_。 Aa=a+1 B、a= =b C、a+=b D、a=15、下列对数组定义不正确的语句是_。 Aint m5; B、char b=h,e; C、int a10=1,6,8,4; D、char p;6、若有以下定义,则_和_是对数组元素的正确引用。 int a5,*p=a A *&a6 B、*p+8 C、*(a+2) D、*p7、执行下列语句后,a的值是_。int a=8;a+=a-=a*a; A-240 B、64 C、112 D、-1128. 指出下面正确的输入语句( )。 A. scanf(“a=b=%d”,&a,&b); B. scanf(“%d,%d”,&a,&b); C. scanf(“%c”,c); D. scanf(“%fn”,&f);9下面的变量说明中正确的是_。 Aint:a, b, c; Bint a; b; c; Cint a, b, c Dint a, b, c;10. C语言用( )表示逻辑“真”值。 ATrue B. t 或 y C. 非零整型值 D. 整型值011若x=5,y=4 则y*=x+5; 时y的值为( ). A. 40 B. 20 C. 15 D. 3014Break语句的正确的用法是( )。A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。B. 在多重循环中,只能退出最靠近的那一层循环语句。C. 跳出多重循环。 D. 只能修改控制变量。15两个指针变量的值相等时,表明两个指针变量是_。A. 占据同一内存单元。 B. 指向同一内存单元地址或者都为空。C. 是两个空指针。 D. 都没有指向。16字符串指针变量中存入的是_。 A字符串的首地址。 B. 字符串 C第一个字符 D. 字符串变量。17以_个是不正确的描述。 A. 不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。B. 在定义函数时,必须指定形参的类型。 C. 形参和实参之间可以是值传递。D. 数组名可以作为参数进行传递。18 表达式“1?(0?3:2):(10?1:0)”的值为_。 A3 B. 2 C. 1 D. 019. 为表示关系xyz,应使用C语言表达式A(x=y)&(y=z) B. (x=y) AND (y=z)C(x=y=z) D. (x=z)&(y=z)20 以下说法中正确的是_。A C语言程序总是从第一个定义的函数开始执行。B 在C语言程序中,要调用的函数必须有main( ) 函数中定义。C C语言程序总是从main( ) 函数开始执行。D C语言程序中的main( ) 函数必须放在程序的开始部分。21设有数组定义:char array=”China”;则数组所占的存贮空间为_。 A4个字节 B. 5个字节 C. 6个字节 D. 7个字节22根据C语言的语法规则,下列_个是不合法标识符。 AWhile B. Name C. Rern5 D. _exam1、 A 2、 C 3、 B 4、 B 5、 D 6、C D 7、 D 8、 B 9、 D 10、 C 11、 A. 13、 D 14、B 15、 A. 16、 A 17、 A. 18、 B 19、 A 20、 C 21、C 22、A选择题(五)在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为( )AFILE BRUN CEDIT DOPTION下列语句不具有赋值功能的是( )Aa*=b Bx=1 Ca+b Da+C语言程序中,当出现条件分支语句ifelse时, else与( )组成配对关系A同一复合语句内部的if B在其之前任意的ifC在其之前未配对的最近的if D首行位置相同的if.下列数组定义方式不正确的语句是( )Achar x5; Bchar y=h,e,l,l,o;C int x10=12,13,14,15; Dint y;. 若有如下定义和语句,且0=i8+2 Ba&d C (a*2-c)|d Da-bm C(*p).m Dp.stu.n下列函数中不能用于对文件进行输入输出操作的是( ) Afscanf( ) Bprintf( ) Cfgetc( ) D fputs( )B C C . C . A D A . D . D B选择题(六)1一个C语言程序是由( )构成。A语句 B行号 C数据 D函数2下面标识符中正确的是( )。Aa#bc B123ABC Csime DYMD3在C语言中,存储一个整型、字符型、双精度实型变量所需的字节数是( )。 A2、1、8 B4、1、4 C4、1、4 D2、2、84、为了避免嵌套的条件分支语句 if-else中的else总是与( ) 组成成对关系。A. 缩排位置相同的 B. 在其之前未配对的 C. 在其之前未配对的最近的if D

温馨提示

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

评论

0/150

提交评论