homework 发表于 2017-9-20 11:14:25

天大17秋《C语言程序设计》在线作业12答案100分参考

《C语言程序设计》在线作业一
一、单选题:【40道,总分:100分】
1.对于struct ex{ int x;float y;char z;}example;则下面的叙述中不正确的是(    )。          (满分:2.5)
    A. struct是结构体类型的关键字    B. example是结构体类型名
    C. x,y,z都是结构体成员名    D. struct ex是结构体类型
2.设A为短整型一维数组,A的首地址为P,则A中第i个元素的地址为(    )。          (满分:2.5)
    A. P+i*2
    B. P+(i-1)*2
    C. P+(i-1)
    D. P+i
3.以下对二维数组a进行正确初始化的是(    )。          (满分:2.5)
    A. int a={{1,2},{3,4},{5,6}};
    B. int a[ ]={1,2,3,4,5,6};
    C. int a[ ]={1,2,3,4,5,6};
    D. int a[ ]={{1,2},{3,4}};
4.设int x=10,y=3,z;则语句printf(""%d\n"",z=(x%y,x/y));的输出结果是(    )。          (满分:2.5)
    A. 1
    B. 0
    C. 4
    D. 3
5.设有说明double(*p1);其中标识符p1是(    )。          (满分:2.5)
    A. 指向double型变量的指针
    B. 指向double型的函数指针
    C. 指向double型的一维数组的指针
    D. 具有N个指针元素的一维指针数组
6.下列函数中不能用于对文件进行输入输出操作的是(    )。          (满分:2.5)
    A. fscanf(    )
    B. printf(    )
    C. fgetc(    )
    D. fputs(    )
7.设int x=1,y=1;表达式(!x++ (    ) y--)的值是(    )。          (满分:2.5)
    A. 0
    B. 1
    C. 2
    D. -1
8.设int x=3,y=4,z=5;则值为0的表达式是(    )。          (满分:2.5)
    A. x>y++
    B. x<=++y
    C. x!=y+z>y-z
    D. y%z>=y-z
9.正确的输入语句是(    )。          (满分:2.5)
    A. scanf(“a=b=%d”,&a,&b);
    B. scanf(“%d,%d”,&a,&b);
    C. scanf(“%c”,c);
    D. scanf(“% f%d\n”,&f);
10.下列关于指针定义的描述中错误的是(    )。          (满分:2.5)
    A. 指针是一种变量,用于存放变量的地址。
    B. 指针变量的类型与它所指向的变量类型一致。
    C. 指针变量的命名规则与标识符相同。
    D. 定义指针时,标识符前的“*”号表示指针所指向的内容。
11.下列描述中不正确的是(    )。          (满分:2.5)
    A. 字符型数组可以存放字符串
    B. 字符型数组可以整体输入、输出
    C. 整型数组可以整体输入、输出
    D. 不能在赋值语句中对字符型数组进行整体赋值
12.一个C语言程序是由(    )构成。          (满分:2.5)
    A. 语句
    B. 行号
    C. 数据
    D. 函数
13.已知:int x;int y; 下列(    )是合法的。          (满分:2.5)
    A. &x
    B. &(x+3)
    C. &5
    D. &y
14.设int n=2;则while(n--);printf(“%d”,n);的执行结果是(    )。          (满分:2.5)
    A. 2
    B. 1
    C. -1
    D. 0
15.设int a,*p;p=a;则对数组元素正确的引用是(    )。          (满分:2.5)
    A. *&a
    B. a
    C. *(p+10)
    D. *p
16.一个C程序的执行是从(    )。          (满分:2.5)
    A. main(    )函数开始,直到main(    )函数结束。
    B. 第一个函数开始,最后一个函数结束。
    C. 第一个语句开始,最后一个语句结束。
    D. main(    )函数开始,直到最后一个函数。
17.设char *aa={""abcd"",""ABCD""};则以下说法中正确的是(    )。          (满分:2.5)
    A. aa数组元素的值分别是""abcd""和""ABCD""
    B. aa是指向含有两个数组元素的字符型数组的指针
    C. aa数组的两个元素分别是含有4个字符的一维字符数组的首地
    D. aa数组的两个元素分别存放了字符'a'和'A'的地址
18.设int a, *p=a;则不能表示a地址的表达式为(    )。          (满分:2.5)
    A. p+1
    B. a+1
    C. a++
    D. ++p
