《电大本科作业C语言2.docx》由会员分享,可在线阅读,更多相关《电大本科作业C语言2.docx(114页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一单选题1.若要求表示a不等于0的关系,错误的表达式是()口 a0U a!=0口 au a0本题分值:4.0用户得分:4.0用户解答:a0标准答案:a02 . C语言中,逻辑真表示为()u TRUE,y,或 Y匕1口非零值本题分值:4.0用户得分:0.0用户解答:非零值标准答案:13 .下面程序#include main。int y=10;do y一;while(-y) ;printf C %d ,丫一);的运行结果是() i -ie 8 o本题分值:4.0用户得分:o.o用户解答:-1标准答案:04 .若有以下定义,intk=7,x=12,则能使值为3的表达式是()0 x%=k%=50 X%
2、=k-k%50 x%=(k-k%5)0 (x%=k)-(k%=5)本题分值:4.0用户得分:4.0用户解答:(x%=k)-(k%=5)标准答案:(x%=k) - (k%=5)5 .下面程序的运行结果是()#includemain() int i, b, k=0;for(i=l;i=0) k+; printf C %d, %d, k, b); 3,-ie 8,-i 3,0 8,-2本题分值:4.0用户未作答标准答案:8, -26 .以下对C语言描述中正确的是()口 C语言源程序中可以有重名的函数口 C语言源程序中要求每行只能书写一条语句口 C语言源程序中,注释可以出现在任何位置口最小的C源程序中
3、没有任何内容本题分值:4.0用户未作答标准答案:c语言源程序中,注释可以出现在任何位置7 .以下叙述中不正确的是()口预处理命令都必须以#开始口在c程序中凡是以#开始的语句行都是预处理命令行e c程序在执行过程中对预处理命令行进行处理U 以下是正确的宏定义#define IBM_PC本题分值:4.0用户未作答标准答案:C程序在执行过程中对预处理命令行进行处理8 .设有以下程序:#inlude main() int *i=100; j=&i;k=&j;printf ( %dM , * *k);上述程序的输出结果是() 口运行错误e 100U i的地址e j的地址本题分值:4.0 用户未作答 标准
4、答案:1009 .设有以下结构体定义:struct emproyer char name 8; int age; char sex;staff;F面的叙述不正确的是()U struct是结构体类型的关键字U struct emproyer是用户定义的结构体类型 staff是用户定义的结构体类型名u nameage和sex都是结构体成员名本题分值:4.0用户未作答标准答案:staff是用户定义的结构体类型名10 .若数组a有m歹!J,则之前的数组元素个数为()U (i-l)*(i-l)U i*m+j+lC i*m+j-lC i*m+j本题分值:4.0用户未作答标准答案:i*m+j11 .以下关于
5、运算符优先顺序的描述中正确的是()口关系运算符V算术运算符赋值运算符逻辑运算符 口逻辑运算符关系运算符算术运算符赋值运算符 口赋值运算符逻辑运算符关系运算符算术运算符 口算术运算符关系运算符赋值运算符逻辑运算符本题分值:4.0用户未作答标准答案:赋值运算符逻辑运算符关系运算符算术运算符12 .在“文件包含”预处理语句的使用形式中,当#include后面的文件名用 括起时,寻找被包含文件的方式是()e仅仅搜索当前目录口仅仅搜索源程序所在目录口直接按系统设定的标准方式搜索目录口先在源程序所在目录搜索,再按系统设定的标准方式搜索本题分值:4.0用户未作答标准答案:直接按系统设定的标准方式搜索目录13
6、 . C语言规定:在一个源程序中,main函数的位置()口必须在最开始口必须在系统调用的库函数的后面口可以任意0必须在最后本题分值:4. 0用户未作答标准答案:可以任意14 .若已定义int a;下面对(1) (2)两个语句(Dint *p=&a; (2)*p=a;的正确解 释是()口 语句和(2)中的*p含义相同,都表示给指针变量p赋值口(1)和(2)语句的执行结果,都是把变量a的地址赋给指针变量p口 (1)在对P进行说明的同时进行初始化,使P指向a (2)将变量a的值 赋给指针变量P口(1)在对P进行说明的同时进行初始化,使P指向a (2)将变量a的值 赋给*P本题分值:4.0用户未作答标
7、准答案:(1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的 值赋给*p15 .以下叙述正确的是()口在C程序中,main函数必须位于程序的最前面口在C程序的每一行只能写一条语句口 C语言本身没有输入输出语句口在对一个C程序进行编译的过程中,可发现注释中的拼写错误用户未作答标准答案:C语言本身没有输入输出语句16 .已有以下数组定义和f函数调用语句,int a34;f(a);则在f函数的说 明中,对形参数组array的错误定义方式为()0 f(int array6)U f(int array3)0 f (int array4)U f(int array25)本题分值:4.0用户未
8、作答标准答案:f (int array 3)17 .以下对C语言函数的有关描述中,正确的是口调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 C函数既可以嵌套定义又可以递归调用口函数必须有返回值,否则不能使用函数口 C程序中有调用关系的所有函数必须放在同个源程序文件中本题分值:4.0用户未作答标准答案:调用函数时,只能把实参的值传送给形参,形参的值不能传送给实 参18 .若调用一个函数,且此函数中没有return语句,则正确的说法是该函数()口返回若干个系统默认值口返回一个用户所希望的函数值u返回一个不确定的值口没有返回值本题分值:4.0用户未作答标准答案:返回一个不确定的值19
9、.已有定义int k=2; int *pl, *p2;且pl, p2均指向变量k,下面不能正确执行 的赋值语句是() k=*pl+*p2匚 p2=kc pl=p2C k=*pl*(*p2)本题分值:4.0用户未作答标准答案:p2=k20 .下面是对s的初始化,其中不正确的是()C char s5 = ,abc)C char s5 = a, b, cU char s5=,U char s5=, abcde本题分值:4.0用户未作答标准答案:char s5=,abcde,21 .执行语句for(i=l;i+0| |E0) dowhile(E=0)。dowhile(E! =0)本题分值:4. 0用户
10、未作答标准答案:do-while(E=0)5 .在C语言中,每个语句和数据定义是用()结束u句号口逗号U分号c括号本题分值:4.0用户未作答标准答案:分号6 .下面程序的运行结果是()#include main() inta6, i;for (i=l; i3)%5;printf (J %2d,, ai);口 4 0 4 0 4U -40403U -40443U -40440本题分值:4.0用户未作答标准答案:-4 0 4 4 37 . C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输 出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将();如果格式说
11、明的个数多于输出项的个数,则对于多余的格式将输出不定值 (或0)U不予输出口输出空格口照样输出1 输出不定值或0本题分值:4.0用户未作答标准答案:不予输出8 .在位运算中,操作数每左移2位,相当于()口操作数*2口操作数/2口操作数*4U操作数/4本题分值:4.0用户未作答标准答案:操作数*49 .函数ftell的作用是()口取得当前文件指针的位置,该位置为相对于文件开头的位移量表示 口取得当前文件指针的位置,该位置为相对于文件末尾的位移量表示口出错时返回值为0口以上叙述都不正确本题分值:4.0用户未作答标准答案:取得当前文件指针的位置,该位置为相对于文件开头的位移量表示10 .在个C源程序
12、文件中,若要定义一个只允许本源文件中所有函数使用的全 局变量,则该变量需要使用的存储类别是()U extern。register。autoU static本题分值:4.0用户未作答标准答案:static11 . printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5歹h如 果字符串长度大于5,则输出按方式()口从左起输出该字符串,右补空格口按原字符串长从左向右全部输出口右对齐输出该字符串,左补空格口输出错误信息本题分值:4.0用户未作答标准答案:按原字符串长从左向右全部输出12 .写出下面程序的输出结果()main() int x;x=-3+4*5- 6; printf ( %d
13、, 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) ; ii i o i ii -3 2 i口 12 -3 2 1u 11 1 2 1本题分值:4.0用户未作答标准答案:11 1 0 1 13.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的 值为“假”。则以下不能满足要求的表达式是()u A%2= =1口 !(A%2= =0)U !(A%2) A%2本题分值:4.0用户未作答标准答案:! (A%2)14 .在“文件包含”预处理语句的使用形
14、式中,当#include后面的文件名用 括起时,寻找被包含文件的方式是()口直接按照系统设定的标准方式搜索目录口先在源程序所在目录搜索,再按照系统设定的标准方式搜索口仅仅搜索源程序所在目录口仅仅搜索当前目录本题分值:4.0用户未作答标准答案:先在源程序所在目录搜索,再按照系统设定的标准方式搜索15 .已知函数的调用形式:fread(buffer, size, count, fp);其中 buffer 代 表口 一个整型变量,代表要读入的数据项总数口 一个文件指针变量,指向要读的文件U 一个储存区,存放要读的数据项U 一个指针变量,它存放数据缓冲区的地址本题分值:4. 0用户未作答标准答案:一个
15、指针变量,它存放数据缓冲区的地址16 .以下叙述中不正确的是()口预处理命令都必须以#开始口 在C程序中凡是以#开始的语句行都是预处理命令行口 C程序在执行过程中对预处理命令行进行处理U 以下是正确的宏定义#define IBM_PC本题分值:4.0用户未作答标准答案:C程序在执行过程中对预处理命令行进行处理17 .有程序:main () int a=5, b=l, c=0; if (a=b+c) printf C * J) ;else printfC$ );该程序()有语法错误不能通过编译口可以通过编译,但不能通过连接u输出:*c输出:$本题分值:4.0用户未作答标准答案:输出:*18 .定
16、义如下变量和数组:int k, a3 3 = 1, 2, 3, 4, 5, 6, 7, 8, 9;则下面语句的 输出结果是()。for (k=0;k3;k+) printf C %d ), ak 2-k);口 3 5 7口 3 6 9口15 9口14 7本题分值:4.0用户未作答标准答案:3 5 719 .表达式aB| |C&D的运算顺序为(div 口 &, I I口 &, I |,口 , I |,&口 ,&, I I本题分值:4. 0用户未作答标准答案:,&, I |20 .若有以下定义,int k=7,x=12,则能使值为3的表达式是() u x%=k%=5 x%=k-k%5 x%=(k-
17、k%5)口 (x%=k)-(k%=5)本题分值:4.0用户未作答标准答案:(x%=k)-(k%=5)21 .程序段的基本结构中,不包含() u函数结构U循环结构U顺序结构U分支结构本题分值:4.0用户未作答标准答案:函数结构二判断题1 .对for (表达式1;表达式3)可理解为for (表达式1; 1;表达式3)本题分值:4.0用户未作答 标准答案:对2 .使用continue和break语句,都可以使得C程序中断执行口错口对本题分值:4.0用户未作答标准答案:错3 .下列语句newnext=head;head=new;可以完成建立2结点的单向链表的功 匕口错口对本题分值:4.0用户未作答标准
18、答案:对4 .若有说明int c;则while(c=getchar();是错误的C语句.口错口对本题分值:4.0用户未作答标准答案:错1 .下面程序#include main() int y=10;do y一;while(y) jprintf C %d ,丫一);的运行结果是()e ie -ie 8e o2 .以下函数的功能对应于int fun (char *s, char *t) while (*s)&(*t)&(*t=*s) t+; s+; return(*s-*t); U strlen(s)+strlen(t)。strcmp(s, t) strcpy(s,t)U strcat(s, t)
19、本题分值:4.0用户未作答标准答案:strcmp(s, t)3 .下面是对数组s的初始化,其中不正确的是()。char s = abcde)u char s5 = l,2, 3, 4, 5 char s 5 = a, b, c, d, e。char s5=,abcde)本题分值:4.0用户未作答标准答案:char s5=abcde4 .若有定义 typedef char STRING255; STRING s;则 s 是口字符指针数组变量 字符指针变量 字符变量 字符数组变量本题分值:4.0用户未作答标准答案:字符数组变量5 .若要求表示a不等于0的关系,错误的表达式是() a0U a!=0
20、a口 a06 .程序段的基本结构中,不包含()u函数结构口循环结构口顺序结构口分支结构本题分值:4.0用户未作答标准答案:函数结构7 .设E为表达式,以下与dowhile(E);不等价的语句是C dowhile(! E=0) do-while(E0| |E0) dowhile(E=0)u do-while(E! =0)本题分值:4.0用户未作答标准答案:do-while(E=0)8 .在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全 局变量,则该变量需要使用的存储类别是()C externC registerU autoC static本题分值:4.0用户未作答标准答案:st
21、atic9.表达式-1?(10?10:1):(0?0:-1)的值为()口 10口 1 0 -1用户未作答标准答案:1010 .在C语言中,反斜杠符是()本题分值:4.0用户未作答 标准答案:11 .若有以下定义int a5 = l, 2, 3, 4, 5, *p, i;i=3;p=a;,则对数组元素地址 的正确引用是()U &P a+U &(p+1)U &pi本题分值:4.0用户未作答标准答案:&pi12 .有以下程序#include main() inta = l, 2, 3,4, 5, 6, *p; p=a; * (p+3) +=2; pr intf C %d, %d) ,*p, a3)请
22、问执行 后的输出结果是() 1,4 0,4 1,6 0,6 本题分值:4.0用户未作答标准答案:1,613 .有程序:main。int a=5, b=l, c=0; if (a=b+c) printf C * *) ;else printfC$ );该程序()u有语法错误不能通过编译口可以通过编译,但不能通过连接U输出:*c输出:$本题分值:4.0用户未作答标准答案:输出:*14 .函数ftell的作用是()口取得当前文件指针的位置,该位置为相对于文件开头的位移量表示 口取得当前文件指针的位置,该位置为相对于文件末尾的位移量表示 口出错时返回值为o以上叙述都不正确本题分值:4.0用户未作答标准
23、答案:取得当前文件指针的位置,该位置为相对于文件开头的位移量表示15 .下面程序的运行结果是()#include main() inta6, i;for (i=l; i3)%5;printf ( %2d, ai) ;口 4 0 4 0 4 -40403 -40443 -40440本题分值:4.0用户未作答标准答案:-4 0 4 4 316 .以下有关宏替换的叙述不正确的是()口宏替换不占用运行时间口宏名无类型口宏替换只是字符替换口宏名必须用大写字母表示本题分值:4.0用户未作答标准答案:宏名必须用大写字母表示17 .若使用一位数组名作为函数实参,则以下正确的说法是() 口必须在主调函数中说明此
24、数组的大小口实参数组类型与形参数组类型可以不匹配在被调函数中,不需要考虑形参数组的大小U实参数组名与形参数组名必须一致 本题分值:4.0用户未作答标准答案:在被调函数中,不需要考虑形参数组的大小18 .定义如下变量和数组:int k,a3义如1,2, 3,4, 5,6, 7,8,9;则下面语句的 输出结果是()。for (k=0;k3;k+) printf(, %d *, ak 2k);0 3 5 70 3 6 9015 9014 7本题分值:4. 0用户未作答标准答案:3 5 719 .设有以下结构体定义:struct emproyer char name8; int age;char se
25、x; staff;则下面的叙述不正确的是() struct是结构体类型的关键字U struct emproyer是用户定义的结构体类型 staff是用户定义的结构体类型名U nameage和sex都是结构体成员名本题分值:4.0用户未作答标准答案:staff是用户定义的结构体类型名20 .若有条件表达式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp) 的是()U exp=0U exp!=0C exp=lU exp!=l本题分值:4.0用户未作答标准答案:exp!=021 .已有定义int k=2; int *pl, *p2;且pl, p2均指向变量k,下面不能正确执行 的赋值
26、语句是()U k=*pl+*p2C p2=kU pl=p2U k=*pl*(*p2)本题分值:4.0 用户未作答 标准答案:p2=k二判断题1 .下列语句newfnext=head;head=new;可以完成建立2结点的单向链表的功 能口错口对本题分值:4.0用户未作答标准答案:对2 .对for (表达式1;表达式3)可理解为for (表达式1; 1;表达式3)口错口对本题分值:4.0用户未作答标准答案:对3 .已有定义int i, _j;float x;为将-10赋给i, 12赋给j,410.34赋给x;则对 应以下scanf函数scanf (%o%x%e,&i,&j,&x);调用语句的数据
27、输入形式是- 12ucu4. 1034e2(u 代表空格)错口对本题分值:4.0用户未作答标准答案:对4 . C语言中,共用体类型的变量在程序运行期间,所有成员都在内存中.口错口对本题分值:4.0 用户未作答 标准答案:错1 .下面的程序 main() int x=3;doprintf ( w%d ,x-=2); while (! (x) 描述正确的是()c输出的是1口输出的是i和-2U输出的是3和0口是死循本题分值:4.0用户未作答标准答案:输出的是1和-22 .已有以下数组定义和f函数调用语句,int a3 4 ;f (a);则在f函数的说 明中,对形参数组ai*ray的错误定义方式为()
28、0 f(int array6)C f(int array3)U f (int array4)U f(int array25)本题分值:4.0用户未作答标准答案:f (int array 3 口)3 .下列运算符中优先级最低的是()C 9 :口 &C +C !=本题分值:4.0用户未作答标准答案:?:4 .下面程序#include main。int y=10;do y一;while(-y) ;printf C %d ,丫一);的运行结果是() 1 -1e 8 e o本题分值:4.0 用户未作答 标准答案:05 .在C语言中,每个语句和数据定义是用()结束口句号口逗号口分号括号本题分值:4. 0用
29、户未作答标准答案:分号6 .若有定义:int (*p) 4;则标识符p()口是一个指向整型变量的指针口是一个指针数组名口是一个指针,它指向一个含有四个整型元素的一维数组口定义不合法本题分值:4.0用户未作答标准答案:是一个指针,它指向一个含有四个整型元素的一维数组7 .若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数口寸,表达式的 值为“假”。则以下不能满足要求的表达式是() A%2= =1口 !(A%2= =0)c !(A%2) a%2本题分值:4.0用户未作答标准答案:! (A%2)8 .下列选项中,不合法的C语言关键字是autodefaultstaticU var本题分值:4.0
30、用户未作答标准答案:var9 . C语言中合法的字符常量是e “ h ”e HeU p本题分值:4. 0用户未作答标准答案:10 .设有以下结构体定义:struct emproyer char name8; int age; char sex;staff;则下面的叙述不正确的是()U struct是结构体类型的关键字U struct emproyer是用户定义的结构体类型 staff是用户定义的结构体类型名U nameage和sex都是结构体成员名本题分值:4.0用户未作答标准答案:staff是用户定义的结构体类型名11 .下面哪个表达式的值为4: 11/3口 11. 0/3口 (float)
31、11/3口 (int) (11.0/3+0. 5)本题分值:4.0用户未作答标准答案:(int) (11.0/3+0. 5)12 .以下叙述中不正确的是()口预处理命令都必须以#开始口在c程序中凡是以#开始的语句行都是预处理命令行U C程序在执行过程中对预处理命令行进行处理U 以下是正确的宏定义#define IBM_PC 本题分值:4.0用户未作答标准答案:C程序在执行过程中对预处理命令行进行处理13 .以下运算符优先级最高的是()e &e &u ll I本题分值:4. 0用户未作答标准答案:&14 .若有定义 typedef char STRING255; STRING s;则 s 是 字符指针数组变量 字符指针变量 字符变量 字符数组变量本题分值:4.0用户未作答标准答案:字符数组变量15 .定义如下变量和数组:int k,a3义如下,2, 3,4, 5,6, 7,8,9;则下面语句的 输出结果是()。for (k=0;k e = % c &本题分值:4. 0 用
限制150内