C语言程序的设计练习一73268_第1页
C语言程序的设计练习一73268_第2页
C语言程序的设计练习一73268_第3页
C语言程序的设计练习一73268_第4页
C语言程序的设计练习一73268_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、C 语言程序设计练习一一、单项选择题1. 下面转义字符中,表示字符串结束的是( )A. r B. n C. 0 D. f2. 在 Turbo C2.0 中,若定义 unsigned int a ;则变量 a 在存中分配的字节数是( )A. 1 个 B.2 个 C.4 个 D.8 个3. 设有 int x=2,y,z; 执行 z=y=x-; 后,变量 z 的值是()A.0B.1C.2D.34. 以十六进制形式输出整数的格式说明符是()A.%uB.%ldC.%xD.%o5. 下面合法的 if 语句是()A.if(a=b) c+; B.if(a=b)c+;C.ifi(ab)c+;D.if(a=b)c

2、+;6. 结束 while (表达式)循环的条件是()A. 当表达式的值为 0 时B. 当表达式的值不为0时C. 当表达式的值为 1 时D. 当表达式的值为非1时7. 若有定义 int a35 ;则数组 a 在存中占用的字节数是()A.8 B.15 C.16 D.308. 在C语言中,当函数返回值的类型缺省时,表示该函数返回值的类型是(A. charB.floatC.longD.int)B.p=&n;scanf( %d ,*p);D.p=&n;*p=m;)D. 一个标志9. 若有说明: int *p,m=5,n; 以下正确的程序段是(A.p=&n;scanf( %d ,n);C.scanf(

3、%d ,&n);p=n;10. 变量的指针,其含义是指该变量的(A. 值B. 地址C. 名16. 结构体是 C 提供的一种专门处理彼此相互有联系,数据类型()A.不一致的多个数据的数据结构B.不一致的单个数据的数据结构C. 一致的多个数据的数据结构D. 一致的单个数据的数据结构11. 下面列出的位运算符中,表示按位与操作的是()A.B.&C.AD.|12. 设有说明:int x=0x03,y=3;表达式 x&y 的值是()A.0B.1C.2D.319. 设有说明:int u=1,v=3,w=2;表达式( v1|u2) &w的值是()A.0B.1C.3D.513. 设有说明:FILE *fp ;

4、char *filename= paper ;对于 fp=fopen(filename , rb+ );语句,下面说确的是()A. 打开名为 filename 的文件读写B. 打开名为 paper 的文件读写C. 打开名为 filename 的文件只读D. 打开名为 paper 的文件只读14. 设有 int a=3, b=-4, c=5; 表达式( ab ) ? a+b : ( a-b , b+4,a-=b+4) 的值是(A. TB. 0C. 3D. 715. 若有下列程序段,欲使 a=2 、 b=3, 对应正确的数据输入方法是( (其中 表示换行)int a, b;scanf( a=%d

5、b=%d ,&a, &b);A. 2B. a=2 b=3C. a=2, b=3D. 2,3316. 下面程序段的输出结果是(main() int s, p;s=p=5;p=+s;p+; +p;printf( ” %dnff,p);A. 5B. 6C. 717. 下列if 语句中,有语法错误的是()A. if(xy);B. if(x=y)x+y;C. if(x!=y)scanf( %d , &x)else scanf(%dD. if(xy)x+; y+;18. 下面程序段执行后的输出结果是()int i=-1;if(i120);a=a+1;printf( %d ,a);A. 100 B. 101

6、C. 120 D. 12121. 下面程序执行后, i 的值是()main( ) int a 5=1,2,3,4,5,i=2printf( %d ,ai+);A. 1 B. 2 C. 3 D. 422. 下面程序的输出结果是( )main( ) int i, x33=9,8,7,6,5,4,3,2,1;for(i=0;iB. A & C. 28.设有说明:int u=1, v=14;表达式 u+v2 的值是()A. 0B. 3C. 5D. 729. 如果将文件指针 fp 指向文件末尾,正确的语句是( )A. feof(fp);B. rewind(fp);C. fseek(fp,0L,0); D

7、. fseek(fp,0L,2);30. 下面程序段中,不能完成的功能是()FILE *fp;char ch = v;fp=fopen( boy , rb+ ); fputc(ch,fp);B. 从 boy 文件中读取一个字符D. 打开名为 boy 的二进制文件A. 建立文件指针 fp 与文件 boy 的联系C. 向 boy 文件中写一个字符31. 设有 int a =3, b=-4, c=0 ;表达式 (ab)?a:b)&c0 的值是()A.-4 B.0 C.1 D.332. 若有下列程序段,欲使 a=2 、b=3, 对应正确的数据输入方法是()(其中 表示换行 )int a, b;scan

8、f( a=%d, b=%d ,&a,&b);A.2B.a=2b=3C.a=2, b=3D.2,3333. 下面程序段的输出结果是( )main( ) int s, p;s=p=5;p=-s;p+;+p;printf( %dn ,p);A.5 B.6 C.7 D.834. 关于 if 语句下面叙述正确的是()A. 只有当 if 语句中表达式的值等于 1 时,才执行 if 的嵌语句B. 只有当if语句中表达式的值为假时,才执行 if的嵌语句C. 只有当if语句中表达式的值等于0时,才执行if的嵌语句D. 只要 if 语句中表达式的值非 0 时,就执行 if 的嵌语句35. 若执行下面程序时,从键盘

9、输入数据3和 4,则程序的输出结果是(main( ) int a,b,s;scanf( %d , &a,&b);s=a;if(ab) s=s*s; printf(s=b%d ,s);A.9B.12C.16D.2536. 若 int x=0; 则 while(x=0);A.0B.1C.237. 下面程序段的输出结果是(for (i=1; i3;i+)for (j=1;j3;j+)printf( %d , i+j);printf( n );A.2 3 3 4C.2 33 438. 下面程序的输出结果是(mian () int a5=2,4,6,8,10,i;i=2;printf( %d ,ai+)

10、;的循环次数是()D. 无限次)B.23 4D.23 4)A.2B.4C.6D.839. 下面程序的输出结果是( )main( ) int a34=1,3,5,7,9,11,13,15,17,19,21,23; int i,j,k=0;for(i=0;i& A45. 设有说明: int u=1, v=2; 表达式:u+vb?a:c0) y=1;else y=0;1 (x 0)1 (x0)A y0 (x 0)B y1 (x0)1 (x 0)0 (x0)0 (x0)1 (x0)C. y1 (x0)D. y1 (x0)1 (x0)0 (x0)53 .执行下面程序段后,输出字符A 的个数是()for(

11、i=0;i=5;i+=2)printf( ” A” );A.0个B. 3 个C. 5 个D. 6 个54.若有定义char a =computer;则存储字符m 的数组元素是()A.a1B . a2C.a3D . a455.若有定义int a 4=1,2,3,4;则 aa3-a1*a1的值是()A.1B. 2C.3D. 412 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()A .自动(auto ) B .静态(static ) C .外部(extern) D .寄存器(register )56 如果一个 C 程序仅由一个源文件组成,则在一个源文件中定义的全局变量的作用域为A.源文件

12、的全部围C .本函数的全部围57 .下列定义中,不是.指针数组定义的是(B .本程序的全部围D .从定义该变量的位置开始至本文件末尾 )A. int*p5 ; B . float*q4 ; C.58 .若有语句 int*point,a=4; 和 point=&a; A . a,point,*&aC . *&point,*point,&a59 .下列程序的运行结果是()#difine N 9fun (char s )char*p=s+4,*q=s;int(*r)6 ; D. char*w7 ; 下面代表地址的一组选项是()B . &*a,&a,*pointD . &a,&*point,point

13、int i;for(i=0;i4;i+ +,p+ +,q + +) si=*p;si+4=*qmain( )char ssN= ” ABCDEFGHfun(ss)printf( %sn ,ss);AEFGHABCDB EFGHEFGHCABCDEFGHD ABCDABCD则 sizeof(struct cjd)的值是A.14B.1561.设有说明:int x=0x15,y=0x0fA.0x5B.0x1560 设有结构体的定义如下: ( )struct cjd long bh;int*q;char xm9;62 如果在程序中要使用系统提供的函数A #includeC #incLude63 .由

14、FILE*fp;fp=fopen( a:abc.txtA char *fopen(char, char);C. int fopen (char*,char*);C . 16D . 17;则 x&y的结果是()C . 0xf0D . 0xf5strlen, 则需要书写的编译预处理命令是()B . #includeD . #incLude,r+ );可以推知fopen函数的原型是()B . FILE *fopen(char*,char*);D. FILF fopen(char* ,char *);64 .整数一2在机器存中的表示是()A. 00010B . 11110C. D. 1111165 .

15、下列运算符中优先级最低的是()A. B. !C. %D. = =66 .设有 int a=3,b=4, c=5;表达式 + +a c+b+ + 的值是()A . 6B . 5C . 4D . 367 .以十进制无符号形式输出整数的格式说明符是()A. %uB. %xC. %oD. %d69 .下列程序段的输出结果是()void main(void)iny y=1,x=5;A69A70AC71AC72A73ABC D74A75Aif(x=0)y=0; printf( dn , y);D5) 1B 0C1执行如下程序段后 ,x 的值是(int x=1,y= 1;if(y0)x =y;else x+

16、=y;D2)B 仅当表达式的值为 1 时D 当表达式的值不为 1 时 )1B 0C1执行 while( 表达式 )循环的条件是( 当表达式的值为 0 时 当表达式的值非 0 时下列程序段输出的结果是(for(i=1;i3;i+ +)for(j=1;j3;j+ +)printf( %d ,i+j);B 2 3 4D23 43 *a0+1的值是()D4)函数中定义2 3 3 42 33 4若有定义 int s4=1,2,3,4; 则 aa21B 2C 3下列关于 C 语言程序说确的是(main函数必须放在程序的开始部分C 语言程序总是从有定义的函数起顺序执行 在 C 语言程序中 , 被调用函数必须

17、在C 语言程序中的 mainC 语言程序总是从 main 函数起开始执行.若有int a =1,2,3,4,5,6,7,8,9,10, 且0 | & B | & C | & D| & C76A77A78AC79A80A81A82A83A84AB设有说明 :int u=1,v=3; 则表达式 u= v 的值是( )0B 13D 8如果文件存储的是数据在存中存放的字节形式, 则该文件是()ASCII文件 B .文本文件C .二进制文件D .设备文件下列转义字符中,表示回车的是( )0B . nC. rD. f.若定义 double d ;则 d 在存中分配的字节数是( )1 个B. 2 个C. 4

18、 个D. 8 个.下列表达式中运算结果为 3 的表达式是( )(-7)%4 B. 7/4+2C. 7/4*4-4 D. 8/3+8/3.设有 int a=3 , b=-4 , c=5; 表达式 a+-c+b+ 的值是()-6B. -5C. -4D. -3.在 printf 语句中,格式说明符 u 表示( )以十进制带符号形式输出整数以十六进制带符号形式输出整数C 以十进制无符号形式输出整数D 以十六进制无符号形式输出整数85 若有 int a=3 ,b=4 ,c=5 , d=6 , x=4 ;执行下列程序段后 x 的值是( ) if(ab)if(c= =d)x=c;elsex=d+A 4B 5

19、C 6D 786 关于 switch 中的表达式,正确的说法是()A 它必须是算术表达式B 它必须是关系表达式C 它必须是逻辑表达式D 它可以是任意类型的表达式87 对 do 语句 while( 表达式 );结构的循环,下列说确的是()A 当表达式的值为非零时不执行循环体B 循环体至少被执行一次C 当表达式的值为零时循环体一次也不执行D 循环体仅被执行一次88 只能在循环语句中用于结束本轮循环的语句是( )A break;B continue;C gotoD if89 若有定义 int a35 ;则数组 a 在存中分配的字节数是()A8B15C24D3090 已知 strl 和 str2 是字

20、符串数组, 下列哪一个函数能正确的完成字符串的输入? ()A gets(strl)B gets(strl , str2)C getchar(strl)D getchar(strl ,str2)91 下列关于函数的描述中正确的是()A C 程序中有调用关系的所有模块必须放在同一个源文件中B 函数必须有返回值,否则不能使用函数CC 程序必须由一个或一个以上函数构成DC 函数既可以嵌套定义又可以嵌套调用92 设有下列程序,则(int d=10;main()d);int a=3;printf(“%d ,%dn ”,a,A a 是全局变量, d 是全局变量B a 是局部变量, d 是全局变量C a 是全

21、局变量, d 是局部变量D a 是局部变量, d 是局部变量93 若有说明: int*p1 ,*p2 , m=5,n; 以下进行赋值的语句中合理的是(A p1=m;B &p2=n;Cpl=&m;p2=p1;D*p1=&m;94 下列为指针数组定义的是(A float(*)6;B float p6;Cfloat(*)();Dfloat *p6;95 设有说明:FILE*fp; 对于 fp=fopen(ffc:abc.datffrbff);语句,下列说法中不正确的是(A fp 将指向 abc.dat 文件B 以只读方式打开二进制文件C 打开文件的文件名是 abc.datD 以读写方式打开 ASCI

22、I 码文件96 ASCII 码文件的结束可以用符号常量EOF 表示。 EOF的值是A0B1C-1D 不能确定的值97. 下列是合法 C 语言常量的是( )A. e B. 7E4.0 C. E4 D. -9.13E-3098. 设有 int a=3,b=-4,c=5; 表达式( ab ) ?a:b&c0 的值是( )A. 0 B. 1 C. 3 D. 499. 以指数形式输出实型数的格式说明符是( )A. %u B. %x C. %f D. %e100. 下列程序的输出结果是( )main( ) int x=5,y;if(x0)y=-1;if(x=0)y=0;y=1;printf( d ,y);

23、A. -5 B. -1 C. 0 D. 1101. 下列程序段的输出结果是( )i=1;while(i3)j=1;while(j 107. 设有说明 :intA. 3 B. 5108. 设有下列程序:#i nclude stdio.hB. ? & |u=1,v=3,w=5; 表达式:C. 6C. ? |v &u|wD. 8D. | ?的值是( )main( )unsigned x=8,y=2;printf( dn ,y| (x&y); 该程序的运行结果是A. -1B. 0xffC.127D. 65535109. 若有定义 : # defineP(x) xxx+1 和说明语句:int a=2;

24、则表达式 P( 2 )的值是()A. 6B. 8C. 9D. 10110. 在语句 fgets(str,n,p);中,下列说法不正确的是()A. str 是字符指针B.一次可以读 n 个字符C. str 是字符数组名D.一次可以读 n-1 个字符111. 在 Turbo C 2.0 中,若定义 char ch; 则变量 ch 在存中分配的字节数是( ) A.1 个 B.2 个 C.4 个 D.8 个6112. 下面程序段的输出结果是( )main ()int a=2 , b=5 ;printf (a= %d %, b= %d % ”,a, b); A.a=2 , b=5B.a=2 , b=5

25、C.a= 2, b=5D.a= d, b=d113. 设有条件表达式( exp) ? a+ :b- ,则下列表达式中能够与该表达式完全等价的表达式 是( )A. (exp!=O ) ? a+ : b-C. (exp=1 ) ? a+ b-114. 对于for (表达式I;表达式A. 表达式 1B. 表达式 2115. 设有下列程序: ( )void main ( void )int x4=1, 3, 5, 7, i;2;exp=0 ) ? a+ : b-exp!=1 )? a+ :b-表达式 3 )语句;控制循环结束的表达式是(C. 表达式 3 D. 表达式 I 和表达式 3B.D.i=0 :

26、printf ( % d , xi+ ); 其输出结果是A.1B.3C.5D.7116. 下列关于函数的说法中,不正确的是()A. 函数名后面一定要一对圆括号B. 空函数被调用时不做任何工作C. 函数形参个数可以是一个、多个或没有D. 函数参数类型可不作说明117. 指向与文件参数有关的结构体类型的指针变量称为( )A. 函数指针B. 整型指针C. 字符型指针D. 文件指针118. 设有int x=2 , y, z;执行z=y=x;后变量y的值是()A.0B.1C.2D.3119. 两次运行下面的程序,如果从键盘上分别输入 6和 4 ,则输出的结果是()void main ( void )int x ;scanf (d, x);if(x + + 5 ) printf (d,x );else printf (%d、n, x );A.7 和 5 B.6 和 3 C.7 和 4 D.6 和 4120. 在下列选项中,没有构成死循环的程序段是( )A.int i=100B.for (;);while ( 1 ) i=i % 100+1 ;if( i100 ) break ; C.int k=1000;do+k ; while ( k10000 );D.int

温馨提示

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

评论

0/150

提交评论