19.语句char *func(int x,int y);的作用是对(    )。          (满分:2.5)
    A. 函数func的定义
    B. 函数func的调用
    C. 函数func的原型说明
    D. 函数类型的说明
20.不具有赋值功能的语句是(    )。          (满分:2.5)
    A. a*=b
    B. x=1
    C. a+b
    D. a++
21.设int i,j=7, *p=&i;, 则与i=j; 等价的语句是(    )。          (满分:2.5)
    A. i= *p;
    B. *p=*(&j);
    C. i=&j;
    D. i=* *p;
22.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是(    )。          (满分:2.5)
    A. 0
    B. 4
    C. -4
    D. 2
23.设X=5,语句X*=X+=X*3执行后,X的值为(    )。          (满分:2.5)
    A. 100
    B. 400
    C. 450
    D. 900
24.下列标识符中错误的是(    )。          (满分:2.5)
    A. x1y
    B. 123
    C. 2ab
    D. ab
25.能正确表达逻辑关系“a≥10或a≤0”的C语言表达式是(    )。          (满分:2.5)
    A. a>=10 or a<=0
    B. a>=10(    )a<=0
    C. a>=10&&a<=0
    D. a>=10|a<=0
26.程序main(    ){int x=3,y=3,z=3;printf(“%d   %d\n”,(++x,y++),++z);} 的输出结果是(    )。          (满分:2.5)
    A. 33
    B. 34
    C. 42
    D. 43
27.在C程序的嵌套if结构中,else总是与(    )配对。          (满分:2.5)
    A. 缩排位置相同的if
    B. 在其之前未配对的if
    C. 在其之前未配对的最近的if
    D. 同一行上的if
28.关于x≥y≥z的正确C语言表达式是(    )。          (满分:2.5)
    A.(x>=y)&&(y>=z)
    B.(x>=y) AND(y>=z)
    C.(x>=y>=z)
    D.(x>=z)&(y>=z)
29.设整型变量a为5,使b不为2的表达式是(    )。          (满分:2.5)
    A. b=a/2
    B. b=6-(--a)
    C. b=a%2
    D. b=a>3?2:1
30.c语言中int型数-8在内存中的存储形式为(    )。          (满分:2.5)
    A. 1111111111111000
    B. 1000000000001000
    C. 0000000000001000
    D. 1111111111110111
31.设int a={1,4,7},*p=&a, 则*p的值是(    )。          (满分:2.5)
    A. &a
    B. 4
    C. 7
    D. 1
32.不是C语言实型常量的是(    )。          (满分:2.5)
    A. 55.0
    B. 0.0
    C. 55.5
    D. 55e2.5
33.设long x=-123456L;则能够正确输出变量x值的语句是(    )。          (满分:2.5)
    A. printf(“x=%d\n”,x)
    B. printf(“x=%ld\n”,x)
    C. printf(“x=%8dl\n”,x)
    D. printf(“x=%LD\n”,x);
34.可以将变量u、s中的最大值赋给变量t的选项是(    )。          (满分:2.5)
    A. if(u>s)t=u;t=s;
    B. t=u;if(t>s)t=s;
    C. if(u>s)t=s;else t=u;
    D. t=s;if(u>t)t=u;
35.若变量c为char类型,能正确判断出c为小写字母的表达式是(    )。          (满分:2.5)
    A. ’a’<=c<=’z’
    B.(c>=’a’)(    )(c<=’z’)
    C.(‘a’<=c) and(‘z’>=c)
    D.(c>=’a’) &&(c<=’z’)
36.表达式:10!=9的值是(    )。          (满分:2.5)
    A. true
    B. false
    C. 0
    D. 1
37.不能把字符串:Hello!赋给数组b的语句是(    )。          (满分:2.5)
    A. char b={'H','e','l','l','o','!'};
    B. char b;b=""Hello!"";
    C. char b;strcpy(b,""Hello!"");
    D. char b=""Hello!"";
38.下列标识符中错误的是(    )。          (满分:2.5)
    A. hotdo
    B. cat1
    C. pri
    D. 2ab
39.Break语句的正确的用法是(    )。          (满分:2.5)
    A. 用于在任何情况下中断程序的执行,退出到系统下一层。
    B. 用于多重循环中退出其所在的那一层循环。
    C. 跳出多重循环。
    D. 只能修改控制变量。
40.能正确表示a和b同时为正或同时为负的逻辑表达式是(    )。          (满分:2.5)
    A. a>=0(    )b>=0)&&(a<0(    )b<0)
    B.(a>=0&&b>=0)&&(a<0&&b<0)
    C.(a+b>0)&&(a+b<=0)
    D. a*b>0
