《C语言》课程在线作业2
1.[单选题] 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )
A.extern
B.register
C.auto
D.static
答:——D——
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
答:——B——
3.[单选题] 根据下面的定义,能印出字母m的语句是( )根据下面的定义,能印出字母M的语句是( )
struct person{char name[9];int age;};
struct person class[10]={“john”,17,
“paul”,19,
“mary”,18,
“adam”,16};
A.printf(“%c\n”,class[3].name);
B.printf(“%c\n”,class[3].name[1]);
C.printf(“%c\n”,class[2].name[1]);
D.printf(“%c\n”,clsaa[2].name[0]);
答:——D——
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
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 int a[SIZE];
答:————
10.[单选题] #include
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\n”,str);
}奥鹏电子科技答案q599792222 或请进 opzy.net
程序运行后的输出结果是( )
A.abcdefg
B.gfedcba
C.gbcdefa
D.abedcfg
答:————
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函数
答:————
18.[多选题] 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]);
答:————