正确的赋值表达式是_第1页
正确的赋值表达式是_第2页
正确的赋值表达式是_第3页
正确的赋值表达式是_第4页
正确的赋值表达式是_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、习题十一、单选题1、正确的赋值表达式是 。 A、a=3+b-=7+k B、(a=16*9,b+5),b=2 C、a=b-=c- D、a=b+1=a-b2、若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),则执行下列语句后的输出为 。 ch='a' k=12; printf("%x,%o,",ch,ch,k); printf("k=%dn",k); A、因变量类型与格式描述符的类型不匹配输出无定值 B、输出项与格式描述符个数不符,输出为零值或不定值 C、61,141,k=%d D、6l,141,k=%123

2、、有以下定义,则正确的赋值语句是_。 int a,b; float x; A、a=1,b=2; B、b+; C、a=b=5; D、b= int (x);4、设x,y均为float型变量,则以下不合法的赋值语句是_。 A、+x; B、y=(x%2)/10; C、x * = y+8; D、x=y=0;5、设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是_。 A、x=10 B、x=10 C、x=10 D、x=10 y=15 y=10 y=10 y=5 z =10 z =10 z =15 z =106、设有说明:double y=0.5, z=1.5; i

3、nt x=10; 则能够正确使用C语言库函数的赋值语句是_。 A、z=exp(y) + fabs(x); B、y=log10(y)+pow(y); C、z=sqrt(y-z); D、x=(int) (atan2(double)x,y) + exp(y-0.2);7、为了避免在嵌套的条件语句if else 中产生二义性,C语言规定:else子句总是与_配对。 A、缩排位置相同的if B、其之前最近的if C、其之后最近的if D、同一行上的if8、以下不正确的语句为_。 A、if(x>y); B、if(x=y) && (x!=0) x+=y; C、if(x!=y) scan

4、f("%d",&x); else scanf("%d",&y); D、if(x<y) x+; y+;9、执行下面的程序后,a的值为 。main() int a,b; for(a=1,b=1;a<=100;a+) if(b>=20)break; if(b%3=1) b+=3;continue; b-=5;printf("%d",a); A、7 B、8 C、9 D、1010、一个完整的可运行的C源程序是 。 A、至少需由一个主函数和(或)一个以上的辅函数构成 B、由一个且仅由一个主函数和零个以上(含零个)

5、的辅函数构成 C、至少由一个主函数和一个以上的辅函数构成D、至少由一个且只有一个主函数或多个辅函数构成11、在C语言程序中 。 A、函数的定义可以嵌套,但函数的调用不可以嵌套 B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和调用均不可以嵌套 D、函数的定义和调用均可以嵌套12、以下程序的运行结果为 。#define MAX(x,y) (x)>(y)?(x):(y)main() int a=1,b=2,c=3,d=2,t; t=MAX(a+b,c+d)*100; printf("dn",t);A、500 B、5 C、3 D、30013、执行下列语句后的结果

6、是 。#define N 2#define Y(n) (N+1)*n)z=2*(N+Y(5);A、语句有错误 B、z=34 C、z=70 D、z无定值14、C语言程序设计语言中,宏定义有效范围从定义处开始,到源文件结束处结束。但可以用来提前解除宏定义的作用的是 。 A、 #ifndef B、endif C、#undefine D、#undef15、若有下面的程序片段,则对数组元素的错误引用是 。 int a12=0,*p3,*pp ,i; for(i=0;i<3;i+) pi=&ai*4; pp=p; A、pp01 B、al0 C、p31 D、*(*(p+2)+2)16、若有以下

7、定义和语句,则对w数组元素的非法引用是 。 int w23,(*pw)3;pw=w; A、*(w0+2) B、*pw2 C、pw00 D、*(pw1+2)17、以下程序段中C的二进制值是 。 main() char a=3, b=6,c; c=a b<<2; A、00011011 B、00010100 C、00011100 D、0001100018、以下程序的输出结果是 。 main() int x=35; char z='A'printf("%dn", (x&15)&&(z<'a');A、0 B、1

8、 C、2 D、319、表达式0x13&0x17的值是 A、0x17 B、0x13 C、0xf8 D、0xec二、填空题1、设C语言中,int类型数据占2个字节,则long类型数据占 个字节。2、若a是int型变量,且a的初值为6,则执行表达式a+=a-=a*a后a的值为 。3、若a是int型变量,则执行表达式a=25/3%3后a的值为 。4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n+后x的值为 ,n的值为 。5、有如下程序,要求输入a的值为1,c的值为12.34,从键盘输入数据的具体格式是 ,程序运行后的结果是 。6、函数调用语句:fgets(str,n,f

9、p);从fp指向的文件中读入 (1) 字符放到str数组中,函数值为 (2) 。 7、假设机器的无符号整数字长为16位。若调用此函数时x=0115032,p=7,n=4,则函数返回值的八进制数是 。8、 用fopen函数打开一个文本文件,在使用方式这一项中,为输出而打开需要填入 (1) ,为输入而打开需要填入 (2) ,为追加而打开需要填入 (3) 。9、feof函数可以用于 (1) 文件和 (2) 文件,它用来判断即将读入的是否为 (3) ,若是,函数值为 (4) ,否则为 (5) 。三、程序填空1、下面程序的功能是将字符串s中所有的字符c删除。请选择填空于 处。 #include<s

10、tdio.h>main()char s80;gets(s);for(i=j=0;si!='0'i+) if(si!='c') (1) ;sj='0'puts(s); A、sj+=si B、s+j=si C、sj=si;j+ D、sj=si2、以下函数用于统计一行字符中的单词个数,单词之间用空格分隔。int num(char str )int i,num=0,word=0;for(i=0;stri!= (2) ;i+)if( (3) )=' ')word=0;else if(word=0) word=1; (4) ;retur