《C语言程序设计》在线作业二
一、单选题:【40道,总分:100分】

1.设x和y为浮点型变量,则正确的赋值语句是 (    )(    )。          (满分:2.5)
    A. x=&y
    B. x*x=y
    C. x=x+10*y
    D. *x=y+2
2.设int a={1,2,3,4,5,6 }, *p=a;, *(p+3)的值是(    ).          (满分:2.5)
    A. 3
    B. 4
    C. 5
    D. 6
3.执行printf(“%-4d%c”,85,'A');后的结果是(    )(每个□代表一个空格)。          (满分:2.5)
    A. 85A
    B. 85□□A
    C. □□85A
    D. □□85□□A
4.设int a=2,b=3,c;,以下不正确的赋值语句是(    ).          (满分:2.5)
    A. b=a=10;
    B. b+=a%5;
    C. a+=b++=c;
    D. a+=b+=5;
5.以下叙述中正确的是 (    )(    )。          (满分:2.5)
    A. 同一个函数中可以使用相同名字的变量
    B. 在所有函数之外定义的变量为全局变量
    C. 在main(    )函数体内定义的变量为全局变量
    D. 形式参数可以是表达式
6.能正确表达X在区间[-5, 5]中的表达式是(    ).          (满分:2.5)
    A. X<=5 && X>=-5
    B. -5<=X<=5
    C. X>=-5(    )X<=5
    D.(X>=-5)&(X<=5)
7.结构化程序的三种基本结构是 (    )(    )。          (满分:2.5)
    A. 顺序结构,分支结构,循环结构
    B. 递归结构,循环结构,转移结构
    C. 嵌套结构,循环结构,顺序结构
    D. 递归结构,分支结构,顺序结构
8.函数调用:fun(a+b,a+c,25) 中的参数个数是(    ).          (满分:2.5)
    A. 3
    B. 4
    C. 5
    D. 6
9.已知数组float b;该数组行下标的范围是(    )(    )。          (满分:2.5)
    A. 1~3
    B. 0~3
    C. 1~2
    D. 0~2
10.在C语言中,运算对象的逻辑值“真”用(    )(    )表示。          (满分:2.5)
    A. false
    B. 非0数
    C. 0
    D. 负数
11.C语言中运算对象必须是整型的运算符是   。          (满分:2.5)
    A. %
    B. /
    C. *
    D. =
12.对于C程序的函数,下列叙述中正确的是   。          (满分:2.5)
    A. 函数的定义不能嵌套,但函数调用可以嵌套
    B. 函数的定义可以嵌套,但函数调用不能嵌套
    C. 函数的定义和调用均可以嵌套
    D. 函数的定义和调用均不能嵌套
13.设int a=1,b=2; 执行语句a=b%4;后,a的值是(    ).          (满分:2.5)
    A. 0.5
    B. 1
    C. 2
    D. 4
14.判断字符型变量ch是否为大写英文字母的表达式为       。          (满分:2.5)
    A. A’<=ch<=‘Z’
    B. ch>=‘A’&& ch<=‘Z’
    C. ch>‘a’&& ch<=‘z’
    D. ch>=‘A’(    ) ch<=‘Z’
15.以下的字符串赋值中,错误的是(    )。          (满分:2.5)
    A. char s1[]=“abcdef”;
    B. char *ps=“abcdef”;
    C. char *pa;pa=“abcdefg”;
    D. char s2;s2=“abcdefg”;
16.设char s;,函数strcpy(s,“abcd”)执行后s中的内容是(    )。          (满分:2.5)
    A. a
    B. s
    C. abc
    D. abcd
17.下列不属于字符常量的是:(    ).          (满分:2.5)
    A. ‘5’
    B. ‘Q’
    C. ‘\n’
    D. ”A”
18.能正确表示a和b同时为负的表达式是(    )。          (满分:2.5)
    A. a*b>0
    B. a+b<0
    C. a<0(    )b<0
    D. a<0&&b<0
19.对于for(s=2;;s++)可以理解为(    )。          (满分:2.5)
    A. for(s=2;0   ;s++)
    B. for(s=2;1   ;s++)
    C. for(s=2;s<2 ;s++)
    D. for(s=2;s>2;s++)
