ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:20.71KB ,
资源ID:11381297      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11381297.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《C语言基础》习题及答案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《C语言基础》习题及答案.docx

1、C语言基础习题及答案 C语言基础习题及答案 C语言基础习题及答案 一、选择题 1.设a的值为15,n的值为5,则进行a%=(n%=2)运算后,a的值为。 2.设有类型说明 unsigned int a65535; , 按%d格式输出a的值,其结果是。B.-1D.-327673.下列运算符中优先级最高的是。 A.?:B.&C.+D.!= 4. 以下程序输出的结果是。 main( ) int a= -1,b=4,k; k=!(+a 5.下面的程序执行后,变量a的值是。 #define SQR(x) x*x main() int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);p

2、rintf( 6设有int i;则表达式i=1,+i,+i|+i,i的值为 。 7设有int i;则表达式(i=1,i=10)?i+|+i:+i的值为 。 8.设有int a=10,11,12,*p=&a0;则执行完*p+;*p+=1;后a0,a1,a2的值依次是 。 ,11,12,12,12 ,12,12,11,12 9.设有int i, j, k; 则表达式i=1,j=2,k=3, i&j&k 的值为 ( A )。 10.设有说明int s2=0,1,*p=s; 则下列错误的C语句是 ( A )。 +=1; +=1; C.*p+; D.(*P)+; 1 11.以下叙述正确的是( D )。

3、A.可以把define和if定义为用户标识符 B.可以把if定义为用户标识符,但不能把define定义为用户标识符 和if都不能定义为用户标识符 D.可以把define定义为用户标识符,但不能把if定义为用户标识符 12. 以下程序的输出结果是。void prtv(int *x) printf( main() int a=25; prtv(&a); D.以上均不对 13. 设有以下说明语句struct ex int x; float y;char z; example; 则下面的叙述中不正确的是。 ex是结构体类型 ,y,z都是结构体成员名 是结构体类型的关键字 是结构体类型名 14. 下列叙

4、述中正确的是。 语言的函数可以嵌套定义 语言的子程序有过程和函数两种 语言编译时不检查语法 语言中,根据函数能否被其它源文件调用,被区分为内部函数和外部函数 15. 若有说明:int i,j=7,*p=&i;则与i=j;等价的语句是。 =*p;=*p; =&j;D.*p=*&j; 16. 以下程序的输出结果是。 main() char st20= printf( 2 17. 不合法的main函数命令行参数表示形式是。 (int argv,char *arge) (int arc,char *arv) (int argc,char *argv) (int a,char *c) 18. 若有说明语

5、句:int a,b,c,*d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是。 ( 19. 以下程序段的输出结果是( A )。 char s= printf( 20. 以下程序的输出结果是。 main() int x10,y10,i;for(i0;x8 ;y+i)printf( 1 9 29 9 08 7 610 9 1 21. 设a和b均为double型变量,且a=、b=,则表达式(int)a+b/b的值是。 22. 以下定义语句中正确的是。 A. int a=10,*b=&a; B. float a=b=; C. char a=Ab=B; D. float *a,b=&a;

6、 23. 有以下程序 main() char str10= printf( 3 程序运行后的输出结果是。 A. ing B. Bejing C. ngD. China 24. 下列关于单目运算符+、-的叙述中正确的是。 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的值为。

7、二、填空题 语言中静态变量和外部变量的初始化是在_编译_阶段完成的。 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.在内存中供用户使用的存储空间可分为三个区:存储程序的程序区,存储数据的静态存储区和动态存储区。在静态存储区中存放的数据是_全局变量和_局部静态_变量。 语言提供的预处理功能主要有三种:宏定义,文件包含和条件编译。 条件编译命令有三种基本形式: #ifdef 标识符 #_

8、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_。 ,第2空答a5的值也可) 三、判断题 4 1、若有说明int c;则while(c=getchar();是正确的C语句。 2、int i,*p=&i;是正确的C说明语句。 3、7&3+12的值是15。 4、while 1 i,j; 一定是错误的C说明。 5、for( ; ; )S中的语句S必执行无穷多次。 6、unsi

9、gned 和void 在C中都是保留的。 7、int If=0;会出现编译错误。 8、char str10; 是错误的说明语句。 9、构成C程序的基本单位是函数。 10、所有被调用的函数一定要在调用之前进行定义。 11、语句int *p; *p=0;存在着潜在的危险。 12、语句int *p; p=0;是错误的。 13、int *p3;定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针。 14、print可以作为变量名使用。 15、if (a=0) i=1; 是合法的C语句。 四、阅读程序题 1.【程序】 swap1(int x,int y) int w; w=x; x

10、=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( swap2(ptr1,ptr2); printf( printf( 5 swap3(ptr1,ptr2); printf( printf( 【运行结果】 data1=5 data2=7 data3

11、=5 data4=7 data5=5 data6=7 data7=7 data8=5 data9=7 data10=5 2.【程序】 int a3=1,2,3,4,5,6; main() int i,j,(*p)3; p=a; printf( printf( for (i=0; i printf( printf( 【运行结果】 1 2 3 4 5 6 1 2 3 4 5 6 3.【程序】 main() int i,n=0; for( i=2;i if(i%3) continue;n+; while(!i);n+; printf( 6 【运行结果】 n=4 4.以下程序运行后的输出结果是_。 【

12、程序】 main () char a= char *p1,*p2; int k; p1=a; p2=b; for(k=0;k if(*(p1+k)=*(p2+k) printf( 【运行结果】 gae 5. 【程序】 #include void main() int i,j,k,a=5,m66; i=1; k=(a+1)/2; for (j=1;j for (i=1;i for (j=1;j mik=j; if (j%a=0) i=(i%a)+1;continue; k=(k%a)+1; i-; if (i=0) i=a; 【运行结果】 17 241815 2357 1416 46 13 20

13、22 10 12 19 213 11 18 2529 7 C语言基础习题及答案 一、选择题 1.设a的值为15,n的值为5,则进行a%=(n%=2)运算后,a的值为。 2.设有类型说明 unsigned int a65535; , 按%d格式输出a的值,其结果是。B.-1D.-327673.下列运算符中优先级最高的是。 A.?:B.&C.+D.!= 4. 以下程序输出的结果是。 main( ) int a= -1,b=4,k; k=!(+a 5.下面的程序执行后,变量a的值是。 #define SQR(x) x*x main() int a=10,k=2,m=1;a/=SQR(k+m)/SQR

14、(k+m);printf( 6设有int i;则表达式i=1,+i,+i|+i,i的值为 。 7设有int i;则表达式(i=1,i=10)?i+|+i:+i的值为 。 8.设有int a=10,11,12,*p=&a0;则执行完*p+;*p+=1;后a0,a1,a2的值依次是 。 ,11,12,12,12 ,12,12,11,12 9.设有int i, j, k; 则表达式i=1,j=2,k=3, i&j&k 的值为 ( A )。 10.设有说明int s2=0,1,*p=s; 则下列错误的C语句是 ( A )。 +=1; +=1; C.*p+; D.(*P)+; 1 11.以下叙述正确的是

15、( D )。 A.可以把define和if定义为用户标识符 B.可以把if定义为用户标识符,但不能把define定义为用户标识符 和if都不能定义为用户标识符 D.可以把define定义为用户标识符,但不能把if定义为用户标识符 12. 以下程序的输出结果是。void prtv(int *x) printf( main() int a=25; prtv(&a); D.以上均不对 13. 设有以下说明语句struct ex int x; float y;char z; example; 则下面的叙述中不正确的是。 ex是结构体类型 ,y,z都是结构体成员名 是结构体类型的关键字 是结构体类型名

16、14. 下列叙述中正确的是。 语言的函数可以嵌套定义 语言的子程序有过程和函数两种 语言编译时不检查语法 语言中,根据函数能否被其它源文件调用,被区分为内部函数和外部函数 15. 若有说明:int i,j=7,*p=&i;则与i=j;等价的语句是。 =*p;=*p; =&j;D.*p=*&j; 16. 以下程序的输出结果是。 main() char st20= printf( 2 17. 不合法的main函数命令行参数表示形式是。 (int argv,char *arge) (int arc,char *arv) (int argc,char *argv) (int a,char *c) 18

17、. 若有说明语句:int a,b,c,*d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是。 ( 19. 以下程序段的输出结果是( A )。 char s= printf( 20. 以下程序的输出结果是。 main() int x10,y10,i;for(i0;x8 ;y+i)printf( 1 9 29 9 08 7 610 9 1 21. 设a和b均为double型变量,且a=、b=,则表达式(int)a+b/b的值是。 22. 以下定义语句中正确的是。 A. int a=10,*b=&a; B. float a=b=; C. char a=Ab=B; D. float *

18、a,b=&a; 23. 有以下程序 main() char str10= printf( 3 程序运行后的输出结果是。 A. ing B. Bejing C. ngD. China 24. 下列关于单目运算符+、-的叙述中正确的是。 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)

19、后n的值为。 二、填空题 语言中静态变量和外部变量的初始化是在_编译_阶段完成的。 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.在内存中供用户使用的存储空间可分为三个区:存储程序的程序区,存储数据的静态存储区和动态存储区。在静态存储区中存放的数据是_全局变量和_局部静态_变量。 语言提供的预处理功能主要有三种:宏定义,文件包含和条件编译。 条件编译命令有三种基本形式: #ifdef

20、 标识符 #_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_。 ,第2空答a5的值也可) 三、判断题 4 1、若有说明int c;则while(c=getchar();是正确的C语句。 2、int i,*p=&i;是正确的C说明语句。 3、7&3+12的值是15。 4、while 1 i,j; 一定是错误的C说明。 5、for( ; ; )S中的语句S必执行无穷多次。

21、 6、unsigned 和void 在C中都是保留的。 7、int If=0;会出现编译错误。 8、char str10; 是错误的说明语句。 9、构成C程序的基本单位是函数。 10、所有被调用的函数一定要在调用之前进行定义。 11、语句int *p; *p=0;存在着潜在的危险。 12、语句int *p; p=0;是错误的。 13、int *p3;定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针。 14、print可以作为变量名使用。 15、if (a=0) i=1; 是合法的C语句。 四、阅读程序题 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( swap2(ptr1,ptr2); printf( printf( 5

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1