C语言程序设计复习--经典资料.doc
《C语言程序设计复习--经典资料.doc》由会员分享,可在线阅读,更多相关《C语言程序设计复习--经典资料.doc(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C语言程序设计复习参考资料单选题 1. 下列选项中属于合法C语言关键字的是 【1】。A. VAR B.interger C.floaT D.default 2. 以下叙述中错误的是 【2】A)C语句必须以分号结束 B)复合语句在语法上被看作一条语句 C)空语句出现在任何位置都不会影响程序运行 D)赋值表达式末尾加分号就构成赋值语句3. 定义带参数的宏计算两个表达式的乘积,下列定义中哪个是正确的【3】。 A、#define muit(u, v) u*v B、#define muit(u, v) u*v ; C、#define muit(u, v) (u)*(v) D、#define muit(
2、u, v)=(u)*(v) 4. 若有语句:char *line5;,以下叙述中正确的是【4】A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line是一个指针数组,语句中的*号称为间址运算符 D)定义line是一个指向字符型函数的指针 5. 在C语言中,不正确的short类型的常数是 【5】 。A. 123 B. 32768 C. 037 D. 0xAF6. 7/9*9 在C语言中的计算结果是 【6】。A.1 B.7 C.0 D.以上都不是7. 这个循环语句: for (int x=0;
3、 x=3; x+);会执行多少次 【7】 。A. 1次都不执行 B. 3次 C. 4次 D. 死循环8. 十进制数1384转换成十六进制数为 【8】。A. 567 B.568 C.D84 D. D549. 有以下程序段 typedef struct NODE int num; struct NODE *next; OLD; 以下叙述中正确的是【9】 A)以上的说明形式非法 B)NODE是一个结构体类型 C)OLD是一个结构体类型 D)OLD是一个结构体变量 10. 数组声明为“int y43;”,表达式“*(y+2)+2-*y”的值为【10】。 A、10 B、20 C、16 D、811. 以下
4、能正确定义且赋初值的语句是【11】 A)int n1=n2=10; B)char c=32; C)float f=f+1.1; D)double x=12.3E2.5; 12. 以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。 main() int r; float s; scanf(%d,&r); s=p*r*r; printf(s=%fn,s); 出错的原因是【12】 A)注释语句书写位置错误 B)存放圆半径的变量r不应该定义为整型 C)输出语句中格式描述符非法 D)计算圆面积的赋值语句中使用了非法变量13. 有以下程序 main() int a10=1,2,3,
5、4,5,6,7,8,9,10, *p=&a3, *q=p+2; printf(%dn, *p + *q); 程序运行后的输出结果是【13】 A)16 B)10 C)8 D)6 14. 判断char型变量cl是否为小写字母的正确表达式为【14】。 A)a=cl=z B) (cl=a)&(cl=z) C)(a=cl)| (zcl) D)(cla)&(clz) 15. 以下程序的输出结果是 【15】main() int a=3; printf(%dn,(a+=a-=a*a) ); A) -6 B)12 C) 0 D) -12 16. 在C语言中, char型数据在内存中的存储形式是【16】。A)补码
6、 B)反码 C)原码 D) ASCll码17. 与for(;0;)等价的是【17】。A.while(1) B.while(0) C.break D.continue18. 若用数组名作函数的实参,传递给形参的是【18】。A.数组第一个元素的值 B. 数组的首地址 C.数组中全部元素的值 D.数组元素的个数19. 若有下面程序: char s =china; char *p; p=s; 则下述叙述正确的是【19】。A.s和p完全相同 B.数组s中的内容和指针变量p中的内容相等C.s数组长度和p所指向的字符串长度相同 D.*p与s0相等20. 以下程序的运行结果是【20】。#define ADD(
7、x) x+xvoid main( )int m=1, n=2, k=3;printf(sum=%d, ADD(m+n)*k);A.sum=9 B.sum=10 C.sum=12 D.sum=1812345678910DCCABCDBCD11121314151617181920BDBDDDBBDD1. 以下选项中不属于C语言的数据类型是 【1】。A.整型 B.实型 C.双精度型 D.复数型2. 以下叙述中错误的是 【2】 A)用户所定义的标识符允许使用关键字 B)用户所定义的标识符应尽量做到“见名知意” C)用户所定义的标识符必须以字母或下划线开头 D)用户定义的标识符中,大、小写字母代表不同标
8、识 3. 下列宏定义命令中,哪一个格式是正确的【3】()。 A、#define pi=3.14159; B、define pi=3.14159 C、#define pi 3.14159 D、#define pi (3.14159); 4. 初始化多维数组的语句中,可以缺省的是【4】()。 A、最后一个下标界 B、第1个下标界 C、第2个下标界 D、以上都不是5. 下面哪种运算的优先级最高 【】。A. ! B. != C. | | D. &6. 表达式 !(1&1|1&0) 的值是 【6】。第2页A. 错误的表达式 B. 1 C. 0 D.不确定7. 设有如下定义:int x=l,y=-1,则语
9、句:printf(%d,%dn, x-,+y);的输出结果是 【7】。A.0,0 B.1,-1 C.1,0 D.0,-18. 数组声明语句为“int a6;”,输入数组所有元素的语句应为【8】。 A、scanf(%d%d%d%d%d,a6); B、for(int i=0; i6; i+) scanf(%d, a+i); C、for(int i=0; i6; i+) scanf(%d, *a+i); D、for(int i=0; i6; i+) scanf(%d, a); 9. 定义如下变量和数组:int k;int a33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是【9】。fo
10、r(k=0;k3;k+) printf(%2d,ak2-k);A.3 5 7 B.3 6 9 C.1 5 9 D.1 4 710. 对以下说明语句叙述不正确的是【10】。struct stuint a;float b;stutype;A. struct是结构体类型的关键字 B. .struct stu是用户定义的结构体类型 C. stutype是用户定义的结构体类型名D. a和b都是结构体成员名11. 数组声明为“char str120= Borland, str2=C+5.0;”,调用函数“strcat(str1, str2);”后,字符串str1的串长是【11】 。 A、13 B、14 C
11、、6 D、7 12. 表达式“c=*p+”的执行过程是【12】()。A、复制*p的值给c后再执行p+ B、复制*p的值给c后再执行*p+ C、复制p的值给c后再执行p+ D、执行p+后将*p的值复制给c 13. main() char p=a, b, c, q=abc; printf(%d %dn, sizeof(p),sizeof(q); ; 程序运行后的输出结果是【13】 A)4 4 B)3 3 C)3 4 D)4 3 14. 以下能正确定义且赋初值的语句是 【14】 A)int n1=n2=10; B)char c=32; C)float f=f+1.1; D)double x=12.3
12、E2.5; 15. 假定x和y为double型,则表达式x=2,y=x+3/2的值是【15】A) 3. B) 3 C) 2. D) 3. 16. 以下选项中,不能正确赋值的是【16】 A) char s110;s1=Ctest; B) char s2=C, t, e, s, t; C) char s320=Ctest; D) char *s4=Ctestn17. 表达式(int)3.6*3的值是 【17】。A. 9 B.10 C.10.8 D. 1818. 若有定义:int x=0, *p=&x;,则语句printf(%dn,*p);的输出结果是【18】A)随机值 B)0 C)x的地址 D)p
13、的地址 19. 有以下程序,程序运行之后的输出结果是【19】。float fun(int x, int y)return x+y;void main()int a=2,b=5,c=8;printf(%3.0fn,fun(int)fun(a+c,b),a-c);A.编译出错 B.9 C.21 D.9.020. 运行以下程序后的输出结果是【20】。void ss(char *s, char t)while(*s)if(*s=t) *s=t-a+A; s+;void main()char str1100=abcddfghddkldd, c=d;ss(str1, c);printf(%sn, str1
14、);A. Abcddfghddkldd B. aBcddfghddkldd C. abcDDfghDDklDD D. abcddfGHddkldd12345678910DACBA CCBAC11121314151617181920AACBDAABBC1. 下列哪个是合法的C语言标识符() char 1ab1 sw,ch a_12. 字符串常量abtdn的长度是()5 12 8 143. 若有定义:int x,a,b;则执行完语句x=(a=4,b=a-);后x,a,b的值依次是()3,3,2 3,2,2 4,3,4 4,3,24. 若变量c为char类型,能正确判断出c为小写字母的表达式是()
15、a=c= a)|(c= z) (a=c) (c= a)&(c= z)5. 以下程序执行后sum的值是()15 14 不确定 0 main() int i,sum; for(i=1;i6;i+) sum+=i; printf(%dn,sum); 6. 设有定义:int a10,*p=a;对数组元素正确的引用是()p+2 p10 a1 *p+27. 若变量已正确说明为float类型,要通过语句scanf(%f %f %f ,&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:( ) 10 10.0,22.0,33.0 22 33 10.0 10 22 22.0
16、 33.0 33;8. 下列语句中,将c定义为文件指针的是( )FILE c FILE *c file c; file *c9. 普通变量做实参时,它和对应形参间的数据传递方式是()地址传递 双向值传递 由实参传给形参 由用户指定传递方式10. 若一个单链表中的结点含有两个域,其中data是指向字符中的数据域,next是指向结点的指针域,则此结构的类型定义为() struct linkchar *data;struct link *next; struct linkchar data;struct link *next; struct linkchar *data;struct link ne
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 复习 经典 资料
限制150内