电子科技大15秋《C语言》在线作业答案
电子科技大15秋《C语言》在线作业1试卷总分:100 测试时间:--
一、单选题(共20道试题,共100分。)
1.以下叙述中正确的是( )A. 在程序的一行上可以出现多个有效的预处理命令行
B. 使用带参的宏时,参数的类型应与宏定义时的一致
C. 宏替换不占用运行时间,只占编译时间
D. 在以下定义中CR是称为"宏名"的标识符 #define C R 045
满分:5分
2.以下不正确的叙述是( )
A. 在C程序中,逗号运算符的优先级最低
B. 在C程序中,APH和aph是两个不同的变量
C. 若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
满分:5分
3.若有说明:int a;则对a数组元素的正确引用是( )
A. a
B. a
C. a(5)
D. a
满分:5分
4.设有语句int a,*p=*a;则下面表达式中属于地址表达式的是( )
A. a
B. a
C. *(p+1*10+2)
D. *(a+2)
满分:5分
5.有以下程序: union pw { int i; char ch[2];}a; main() {a.ch[0]=13;a.ch[1]=0;printf("%d\n",a.i);} 程序的输出结果是( )
A. 13
B. 14
C. 208
D. 209
满分:5分
6.以下for循环的执行次数是( ) for(x=0,y=0; (y=123)&&(x<4);x++);
A. 是无限循环
B. 循环次数不定
C. 执行4次
D. 执行3次
满分:5分
7.下面程序的运行结果是 ( ) main() {int a,i; for(i=1;i<6;i++) {a=9*(i-2+4*(i>3))%5; printf("%2d",a);}}
A. —40404
B. —40403
C. 一40443
D. 一40440
满分:5分
8.设有程序段 int k=10; while (k=0) k= k-1; 则下面描述中正确的是( )
A. while循环执行10次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
满分:5分
9.有如下程序 main( ) { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++ case 2: a++;b++ } printf(“a=%d,b=%d\n”,a,b); } 该程序的输出结果是( )
A. a=2,b=1
B. a=1,b=1
C. a=1,b=0
D. a=2,b=2
满分:5分
10.下面程序的运行结果是( ) #include "stdio.h" main() {int a,b; for(a=1,b=1;a<=100;a++) {if (b>=20) break; if(b%3==1) {b+=3;continue;} b-=5;} printf("%d\n",a);}
A. 7
B. 8
C. 9
D. 10
满分:5分
11.下面程序的运行结果是( ) #include<stdio.h> { int k=0; char c='A'; do {switch(c++) {case 'A':k++;break; case 'B':k--; case 'C':k+=2;break; case 'D':k=k%2;continue; case 'E':k=k*10;break; default:k=k/3;} k++;} while(c<'G')
A. k=3
B. k=4
C. k=2
D. k=0
满分:5分
12.以下正确的叙述是( )
A. C语言允许main函数带形参,且形参个数和形参名均可由用户指定
B. C语言允许main函数带形参,形参名只能是argc和argv
C. 当main函数带有形参时,传给形参的值只能从命令行中得到
D. 若有说明:main(int argc,char *argv),则形参argc的值必须大于1
满分:5分
13.C语言规定,函数返回值的类型是由( ) 决定的
A. return语句中的表达式类型
B. 调用该函数时的主调函数类型
C. 调用该函数时由系统临时
D. 在定义函数时所指定的函数类型
满分:5分
14.以下不正确的定义语句是( )
A. double x={2.0,4.0,6.0,8.0,10.0};
B. int y={0,1,3,5,7,9};
C. char c1[]={’1’,’2’,’3’,’4’,’5’};
D. char c2[]=}{'\x10','\xa','\x8'};
满分:5分
15.若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为( )
A. 7
B. 8
C. 9
D. 10
满分:5分
16.已有函数max(a,b)为了让函数指针变量p指向函数max正是确的赋值方法是( )
A. p=max;
B. *p=max;
C. p=max(a,b);
D. *p=max(a,b);
满分:5分
17.若有如下语句: int x=3; do { printf(" %d\n",x -=2);} while(!(--x)); 则上面程序段( )
A. 输出的是 1
B. 输出的是1和-2
C. 输出的是3和0
D. 是死循环
满分:5分
18.以下不正确的说法是( )
A. 全局变量,静态变量的初值是在编译时指定的
B. 静态变量如果没有指定初值,则其初值为0
C. 动态变量如果没有指定初值,则其初值不确定
D. 函数中的静态变量在函数每次调用时,都会重新设置初值
满分:5分
19.下面程序的运行结果是( ) 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分
20.以下各组选项中,均能正确定义二维实型数组a的选项是( )
A. float a; float a[]; float a[]={{1},{0}};
B. float a(3,4);float a;float a[][]={{0},{0}};
C. float a;static float a[]={{0},{0}};auto float a[]={{0},{0},{0}};
D. float a;float a[];float a[]
满分:5分15秋《C语言》在线作业2
试卷总分:100 测试时间:--
一、单选题(共20道试题,共100分。)
1.以下叙述中不正确的是( )
A. 在不同的函数中可以使用相同的名字的变量
B. 函数中的形式参数是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数内的复合语句中定义的变量在本函数范围内有效
满分:5分
2.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为( )
A. D
B. 68
C. 不确定的值
D. C
满分:5分
3.以下描述中正确的是( )
A. 由于do~while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B. do~while循环由do开始,用while结束,在while(表达式) 后面不能写分号
C. 在do~while循环体中,一定要有能使while后表达式值 变为零("假")的操作
D. do~while循环中,根据情况可以省略while
满分:5分
4.下面程序的运行结果是( ) 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分
5.以下不正确的说法是( )
A. register变量可以提高变量使用的执行效率
B. register变量由于使用的是CPU的寄存器,其数目是有限制的
C. extern变量定义的存储空间按变量类型分配
D. 全局变量使得函数之间的“耦合性”更加紧密,不利于模块化的要求
满分:5分
6.以下正确的描述是( )
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和函数的调用均不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
满分:5分
7.当把以下四个表达式用做if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是( )
A. K%2
B. K%2==1
C. (K%2)!=0
D. !K%2==1
满分:5分
8.下面函数调用语句含有实参的个数为( ) func((expl,exp2), (exp3,exp4,exp5));
A. 1
B. 2
C. 4
D. 5
满分:5分
9.下面程序的运行结果是( ) #include<stdio.h> main(){ int k=0; char c='A'; do {switch(c++) {case 'A':k++;break; case 'B':k--; case 'C':k+=2;break; case 'D':k=k%2;continue; case 'E':k=k*10;break; default:k=k/3;} k++;} while(c<'
A. k=3
B. k=4
C. k=2
D. k=0
满分:5分
10.以下不正确的说法是( )
A. 全局变量,静态变量的初值是在编译时指定的
B. 静态变量如果没有指定初值,则其初值为0
C. 动态变量如果没有指定初值,则其初值不确定
D. 函数中的静态变量在函数每次调用时,都会重新设置初值
满分:5分
11.下面有关for循环的正确描述是( )
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环体语句,后判断表达式
C. 在for循环中,不能用break语句跳出循环体
D. for循环的循环体语句中, 可以包含多条语句,但必须用花括号括起来
满分:5分
12.假设调用函数有以下定义和函数f调用,则函数f中对形参数组错误定义的是( ) char c={‘a’,’b’,’\0’,’c’,’\0’}; printf(“%s”,c);
A. f(int array[])
B. f(int array[])
C. f(int array[])
D. f(int array)
满分:5分
13.若有说明:int a[ ]={0,0};则下面不正确的叙述是( )
A. 数组a的每个元素都可得到初值0
B. 二维数组a的第一维大小为1
C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a行数为1
D. 只有元素a和a可得初值0,其余元素均得不到初值0
满分:5分
14.有定义:int x,*p1=&x, *p2;,则能使得p2也指向x的语句是( )
A. *p2=&x;
B. p2=p1;
C. p2=*p1;
D. p2=&p1;
满分:5分
15.以下程序有语法错误,有关错误原因的正确说法是 ( ) main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... }
A. 语句void prt_char( );有错,它是函数调用语句,不能用void说明
B. 变量名不能使用大写字母
C. 函数说明和函数调用语句之间有矛盾
D. 函数名不能使用下划线
满分:5分
16.已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的错误定义方式为( ) int a; f(a);
A. f(int array[])
B. f(int array[])
C. f(int array[])
D. f(int array)
满分:5分
17.下面程序段,运行结果为( ) x=3; do {y=x--; if(!y){ printf("x");continue;} printf("#"); } while (1<=x<=2);
A. 将输出
B.
C. 将输出
D. *
E. 是死循环
F. 含有不合法的控制表达式
满分:5分
18.以下叙述中不正确的是( )
A. 预处理命令行都必须以#号开始
B. 在程序中凡是以#号开始的语句行都是预处理命令行
C. C程序在执行过程中对预处理命令行进行处理
D. 以下是正确的宏定义 #define IBM PC
满分:5分
19.若有说明: int a[3][4]={0};则下面正确的叙述是( )
A. 只有元素a可得到初值0
B. 此说明语句不正确:
C. 数组a中各元素都可得到初值,但其值不一定为0。
D. 数组a中每个元素均可得到初值0
满分:5分
20.下面程序段的运行结果是( ) char c[]="\t\v\\\0will\n"; printf("%d",strlen(c));
A. 14
B. 3
C. 9
D. 字符串中有非法字符,输出值不确定
满分:5分15秋《C语言》在线作业3
试卷总分:100 测试时间:--
一、单选题(共20道试题,共100分。)
1.下面四个选项中,均是C语言关键字的选项是( )
A. auto、enum、include
B. switch、typedef、continue
C. signed、union、scanf
D. if、 0xe、0x
满分:5分
2.以下正确的描述是( )
A. continue语句的作用是结束整个循环的执行
B. 只能在循环体内和switch语句体内使用break语句
C. 在循环体内使用break语句或continue语句的作用相同
D. 从多层循环嵌套中退出时, 只能使用goto语句
满分:5分
3.有定义:int x,*p=&x;,则能为变量x正确赋值的语句是( )
A. scanf(“%d”,x);
B. scanf(“%d”,p)
C. scanf(“%d”,*p);
D. scanf(“%f”,&x);
满分:5分
4.若有以下说明: int a={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是( )
A. *p+6
B. *(p+6)
C. *(p+5)
D. p+5
满分:5分
5.有以下程序段:int x=0,s=0; while (!x!= 0) s+=++x; printf("%d",s); 则有以下程序段( )
A. 运行程序段后输出0
B. 运行程序段后输出1
C. 程序段中的控制表达式是非法的
D. 程序段执行无限次
满分:5分
6.若有以下定义,则对a数组元素的正确引用是( ) int a,*p=a;
A. *&a
B. a+2
C. *(p+5)
D. *(a+2)
满分:5分
7.以下正确的说法是( )
A. 定义函数时,形参的类型说明可以放在函数体内
B. return后边的值不能为表达式
C. 如果函数值的类型与返回值类型不一致,以函数值类型为准
D. 如果形参与实参的类型不一致,以实参类型为准
满分:5分
8.若有下述程序段,则表达式( )的值为6。 Struct st {int n; struct st *next; }; struct st a={5,&a,6,&a,9,'\0'},*p=a;
A. p++->n
B. p->n++
C. (*p).n++
D. ++p->n
满分: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.设有如下的程序段: char str[ ]="hello"; char *ptr; ptr=str; 执行上面的程序段后,*(ptr+5)的值为( )
A. o''
B. ''\0''
C. 不确定的值
D. ''o''的地址
满分:5分
11.已知各变量的类型说明如下: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是( )
A. a+=a-=(b= 4)*(a=3)
B. a=a*3=2
C. x%(-3)
D. y=f1oat(i)
满分:5分
12.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为( )
A. D
B. 68
C. 不确定的值
D. C
满分:5分
13.为了避免在嵌套的条件语句if - else中产生二义性,C语言规定else子句总是与( )配对
A. 缩排位置相同的if
B. 其之前最近的if
C. 之后最近的if
D. 同一行上的if
满分:5分
14.若运行以下程序时,从键盘输入3.6,2.4<CR>,(<CR>表示回车),则下面程序的运行结果是( ) #include <math.h> # include <stdio.h> main() {float x,y,z; scanf("%f,%f",&x,&y); z=x/y; while(1) {if(fabs(z)>1.0) {x=y;y=z;z=x/y;} else break;} printf("%f\n",y);}
A. 1.5
B. 1.6
C. 2.0
D. 2.4
满分:5分
15.C语言规定,函数返回值的类型是由( )决定的
A. return语句中的表达式类型
B. 调用该函数时的主调函数类型
C. 调用该函数时由系统临时
D. 在定义函数时所指定的函数类型
满分:5分
16.假设调用函数有以下定义和函数f调用,则函数f中对形参数组错误定义的是( ) char c={‘a’,’b’,’\0’,’c’,’\0’}; printf(“%s”,c);
A. f(int array[])
B. f(int array[])
C. f(int array[])
D. f(int array)
满分:5分
17.判断字符串a和b是否相等,应当使用( )
A. if(a= =b)
B. if(a=b)
C. if(strcpy(a,b))
D. if(!strcmp(a,b))
满分:5分
18.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )
A. extern
B. register
C. auto
D. static
满分:5分
19.以下不正确的说法是( )
A. 全局变量,静态变量的初值是在编译时指定的
B. 静态变量如果没有指定初值,则其初值为0
C. 动态变量如果没有指定初值,则其初值不确定
D. 函数中的静态变量在函数每次调用时,都会重新设置初值
满分:5分
20.以下正确的函数形式是( )
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分
页:
[1]