奥鹏作业答案 发表于 2017-5-14 08:14:44

电子科技大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]
查看完整版本: 电子科技大17春《C语言》在线作业100分答案