《C语言基础》习题及答案.doc_第1页
《C语言基础》习题及答案.doc_第2页
《C语言基础》习题及答案.doc_第3页
《C语言基础》习题及答案.doc_第4页
《C语言基础》习题及答案.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

C语言基础习题及答案一、选择题1.设a的值为15,n的值为5,则进行a%=(n%=2)运算后,a的值为( A )。A.0 B.1 C.12 D.62.设有类型说明 unsigned int a65535; , 按%d格式输出a的值,其结果是( B )。A.65536 B.-1 C.1 D.-32767 3.下列运算符中优先级最高的是( C )。A.?: B.& C.+ D.!=4. 以下程序输出的结果是( A )。 main( ) int a= -1,b=4,k; k=!(+a0)&! (b-8 ;y+i) printf(%d %d ,x-,y);A.10 1 9 2 B.10 9 9 0 C.9 8 7 6 D.10 10 9 121. 设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( D )。A.6 B.6.500000 C.5.500000 D.6.00000022. 以下定义语句中正确的是( A )。A. int a=10,*b=&a; B. float a=b=10.0; C. char a=Ab=B; D. float *a,b=&a;23. 有以下程序main()char str10=China,Beijing,*p=str; printf(%sn,p+10);程序运行后的输出结果是( B )。A. ing B. Bejing C. ng D. China24. 下列关于单目运算符+、-的叙述中正确的是( A )。A.它们的运算对象可以是char型变量、int型变量和float型变量B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量D.它们的运算对象可以是任何变量和常量25. 设a=5、b=6、c=7、d=8、m=2、n=2,执行 (m=ab)&(n=cd)后n的值为( B )。A.4 B.2 C.3 D.1二、填空题1.C语言中静态变量和外部变量的初始化是在_编译_阶段完成的。2.设a为整型变量,初值为12,执行赋值表达式a+=a-=a*a后,a的值是_-264_。3.设a和x都为整型变量,执行赋值表达式x=(a=3,6*3)后,x值为_18_。4.设整型变量a 的值为1,在16位微机中用16进制打印a的值是_ffff_。5.在内存中供用户使用的存储空间可分为三个区:存储程序的程序区,存储数据的静态存储区和动态存储区。在静态存储区中存放的数据是_全局变量和_局部静态_变量。6.C语言提供的预处理功能主要有三种:宏定义,文件包含和条件编译。 条件编译命令有三种基本形式: #ifdef 标识符 #_ifndef_标识符 #_if _表达式 程序段1 程序段1 程序段1 #else #else #else 程序段2 程序段2 程序段2 #endif #endif #endif 7.类型定义:int a10,*p; 执行赋值语句pa;之后,那么p+5是_ a5的地址_,*(p+5)是_ a5_。(第1空答&a5或a+5也不算错),第2空答a5的值也可)三、判断题1、若有说明int c;则while(c=getchar();是正确的C语句。 ( T )2、int i,*p=&i;是正确的C说明语句。 ( T )3、7&3+12的值是15。 ( F )4、while 1 i,j; 一定是错误的C说明。 ( T )5、for( ; ; )S中的语句S必执行无穷多次。 ( F )6、unsigned 和void 在C中都是保留的。 ( T )7、int If=0;会出现编译错误。 ( F )8、char str10; 是错误的说明语句。 ( T )9、构成C程序的基本单位是函数。 ( T )10、所有被调用的函数一定要在调用之前进行定义。 ( F )11、语句int *p; *p=0;存在着潜在的危险。( T )12、语句int *p; p=0;是错误的。( F )13、int *p3;定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针。( T )14、print可以作为变量名使用。( T )15、if (a=0) i=1; 是合法的C语句。( T )四、阅读程序题(写出程序的运行结果)1.【程序】swap1(int x,int y) int w; w=x; x=y; y=w;swap2(int *p1,int *p2) int *p; p=p1; p1=p2; p2=p;swap3(int *pa, int *pb) int p; p=*pa; *pa=*pb; *pb=p;main() int a,b; int *ptr1,*ptr2; a=5; b=7; ptr1=&a; ptr2=&b; swap1(*ptr1,*ptr2); printf(data1=%dtdata2=%dn,*ptr1,*ptr2); swap2(ptr1,ptr2); printf(data3=%dtdata4=%dn,*ptr1,*ptr2); printf(data5=%dtdata6=%dn,a,b); swap3(ptr1,ptr2); printf(data7=%dtdata8=%dn,*ptr1,*ptr2); printf(data9=%dtdata10=%dn,a,b);【运行结果】data1=5 data2=7data3=5 data4=7data5=5 data6=7data7=7 data8=5data9=7 data10=52.【程序】int a3=1,2,3,4,5,6;main() int i,j,(*p)3; p=a; printf(%d %d %dn,p00,*(p0+1),(*p)2); printf(%d %d %dn,p10,*(p1+1),(*(p+1)2); for (i=0; i2; i+) for (j=0; j3; j+) printf(%d ,*(*(p+i)+j); printf(n);【运行结果】1 2 34 5 61 2 3 4 5 63.【程序】main() int i,n=0; for( i=2;i5;i+) do if(i%3) continue; n+; while(!i); n+; printf(n=%dn,n);【运行结果】n=44.以下程序运行后的输出结果是_。【程序】main () char a=Language,b=Programe; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if(*(p1+k)=*(p2+k) printf(%c,*(p1+k);【运行结果】gae5. 【程序】#include void main()int i,j,k,a=5,m66;i=1;k=(a+1)/2;for (j=1;j=a*a;j+)mik=j;if (j%a=0) i=(i%a)+1;continue;

温馨提示

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

评论

0/150

提交评论