电科21秋《C语言》课程在线作业2[答案]答案
电科21秋《C语言》课程在线作业2题目
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 50 分)
1.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )
A.extern
B.register
C.auto
D.static
正确答案:-----
2.以下符合C语言语法的赋值表达式是( )
A.d=9+e+f=d+9
正确答案:-----
B.d=9+e,f=d+9
正确答案:-----
C.d=9+e,e++,d+9
正确答案:-----
D.d=9+e++=d+7
正确答案:-----
3.根据下面的定义,能印出字母m的语句是( )根据下面的定义,能印出字母M的语句是( ) struct person{char name[9];int age;}; struct person class[10]={“john”,17, “paul”,19, “mary”,21, “adam”,16};
正确答案:-----
A.printf(“%c ”,class[3].name);
正确答案:-----
B.printf(“%c ”,class[3].name[1]);
正确答案:-----
C.printf(“%c ”,class[2].name[1]);
正确答案:-----
D.printf(“%c ”,clsaa[2].name[0]);
正确答案:-----
4.标准库函数fgets(s,n,f)的功能是( )
A.从文件f中读取长度为n的字符串存入s中
B.从文件f中读取长度小于n的字符串存入s中
C.从文件f中读取n个字符串存入s中
D.从文件f中读取长度为n-1的字符串存入s中
正确答案:-----
5.判断字符串a和b是否相等,应当使用( )
A.if(a= =b)
B.if(a=b)
C.if(strcpy(a,b))
D.if(!strcmp(a,b))
正确答案:-----
6.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( )
A.int
B.float
C.double
正确答案:-----
D.不确定
正确答案:-----
7.以下正确的描述是( )
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
正确答案:-----
8.下面程序的功能是计算正整数2345的各位数字平方和,请选择填空( ) #include
正确答案:-----
A.n/1000
B.n/100
C.n/10
D.n%10
正确答案:-----
9.以下对一维整型数组a的正确说明是( )
A.int a(10)
B.int n=10,a[n];
C.int n;scanf("%d",&n);int a[n];
正确答案:-----
D.#define SIZE 10
正确答案:-----
10.#include
正确答案:-----
A.abcdefg
正确答案:-----
B.gfedcba
正确答案:-----
C.gbcdefa
正确答案:-----
D.abedcfg
正确答案:-----
电科21秋《C语言》课程在线作业2[答案]多选题答案
二、多选题 (共 10 道试题,共 50 分)
11.下列符号中可以用作自定义函数名的是( )
A.int
B.go_to
C.INT
D.Getchar
正确答案:-----
E.typedef
正确答案:-----
12.以下程序正确计算p=n! (n>=0)的是( )
A.for(p=1.0,k=1;k<=n;) p*=k++;
B.p=1.0;k=0;while(k C.p=1.0;k=1;do{++k;p*=k;} while(k<=n); 正确答案:----- D.p=1.0;for(k=n;k>=1;k--) p*=k--; 正确答案:----- 13.在定义函数时,函数的存储类型可以( ) A.是static B.是auto C.是register D.是extern 正确答案:----- E.省略 14.在函数调用过程中,下列说法正确的是( ) A.形式参数和实在参数各占一个独立的存储单元 B.形式参数和实在参数存储空间都是在函数调用时分配的 C.)在函数的执行过程中,形参变量值的改变不会影响实参值的改变 D.函数调用结束时,临时存储区被撤消 正确答案:----- E.在函数调用过程中,实在参数与形式参数在个数、类型上必须匹配 15.在下面C语言的函数说明语句中,正确的是( ) A.int fun(int , int); B.int fun(int x,y); C.int fun(x,y); D.int fun(int x; int y); 正确答案:----- E.int fun(int x,int y); 16.以下数据类型在内存中占用4个字节的是( ) A.int B.unsigned long 正确答案:----- C.float D.unsigned char 正确答案:----- 17.下面关于C语言的说法错误的是( ) A.C函数必须有形式参数 B.任何复合语句体的{ }中允许定义局部变量 C.局部变量都存储在动态存贮区 D.C程序的执行起点只能是main函数 正确答案:----- 21.C语言规定,如下说法是正确的( ) A.不能将结构作为整体来进行存取; B.结构是若干变量的集合,这些变量的类型可以相同; C.共用体(联合)允许不同数据类型的数据使用共同的存储区域; D.不能用&来取结构的地址; 正确答案:----- E.位段是一种特殊的结构成员。位段的类型可以是char、int、float、double等。 正确答案:----- 19.以下哪些是关于指针数组的正确描述( ) A.int (*a)[4]; B.int *a[4]; C.指针数组每个元素都是指针变量 D.若int a[4][4]; int *b[]={a[0],a[1],a[2],a[3]}; 则b是指针数组 正确答案:----- E.指针数组与指向数组的指针是等价的 20.定义char s[81]; 后,能正确输入一个字符串到数组s的语句是( ) A.gets(s); B.scanf (”%c”,s); 正确答案:----- C.scanf (”%s”,&s[0]); 正确答案:----- D.gets(&s[0]); 正确答案:----- 电科21秋《C语言》课程在线作业2[答案]历年参考题目如下: 北交《C语言程序设计(专)》在线作业二-0004 试卷总分:100 得分:0 一、 单选题 (共 10 道试题,共 40 分) 1.在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是 A.a=20000+20000; B.a=4000*10; C.a=30000+10000; D.a=4000L*10L 2.下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));} A.3 B.4 C.1 D.2 3.C语言中,能识别处理的文件为 A.文本文件和数据块文件 B.文本文件和二进制文件 C.流文件和文本文件 D.数据文件和二进制文件 4.请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n")); A.5 B.14 C.8 D.输出项不合法,无正常输出 5.设有以下语句: char x=3,y=6,z; z=x^y<<2; 则z的二进制值是 A.00010100 B.00011011 C.00011100 D.00011000 6.以下不正确的叙述是 A.在C程序中,逗号运算符的优先级最低 B.在C程序中,APH和aph是两个不同的变量 C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变 D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 7.下面程序段的运行结果是 char *format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b); A.for,"a+=b",ab B.format,"a+=b" C.a+=b,a=21,b=10 D.以上结果都不对 8.以下不正确的定义语句是 A.double x[5]={2.0,4.0,6.0,8.0,10.0}; B.int y[5]={0,1,3,5,7,9}; C.char c1[]={′1′,′2′,′3′,′4′,′5′}; D.char c2[]={′\x10′,′\xa′,′\x8′}; 9.若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用是 A.a[p-a] B.*(&a[i]) C.p[i] D.a[10] 10.设有以下说明语句 struct ex { int x ; float y; char z ;} example; 则下面的叙述中不正确的是 A.struct结构体类型的关键字 B.example是结构体类型名 C.x,y,z都是结构体成员名 D.struct ex是结构体类型名 二、 多选题 (共 10 道试题,共 40 分) 1.对函数的正确使用方法描述 A.用数组做函数参数时,必须在主调函数和被调函数中分别定义数组 B.实参数组元素和形参数组元素类型可以不一致 C.形参数组长度可以不指定 D.形参数组长度可以大于实参数组长度 2.下列描述正确的是 A.由main 函数及其参数argc和* argv[]可以实现命令行方式 B.使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中 C.字符数组并不要求它的最后一个字符是‘\0’ D.‘A’和“A”都是字符串常量 3.若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有 A.*(a+1)为元素6的地址 B.*(a[1]+1)的值为2 C.**(a+1)+2的值为8 D.a[0]与a相同 4.已知:int x;,则下面的说明指针变量pb的语句______不是正确的。 A.int pb=&x; B.int *pb=x; C.int *pb=&x; D.*pb=*x 5.以下叙述中正确的是______。 A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 C.可以通过赋初值的方式确定数组元素的个数 D.数组名代表的是数组所占存储区的首地址,其值不可改变 6.C提供的预处理功能主要有______。 A.宏定义 B.文件包含 C.条件编译 D.异常终止 7.下列关于#include命令的叙述中,正确的是______。 A.一个#include命令中只能指定一个被包含文件 B.一个#include命令中可以指定多个被包含文件 C.一个被包含文件中又可以包含另一个被包含文件 D.#include命令中,文件名可以用双引号或尖括号括起来 8.在文件操作中,用于检测和设置文件状态的函数有______。 A.文件结束检测函数feof() B.读写文件出错检测函数ferror() C.文件出错和结束标志文件函数才clearerr() D.文件关闭函数fclose() 9.以下正确的C语言标识符是_____。 A.ABC B.abc C.a_bc D.ab.c 10.以下不正确的描述是______。 A.函数的定义可以嵌套,函数的调用不可以嵌套 B.函数的定义不可以嵌套,函数的调用可以嵌套 C.函数的定义和函数的调用均可以嵌套 D.函数的定义和函数的调用均不可以嵌套 三、 判断题 (共 5 道试题,共 20 分) 1.一个int型与一个double型数据进行混合运算时,其结果是double型。 A.错误 B.正确 2.共用体所占的内存空间大小取决于占空间最多的那个成员变量。 A.错误 B.正确 3.语句int *pt中的*pt是指针变量名。 A.错误 B.正确 4.调用函数只可得到一个返回值,而用宏可以设法得到几个结果。 A.错误 B.正确 5.C语言编译系统在给出逻辑运算结果时,以数值1代表真,以0代表假,但在判断一个量是否为“真”时,以0代表假,以非0代表真。( ) A.错误 B.正确