1、C 语言程序设计课程作业_A14. 在“ 文件包含”预处理语句的使用形式中,当#include 后面的文件名用 括起时,寻找被包含文件的方式是( ) 直接按照系统设定的标准方式搜索目录先在源程序所在目录搜索,再按照系统设定的标准方式搜索仅仅搜索源程序所在目录仅仅搜索当前目录本题分值: 4.0 用户得分: 0.0 用户解答: 仅仅搜索源程序所在目录 标准答案: 先在源程序所在目录搜索,再按照系统设定的标准方式搜索 -15. C 语言中, 逻辑真表示为( ) TRUEy或 Y1非零值本题分值: 4.0 用户得分: 4.0 用户解答: 1 标准答案: 1 -16. 执行语句 for(i=1;i+10
2、?x+100:x-10);printf(%d,w+|z+);printf(%d,!wz);printf(%d,w 0111111101010100本题分值: 4.0 用户得分: 4.0 用户解答: 0101 标准答案: 0101 20. 下面的程序 main()int x=3;doprintf(“%d ”,x-=2);while(!(-x);,描述正确的是( ) 输出的是 1输出的是 1 和-2输出的是 3 和 0是死循本题分值: 4.0 用户得分: 0.0 用户解答: 输出的是 3 和 0 标准答案: 输出的是 1 和-2 -21. 若调用一个函数,且此函数中没有 return 语句, 则正
3、确的说法是该函数( ) 返回若干个系统默认值返回一个用户所希望的函数值返回一个不确定的值没有返回值本题分值: 4.0 用户得分: 0.0 用户解答: 没有返回值 标准答案: 返回一个不确定的值 -二 判断题1. C 语言中的 main 函数必须位于程序的最前面 错对本题分值: 4.0 用户得分: 0.0 用户解答: 对 标准答案: 错 -2. 使用 continue 和 break 语句,都可以使得 C 程序中断执行 错对本题分值: 4.0 用户得分: 0.0 用户解答: 对 标准答案: 错 20. struct st int age;int num;stul, *p; p=以下对结构体变量
4、stul 中成员 age 的非法引用是( ) stul.ageagepage(*p).age本题分值: 4.0 用户得分: 4.0 用户解答: age 标准答案: age -21. 若希望当 A 的值为奇数时 ,表达式的值为“真”,A 的值为偶数时,表达式的值为“假” 。则以下不能满足要求的表达式是( ) A%2= =1!(A%2= =0)!(A%2)A%2本题分值: 4.0 用户得分: 4.0 用户解答: !(A%2) 标准答案: !(A%2) 17. 字符串“China”在内存中占用几个字节 3468本题分值: 4.0 用户得分: 0.0 用户解答: 8 标准答案: 6 -18. C 语言
5、中调用 printf 进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将( );如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或 0) 不予输出输出空格照样输出输出不定值或 0本题分值: 4.0 用户得分: 0.0 用户解答: 输出空格 标准答案: 不予输出 20. 以下对 C 语言描述中正确的是( ) C 语言源程序中可以有重名的函数C 语言源程序中要求每行只能书写一条语句C 语言源程序中,注释可以出现在任何位置最小的 C 源程序中没有任何内容本题分值: 4.0 用户得分: 4.0 用户解答: C 语言源
6、程序中,注释可以出现在任何位置 标准答案: C 语言源程序中,注释可以出现在任何位置 -21. 若有条件表达式(exp)?a+:b-,则以下表达式中能完全等价于表达式 (exp)的是( ) exp=0exp!=0exp=1exp!=1本题分值: 4.0 用户得分: 0.0 用户解答: exp=1 标准答案: exp!=0 1. 若使用一位数组名作为函数实参,则以下正确的说法是( ) 必须在主调函数中说明此数组的大小实参数组类型与形参数组类型可以不匹配在被调函数中,不需要考虑形参数组的大小实参数组名与形参数组名必须一致本题分值: 4.0 用户得分: 0.0 用户解答: 实参数组类型与形参数组类型
7、可以不匹配 标准答案: 在被调函数中,不需要考虑形参数组的大小 4. 以下叙述中正确的是( ) 在程序的一行上可以出现多个有效的预处理命令行使用带参的宏时,参数的类型应与宏定义时的一致宏替换不占用运行时间,只占用编译时间以下定义中 C R 是称为宏名的标识符 #define C R 045本题分值: 4.0 用户得分: 0.0 用户解答: 以下定义中 C R 是称为宏名的标识符#define C R 045 标准答案: 宏替换不占用运行时间,只占用编译时间 -5. 设 E 为表达式,以下与 dowhile(E);不等价的语句是 dowhile(!E=0)dowhile(E0|E=%x=-3+4
8、*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); 11 1 0 111 -3 2 112 -3 2 111 1 2 1本题分值: 4.0 用户得分: 0.0 用户解答: 11 -3 2 1 标准答案: 11 1 0 1 19. 程序段的基本结构中,不包含( ) 函数结构循环结构顺序结构分支结构本题分值: 4.0 用户得分: 0.0 用户解答: 循环结构 标准答案: 函数结构 -20. 若数组 a 有 m 列,则 alij之前的数组元素个数为( ) (i-1)*(i
9、-1)i*m+j+1i*m+j-1i*m+j本题分值: 4.0 用户得分: 0.0 用户解答: i*m+j+1 标准答案: i*m+j 1. 在 C 语言中,共用体类型属于构造类型 错对本题分值: 4.0 用户得分: 0.0 用户解答: 错 标准答案: 对 -2. C 语言程序中,一个文件中的函数可以引用另一个文件中的函数和变量 错对本题分值: 4.0 用户得分: 4.0 用户解答: 对 标准答案: 对 4. 已有定义 int i,j;float x;为将-10 赋给 i,12 赋给 j,410.34 赋给 x;则对应以下 scanf 函数scanf(%o%x%e,调用语句的数据输入形式是-1
10、2ucu4.1034e2(u 代表空格) 错对本题分值: 4.0 用户得分: 0.0 用户解答: 错 标准答案: 对 5. 以下叙述中不正确的是( ) 预处理命令都必须以# 开始在 C 程序中凡是以#开始的语句行都是预处理命令行C 程序在执行过程中对预处理命令行进行处理以下是正确的宏定义 #define IBM_PC本题分值: 4.0 用户得分: 0.0 用户解答: 在 C 程序中凡是以#开始的语句行都是预处理命令行 标准答案: C 程序在执行过程中对预处理命令行进行处理 7. printf 函数中用到格式符 %5s,其中数字 5 表示输出的字符串占用 5 列。如果字符串长度大于 5,则输出按
11、方式( ) 从左起输出该字符串 ,右补空格按原字符串长从左向右全部输出右对齐输出该字符串,左补空格输出错误信息本题分值: 4.0 用户得分: 0.0 用户解答: 右对齐输出该字符串,左补空格 标准答案: 按原字符串长从左向右全部输出 -8. 若有定义:int (*p)4;则标识符 p( ) 是一个指向整型变量的指针是一个指针数组名是一个指针,它指向一个含有四个整型元素的一维数组定义不合法本题分值: 4.0 用户得分: 0.0 用户解答: 是一个指针数组名 标准答案: 是一个指针,它指向一个含有四个整型元素的一维数组 -9. 已知函数的调用形式:fread(buffer, size, count
12、, fp); 其中 buffer 代表 一个整型变量,代表要读入的数据项总数一个文件指针变量,指向要读的文件一个储存区,存放要读的数据项一个指针变量,它存放数据缓冲区的地址本题分值: 4.0 用户得分: 0.0 用户解答: 一个整型变量,代表要读入的数据项总数 标准答案: 一个指针变量,它存放数据缓冲区的地址 12. 下面哪个表达式的值为 4: 11/311.0/3(float)11/3(int)(11.0/3+0.5) 本题分值: 4.0 用户得分: 0.0 用户解答: 11.0/3 标准答案: (int)(11.0/3+0.5) 14. 一下关于宏替换的叙述不正确的是 宏替换只是字符替换宏
13、名无类型宏替换不占用运行时间宏替换不占用编译时间本题分值: 4.0 用户得分: 0.0 用户解答: 宏替换只是字符替换 标准答案: 宏替换不占用编译时间 -15. 以下叙述正确的是( ) 在 C 程序中,main 函数必须位于程序的最前面在 C 程序的每一行只能写一条语句C 语言本身没有输入输出语句在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误 本题分值: 4.0 用户得分: 0.0 用户解答: 在 C 程序的每一行只能写一条语句 标准答案: C 语言本身没有输入输出语句 18. 下面程序 main()int x=4,y=0,z;x*=3+2; printf(“%d”,x);x*=
14、y= =(z=4); printf(“%d”,x);的输出结果是( ) 14 4020 020 414 4本题分值: 4.0 用户得分: 0.0 用户解答: 14 40 标准答案: 20 0 -19. a 为 0111,b 为 0123,a、b、c 均为无符号短整型变量,则语句printf(%o,%o,%o,%o,c=a,c=ahead=new; 可以完成建立 2 结点的单向链表的功能 错对本题分值: 4.0 用户得分: 0.0 用户解答: 错 标准答案: 对 9. 以下运算符优先级最高的是( ) int *p1,*p2;且 p1,p2 均指向变量 k,下面不能正确执行的赋值语句是( ) k=
15、*p1+*p2p2=kp1=p2k=*p1*(*p2)本题分值: 4.0 用户得分: 4.0 用户解答: p2=k 标准答案: p2=k 13. 若已定义 int a;下面对(1)(2)两个语句(1)int *p= (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 用
16、户得分: 0.0 用户解答: (1)和(2) 语句的执行结果 ,都是把变量 a 的地址赋给指针变量 p 标准答案: (1)在对 p 进行说明的同时进行初始化, 使 p 指向 a (2)将变量 a 的值赋给*p -14. 下面程序的运行结果是( )#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,-2 -15. 下列选项中,不合法的 C 语言关键字是 autodefaultstaticvar本题分值: 4.0 用户得分
17、: 0.0 用户解答: auto 标准答案: var 18. 要打开一个已存在的非空文件file用于修改,选择正确的语句 fpfopen(file,r)fp=fopen(file,w)fp=fopen(file,r+)fp=fopen(file,w+)本题分值: 4.0 用户得分: 0.0 用户解答: fp=fopen(file,w+) 标准答案: fp=fopen(file,r+) 2. C 语言中形参到实参传递是双向的 错对本题分值: 4.0 用户得分: 0.0 用户解答: 对 标准答案: 错 3. 定义一个结构体变量时,系统分配给它的内存是 ( ) 结构体中第一个成员所需内存量结构体中最
18、后一个成员所需内存量成员中占内存量最大者所需内存量各成员所需内存量的总和本题分值: 4.0 用户得分: 0.0 用户解答: 成员中占内存量最大者所需内存量 标准答案: 各成员所需内存量的总和 5. 有枚举类型的定义: enum color1 yellow,green,blue=5,red,brown; 则枚举常量 yellow 和 red 的值分别是 3,61,60,60,3本题分值: 4.0 用户得分: 0.0 用户解答: 1,6 标准答案: 0,6 10. 设有程序段 t=0;while(printf(*)t+;if(t括起时,寻找被包含文件的方式是( ) 仅仅搜索当前目录仅仅搜索源程序所
19、在目录直接按系统设定的标准方式搜索目录先在源程序所在目录搜索,再按系统设定的标准方式搜索本题分值: 4.0 用户得分: 4.0 用户解答: 直接按系统设定的标准方式搜索目录 标准答案: 直接按系统设定的标准方式搜索目录 -2. struct st int age;int num;stul, *p; p=以下对结构体变量 stul 中成员 age 的非法引用是( ) stul.ageagepage(*p).age本题分值: 4.0 用户得分: 4.0 用户解答: age 标准答案: age -3. 若有说明:int a34=0;则下面正确的叙述是 ( ) 只有元素 a00可以得到初值 0此说明语
20、句不正确数组中各元素都可以得到初值,但其值不一定为 0数组中每个元素均可得到初值 0本题分值: 4.0 用户得分: 0.0 用户解答: 只有元素 a00可以得到初值 0 标准答案: 数组中每个元素均可得到初值 0 -4. 以下不正确的定义语句是( ) double x5=2.0,4.0,6.0,8.0,10.0int y5=0,1,3,5,7,9char c1=1,2,3,4,5char c2=x10,xa,x8本题分值: 4.0 用户得分: 4.0 用户解答: int y5=0,1,3,5,7,9 标准答案: int y5=0,1,3,5,7,9 -5. 以下程序的运行结果是 ( )void
21、 sub (int x,int y,int *z)*z=y-x;main()int a,b,c;sub(10,5,sub(7,a,sub(a,b,printf(%4d,%4d,%4d,a,b,c); 5, 2, 3-5, -12, -7-5, -12, -175, -2, -7本题分值: 4.0 用户得分: 0.0 用户解答: -5, -12, -7 标准答案: 5, 2, 3 -6. 程序的三种基本结构是( ) 顺序结构,循环结构,递归结构顺序结构,循环结构 ,选择结构选择结构,循环结构 ,递归结构顺序结构,选择结构 ,递归结构本题分值: 4.0 用户得分: 0.0 用户解答: 选择结构,循
22、环结构, 递归结构 标准答案: 顺序结构,循环结构, 选择结构 -7. 若有定义 typedef char STRING255; STRING s; 则 s 是 字符指针数组变量字符指针变量字符变量字符数组变量本题分值: 4.0 用户得分: 4.0 用户解答: 字符数组变量 标准答案: 字符数组变量 -8. 以下运算符优先级最高的是( ) 则枚举常量 yellow 和 red 的值分别是 3,61,60,60,3本题分值: 4.0 用户得分: 0.0 用户解答: 1,6 标准答案: 0,6 -12. 以下叙述中正确的是( ) 在程序的一行上可以出现多个有效的预处理命令行使用带参的宏时,参数的类
23、型应与宏定义时的一致宏替换不占用运行时间,只占用编译时间以下定义中 C R 是称为宏名的标识符 #define C R 045本题分值: 4.0 用户得分: 0.0 用户解答: 使用带参的宏时,参数的类型应与宏定义时的一致 标准答案: 宏替换不占用运行时间,只占用编译时间 -13. 判断 char 型变量 ch 是否为小写字母的正确表达式为( ) a=a)则不能代表字符 u 的表达式是( ) s4s+4*(p+4)p+=4,*p本题分值: 4.0 用户得分: 0.0 用户解答: s4 标准答案: s+4 -15. 若以a+方式打开一个已存在的文件,则以下叙述正确的是( ) 文件打开时,原有文件内容不被删除,位置指针移到文件末尾, 可作添加和修改操作