黄老师 发表于 2014-6-7 08:36:22

电子科技大学《C语言》14春在线作业答案

电子科技大学《C语言》14春在线作业1
试卷总分:100   测试时间:--
一、单选题(共20道试题,共100分。)
1.putchar函数可以向终端输出一个( )
A. 整型变量表达式值
B. 实型变量值
C. 字符串
D. 字符或字符型变量值
满分:5分
2.以下程序段 x= -1; do {x=x*x;} while(!x); 则( )
A. 是死循环
B. 循环执行二次
C. 循环执行一次
D. 有语法错误
满分:5分
3.以下不正确的if语句形式是( )
A. if(x>y && x!=y);
B. if(x= =y) x+=y;
C. if(x != y) scanf("%d",&x ) else scanf("%d",&y);
D. if(x<y) {x++;y++;}
满分:5分
4.设有程序段 int k=10; while (k=0) k= k-1; 则下面描述中正确的是( )
A. while循环执行10次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
满分:5分
5.以下叙述中不正确的是( )
A. 预处理命令行都必须以#号开始
B. 在程序中凡是以#号开始的语句行都是预处理命令行
C. C程序在执行过程中对预处理命令行进行处理
D. 以下是正确的宏定义 #define IBM PC
满分:5分
6.若有以下定义,则对a数组元素的正确引用是( ) int a,*p=a;
A. *&a
B. a+2
C. *(p+5)
D. *(a+2)
满分:5分
7.以下程序的输出结果是 ( )   main()   {int i;   for(i=0;i<3;i++)   switch(i){   case 0:printf("%d",i);   case 2:printf("%d",i);   default:printf("%d",i);   }   }
A. 022111
B. 021021
C. 000122
D. 012
满分:5分
8.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为( )
A. 地址传递
B. 单向值传递
C. 由实参传给形参,再由形参传回给实参
D. 由用户指定传递方式
满分:5分
9.若调用一个函数,且此函数中没有return语句,则正确的说法是( )
A. 该函数没有返回值
B. 该函数返回若干个系统默认值
C. 能返回一个用户所希望的函数值
D. 返回一个不确定的值
满分:5分
10.下列程序执行后的输出结果是( ) void func(int *a,int b[]) { b[0]=*a+6; } main() { int a,b[5]={0}; a=0; b[0]=3; func(&a,b); printf("%d\n",b[0]); }
A. 6
B. 7
C. 8
D. 9
满分:5分
11.若有定义:int a,则对a数组的第i行j列元素地址的正确引用为( )
A. *(a+j)
B. (a+i)
C. *(a+j)
D. a+j
满分:5分
12.若运行以下程序时,从键盘输入ADescriptor<CR>(CR表示回车),则下面程序的运行结果是( ) #include<stdio. h> main() { char c; int v0=0, v1=0, v2=0; do { switch(c=getchar()) {case 'a': case 'A': case 'e': case ' E' : case 'i': case 'I' : case 'o': case 'O': case 'u': case 'U': vl+=1; de
A. v0=7,v1=4,v2=7
B. v0=8,v1=4,v2=8
C. v0=11,v1=4,v2=11
D. v0=12,vl=4,v2=12
满分:5分
13.C语言结构体类型变量在程序执行期间( )
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
满分:5分
14.下列运算符中优先级最低的是( )
A. :
B. &&
C. +
D. !=
满分:5分
15.以下错误的描述是: 函数调用可以( )
A. 出现在执行语句中
B. 出现在一个表达式中
C. 做为一个函数的实参
D. 做为一个函数的形参
满分:5分
16.不能把字符串:Hello!赋给数组b的语句是( )
A. char b={'H','e','l','l','o','!'};
B. char b;b="Hello!";
C. char b;strcpy(b,"Hello!");
D. char b="Hello!";
满分:5分
17.在访问一个结构元素前你必须定义( )
A. 结构体
B. 结构体变量
C. 定义结构指针
D. A和B
满分:5分
18.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )
A. float型
B. int型
C. long型
D. double型
满分:5分
19.C语言提供的预处理功能包括条件编译,其基本形式为: #XXX标识符 程序段1 #else 程序段2 #endif 这里XXX可以是( )
A. define或include
B. ifdef或include
C. ifdef或ifndef或define
D. ifdef或ifndef或if
满分:5分
20.以下对二维数组a的正确说明是( )
A. int a[];
B. float a(3,4);
C. double a;
D. float a(3)(4)
《C语言》14春在线作业2
试卷总分:100   测试时间:--
一、单选题(共20道试题,共100分。)
1.有定义:int x,*p;,能使指针变量p指向变量x的语句是( )
A. *p=&x;
B. p=&x;
C. *p=x;
D. p=*&x;
满分:5分
2.判断字符串s1是否大于字符串s2应当使用( )
A. if (sl>s2)
B. if (strcmp(s1,s2))
C. if (strcmp(s2,sl)>0)
D. if (strcmp(s1,s2)>0)
满分:5分
3.有以下程序段:int x=0,s=0; while (!x!= 0) s+=++x; printf("%d",s); 则有以下程序段( )
A. 运行程序段后输出0
B. 运行程序段后输出1
C. 程序段中的控制表达式是非法的
D. 程序段执行无限次
满分:5分
4.根据下面的定义,能印出字母m的语句是( )根据下面的定义,能印出字母M的语句是( ) struct person{char name;int age;}; struct person class={“john”,17, “paul”,19, “mary”,18, “adam”,16};
A. printf(“%c\n”,class.name);
B. printf(“%c\n”,class.name);
C. printf(“%c\n”,class.name);
D. printf(“%c\n”,clsaa.name);
满分:5分
5.#define能作简单的替代,用宏替代计算多项式4*x*x+3*x+2之值的函数f,正确的宏定义是( )
A. #define f(x) 4*x*x+3*x+2
B. #define f 4*x*x+3*x+2
C. #define f(a) (4*a*a+3*a+2)
D. #define (4*a*a+3*a+2)f(a)
满分:5分
6.若用数组名作为函数调用的实参,传递给形参的是( )
A. 数组的首地址
B. 数组中第一个元素的值
C. 数组中的全部元素的值
D. 数组元素的个数
满分:5分
7.建立函数的目的之一是( )
A. 提高程序的执行效率
B. 提高程序的可读性
C. 减少程序的篇幅
D. 减少程序文件所占内存
满分:5分
8.main函数的正确说明形式是( )
A. main(int argc,char *argv)
B. main(int abc,char **abv)
C. main(int argc,char argv)
D. )main(int c,char v[])
满分:5分
9.对下面程序段: #define A 3 #define B(a) ((A+1)*a) x=3*(A十B(7)); 正确的判断是( )
A. 程序错误,不许嵌套宏定义
B. )x=93
C. x=21
D. 程序错误,宏定义不许有参数
满分:5分
10.标准库函数fgets(s,n,f)的功能是( )
A. 从文件f中读取长度为n的字符串存入s中
B. 从文件f中读取长度小于n的字符串存入s中
C. 从文件f中读取n个字符串存入s中
D. 从文件f中读取长度为n-1的字符串存入s中
满分:5分
11.下面函数调用语句含有实参的个数为( ) func((expl,exp2), (exp3,exp4,exp5));
A. 1
B. 2
C. 4
D. 5
满分:5分
12.下面程序应能对两个整型变量的值进行交换。以下正确的说法是( ) main( ) {int a=10,b=20; printf("(1)a=%d,b=%d\n",a,b); swap(&a,&b); prinif("(2)a=%d,b=%d\n",a,b);} swap(int p,int q) {int t; t=p;p=q;q=t;}
A. 该程序完全正确
B. 该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可
C. 该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可
D. 以上说法都不正确
满分:5分
13.下面程序段的运行结果是( ) int n=0; while(n++<=2); printf("%d",n);
A. 2
B. 3
C. 4
D. 有语法错误
满分:5分
14.以下正确的函数形式是( )
A. double fun(int x,int y) {z=x+y; return z;}
B. fun(int x,y) {int z; return z;}
C. fun(x,y) {int x,y; double z; z=x+y; return z;}
D. double fun(int x,int y) {double z; z=x+y; return z;}
满分:5分
15.以下关于枚举的叙述不正确的是( )
A. 枚举变量只能取对应枚举类型的枚举元素表中元素
B. 可以在定义枚举类型时对枚举元素进行初始化
C. 枚举元素表中的元素有先后次序,可以进行比较
D. 枚举元素的值可以是整数或字符串
满分:5分
16.下述程序的输出结果是( ) #include <stdio.h> void main()  {enum team {jone,adam,smith=10,bob=smith+2,liang};  printf("%d,%d",adam,liang);  }
A. 1,13
B. 2,13
C. p->data.a
D. p.data.a
满分:5分
17.下列四组选项中,均不是C语言关键字的选项是( )
A. define IF type
B. geto char printf
C. include scanf case
D. while go pow
满分:5分
18.有定义:int *p1,*p2;,则正确的赋值语句为( )
A. p1=p2;
B. p1/=p2;
C. p1+=p2;
D. p1*=p2;
满分:5分
19.C语言规定,函数返回值的类型是由( ) 决定的
A. return语句中的表达式类型
B. 调用该函数时的主调函数类型
C. 调用该函数时由系统临时
D. 在定义函数时所指定的函数类型
满分:5分
20.以下能对一维数组a进行正确初始化的语句是( )
A. int a=(0,0,0,0,0)
B. int a={}
C. int a[]={0};
D. int a={10*1};
《C语言》14春在线作业3
试卷总分:100   测试时间:--
一、单选题(共20道试题,共100分。)
1.设有以下说明,则下面不正确的叙述是( ) union data {int i; char c; f1oat f; )un;
A. un所占的内存长度等于成员f的长度
B. un的地址和它的各成员地址都是同一地址
C. un可以作为函数参数
D. 不能对un赋值,但可以在定义un时对它初始化
满分:5分
2.设C语言中,-个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )
A. 0~255
B. 0~32767
C. 0~65535
D. 0~2147483647
满分:5分
3.以下叙述中正确的是( )
A. 在程序的一行上可以出现多个有效的预处理命令行
B. 使用带参的宏时,参数的类型应与宏定义时的一致
C. 宏替换不占用运行时间,只占编译时间
D. 在以下定义中CR是称为"宏名"的标识符 #define C R 045
满分:5分
4.如果限制一个变量只能被本程序使用,必须通过( )来实现
A. 静态内部变量
B. 外部变量说明
C. 静态外部变量
D. 局部变量说明
满分:5分
5.下面函数调用语句含有实参的个数为( ) func((expl,exp2), (exp3,exp4,exp5));
A. 1
B. 2
C. 4
D. 5
满分:5分
6.设有说明:char w; int x; f1oat y; double z;则表达式w* x+z-y值的数据类型为( )
A. float
B. char
C. int
D. double
满分:5分
7.以下不正确的说法为( )
A. 在不同函数中可以使用相同名字的变量
B. 形式参数是局部变量
C. 在函数内定义的变量只在本函数范围内有效
D. 在函数内的复合语句中定义的变量在本函数范围内有效
满分:5分
8.以下对枚举类型名的定义中正确的是( )
A. Enum a={one,two,three};
B. Enum a {a1,a2,a3};
C. Enum a={''1'',''2'',''3''};
D. Enum a {"one","two","three"};
满分:5分
9.下列说法不正确的是( )
A. 形参是局部变量
B. 主函数中定义的变量在整个文件都有效
C. 可以在一个函数的复合语句中定义变量
D. 不同函数可以使用相同变量名
满分:5分
10.下面程序的功能是用递归法将一个整数存放到一个字符数组中。存放时按逆序存放。如483存放成"384",请选择填空( ) #include<stdio.h> void convert(char *a,int n) {int i; if((i=n/10)!=0) convert(a+1,i); *a=【2】; } main() {int number; char str=" "; scanf("%d",&number); convert(str,number);
A. n/10
B. n%10
C. n/10+'0'
D. n%10+'0'
满分:5分
11.若有说明:int a;则对a数组元素的正确引用是( )
A. a
B. a
C. a(5)
D. a
满分:5分
12.以下for循环的执行次数是( ) for(x=0,y=0; (y=123)&&(x<4);x++);
A. 是无限循环
B. 循环次数不定
C. 执行4次
D. 执行3次
满分:5分
13.下面程序的运行结果是( ) main() {char a="AB",b="LMNP"; int i=0;strcat(a,b); whi1e(a!='\0')b=a;puts(b);}
A. LB
B. ABLMNP
C. AB
D. LBLMNP
满分:5分
14.有如下定义:char *s1="AbCdE",*s2="aBcDe"; 则表达式strcmp(s1+1,s2+1)的值是( )
A. 零
B. 负数
C. 正数
D. 非零值,无法肯定符号
满分:5分
15.已知函数的调用形式:fread(buffer,size,count,fp),其中buffer代表的是( )
A. 一个整型变量,代表要读入的数据项总数
B. 一个文件指针,指向要读的文件
C. 一个指针,指向要读入数据的存放地址
D. 一个存储区,存放要读的数据项
满分:5分
16.有定义:int x, *p1=&x, **p2=&p1;,则能够表示变量x值的是( )
A. p1
B. p2
C. *p2
D. **p2
满分:5分
17.以下程序的输出结果是( ) main() {int x= 2,y=-1,z=2; if (x<y) if(y<0) z= 0; else z+ =1; printf("%d\n",z);}
A. 3
B. 2
C. 1
D. 0
满分:5分
18.下面四个选项中,均是不合法的整型常量的选项是( )
A. ‘--0f1 -0xffff 0011
B. -0Xcdf 017 12,456
C. -018 999 5e2
D. -0x48eg -068 03f
满分:5分
19.C语言中( )存储类型的变量只在使用时分配空间
A. static 和auto
B. register和 extern
C. register和 static
D. auto 和register
满分:5分
20.若程序中有下面的说明和定义: struct stt  { int x; char b;} struct stt a1,a2; 则会发生的情况是( )
A. 编译出错
B. 程序将顺利编译、连接、执行
C. 能顺利通过编译、连接,但不能执行
D. 能顺利通过编译,但连接出错
满分:5分

页: [1]
查看完整版本: 电子科技大学《C语言》14春在线作业答案