20.设 int i;int x={1,2,3,4,5,6,7,8,9};则语句 for(i=0;i<3;i++)printf(" %d",x[ 2-i]);的输出结果是(    )(    )。          (满分:2.5)
    A. 1 5 9
    B. 1 2 3
    C. 3 5 7
    D. 3 2 1
21.设有定义:int k=3,*p=&k; 则表达式 *p的值是 (    )(    )。          (满分:2.5)
    A. 0
    B. 1
    C. 2
    D. 3
22.对于定义 struct exp{int i;float j;double k;}x;变量x所占用的内存字节数为(    )(    )。          (满分:2.5)
    A. 8
    B. 7
    C. 14
    D. 18
23.设int a[ ]={3,6,8,10,12,13,15}; , 则数组元素a的值是。          (满分:2.5)
    A. 3
    B. 8
    C. 10
    D. 12
24.设int a=5,b=6;b*=a+1;则b的值为(    )。          (满分:2.5)
    A. 5
    B. 6
    C. 31
    D. 36
25.设int i=010,j=10;则printf(“%d,%d\n”,++i,j--);的输出是(    )。          (满分:2.5)
    A. 11,10
    B. 9,10
    C. 010,9
    D. 10,9
26.设有如下宏定义:#define A 3+2#define B A*A则表达式“B*B”的值为 (    )(    )。          (满分:2.5)
    A. 23
    B. 5
    C. 25
    D. 625
27.设int a=9,b=4;,则执行printf(“%d”,a/b);后的输出结果是(    )。          (满分:2.5)
    A. 1
    B. 2
    C. 2.25
    D. 3
28.程序 #includemain(    ){int a=11,b=3;printf(“%d\n”, =a/b);}执行后的输出结果是(    )。          (满分:2.5)
    A. 1
    B. 3
    C. 11
    D. a=3.66666
29.下列叙述不正确的是(    )(    )。          (满分:2.5)
    A. 函数定义可以嵌套
    B. 宏定义可以嵌套
    C. 函数调用可以嵌套
    D. 循环结构可以嵌套
30.设int a=5,b,*p=&a,则使b不等于5的语句为(    )。          (满分:2.5)
    A. b=*&a
    B. b=*a
    C. b=*p
    D. b=a
31.使循环体至少被执行一次的循环语句是(    ).          (满分:2.5)
    A. while
    B. do-while
    C. for
    D. do
32.已知函数原型声明为:char *www(char a, charb);该函数的类型为(    )(    )。          (满分:2.5)
    A. 指向字符型的指针
    B. 字符型
    C. 整型
    D. 指向整型的指针
33.下列二维数组初始化中,错误的是(    )(    ).          (满分:2.5)
    A. int a[ ]={{3,4},{5,6,7}};
    B. int a[ ]={2,3,4,5,6,7};
    C. int a={0};
    D. int a[]={{1,2,3},{2,3}, {3,4,5}};
34.表达式6!=7的值是(    )。          (满分:2.5)
    A. 0
    B. 1
    C. 6
    D. true
35.C语言的程序执行总是从(    )开始.          (满分:2.5)
    A. 程序的第一条语句
    B. 程序中第一个函数
    C. main(    )函数
    D. #include 指定的包含文件
36.与算术运算符'*'和'/'同一级别的运算符是(    )。          (满分:2.5)
    A. !
    B. +
    C. %
    D. <
37.程序#includemain(    ){int a=2,b=3,c;if(a>b)c=a+b;      else c=a-b;printf(“%d\n”, c);}执行后的输出结果是(    )。          (满分:2.5)
    A. -1
    B. 2
    C. 3
    D. 5
38.下列程序的输出结果为 (    )(    )。    main(    )    {int i=3,b;      b=(i--)+(i--);       printf(“%d”,b);    }          (满分:2.5)
    A. 6
    B. 2
    C. 3
    D. 4
39.以下叙述中错误的是   。          (满分:2.5)
    A. 计算机不能直接执行源程序
    B. C语言源程序经编译后生成的.obj文件是二进制文件
    C. .obj文件经连接后生成的.exe文件是二进制文件
    D. .obj和.exe的二进制文件都可以直接运行
40.以下叙述中正确的是。          (满分:2.5)
    A. break语句只能用于switch语句中
    B. continue语句使程序的执行流程跳出包含它的所有循环
    C. break语句只能用在循环体内和switch语句体内
    D. 在循环体内使用break语句和continue 语句的作用相同

页: [1]
查看完整版本: 天大17秋《C语言程序设计》在线作业12答案100分参考