超前自学网

 找回密码
 立即注册

奥鹏在线作业,2元一门,先做后付,微信424329

查看: 69|回复: 0

20春学期《高级语言程序设计基础》在线平时作业2

[复制链接]

3万

主题

3万

帖子

9万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
95816
发表于 2020-8-8 19:01:42 | 显示全部楼层 |阅读模式
微信公众号:超前自学网
点击这里
下列关于C语言的叙述错误的是( )。
A:大写字母和小写字母的意义相同
B:不同类型的变量可以在一个表达式中
C:在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D:同一个运算符号在不同的场合可以有不同的含义

以下在任何情况下计算两数积时都不会引起二义性的宏定义是( )。
A:#define MUL(x,y) x*y
B:#define MUL(x,y) (x)*(y)
C:#define MUL(x,y) (x*y)
D:#define MUL(x,y) ((x)*(y))"

若a、b、c均为int型变量,则执行以下程序段后的输出结果为( )。
b=(a=10,a+5,c=10);
printf("a=%d,b=%d,c=%d\n",a,b,c);
c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);
A:a=10,b=15,c=10a=10,b=5,c=10
B:a=10,b=10,c=10a=10,b=5,c=10
C:a=10,b=10,c=10a=10,b=5,c=15
D:a=10,b=10,c=10a=10,b=5,c=5

以下正确的函数形式是( )。
A:double fun1(int x, int y)  { z=x+y; return z; }
B:fun1(int x, y){ int z;return z; }
C:fun1(x, y) { int x, y; double z;z=x+y;return z; }
D:double fun1(int x, int y){ double z;z=x+y; return z; }"

函数rewind(fp)的作用是:使文件位置指针( )。
A:重新返回文件的开头
B:返回到前一个字符的位置
C:指向文件的末尾
D:自动移至下一个字符的位置

若有语句: char s1[ ]="Shenyang", s2[10],*s3, *s4="NEU_soft"; 则对库函数strcpy调用正确的是( )。
A:strcpy(s1, s4);
B:strcpy(s2, s4);
C:strcpy(s3, s1);
D:strcpy(s4, s1);"

下面程序的运行结果是( )。
main()
{ struct cmplx { int x;
int y;
} cm[2]={1,2,3,4};
printf("%d\n", 2*cm[0].x+
cm[1].y/cm[0].y);}
A:5
B:2
C:3
D:4

以下程序执行后a的值为( )。
  main( )
  { int a,m=2, k=1, *p=&k;
   a=p!=&m;
   printf("%d\n",a);  }
A:-1
B:0
C:1
D:2

设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。
    for (y=100; x!=y; ++x,y++)      printf("****\n");
A:循环体只执行一次
B:是无限循环
C:循环体一次都不执行
D:for语句中存在语法错误

已知学生记录描述如下,下面对结构体成员"computer"的赋值方式正确的是( )。
struct student
{ int num;
char name[8];
struct
{ float math;
float engl;
float computer;
} mark;} std;
A:student.computer=84;
B:mark.computer=84;
C:std.mark.computer=84;
D:std.computer=84;

以下对指针变量的操作中,不正确的是( )。
A:int p, *q; q=&p;
B:int *p, *q; q=p=NULL;
C:int a=5, *p; *p=a;
D:int a=5, *p=&a, *q=&a; *p=*q;"

若有定义:int i, x[3][4];,则不能将x[1][1]的值赋给变量i的语句是( )。
A:i=x[1][1]
B:i=*(*(x+1))
C:i=*(*(x+1)+1)
D:i=*(x[1]+1)

设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是( )。
A:p++;
B:a--;
C:b++;
D:c--;

执行下面程序段后,x的值是( )。
int x;printf("%d\n",(x=3*5,x+5));
A:10
B:15
C:20
D:5

下面对typedef的叙述中不正确的是( )。
A:用typedef不能定义变量名
B:用typedef可以定义新的数据类型
C:用typedef只是将已存在的类型用一个新的标识符来代表
D:使用typedef有利于程序的通用和移植

以下正确的定义语句是( )。
A:int a[1][4]={1,2,3,4,5};
B:float x[3][]={{1},{2},{3}};
C:long b[2][3]={{1},{1,2},{1,2,3}};
D:double y[][3]={0};

若有定义:int x[10], *p=x;,则*(p+5)表示( )。
A:数组元素x[5]的地址
B:数组元素x[5]的值
C:数组元素x[6]的地址
D:数组元素x[6]的值
E:选项内容11
F:选项内容11

设x,y是float型变量,则不正确的赋值语句是( )。
A:++x;
B:y=int(5);
C:x*=y+1;
D:x=y=0;

执行以下程序后,m的值是( )。
  #define MIN(x, y) (x)<(y) ? (x) : (y)
  main( )
  { int i=12, j=8, m;
   m=10*MIN(i, j);
   printf("%d\n", m);  }
A:120
B:80
C:12
D:8

下列程序的输出结果是( )。
#include<stdio.h>
void fun();
void main()
{
int x=1;
if(x= =1)
{
int x=2;
printf(“%d”,++x);
}
void fun()
{
printf(“%d”,x++);}
A:2,1,1
B:1,2,1
C:2,2,2
D:2,2,1"

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|超前自学网 ( 皖ICP备20014425号-1 )|网站地图

GMT+8, 2025-5-7 18:19

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表