C语言程序设计课程作业题库解析(共76页).doc

上传人:飞****2 文档编号:16669977 上传时间:2022-05-18 格式:DOC 页数:76 大小:1.59MB
返回 下载 相关 举报
C语言程序设计课程作业题库解析(共76页).doc_第1页
第1页 / 共76页
C语言程序设计课程作业题库解析(共76页).doc_第2页
第2页 / 共76页
点击查看更多>>
资源描述

《C语言程序设计课程作业题库解析(共76页).doc》由会员分享,可在线阅读,更多相关《C语言程序设计课程作业题库解析(共76页).doc(76页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精选优质文档-倾情为你奉上1. 程序的三种基本结构是( )顺序结构,循环结构,递归结构顺序结构,循环结构,选择结构选择结构,循环结构,递归结构顺序结构,选择结构,递归结构ncludemain()int a=1,b=10;dob-=a;a+;while(b-5?4:2本题分值:4.0用户得分:4.0用户解答:b=a%2标准答案:b=a%24. 下列运算符中优先级最低的是( )? :&+!=本题分值:4.0用户得分:4.0用户解答:? :标准答案:? :5. 若要求表示a不等于0的关系,错误的表达式是( )a0a!=0aa0本题分值:4.0用户得分:4.0用户解答:a0标准答案:a06. 若希望当

2、A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )A%2= =1!(A%2= =0)!(A%2)A%2本题分值:4.0用户得分:4.0用户解答:!(A%2)标准答案:!(A%2)7. a为0111,b为0123,a、b、c均为无符号短整型变量,则语句printf(%o,%o,%o,%o,c=a,c=a&b,c=a|b,c=ab)的输出结果为( ),101,133,32,0123,0333,032,0101,0133,032,0123,0133,034本题分值:4.0用户得分:0.0用户解答:,0101,0133,032标准答案:,101,

3、133,328. 下面程序的运行结果是( )#includemain()int i,b,k=0;for(i=1;i=0) k+;printf(%d,%d,k,b);3,-18,-13,08,-2本题分值:4.0用户得分:0.0用户解答:8,-1标准答案:8,-29. 对说明语句int a10=6,7,8,9,10;的正确理解是( )将5个初值依次a1至a5将5个初值依次a0至a4将5个初值依次a5至a9将5个初值依次a6至a10本题分值:4.0用户得分:4.0用户解答:将5个初值依次a0至a4标准答案:将5个初值依次a0至a410. 以下有关宏替换的叙述不正确的是( )宏替换不占用运行时间宏名

4、无类型宏替换只是字符替换宏名必须用大写字母表示本题分值:4.0用户得分:4.0用户解答:宏名必须用大写字母表示标准答案:宏名必须用大写字母表示11. 若已定义int a;下面对(1)(2)两个语句(1)int *p=&a; (2)*p=a;的正确解释是( )语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值(1)和(2)语句的执行结果,都是把变量a的地址赋给指针变量p(1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给指针变量p(1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给*p本题分值:4.0用户得分:4.0用户解答:(1)在对p进行说明的

5、同时进行初始化,使p指向a (2)将变量a的值赋给*p标准答案:(1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给*p12. 若有以下定义int a5=1,2,3,4,5,*p,i;i=3;p=a;,则对数组元素地址的正确引用是( )&pa+&(p+1)&pi本题分值:4.0用户得分:0.0用户解答:a+标准答案:&pi13. 函数rewind的作用是( )使位置指针指向文件的末尾将位置指针指向文件中所要求的特定位置使位置指针重新返回文件的开头使位置指针自动移到下一个字符位置本题分值:4.0用户得分:4.0用户解答:使位置指针重新返回文件的开头标准答案:使位置指针重新返回

6、文件的开头14. 下面对typedef不正确的叙述是用typedef可以定义各种类型名,但不能用来定义变量用typedef可以增加新的基本数据类型用typedef只是将已存在的类型用一个新的标识符表示使用typedef有利于程序的通用和移植本题分值:4.0用户得分:4.0用户解答:用typedef可以增加新的基本数据类型标准答案:用typedef可以增加新的基本数据类型15. 以下叙述中不正确的是( )预处理命令都必须以#开始在C程序中凡是以#开始的语句行都是预处理命令行C程序在执行过程中对预处理命令行进行处理以下是正确的宏定义 #define IBM_PC本题分值:4.0用户得分:0.0用户

7、解答:以下是正确的宏定义 #define IBM_PC标准答案:C程序在执行过程中对预处理命令行进行处理16. C语言中while和do while循环的主要区别是( )do-while的循环至少无条件执行一次while循环控制条件比do-while的循环控制条件严格do-while允许从外部转入到循环体内do-while的循环体不能是复合语句本题分值:4.0用户得分:4.0用户解答:do-while的循环至少无条件执行一次标准答案:do-while的循环至少无条件执行一次17. 在C语言中,每个语句和数据定义是用( )结束句号逗号分号括号本题分值:4.0用户得分:4.0用户解答:分号标准答案

8、:分号18. 设以下变量均为int类型,则值不等于7的表达式是( )x=y=6,x+y,x+1x=y=6,x+y,y+1x=6,x+1,y=6,x+yy=6,y+1,x=y,x+1本题分值:4.0用户得分:4.0用户解答:x=6,x+1,y=6,x+y标准答案:x=6,x+1,y=6,x+y19. 在位运算中,操作数每左移2位,相当于( )操作数*2操作数/2操作数*4操作数/4本题分值:4.0用户得分:0.0用户解答:操作数*2标准答案:操作数*420. 设有以下程序:#inludemain()int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);上述

9、程序的输出结果是( )运行错误100i的地址j的地址本题分值:4.0用户得分:0.0用户解答:运行错误标准答案:10021. 一下关于宏替换的叙述不正确的是宏替换只是字符替换宏名无类型宏替换不占用运行时间宏替换不占用编译时间本题分值:4.0用户得分:4.0用户解答: 宏替换不占用编译时间标准答案: 宏替换不占用编译时间二 判断题1. C语言中的main函数必须位于程序的最前面错对本题分值:4.0用户得分:4.0用户解答:错标准答案:错2. 对for(表达式1; ;表达式3)可理解为for (表达式1;1;表达式3)错对本题分值:4.0用户得分:4.0用户解答:对标准答案:对1. 若x,y均定义

10、为int型,z定义为double型,以下不合法的scanf函数调用语句是( )scanf(%d%lx,%le,&x,&y,&z)scanf(%2d*%d%lf,&x,&y,&z)scanf(%x%*d%o,&x,&y)scanf(%x%o%6.2f,&x,&y,&z)本题分值:4.0用户得分:0.0用户解答:scanf(%2d*%d%lf,&x,&y,&z)标准答案:scanf(%x%o%6.2f,&x,&y,&z)2. 设整型变量a值为9,则下列表达式中使b的值不为4的表达式( )b=a/2b=a%2b=8-(3,a-5)b=a5?4:2本题分值:4.0用户得分:4.0用户解答:b=a%2标

11、准答案:b=a%23. 下面对typedef不正确的叙述是用typedef可以定义各种类型名,但不能用来定义变量用typedef可以增加新的基本数据类型用typedef只是将已存在的类型用一个新的标识符表示使用typedef有利于程序的通用和移植本题分值:4.0用户得分:4.0用户解答:用typedef可以增加新的基本数据类型标准答案:用typedef可以增加新的基本数据类型4. 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( )返回若干个系统默认值返回一个用户所希望的函数值返回一个不确定的值没有返回值本题分值:4.0用户得分:4.0用户解答:返回一个不确定的值标准答案

12、:返回一个不确定的值5. 以下关于运算符优先顺序的描述中正确的是( )关系运算符算术运算符赋值运算符逻辑运算符逻辑运算符关系运算符算术运算符赋值运算符赋值运算符逻辑运算符关系运算符算术运算符算术运算符关系运算符赋值运算符逻辑运算符本题分值:4.0用户得分:4.0用户解答:赋值运算符逻辑运算符关系运算符算术运算符标准答案:赋值运算符逻辑运算符关系运算符算术运算符6. 下面哪个表达式的值为4:11/311.0/3(float)11/3(int)(11.0/3+0.5)本题分值:4.0用户得分:4.0用户解答:(int)(11.0/3+0.5)标准答案:(int)(11.0/3+0.5)7. 以下不

13、正确的说法为( )在不同函数中可以使用相同名字的变量形式参数是局部变量在函数内定义的变量只在本函数范围内有效在函数内的复合语句中定义的变量在本函数范围内有效本题分值:4.0用户得分:4.0用户解答:在函数内的复合语句中定义的变量在本函数范围内有效标准答案:在函数内的复合语句中定义的变量在本函数范围内有效8. 下面程序#includemain()int y=10;do y-;while(-y);printf(%d ,y-);的运行结果是( )1-180本题分值:4.0用户得分:4.0用户解答:0标准答案:09. 写出下面程序的输出结果( )main()int x;x=-3+4*5-6;print

14、f(%d,x);x=3+4%5-6;printf(%d,x);x=-3*4%6/5;printf(%d,x);x=(7+6)%5/2;printf(%d,x);11 1 0 111 -3 2 112 -3 2 111 1 2 1本题分值:4.0用户得分:4.0用户解答:11 1 0 1标准答案:11 1 0 110. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用括起时,寻找被包含文件的方式是( )仅仅搜索当前目录仅仅搜索源程序所在目录直接按系统设定的标准方式搜索目录先在源程序所在目录搜索,再按系统设定的标准方式搜索本题分值:4.0用户得分:4.0用户解答:直接按系统设

15、定的标准方式搜索目录标准答案:直接按系统设定的标准方式搜索目录11. 执行以下程序后的输出结果是( )int w=3,z=7,x=10;printf(%d,x10?x+100:x-10);printf(%d,w+|z+);printf(%d,!wz);printf(%d,w&z);0111111101010100本题分值:4.0用户得分:0.0用户解答:0111标准答案:010112. 定义如下变量和数组:int k,a33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是( )。for(k=0;k3;k+) printf(%d ,ak2-k);3 5 73 6 91 5 91 4

16、7本题分值:4.0用户得分:0.0用户解答:1 5 9标准答案:3 5 713. 下列运算符中优先级最低的是( )? :&+!=本题分值:4.0用户得分:4.0用户解答:? :标准答案:? :14. 设有程序段t=0;while(printf(*)t+;if(t3) break;下面描述正确的是( )其中循环控制表达式与0等价其中循环控制表达式与0等价其中循环控制表达式是不合法的以上说法都不对本题分值:4.0用户得分:4.0用户解答:其中循环控制表达式与0等价标准答案:其中循环控制表达式与0等价15. C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。

17、如果格式说明的个数小于输出16. 项的个数,多余的输出项将( );如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)不予输出输出空格照样输出输出不定值或0本题分值:4.0用户得分:4.0用户解答:不予输出标准答案:不予输出16. 设有以下程序:#inludemain()int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);上述程序的输出结果是( )运行错误100i的地址j的地址本题分值:4.0用户得分:0.0用户解答:运行错误标准答案:10017. 系统的标准输入文件是指( )键盘显示器软盘硬盘本题分值:4.0用户得分:4.0用户解

18、答:键盘标准答案:键盘18. 若有条件表达式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是( )exp=0exp!=0exp=1exp!=1本题分值:4.0用户得分:4.0用户解答:exp!=0标准答案:exp!=019. 下面程序main()int x=4,y=0,z;x*=3+2; printf(“%d”,x);x*=y= =(z=4); printf(“%d”,x);的输出结果是( )14 4020 020 414 4本题分值:4.0用户得分:4.0用户解答:20 0标准答案:20 020. 有以下程序:#includemain()int x,y; printf(

19、Enter an integer(x):);scanf(%d,&x);if(x+=%&本题分值:4.0用户未作答标准答案:%4. C语言中while和do while循环的主要区别是( )do-while的循环至少无条件执行一次while循环控制条件比do-while的循环控制条件严格do-while允许从外部转入到循环体内do-while的循环体不能是复合语句本题分值:4.0用户未作答标准答案:do-while的循环至少无条件执行一次5. 字符串“China”在内存中占用几个字节3468本题分值:4.0用户未作答标准答案: 66. 若有定义:int (*p)4;则标识符p( )是一个指向整型

20、变量的指针是一个指针数组名是一个指针,它指向一个含有四个整型元素的一维数组定义不合法本题分值:4.0用户未作答标准答案:是一个指针,它指向一个含有四个整型元素的一维数组7. 一下关于宏替换的叙述不正确的是宏替换只是字符替换宏名无类型宏替换不占用运行时间宏替换不占用编译时间本题分值:4.0用户未作答标准答案: 宏替换不占用编译时间8. 下面程序的运行结果是( )#includemain()int a6,i;for(i=1;i3)%5;printf(%2d,ai);4 0 4 0 4-4 0 4 0 3-4 0 4 4 3-4 0 4 4 0本题分值:4.0用户未作答标准答案:-4 0 4 4 3

21、9. 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )externregisterautostatic本题分值:4.0用户未作答标准答案:static10. 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( )返回若干个系统默认值返回一个用户所希望的函数值返回一个不确定的值没有返回值本题分值:4.0用户未作答标准答案:返回一个不确定的值11. 下面程序的运行结果是( )#includemain()int i,b,k=0;for(i=1;i=0) k+;printf(%d,%d,k,b);3,-18,-13,08,

22、-2本题分值:4.0用户未作答标准答案:8,-212. 对说明语句int a10=6,7,8,9,10;的正确理解是( )将5个初值依次a1至a5将5个初值依次a0至a4将5个初值依次a5至a9将5个初值依次a6至a10本题分值:4.0用户未作答标准答案:将5个初值依次a0至a413. 以下函数的功能对应于 int fun(char *s,char *t) while (*s)&(*t)&(*t=*s) t+; s+; return(*s-*t); strlen(s)+strlen(t)strcmp(s,t)strcpy(s,t)strcat(s,t)本题分值:4.0用户未作答标准答案: st

23、rcmp(s,t)14. 以下对C语言描述中正确的是( )C语言源程序中可以有重名的函数C语言源程序中要求每行只能书写一条语句C语言源程序中,注释可以出现在任何位置最小的C源程序中没有任何内容本题分值:4.0用户未作答标准答案:C语言源程序中,注释可以出现在任何位置15. 下面程序main()int x=4,y=0,z;x*=3+2; printf(“%d”,x);x*=y= =(z=4); printf(“%d”,x);的输出结果是( )14 4020 020 414 4本题分值:4.0用户未作答标准答案:20 016. 在位运算中,操作数每左移2位,相当于( )操作数*2操作数/2操作数*

24、4操作数/4本题分值:4.0用户未作答标准答案:操作数*417. 设整型变量a值为9,则下列表达式中使b的值不为4的表达式( )b=a/2b=a%2b=8-(3,a-5)b=a5?4:2本题分值:4.0用户未作答标准答案:b=a%218. 程序段的基本结构中,不包含( )函数结构循环结构顺序结构分支结构本题分值:4.0用户未作答标准答案:函数结构19. 写出下面程序的输出结果( )main()int x;x=-3+4*5-6;printf(%d,x);x=3+4%5-6;printf(%d,x);x=-3*4%6/5;printf(%d,x);x=(7+6)%5/2;printf(%d,x);

25、11 1 0 111 -3 2 112 -3 2 111 1 2 1本题分值:4.0用户未作答标准答案:11 1 0 120. 有以下程序:#includemain()int x,y; printf(Enter an integer(x):);scanf(%d,&x);if(x+0) y=-1;else if(x=0) y=0;else y=1; printf(%d,y);现从键盘上输入-1,则程序的输出是( )0-11不确定的值本题分值:4.0用户未作答标准答案:-121. 下面是对s的初始化,其中不正确的是( )char s5=abcchar s5=a,b,cchar s5=char s5

26、=abcde本题分值:4.0用户未作答标准答案:char s5=abcde二 判断题1. C语言中形参到实参传递是双向的错对本题分值:4.0用户未作答标准答案:错2. 下列语句newnext=head;head=new;可以完成建立2结点的单向链表的功能错对本题分值:4.0用户未作答标准答案:对3. main()int x,y,z;x=1;y=1;z=0;x=x|y&z;printf(%d,%d,x,x&!y|z);程序的运行结果是1,1错对本题分值:4.0用户未作答标准答案:错4. 使用continue和break语句,都可以使得C程序中断执行错对本题分值:4.0用户未作答标准答案:错1.

27、若有以下定义, int k=7,x=12, 则能使值为3的表达式是( )x%=k%=5x%=k-k%5x%=(k-k%5)(x%=k)-(k%=5)本题分值:4.0用户得分:4.0用户解答:(x%=k)-(k%=5)标准答案:(x%=k)-(k%=5)2. C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将( );如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)不予输出输出空格照样输出输出不定值或0本题分值:4.0用户得分:4.0用户解答:不予输出标准答案:不予输出3. 函数ft

28、ell的作用是( )取得当前文件指针的位置,该位置为相对于文件开头的位移量表示取得当前文件指针的位置,该位置为相对于文件末尾的位移量表示出错时返回值为0以上叙述都不正确本题分值:4.0用户得分:4.0用户解答:取得当前文件指针的位置,该位置为相对于文件开头的位移量表示标准答案:取得当前文件指针的位置,该位置为相对于文件开头的位移量表示4. 设有以下程序:#inludemain()int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);上述程序的输出结果是( )运行错误100i的地址j的地址本题分值:4.0用户得分:0.0用户解答:运行错误标准答案:1005

29、. 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( )返回若干个系统默认值返回一个用户所希望的函数值返回一个不确定的值没有返回值本题分值:4.0用户得分:0.0用户解答:没有返回值标准答案:返回一个不确定的值6. 要打开一个已存在的非空文件file用于修改,选择正确的语句fpfopen(file,r)fp=fopen(file,w)fp=fopen(file,r+)fp=fopen(file,w+)本题分值:4.0用户得分:4.0用户解答: fp=fopen(file,r+)标准答案: fp=fopen(file,r+)7. 系统的标准输入文件是指( )键盘显示器软盘硬

30、盘本题分值:4.0用户得分:4.0用户解答:键盘标准答案:键盘8. 以下叙述中正确的是( )在程序的一行上可以出现多个有效的预处理命令行使用带参的宏时,参数的类型应与宏定义时的一致宏替换不占用运行时间,只占用编译时间以下定义中C R是称为宏名的标识符#define C R 045本题分值:4.0用户得分:4.0用户解答:宏替换不占用运行时间,只占用编译时间标准答案:宏替换不占用运行时间,只占用编译时间9. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用括起时,寻找被包含文件的方式是( )直接按照系统设定的标准方式搜索目录先在源程序所在目录搜索,再按照系统设定的标准方式搜

31、索仅仅搜索源程序所在目录仅仅搜索当前目录本题分值:4.0用户得分:0.0用户解答:直接按照系统设定的标准方式搜索目录标准答案:先在源程序所在目录搜索,再按照系统设定的标准方式搜索10. 表达式ab|c&d的运算顺序为( )= &,|&,|,|,&,&,|本题分值:4.0用户得分:0.0用户解答:&,|标准答案:,&,|11. C语言中while和do while循环的主要区别是( )do-while的循环至少无条件执行一次while循环控制条件比do-while的循环控制条件严格do-while允许从外部转入到循环体内do-while的循环体不能是复合语句本题分值:4.0用户得分:4.0用户解

32、答:do-while的循环至少无条件执行一次标准答案:do-while的循环至少无条件执行一次12. 已有定义int k=2;int *p1,*p2;且p1,p2均指向变量k,下面不能正确执行的赋值语句是( )k=*p1+*p2p2=kp1=p2k=*p1*(*p2)本题分值:4.0用户得分:4.0用户解答:p2=k标准答案:p2=k13. 以下程序的运行结果为( )#includemain()struct dateint year,month,day;today; printf(d ,sizeof(struct date);681012本题分值:4.0用户得分:4.0用户解答:6标准答案:6

33、14. 字符串“China”在内存中占用几个字节3468本题分值:4.0用户得分:4.0用户解答: 6标准答案: 615. C语言中合法的字符常量是”H”Hep本题分值:4.0用户得分:0.0用户解答: ”H”标准答案:16. 若使用一位数组名作为函数实参,则以下正确的说法是( )必须在主调函数中说明此数组的大小实参数组类型与形参数组类型可以不匹配在被调函数中,不需要考虑形参数组的大小实参数组名与形参数组名必须一致本题分值:4.0用户得分:0.0用户解答:必须在主调函数中说明此数组的大小标准答案:在被调函数中,不需要考虑形参数组的大小17. 以下不正确的说法为( )在不同函数中可以使用相同名字

34、的变量形式参数是局部变量在函数内定义的变量只在本函数范围内有效在函数内的复合语句中定义的变量在本函数范围内有效本题分值:4.0用户得分:4.0用户解答:在函数内的复合语句中定义的变量在本函数范围内有效标准答案:在函数内的复合语句中定义的变量在本函数范围内有效18. 若有定义typedef char STRING255; STRING s; 则s是字符指针数组变量字符指针变量字符变量字符数组变量本题分值:4.0用户得分:4.0用户解答:字符数组变量标准答案:字符数组变量19. 以下叙述中不正确的是( )预处理命令都必须以#开始在C程序中凡是以#开始的语句行都是预处理命令行C程序在执行过程中对预处

35、理命令行进行处理以下是正确的宏定义 #define IBM_PC本题分值:4.0用户得分:4.0用户解答:C程序在执行过程中对预处理命令行进行处理标准答案:C程序在执行过程中对预处理命令行进行处理20. 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( )scanf(%d%lx,%le,&x,&y,&z)scanf(%2d*%d%lf,&x,&y,&z)scanf(%x%*d%o,&x,&y)scanf(%x%o%6.2f,&x,&y,&z)本题分值:4.0用户得分:4.0用户解答:scanf(%x%o%6.2f,&x,&y,&z)标准答案:scanf(%x%o%6.2f,&x,&y,&z)21. 若数组a有m列,则alij之前的数组元素个数为( )(i-1)*(i-1)i*m+j+1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com