电子科技大17春《C语言》在线作业100分答案
电子科技大17春《C语言》在线作业1一、单选题:
1.语句while(!E)中的表达式!E等价于( ) (满分:5)
A. E==0
B. E!=1
C. E!=0
D. E==1
2.以下描述中正确的是( ) (满分:5)
A. 由于do~while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B. do~while循环由do开始,用while结束,在while(表达式) 后面不能写分号
C. 在do~while循环体中,一定要有能使while后表达式值变为零("假")的操作
D. do~while循环中,根据情况可以省略while
3.下面程序的运行结果是( )main( ){char str[]="SSSWLIA", c; int k;for(k=2;(c=str)!='\0';k++){switch(c){case 'I': ++k; break;case 'L': continue;default: putchar(c);continue;}putchar('*');}} (满分:5)
A. SSW*
B. SW*
C. SW*A
D. SW
4.下面程序段,运行结果为( )x=3;do {y=x--; if(!y){ printf("x");continue;}printf("#");}while(1<=x<=2); (满分:5)
A. 将输出
B.
C. 将输出
D. *
E. 是死循环
F. 含有不合法的控制表达式
5.表达式18/4*sqrt(4.0)/8值的数据类型为( ) (满分:5)
A. int
B. float
C. double
D. 不确定
6.下面四个选项中,均是不合法的整型常量的选项是( ) (满分:5)
A. ‘--0f1 -0xffff 0011
B. -0Xcdf 017 12,456
C. -018 999 5e2
D. -0x48eg -068 03f
7.若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是( ) (满分:5)
A.(*p)max(a,b);
B. *pmax(a,b);
C.(*p)(a,b);
D. *p(a,b);
8.以下程序的运行结果是( )main( ) {int m=5;if(m++> 5)printf(" %d\n",m); e1se printf("%d\n",m-- );} (满分:5)
A. 4
B. 5
C. 6
D. 7
9.以下程序的输出结果是( ) main( ) {intx= 2,y=-1,z=2;if(x<y)if(y<0)z= 0;else z+ =1;printf("%d\n",z);} (满分:5)
A. 3
B. 2
C. 1
D. 0
10.设有程序段t=0; while(printf("*")) {t++;if(t<3)break; }下面描述正确的是( ) (满分:5)
A. 其中循环控制表达式与0等价
B. 其中循环控制表达式与'0'等价
C. 其中循环控制表达式是不合法的
D. 以上说法部不对
11.若有定义:int x=0,*p=&x;则语句printf(“%d\n”,*p);的输出结果是( ) (满分:5)
A. 随机值
B. 0
C. X的地址
D. P的地址
12.若调用一个函数,且此函数中没有return语句,则正确的说法是( ) (满分:5)
A. 该函数没有返回值
B. 该函数返回若干个系统默认值
C. 能返回一个用户所希望的函数值
D. 返回一个不确定的值
13.下面是对s的初始化,其中不正确的是( ) (满分:5)
A. chars[5」={"abc"};
B. char s={'a','b','c'};
C. chars="" ;
D. char s="abcdef";
14.以下正确的说法是( ) (满分:5)
A. 定义函数时,形参的类型说明可以放在函数体内
B. return后边的值不能为表达式
C. 如果函数值的类型与返回值类型不一致,以函数值类型为准
D. 如果形参与实参类型不一致,以实参类型为准
15.以下程序的正确运行结果是( ) #include int func(int a,int b); main( ) { int k=4,m=1,p; p=fun(k,m);printf(“%d,”,p); p=fun(k,m);printf(“%d\n”,p); } func(int a,int b) {static int m=0,i=2; i+=m+1; m=i+a+b; return m; } (满分:5)
A. 8,17
B. 8,16
C. 8,20
D. 8,8
16.下面程序的运行结果是( ) #include { int k=0; charc='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') (满分:5)
A. k=3
B. k=4
C. k=2
D. k=0
17.以下不正确的if语句形式是( ) (满分:5)
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++;}
18.下面函数调用语句含有实参的个数为( ) func((expl,exp2), (exp3,exp4,exp5)); (满分:5)
A. 1
B. 2
C. 4
D. 5
19.请阅读以下程序:#include main( ) {floata,bscanf("%f",&a);if(a<0.0) b=0.0;else if((a<0.5) &&(a!=2.0))b= 1.0/(a+2.0);elseif(a<10.0)b= 1.0/x ;elseb=10.0;printf("%f\n",y); } 若运行时输入2.0(回车),则上面程序的输出结果是( ) (满分:5)
A. 0.000000
B. 0.500000
C. 1. 000000
D. 0.250000
20.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是( ) (满分:5)
A. -1
B. 1
C. 0
D. NULL
17春《C语言》在线作业2
一、单选题:
1.若有说明:int a;则对a数组元素的正确引用是( ) (满分:5)
A. a
B. a
C. a(5)
D. a
2.若有以下说明:int a={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是( ) (满分:5)
A. *p+6
B. *(p+6)
C. *(p+5)
D. p+5
3.下面描述正确的是( ) (满分:5)
A. 两个字符串所包含的字符个数相同时,才能比较字符串
B. 字符个数多的字符串比字符个数少的字符串大
C. 字符串"STOP- "与"STOP"相等(-表示空格)
D. 字符串"That"小于字符串"the"
4.下述关于条件语句的描述中错误的是( ) (满分:5)
A. if语句中只有一个else子句
B. if语句中可以有多个else if 子句
C. if语句中if体内不能有switch语句
D. if语句的if体中可以是循环语句
5.有定义:int x,*p1=&x, *p2;,则能使得p2也指向x的语句是( ) (满分:5)
A. *p2=&x;
B. p2=p1;
C. p2=*p1;
D. p2=&p1;
6.在C语言中,一维数组的定义方式为:类型说明符 数组名( ) (满分:5)
A. [常量表达式]
B. [整形表达式]
C. [ 整型常量]或[整型表达式]
D. [整型常量]
7.以下叙述中不正确的是( ) (满分:5)
A. 预处理命令行都必须以#号开始
B. 在程序中凡是以#号开始的语句行都是预处理命令行
C. C程序在执行过程中对预处理命令行进行处理
D. 以下是正确的宏定义 #defineIBM PC
8.有以下程序段:intx=0,s=0; while (!x!= 0)s+=++x;printf("%d",s); 则有以下程序段( ) (满分:5)
A. 运行程序段后输出0
B. 运行程序段后输出1
C. 程序段中的控制表达式是非法的
D. 程序段执行无限次
9.下列程序段不是死循环的是( ) (满分:5)
A. inti=100; while(1){i=i%100+1;if(i>100)break; }
B. for(;;);
C. intk=0; do{++k; if(i>100)break;}while(k>=0);
D. ints=36;while(s);--s;
10.下面程序的输出是( )main( ) { int a=-1,b=4,k; k=(a++<=0)&&(!(b--<=0)); printf("%d%d%d\n",k,a,b);} (满分:5)
A. 0 0 3
B. 0 1 2
C. 1 0 3
D. 1 1 2
11.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( ) (满分:5)
A. float型
B. int型
C. long型
D. double型
12.C语言规定,函数返回值的类型是由( ) 决定的 (满分:5)
A. return语句中的表达式类型
B. 调用该函数时的主调函数类型
C. 调用该函数时由系统临时
D. 在定义函数时所指定的函数类型
13.下面四个选项中、均是正确的数值常量或字符常量的选项是( ) (满分:5)
A. 0.00f8.9e'&'
B. "a"3.9E-2.5 lel'\'''
C. '3'0110xFFOO 0a
D. +001 0xabcd 2e2 50.
14.对下面程序段:#defineA3#defineB(a) ((A+1)*a) x=3*(A十B(7));正确的判断是( ) (满分:5)
A. 程序错误,不许嵌套宏定义
B. )x=93
C. x=21
D. 程序错误,宏定义不许有参数
15.以下各组选项中,均能正确定义二维实型数组a的选项是( ) (满分:5)
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[]
16.C语言提供的预处理功能包括条件编译,其基本形式为:#XXX标识符 程序段1#else程序段2#endif这里XXX可以是( ) (满分:5)
A. define或include
B. ifdef或include
C. ifdef或ifndef或define
D. ifdef或ifndef或if
17.已知各变量的类型说明如下: int k,a,b; unsignedlongw= 5; double x=1.42; 则以下不符合C语言语法的表达式是( ) (满分:5)
A. x%(-3)
B. w+=-2
C. k=(a=2,b=3,a+b)
D. a+= a-=(b=4)*(a=3)
18.已知定义:int b[ ]={1,2,3,4},y,*p=b;则执行y=*p++后,y的值应为( ) (满分:5)
A. 1
B. 2
C. 3
D. 4
19.下面不正确的字符串常量是( ) (满分:5)
A. abc'
B. "12'12"
C. "0"
D. ""
20.已知一个函数的定义如下:double fun(int x, double y) { …… } 则该函数正确的函数原型声明为( ) (满分:5)
A. double fun(int x,double y)
B. fun(int x,double y)
C. double fun(int,double);
D. fun(x,y) ;
17春《C语言》在线作业3
一、单选题:
1.有如下程序 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); } 该程序的输出结果是( ) (满分:5)
A. a=2,b=1
B. a=1,b=1
C. a=1,b=0
D. a=2,b=2
2.有以下程序段:intx=0,s=0; while (!x!= 0)s+=++x;printf("%d",s); 则有以下程序段( ) (满分:5)
A. 运行程序段后输出0
B. 运行程序段后输出1
C. 程序段中的控制表达式是非法的
D. 程序段执行无限次
3.在访问一个结构元素前你必须定义( ) (满分:5)
A. 结构体
B. 结构体变量
C. 定义结构指针
D. A和B
4.若有 int k=2; int *ptr1, *ptr2; ptr1=&k; ptr2=&k ;那么下列正确的语句是( ) (满分:5)
A. k=*ptr1+*ptr2
B. ptr2=ptr1*2
C. *ptr1=*ptr2
D. ptr1=*ptr1*(*ptr2)
5.对下面程序 ,从整体功能及语法上看,说法正确的是( )(每行程序前面的数字表示行号)。1 main( )2 {3 float a={0.0};4 inti5 for(i=0;i<3;i++)scanf("%d",&a);6 for(i=0;i<10;i++)a=a+a;7 printf("%d\n",a);8 } (满分:5)
A. 没有错误
B. 第3行有错误
C. 第5行有错误
D. 第7行有错误
6.以下正确的说法是( ) (满分:5)
A. 用户若需调用标准库函数,调用前必须重新定义
B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C. 系统根本不允许用户重新定义标准库函数
D. 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件
7.下面程序的功能是计算正整数2345的各位数字平方和,请选择填空( )#includemain( ){intn,sum=0;n=2345do{ sum=sum+(n%10)*(n%10);n=【 】;}while(n);printf("sum=%d",sum);} (满分:5)
A. n/1000
B. n/100
C. n/10
D. n%10
8.若用数组名作为函数调用的实参,传递给形参的是( ) (满分:5)
A. 数组的首地址
B. 数组中第一个元素的值
C. 数组中的全部元素的值
D. 数组元素的个数
9.以下正确的函数形式是( ) (满分:5)
A. doublefun(intx,inty) {z=x+y;returnz;}
B. fun(intx,y){intz; returnz;}
C. fun(x,y) {intx,y;doublez; z=x+y;returnz;}
D. doublefun(intx,inty) {doublez; z=x+y;returnz;}
10.若运行以下程序时,从键盘输入3.6,2.4,(表示回车),则下面程序的运行结果是( )#include # include 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);} (满分:5)
A. 1.5
B. 1.6
C. 2.0
D. 2.4
11.在C语言中,要求运算数必须是整型的运算符是( ) (满分:5)
A. /
B. ++
C. !=
D. %
12.下面程序段的运行结果是( ) charc={'a','b','\0','c','\0'}; printf("%s",c); (满分:5)
A. ’a’’b’
B. ab
C. abc
D. ab□(其中□表示空格)
13.位段名访问的方式是( ) (满分:5)
A. 用结构名.位段名
B. 用位段名
C. 用结构名
D. *&位段名
14.下面不正确的字符串常量是( ) (满分:5)
A. abc'
B. "12'12"
C. "0"
D. ""
15.如果限制一个变量只能被本程序使用,必须通过( )来实现 (满分:5)
A. 静态内部变量
B. 外部变量说明
C. 静态外部变量
D. 局部变量说明
16.putchar函数可以向终端输出一个( ) (满分:5)
A. 整型变量表达式值
B. 实型变量值
C. 字符串
D. 字符或字符型变量值
17.有如下定义:char *s1="AbCdE",*s2="aBcDe"; 则表达式strcmp(s1+1,s2+1)的值是( ) (满分:5)
A. 零
B. 负数
C. 正数
D. 非零值,无法肯定符号
18.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( ) (满分:5)
A. 自动(auto)
B. 静态(static)
C. 外部(extern)
D. 寄存器(register)
19.若用数组名作为函数调用的实参,传递给形参的是( ) (满分:5)
A. 数组的首地址
B. 数组第一个元素的值
C. 数组中全部元素的值
D. 数组元素的个数
20.在"文件包含"预处理语句的使用形式中,当#include后面的文件名用(尖括号)括起时,寻找被包含文件的方式是( ) (满分:5)
A. 仅仅搜索当前目录
B. 仅仅搜索源程序所在目录
C. 直接按系统设定的标准方式搜索目录
D. 先在源程序所在目录搜索,再按系统设定的标准方式搜索
页:
[1]