11、n num;3、以下程序将两个字符串中的字符连接。#include <stdio.h>main()char s140,s220;int j,k;i=k=0;while( s1!= (5) )i+;while(sj!= (6) )s1i+=s2j+; (7) ='0' 4、请补充main函数,该函数的功能是把文本文件B中的内容追加到文本文件A的内容之后。 例如,文件B的内容为"I'm a teacher!",文件A的内容为"I'm a students!",追加之后文件A的内容为"I'm a s

12、tudents! I'm a teacher!"#include<stdio.h> #define N 80 main() FILE *f1,*fpl,*fp2; int i; char cN,t,ch; if(fp=fopen("A.dat","r")=NULL) printf("file A cannot be openedn"); exit(0); printf("n A contents are:nn"); for(i=0;(ch=fgetc(fp)!=EOF;i+) ci=c

13、h; putchar(ci); fclose(fp); if(fp=fopen("B.dat","r")=NULL) printf("file B cannot be openedn"); exit(0);printf("nn B contents are:nn");for(i=0;(ch=fgetc(fp)!=EOF;i+) ci=ch; putchar(ci);fclose(fp);if(fpl =fopen("A.dat",a) (8) (fp2=fopen("B.dat&quo

14、t;,"r") while(ch=fgetc(fp2)!=EOF) (9) ; else printf("Can not openA B!n"); fclose(fp); fclose(fpl); printf("n*new A contents*nn"); if(fp=fopen("A.dat","r")=NULL) printf("file A cmmot be openedn"); exit(0); for(i=0;(ch=fgetc(fp)!=EOF;i+) ci=c

15、h; putchar(ci); (10) ; 四、分析程序运行结果1、以下程序的输出结果是: 。main() int a=4,b=5; float c=1.5,d=123.789,e=456.12;printf("a=%5d,b=%-10d,c=%6.2f,d=%6.2f,e=%10.2fn",a,b,c,d,e);2、下列程序输出结果是 。main() int m,n;unsigned int u1,u2; u1=65535;u2=10000;m=u1;n=u2;printf("ul=%u,u2=%unm=%d,n=%dn",u1,u2,m,n);3、

16、 main() int a=2,b=7,c=5; switch( a>0) case 1: switch (b<0) case 1: printf(""); break; case 2: printf("!"); break; case 0: switch (c=5) case 0: printf("*");break; case 1: printf("#");break; default: printf("#"); break; default: printf("&

17、;"); printf("n"); 4、请读程序: #include <stdio.h> main () int x=1,y=0,a=0,b=0;switch(x) case 1: switch (y) case 0: a+;break; case1: b+;break; case 2: a+; b+;break; printf("a=%d,b=%d",a,b);上面程序的运行结果是_。5、main() int i,s=0; for(i=0;i<=20;i+) if(i%2=0) s+=i; printf("s=%d

18、n",s); 6、 main() int x,s=0,t; scanf("%d",&x); do t=x%10; s+=t; x/=10; while(x!=0); printf("s=%dn",s); 设输入数据为:4267、程序10#include<stdio.h> int gcd(int m,int n) int g;if(m%n=0)g=n;else g=gcd(n,m%n);return g; main() int m=36,n=28; printf("%dn",gcd(m,n);8、#incl

19、ude<stdio.h>main() struct example unionint x; int y;in; int a;int b; e; e.a=1;e.b=2;9、阅读下列程序,写出程序运行的输出结果。 char s ="ABCD" main() char *p; for(p=s;p<s+4;p+) printf("%sn",p); 五、分析下面程序存在的错误1、计算10 ! main() int x=1;sum=1; while(x<=l0); sum=sum*x; printf("%d",sum);2、下面add函数的功能是求两个参数的和,并将和值返回调用函数。函数中错误的部分 应改为 。 (1) void add(float a,float b) (2) float c; (3) c=a+b; (4) return c;六、问答题阅读程序回答问题1、 # include <stdio.h>main()int m33=1,2,3,4,5,6,7,8,9,i,j,k;for(i=0;i<3;i+)for(j=0;j<3;j+)

温馨提示

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

评论

0/150

提交评论