电科21春《C语言》课程在线作业2[免费答案]满分答案
《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<stdio. h> main() {int n,sum=0; n=2345 do{ sum=sum+(n%10)*(n%10); n=[ ]; }while(n); printf("sum=%d",sum);}
正确答案:-----
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 <CR> int a[SIZE];
正确答案:-----
10.#include <string.h> void f(char *s,char *t) {char k; k=*s; *s=*t;*t=k; s++;t--; if(*s)f(s,t); } main() {char str[10]="abcdefg",*p; p=str+strlen(str)/2+1; f(p,p-2); printf("%s ",str); } 程序运行后的输出结果是( )
正确答案:-----
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<n) p*=++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[免费答案]历年参考题目如下:
19春学期《C语言及程序设计》在线作业2-0001
试卷总分:100 得分:0
一、 单选题 (共 15 道试题,共 75 分)
1.执行下面的程序后的数学结果为()intx,y,z;x=20,y=40,z=15;while(x;y)x+=4,y-=4;z/=2;printf(“%d,%d,%d”,x,y,z);
A.40,36,30
B."32,8,7"
C."32,28,7"
D."32,28,7.5"
2.对于条件表达式(M)?(a++):(a--),其中的表达式M等价于()。
A.M==0
B.M==1
C.M!=0
D.M!=1
3.函数rewind(fp)的作用是:使文件位置指针()。
A.重新返回文件的开头
B.返回到前一个字符的位置
C.指向文件的末尾
D.自动移至下一个字符的位置
4.以下叙述中不正确的是()
A.在C程序中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.在C程序的函数中,最好使用全局变量
C.在C程序中,形参只是局限于所在函数
D.在C程序中,函数名的存储类别为外部
5.以下程序的输出结果是()。main(){char*a[][5]={“how”,”do”,”you”,”do”,”!”};char**p;inti;p=a;for(i=0;i<4;i++);printf(“%s”,p[i]);}
A.howdoyoudo!
B.how
C.howdoyoudo
D.hdyd
6.若有说明:inta[10];则对数组元素的正确引用是()。
A.a[10]
B."a[3,5]"
C.a(5)
D.a[10-10]
7.C语言中,逻辑“真”等价于()。
A.大于零的数
B.大于零的整数
C.非零的数
D.非零的整数
8.以下为一维整型数组a的正确说明是()。
A.inta(10);
B."intn=10,a[n];"
C."intn;scanf(""%d"",n);"
D."#defineSIZE10;inta[SIZE];inta[n];"
9.在C语言中,一维数组的定义方式为:类型说明符数组名()。
A.[常量表达式]
B.[整型表达式]
C.[整型常量或整型表达式]
D.[整型常量]
10.指针变量a所指的字符串长度为()。Char*a=” ”MyNameis”ZhangLi” ”;
A.26
B.27
C.28
D.23
11.复制题干,如有插入图片点击第二个“插入多图按钮”插入图片并上传图片
A.单击选项1 粘贴答案,如有图片同样方法插入上传
B.选项内容都是
12.下列程序的输出结果是()main(){intb=4;b*=b+=b+b;printf(“%d ”,a);}
A.16
B.32
C.96
D.144
13.以下能对一维数组a进行正确初始化的语句是()。
A.inta[10]=(0,0,0,0,0);
B.inta[10]={};
C.inta[]={0};
D.inta[10]={10*1};
14.执行下列语句后,第一个输出的值为()#includestdio.h;#defineM;#defineN;M+1;main(){printf(“%d ”,N);}
A.3
B.4
C.6
D.8
15.char*A[5],则标识符A的意义时()。
A.A是一个指向有5个字符型元素的指针变量
B.A是一个有5个元素的一维数组,每个元素指向字符型的指针变量
C.A是一个指向字符型的函数的指针变量
D.A是一个有5个元素的一维数组,每个元素指向整型变量的指针变量
二、 判断题 (共 5 道试题,共 25 分)
1.用1、3、5组成的所有的三位数,一定都是3的倍数
A.对
B.错
2.0既不是奇数也不是偶数
A.对
B.错
3.在C程序中,注释说明只能位于一条语句的后面
A.错误
B.正确
4.声明语句int a[]={0};可以对一维数组a进行正确初始化。
A.错误
B.正确
5.声明语句int x=y=z=5;可以正确定义整型变量x,y和z并为其赋初值5。
A.错误
B.正确